Compare commits

...

52 Commits

Author SHA1 Message Date
Julius Härtl
a2755f0671 WIP: Naive approach on content sync
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-08-01 09:12:43 +02:00
Nextcloud bot
24f9c76495 [tx-robot] updated from transifex 2020-07-23 02:27:21 +00:00
Julius Härtl
487ed4ce26 Merge pull request #2134 from nextcloud/dependabot/npm_and_yarn/juliushaertl/vue-richtext-0.3.2
Bump @juliushaertl/vue-richtext from 0.3.1 to 0.3.2
2020-07-20 16:07:28 +02:00
Nextcloud bot
245f1c29a0 [tx-robot] updated from transifex 2020-07-19 02:27:40 +00:00
dependabot-preview[bot]
d4ca4a0389 Bump @juliushaertl/vue-richtext from 0.3.1 to 0.3.2
Bumps [@juliushaertl/vue-richtext](https://github.com/juliushaertl/vue-richtext) from 0.3.1 to 0.3.2.
- [Release notes](https://github.com/juliushaertl/vue-richtext/releases)
- [Commits](https://github.com/juliushaertl/vue-richtext/compare/v0.3.1...v0.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-18 01:19:37 +00:00
Julius Härtl
d4de91420f Update SECURITY.md 2020-07-17 09:33:49 +02:00
Julius Härtl
29622308ca Update SECURITY.md 2020-07-17 09:32:03 +02:00
Nextcloud bot
1eda79e5f5 [tx-robot] updated from transifex 2020-07-17 02:27:44 +00:00
Nextcloud bot
7cfae24105 [tx-robot] updated from transifex 2020-07-16 02:31:28 +00:00
Julius Härtl
96637974b4 Merge pull request #2123 from nextcloud/fix/2048
fix control tooltip
2020-07-15 16:25:36 +02:00
Jakob Röhrl
85ffa0dc19 fix control tooltip
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2020-07-15 14:08:10 +02:00
Julius Härtl
a1a3c79a8d Bump version to 1.0.5
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-15 12:52:02 +02:00
Julius Härtl
06aad4bc10 Merge pull request #2118 from nextcloud/bugfix/noid/attachment-id-check 2020-07-13 11:47:47 +02:00
Julius Härtl
e5445505de Merge pull request #2116 from nextcloud/bugfix/noid/navigation-vue
Adjust navigation to new component slots
2020-07-13 11:47:34 +02:00
Julius Härtl
6114c28b10 Remove unneeded cardId parameters
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-11 12:21:37 +02:00
dependabot-preview[bot]
3cb2ce8c68 Merge pull request #2112 from nextcloud/dependabot/npm_and_yarn/lodash-4.17.19 2020-07-11 10:00:24 +00:00
dependabot-preview[bot]
2187c36ced Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-11 09:55:28 +00:00
dependabot-preview[bot]
4f2e614a75 Merge pull request #2113 from nextcloud/dependabot/npm_and_yarn/sass-loader-9.0.2 2020-07-11 09:52:50 +00:00
dependabot-preview[bot]
4966e0aecd Bump sass-loader from 8.0.2 to 9.0.2
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 8.0.2 to 9.0.2.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v8.0.2...v9.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-11 09:48:25 +00:00
dependabot-preview[bot]
c4ceca2907 Merge pull request #2095 from nextcloud/dependabot/npm_and_yarn/babel/runtime-7.10.4 2020-07-11 09:45:49 +00:00
Julius Härtl
2faaf29d03 Adjust navigation to new component slots
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-11 11:32:28 +02:00
dependabot-preview[bot]
b9511aef65 Bump @babel/runtime from 7.10.3 to 7.10.4
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.10.3 to 7.10.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.10.4/packages/babel-runtime)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-11 09:27:06 +00:00
Julius Härtl
57675db617 Merge pull request #2097 from nextcloud/dependabot/npm_and_yarn/vuex-3.5.1
Bump vuex from 3.4.0 to 3.5.1
2020-07-11 11:16:16 +02:00
Julius Härtl
5a1bcba9d8 Merge pull request #2092 from nextcloud/dependabot/npm_and_yarn/eslint-plugin-import-2.22.0
Bump eslint-plugin-import from 2.21.2 to 2.22.0
2020-07-11 11:16:06 +02:00
Julius Härtl
bf269b5a3a Merge pull request #2096 from nextcloud/dependabot/npm_and_yarn/babel/preset-env-7.10.4
Bump @babel/preset-env from 7.10.3 to 7.10.4
2020-07-11 11:15:59 +02:00
Julius Härtl
cceb746d98 Merge pull request #2100 from nextcloud/dependabot/npm_and_yarn/p-queue-6.5.0
Bump p-queue from 6.4.0 to 6.5.0
2020-07-11 11:15:51 +02:00
Julius Härtl
dab4f681e0 Merge pull request #2098 from nextcloud/dependabot/npm_and_yarn/babel/polyfill-7.10.4
Bump @babel/polyfill from 7.10.1 to 7.10.4
2020-07-11 11:15:40 +02:00
Julius Härtl
f9a06a6151 Merge pull request #2094 from nextcloud/dependabot/npm_and_yarn/babel/core-7.10.4
Bump @babel/core from 7.10.3 to 7.10.4
2020-07-11 11:15:31 +02:00
dependabot-preview[bot]
390cab1bea Merge pull request #2114 from nextcloud/dependabot/npm_and_yarn/nextcloud/vue-2.2.1 2020-07-11 09:14:34 +00:00
dependabot-preview[bot]
c9e23b9a5e Bump @nextcloud/vue from 2.1.0 to 2.2.1
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 2.1.0 to 2.2.1.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v2.1.0...v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-11 01:19:55 +00:00
Nextcloud bot
f788b2256e [tx-robot] updated from transifex 2020-07-10 02:27:35 +00:00
Nextcloud bot
97baed0234 [tx-robot] updated from transifex 2020-07-09 02:28:07 +00:00
Nextcloud bot
81da5418f2 [tx-robot] updated from transifex 2020-07-08 02:26:42 +00:00
dependabot-preview[bot]
6110fb7e19 Bump @babel/core from 7.10.3 to 7.10.4
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.10.3 to 7.10.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.10.4/packages/babel-core)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:59:25 +00:00
dependabot-preview[bot]
3c4ae952d5 Bump @babel/polyfill from 7.10.1 to 7.10.4
Bumps [@babel/polyfill](https://github.com/babel/babel/tree/HEAD/packages/babel-polyfill) from 7.10.1 to 7.10.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.10.4/packages/babel-polyfill)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:59:18 +00:00
dependabot-preview[bot]
b8c80db71c Bump p-queue from 6.4.0 to 6.5.0
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v6.4.0...v6.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:59:09 +00:00
dependabot-preview[bot]
33bfe03ead Bump eslint-plugin-import from 2.21.2 to 2.22.0
Bumps [eslint-plugin-import](https://github.com/benmosher/eslint-plugin-import) from 2.21.2 to 2.22.0.
- [Release notes](https://github.com/benmosher/eslint-plugin-import/releases)
- [Changelog](https://github.com/benmosher/eslint-plugin-import/blob/master/CHANGELOG.md)
- [Commits](https://github.com/benmosher/eslint-plugin-import/compare/v2.21.2...v2.22.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:58:49 +00:00
dependabot-preview[bot]
44f4764b1c Bump @babel/preset-env from 7.10.3 to 7.10.4
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.10.3 to 7.10.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.10.4/packages/babel-preset-env)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:58:49 +00:00
dependabot-preview[bot]
a39ece1dc0 Bump vuex from 3.4.0 to 3.5.1
Bumps [vuex](https://github.com/vuejs/vuex) from 3.4.0 to 3.5.1.
- [Release notes](https://github.com/vuejs/vuex/releases)
- [Changelog](https://github.com/vuejs/vuex/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuex/compare/v3.4.0...v3.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:58:45 +00:00
dependabot-preview[bot]
5f22bc2ba6 Merge pull request #2099 from nextcloud/dependabot/npm_and_yarn/vue-jest-3.0.6 2020-07-07 13:55:45 +00:00
dependabot-preview[bot]
221f65f5c4 Bump vue-jest from 3.0.5 to 3.0.6
Bumps [vue-jest](https://github.com/vuejs/vue-jest) from 3.0.5 to 3.0.6.
- [Release notes](https://github.com/vuejs/vue-jest/releases)
- [Commits](https://github.com/vuejs/vue-jest/commits/v3.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:33:58 +00:00
Julius Härtl
cd0b3b29f1 Check for the card permissions based on attachment id
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-07 15:33:52 +02:00
Nextcloud bot
20a73c6bf2 [tx-robot] updated from transifex 2020-07-07 02:33:44 +00:00
Nextcloud bot
7e5b9d1dd1 [tx-robot] updated from transifex 2020-07-04 02:26:20 +00:00
Nextcloud bot
e0c2c044e0 [tx-robot] updated from transifex 2020-07-03 02:27:42 +00:00
Nextcloud bot
a097c26a47 [tx-robot] updated from transifex 2020-07-01 02:25:54 +00:00
Nextcloud bot
3a6cc17374 [tx-robot] updated from transifex 2020-06-28 02:26:11 +00:00
Nextcloud bot
1aa9912cd0 [tx-robot] updated from transifex 2020-06-27 02:26:31 +00:00
Julius Härtl
bc268a422a Merge pull request #2072 from nextcloud/release/1.0.4
Bump version to 1.0.4
2020-06-26 11:46:34 +02:00
Julius Härtl
c0fa61f48a Merge pull request #2074 from nextcloud/dependabot/npm_and_yarn/vue-loader-15.9.3
Bump vue-loader from 15.9.2 to 15.9.3
2020-06-26 11:46:13 +02:00
dependabot-preview[bot]
d0da984bb0 Bump vue-loader from 15.9.2 to 15.9.3
Bumps [vue-loader](https://github.com/vuejs/vue-loader) from 15.9.2 to 15.9.3.
- [Release notes](https://github.com/vuejs/vue-loader/releases)
- [Changelog](https://github.com/vuejs/vue-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue-loader/compare/v15.9.2...v15.9.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-26 09:23:08 +00:00
Julius Härtl
4565087f72 Bump version to 1.0.4
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-06-26 09:42:38 +02:00
39 changed files with 2920 additions and 1710 deletions

View File

@@ -1,6 +1,24 @@
# Changelog
All notable changes to this project will be documented in this file.
## 1.0.5 - 2020-07-15
### Fixed
* [#2116](https://github.com/nextcloud/deck/pull/2116) Fix navigation layout issues @juliushaertl
* [#2118](https://github.com/nextcloud/deck/pull/2118) Use proper parameter when handling attachments @juliushaertl
## 1.0.4 - 2020-06-26
### Fixed
* [#2062](https://github.com/nextcloud/deck/pull/2062) Fix saving card description after toggling checkboxes @juliushaertl
* [#2065](https://github.com/nextcloud/deck/pull/2065) Adding CSS rule for Markdown Blockquotes @reox
* [#2059](https://github.com/nextcloud/deck/pull/2059) Fix fetching attachments on card change @juliushaertl
* [#2060](https://github.com/nextcloud/deck/pull/2060) Use mixing for relative date in card sidebar @juliushaertl
## 1.0.3 - 2020-06-19
### Fixed

View File

@@ -4,8 +4,9 @@
| Version | Nextcloud version | Supported |
| ------- | ----------------- | ------------------ |
| 0.8.x | 18, 19 | :white_check_mark: |
| 0.7.x | 17 | :x: |
| 1.0.x | 18, 19 | :white_check_mark: |
| 0.8.x | 17 | :white_check_mark: |
| <0.7.x | - | :x: |
## Reporting a Vulnerability

View File

@@ -17,7 +17,7 @@
- 🚀 Get your project organized
</description>
<version>1.0.3</version>
<version>1.0.5</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>

22
l10n/br.js Normal file
View File

@@ -0,0 +1,22 @@
OC.L10N.register(
"deck",
{
"Personal" : "Personel",
"Finished" : "Achuet",
"copy" : "eil",
"Done" : "Graet",
"Cancel" : "Arrest",
"Details" : "Munudoù",
"Sharing" : "Rannan",
"Tags" : "Klavioù",
"Can edit" : "Posuple eo embann",
"Delete" : "Dilemel",
"Edit" : "Cheñch",
"Description" : "Diskrivadur",
"Modified" : "Cheñchet",
"Save" : "Entilañ",
"Reply" : "Respont",
"seconds ago" : "eilenn zo",
"Shared with you" : "Rannet ganeoc'h"
},
"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);");

20
l10n/br.json Normal file
View File

@@ -0,0 +1,20 @@
{ "translations": {
"Personal" : "Personel",
"Finished" : "Achuet",
"copy" : "eil",
"Done" : "Graet",
"Cancel" : "Arrest",
"Details" : "Munudoù",
"Sharing" : "Rannan",
"Tags" : "Klavioù",
"Can edit" : "Posuple eo embann",
"Delete" : "Dilemel",
"Edit" : "Cheñch",
"Description" : "Diskrivadur",
"Modified" : "Cheñchet",
"Save" : "Entilañ",
"Reply" : "Respont",
"seconds ago" : "eilenn zo",
"Shared with you" : "Rannet ganeoc'h"
},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"
}

View File

@@ -70,7 +70,7 @@ OC.L10N.register(
"Personal" : "Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Dir von %s zugewiesen.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} hat Dir die Karte \"%s\" auf \"%s\" zugewiesen.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" in \"%s\" ist überfällig.",
"%s has mentioned you in a comment on \"%s\"." : " %s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on \"%s\"." : "{user} hat Dich in einem Kommentar zu “%s” erwähnt.",
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",

View File

@@ -68,7 +68,7 @@
"Personal" : "Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Dir von %s zugewiesen.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} hat Dir die Karte \"%s\" auf \"%s\" zugewiesen.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" in \"%s\" ist überfällig.",
"%s has mentioned you in a comment on \"%s\"." : " %s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on \"%s\"." : "{user} hat Dich in einem Kommentar zu “%s” erwähnt.",
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",

View File

@@ -70,7 +70,7 @@ OC.L10N.register(
"Personal" : "Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Ihnen von %s zugewiesen.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} hat Ihnen die Karte \"%s\" auf \"%s\" zugewiesen.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" in \"%s\" ist überfällig.",
"%s has mentioned you in a comment on \"%s\"." : "%s hat Sie in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on \"%s\"." : "{user} hat Sie in einem Kommentar zu \"%s\" erwähnt.",
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Ihnen geteilt.",

View File

@@ -68,7 +68,7 @@
"Personal" : "Persönlich",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Ihnen von %s zugewiesen.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} hat Ihnen die Karte \"%s\" auf \"%s\" zugewiesen.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" auf \"%s\" ist überfällig.",
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" in \"%s\" ist überfällig.",
"%s has mentioned you in a comment on \"%s\"." : "%s hat Sie in einem Kommentar zu \"%s\" erwähnt.",
"{user} has mentioned you in a comment on \"%s\"." : "{user} hat Sie in einem Kommentar zu \"%s\" erwähnt.",
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Ihnen geteilt.",

View File

@@ -17,18 +17,42 @@ OC.L10N.register(
"{user} has archived the board {before}" : "{user} je arhivirao ploču {before}",
"You have unarchived the board {board}" : "Dearhivirali ste ploču {board}",
"{user} has unarchived the board {before}" : "{user} je dearhivirao ploču {before}",
"You have created a new list {stack} on board {board}" : "Stvorili ste novi popis {stack} na ploči {board}",
"{user} has created a new list {stack} on board {board}" : "{user} je stvorio novi popis {stack} na ploči {board}",
"You have renamed list {before} to {stack} on board {board}" : "Preimenovali ste popis {before} u {stack} na ploči {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} je preimenovao popis {before} u {stack} na ploči {board}",
"You have deleted list {stack} on board {board}" : "Izbrisali ste popis {stack} na ploči {board}",
"{user} has deleted list {stack} on board {board}" : "{user} je izbrisao popis {stack} na ploči {board}",
"You have created card {card} in list {stack} on board {board}" : "Stvorili ste karticu {card} u popisu {stack} na ploči {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} je stvorio karticu {card} u popisu {stack} na ploči {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Izbrisali ste karticu {card} u popisu {stack} na ploči {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} je izbrisao karticu {card} u popisu {stack} na ploči {board}",
"You have renamed the card {before} to {card}" : "Preimenovali ste karticu {before} u {card}",
"{user} has renamed the card {before} to {card}" : "{user} je preimenovao karticu {before} u {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Dodali ste opis kartici {card} u popisu {stack} na ploči {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} je dodao opis kartici {card} u popisu {stack} na ploči {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Ažurirali ste opis kartice {card} u popisu {stack} na ploči {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} je ažurirao opis kartice {card} u popisu {stack} na ploči {board}",
"You have archived card {card} in list {stack} on board {board}" : "Arhivirali ste karticu {card} u popisu {stack} na ploči {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} je arhivirao karticu {card} u popisu {stack} na ploči {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Dearhivirali ste karticu {card} u popisu {stack} na ploči {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} je dearhivirao karticu {card} u popisu {stack} na ploči {board}",
"You have removed the due date of card {card}" : "Uklonili ste datum dospijeća kartice {card}",
"{user} has removed the due date of card {card}" : "{user} je uklonio datum dospijeća kartice {card}",
"You have set the due date of card {card} to {after}" : "Postavili ste datum dospijeća kartice {card} na {after}",
"{user} has set the due date of card {card} to {after}" : "{user} je postavio datum dospijeća kartice {card} na {after}",
"You have updated the due date of card {card} to {after}" : "Ažurirali ste datum dospijeća kartice {card} na {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} je ažurirao datum dospijeća kartice {card} na {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Dodali ste oznaku {label} na karticu {card} u popisu {stack} na ploči {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} je dodao oznaku {label} na karticu {card} u popisu {stack} na ploči {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Uklonili ste oznaku {label} s kartice {card} u popisu {stack} na ploči {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} je uklonio oznaku {label} s kartice {card} u popisu {stack} na ploči {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Dodijelili ste {assigneduser} kartici {card} na ploči {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} je dodijelio {assigneduser} kartici {card} na ploči {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Uklonili ste {assigneduser} s kartice {card} na ploči {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} je uklonio {assigneduser} s kartice {card} na ploči {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Premjestili ste karticu {card} iz popisa {stackBefore} u {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} je premjestio karticu {card} iz popisa {stackBefore} u {stack}",
"You have added the attachment {attachment} to card {card}" : "Dodali ste privitak {attachment} kartici {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} je dodao privitak {attachment} kartici {card}",
"You have updated the attachment {attachment} on card {card}" : "Ažurirali ste privitak {attachment} na kartici {card}",
@@ -77,6 +101,7 @@ OC.L10N.register(
"Create new board" : "Stvori novu ploču",
"new board" : "nova ploča",
"Select the board to link to a project" : "Odaberite ploču za povezivanje s projektom",
"Search by board title" : "Traži po naslovu ploče",
"Select board" : "Odaberi ploču",
"Select the card to link to a project" : "Odaberite karticu za povezivanje s projektom",
"Select a board" : "Odaberite ploču",
@@ -102,6 +127,7 @@ OC.L10N.register(
"Next 7 days" : "Sljedećih 7 dana",
"Next 30 days" : "Sljedećih 30 dana",
"No due date" : "Nema datuma dospijeća",
"Clear filter" : "Ukloni filtar",
"Show archived cards" : "Prikaži arhivirane kartice",
"Toggle compact mode" : "Prebaci u kompaktni način rada",
"Details" : "Pojedinosti",
@@ -122,6 +148,7 @@ OC.L10N.register(
"Can share" : "Dijeljenje moguće",
"Can manage" : "Upravljanje moguće",
"Delete" : "Izbriši",
"Add a new list" : "Dodaj novi popis",
"Delete list" : "Izbriši popis",
"Add card" : "Dodaj karticu",
"Add a new card" : "Dodaj novu karticu",
@@ -164,11 +191,14 @@ OC.L10N.register(
"(circle)" : "(krug)",
"seconds ago" : "prije nekoliko sekundi",
"Assign to me" : "Dodijeli meni",
"Unassign myself" : "Ukloni sebe",
"Unarchive card" : "Dearhiviraj karticu",
"Archive card" : "Arhiviraj karticu",
"Delete card" : "Izbriši karticu",
"Move card" : "Premjesti karticu",
"Card details" : "Pojedinosti o kartici",
"Move card to another board" : "Premjesti karticu na drugu ploču",
"Select a list" : "Odaberi popis",
"All boards" : "Sve ploče",
"Archived boards" : "Arhivirane ploče",
"Shared with you" : "Podijeljeno s vama",
@@ -176,7 +206,12 @@ OC.L10N.register(
"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." : "Ograničenjem Decka možete spriječiti korisnike koji ne sudjeluju u tim grupama da stvaraju vlastite ploče. Korisnici će i dalje moći raditi na pločama koje su dijeljene s njima.",
"New board title" : "Novi naslov ploče",
"Edit board" : "Uredi ploču",
"Clone board " : "Kloniraj ploču ",
"Unarchive board " : "Dearhiviraj ploču ",
"Archive board " : "Arhiviraj ploču ",
"Delete board " : "Izbriši ploču ",
"Board details" : "Pojedinosti o ploči",
"Board {0} deleted" : "Ploča {0} je izbrisana",
"An error occurred" : "Došlo je do pogreške",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Jeste li sigurni da želite izbrisati ploču {title}? Time ćete izbrisati sve podatke ploče.",
"Delete the board?" : "Želite li izbrisati ploču?",

View File

@@ -15,18 +15,42 @@
"{user} has archived the board {before}" : "{user} je arhivirao ploču {before}",
"You have unarchived the board {board}" : "Dearhivirali ste ploču {board}",
"{user} has unarchived the board {before}" : "{user} je dearhivirao ploču {before}",
"You have created a new list {stack} on board {board}" : "Stvorili ste novi popis {stack} na ploči {board}",
"{user} has created a new list {stack} on board {board}" : "{user} je stvorio novi popis {stack} na ploči {board}",
"You have renamed list {before} to {stack} on board {board}" : "Preimenovali ste popis {before} u {stack} na ploči {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} je preimenovao popis {before} u {stack} na ploči {board}",
"You have deleted list {stack} on board {board}" : "Izbrisali ste popis {stack} na ploči {board}",
"{user} has deleted list {stack} on board {board}" : "{user} je izbrisao popis {stack} na ploči {board}",
"You have created card {card} in list {stack} on board {board}" : "Stvorili ste karticu {card} u popisu {stack} na ploči {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} je stvorio karticu {card} u popisu {stack} na ploči {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Izbrisali ste karticu {card} u popisu {stack} na ploči {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} je izbrisao karticu {card} u popisu {stack} na ploči {board}",
"You have renamed the card {before} to {card}" : "Preimenovali ste karticu {before} u {card}",
"{user} has renamed the card {before} to {card}" : "{user} je preimenovao karticu {before} u {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Dodali ste opis kartici {card} u popisu {stack} na ploči {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} je dodao opis kartici {card} u popisu {stack} na ploči {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Ažurirali ste opis kartice {card} u popisu {stack} na ploči {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} je ažurirao opis kartice {card} u popisu {stack} na ploči {board}",
"You have archived card {card} in list {stack} on board {board}" : "Arhivirali ste karticu {card} u popisu {stack} na ploči {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} je arhivirao karticu {card} u popisu {stack} na ploči {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Dearhivirali ste karticu {card} u popisu {stack} na ploči {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} je dearhivirao karticu {card} u popisu {stack} na ploči {board}",
"You have removed the due date of card {card}" : "Uklonili ste datum dospijeća kartice {card}",
"{user} has removed the due date of card {card}" : "{user} je uklonio datum dospijeća kartice {card}",
"You have set the due date of card {card} to {after}" : "Postavili ste datum dospijeća kartice {card} na {after}",
"{user} has set the due date of card {card} to {after}" : "{user} je postavio datum dospijeća kartice {card} na {after}",
"You have updated the due date of card {card} to {after}" : "Ažurirali ste datum dospijeća kartice {card} na {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} je ažurirao datum dospijeća kartice {card} na {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Dodali ste oznaku {label} na karticu {card} u popisu {stack} na ploči {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} je dodao oznaku {label} na karticu {card} u popisu {stack} na ploči {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Uklonili ste oznaku {label} s kartice {card} u popisu {stack} na ploči {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} je uklonio oznaku {label} s kartice {card} u popisu {stack} na ploči {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Dodijelili ste {assigneduser} kartici {card} na ploči {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} je dodijelio {assigneduser} kartici {card} na ploči {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Uklonili ste {assigneduser} s kartice {card} na ploči {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} je uklonio {assigneduser} s kartice {card} na ploči {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Premjestili ste karticu {card} iz popisa {stackBefore} u {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} je premjestio karticu {card} iz popisa {stackBefore} u {stack}",
"You have added the attachment {attachment} to card {card}" : "Dodali ste privitak {attachment} kartici {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} je dodao privitak {attachment} kartici {card}",
"You have updated the attachment {attachment} on card {card}" : "Ažurirali ste privitak {attachment} na kartici {card}",
@@ -75,6 +99,7 @@
"Create new board" : "Stvori novu ploču",
"new board" : "nova ploča",
"Select the board to link to a project" : "Odaberite ploču za povezivanje s projektom",
"Search by board title" : "Traži po naslovu ploče",
"Select board" : "Odaberi ploču",
"Select the card to link to a project" : "Odaberite karticu za povezivanje s projektom",
"Select a board" : "Odaberite ploču",
@@ -100,6 +125,7 @@
"Next 7 days" : "Sljedećih 7 dana",
"Next 30 days" : "Sljedećih 30 dana",
"No due date" : "Nema datuma dospijeća",
"Clear filter" : "Ukloni filtar",
"Show archived cards" : "Prikaži arhivirane kartice",
"Toggle compact mode" : "Prebaci u kompaktni način rada",
"Details" : "Pojedinosti",
@@ -120,6 +146,7 @@
"Can share" : "Dijeljenje moguće",
"Can manage" : "Upravljanje moguće",
"Delete" : "Izbriši",
"Add a new list" : "Dodaj novi popis",
"Delete list" : "Izbriši popis",
"Add card" : "Dodaj karticu",
"Add a new card" : "Dodaj novu karticu",
@@ -162,11 +189,14 @@
"(circle)" : "(krug)",
"seconds ago" : "prije nekoliko sekundi",
"Assign to me" : "Dodijeli meni",
"Unassign myself" : "Ukloni sebe",
"Unarchive card" : "Dearhiviraj karticu",
"Archive card" : "Arhiviraj karticu",
"Delete card" : "Izbriši karticu",
"Move card" : "Premjesti karticu",
"Card details" : "Pojedinosti o kartici",
"Move card to another board" : "Premjesti karticu na drugu ploču",
"Select a list" : "Odaberi popis",
"All boards" : "Sve ploče",
"Archived boards" : "Arhivirane ploče",
"Shared with you" : "Podijeljeno s vama",
@@ -174,7 +204,12 @@
"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." : "Ograničenjem Decka možete spriječiti korisnike koji ne sudjeluju u tim grupama da stvaraju vlastite ploče. Korisnici će i dalje moći raditi na pločama koje su dijeljene s njima.",
"New board title" : "Novi naslov ploče",
"Edit board" : "Uredi ploču",
"Clone board " : "Kloniraj ploču ",
"Unarchive board " : "Dearhiviraj ploču ",
"Archive board " : "Arhiviraj ploču ",
"Delete board " : "Izbriši ploču ",
"Board details" : "Pojedinosti o ploči",
"Board {0} deleted" : "Ploča {0} je izbrisana",
"An error occurred" : "Došlo je do pogreške",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Jeste li sigurni da želite izbrisati ploču {title}? Time ćete izbrisati sve podatke ploče.",
"Delete the board?" : "Želite li izbrisati ploču?",

View File

@@ -12,23 +12,47 @@ OC.L10N.register(
"You have removed {acl} from the board {board}" : "Anda telah mencabut akses {acl} pada papan {board}",
"{user} has removed {acl} from the board {board}" : "{user} telah mencabut akses {acl} pada papan {board}",
"You have renamed the board {before} to {board}" : "Anda telah mengubah nama papan {before} menjadi {board}",
"{user} has renamed the board {before} to {board}" : "{user} telah mengubah nama papa {before} menjadi {board}",
"{user} has renamed the board {before} to {board}" : "{user} telah mengubah nama papan {before} menjadi {board}",
"You have archived the board {board}" : "Anda telah mengarsipkan papan {board}",
"{user} has archived the board {before}" : "{user} telah mengarsipkan papan {board}",
"You have unarchived the board {board}" : "Anda telah memulihkan papan {board}",
"{user} has unarchived the board {before}" : "{user} telah memulihkan papan {board}",
"You have created a new list {stack} on board {board}" : "Anda telah membuat daftar baru {stack} pada papan {board}",
"{user} has created a new list {stack} on board {board}" : "{user} telah membuat daftar baru {stack} pada papan {board}",
"You have renamed list {before} to {stack} on board {board}" : "Anda telah mengubah nama daftar {before} menjadi {stack} pada papan {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} telah mengubah nama daftar {before} menjadi {stack} pada papan {board}",
"You have deleted list {stack} on board {board}" : "Anda telah menghapus daftar {stack} pada papan {board}",
"{user} has deleted list {stack} on board {board}" : "{user} telah menghapus daftar {stack} pada papan {board}",
"You have created card {card} in list {stack} on board {board}" : "Anda telah membuat kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} telah membuat kartu {card} didalam daftar {stack} pada papan {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Anda telah menghapus kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} telah menghapus kartu {card} didalam daftar {stack} pada papan {board}",
"You have renamed the card {before} to {card}" : "Anda telah mengubah nama kartu {before} menjadi {card}",
"{user} has renamed the card {before} to {card}" : "{user} telah mengubah nama kartu {before} menjadi {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Anda telah menambahkan deskripsi kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} telah menambahkan deskripsi kartu {card} didalam daftar {stack} pada papan {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Anda telah memperbarui deskripsi kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} telah memperbarui deskripsi kartu {card} didalam daftar {stack} pada papan {board}",
"You have archived card {card} in list {stack} on board {board}" : "Anda telah mengarsipkan kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} telah mengarsipkan kartu {card} didalam daftar {stack} pada papan {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Anda telah memulihkan arsip kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} telah memulihkan kartu {card} didalam daftar {stack} pada papan {board}",
"You have removed the due date of card {card}" : "Anda telah menghapus tenggat kartu {card}",
"{user} has removed the due date of card {card}" : "{user} telah menghapus tenggat kartu {card}",
"You have set the due date of card {card} to {after}" : "Anda telah mengatur tenggat kartu {card} ke {after}",
"{user} has set the due date of card {card} to {after}" : "{user} telah mengatur tenggat kartu {card} ke {after}",
"You have updated the due date of card {card} to {after}" : "Anda telah memperbarui tenggat kartu {card} ke {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} telah memperbarui tenggat kartu {card} ke {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Anda telah menambahkan label {label} ke kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} telah menambahkan label {label} ke kartu {card} didalam daftar {stack} pada papan {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Anda telah menghapus label {label} dari kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} telah menghapus label {label} dari kartu {card} didalam daftar {stack} pada papan {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Anda telah menugaskan {assigneduser} ke kartu {card} pada papan {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} telah menugaskan {assigneduser} ke kartu {card} pada papan {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Anda telah tidak menugaskan {assigneduser} ke kartu {card} pada papan {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} telah tidak menugaskan {assigneduser} ke kartu {card} pada papan {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Anda telah memindahkan kartu {card} dari daftar {stackBefore} ke {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} telah memindahkan kartu {card} dari daftar {stackBefore} ke {stack}",
"You have added the attachment {attachment} to card {card}" : "Anda telah menyematkan lampiran {attachment} ke kartu {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} telah menyematkan lampiran {attachment} ke kartu {card}",
"You have updated the attachment {attachment} on card {card}" : "Anda telah memperbarui lampiran {attachment} pada kartu {card}",
@@ -47,7 +71,7 @@ OC.L10N.register(
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu \"%s\" pada \"%s\" telah ditugaskan kepada Anda oleh %s.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} telah menugaskan kartu \"%s\" pada \"%s\" kepada Anda",
"The card \"%s\" on \"%s\" has reached its due date." : "Kartu \"%s\" pada \"%s\" telah melampaui tenggat.",
"%s has mentioned you in a comment on \"%s\"." : "%stelah menyebut Anda didalam suatu komentar pada \"%s\".",
"%s has mentioned you in a comment on \"%s\"." : "%s telah menyebut Anda didalam suatu komentar pada \"%s\".",
"{user} has mentioned you in a comment on \"%s\"." : "{user} telah menyebut Anda didalam suatu komentar pada \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Papan \"%s\" telah dibagikan kepada Anda oleh %s.",
"{user} has shared the board %s with you." : "{user} telah membagikan papan %s kepada Anda.",
@@ -119,11 +143,12 @@ OC.L10N.register(
"Share board with a user, group or circle …" : "Bagikan papan kepada pengguna, grup atau lingkaran",
"Board owner" : "Pemilik papan",
"(Group)" : "(Grup)",
"(Circle)" : "(Linkaran)",
"(Circle)" : "(Lingkaran)",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Can manage" : "Dapat mengelola",
"Delete" : "Hapus",
"Add a new list" : "Tambah daftar baru",
"Delete list" : "Hapus daftar",
"Add card" : "Tambah kartu",
"Add a new card" : "Tambah kartu baru",
@@ -172,6 +197,7 @@ OC.L10N.register(
"Move card" : "Pindahkan kartu",
"Card details" : "Detail kartu",
"Move card to another board" : "Pindahkan kartu ke papan lain",
"Select a list" : "Pilih daftar",
"All boards" : "Semua papan",
"Archived boards" : "Papan terarsip",
"Shared with you" : "Shared with you",
@@ -179,7 +205,11 @@ OC.L10N.register(
"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." : "Membatasi Longgok akan mencegah pengguna bukan bagian dari grup, untuk membuat papan mereka sendiri. Pengguna tetap menggunakan papan yang telah dibagikan kepadanya.",
"New board title" : "Judul papan baru",
"Edit board" : "Edit papan",
"Unarchive board " : "Memulihkan papan",
"Archive board " : "Mengarsipkan papan",
"Delete board " : "Hapus papan",
"Board details" : "Detail papan",
"Board {0} deleted" : "{0} papan terhapus",
"An error occurred" : "Terjadi kesalahan",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Apakah Anda yakin ingin menghapus papan {title}? Aksi ini akan menghapus seluruh data pada papan ini.",
"Delete the board?" : "Hapus papan?",

View File

@@ -10,23 +10,47 @@
"You have removed {acl} from the board {board}" : "Anda telah mencabut akses {acl} pada papan {board}",
"{user} has removed {acl} from the board {board}" : "{user} telah mencabut akses {acl} pada papan {board}",
"You have renamed the board {before} to {board}" : "Anda telah mengubah nama papan {before} menjadi {board}",
"{user} has renamed the board {before} to {board}" : "{user} telah mengubah nama papa {before} menjadi {board}",
"{user} has renamed the board {before} to {board}" : "{user} telah mengubah nama papan {before} menjadi {board}",
"You have archived the board {board}" : "Anda telah mengarsipkan papan {board}",
"{user} has archived the board {before}" : "{user} telah mengarsipkan papan {board}",
"You have unarchived the board {board}" : "Anda telah memulihkan papan {board}",
"{user} has unarchived the board {before}" : "{user} telah memulihkan papan {board}",
"You have created a new list {stack} on board {board}" : "Anda telah membuat daftar baru {stack} pada papan {board}",
"{user} has created a new list {stack} on board {board}" : "{user} telah membuat daftar baru {stack} pada papan {board}",
"You have renamed list {before} to {stack} on board {board}" : "Anda telah mengubah nama daftar {before} menjadi {stack} pada papan {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} telah mengubah nama daftar {before} menjadi {stack} pada papan {board}",
"You have deleted list {stack} on board {board}" : "Anda telah menghapus daftar {stack} pada papan {board}",
"{user} has deleted list {stack} on board {board}" : "{user} telah menghapus daftar {stack} pada papan {board}",
"You have created card {card} in list {stack} on board {board}" : "Anda telah membuat kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} telah membuat kartu {card} didalam daftar {stack} pada papan {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Anda telah menghapus kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} telah menghapus kartu {card} didalam daftar {stack} pada papan {board}",
"You have renamed the card {before} to {card}" : "Anda telah mengubah nama kartu {before} menjadi {card}",
"{user} has renamed the card {before} to {card}" : "{user} telah mengubah nama kartu {before} menjadi {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Anda telah menambahkan deskripsi kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} telah menambahkan deskripsi kartu {card} didalam daftar {stack} pada papan {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Anda telah memperbarui deskripsi kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} telah memperbarui deskripsi kartu {card} didalam daftar {stack} pada papan {board}",
"You have archived card {card} in list {stack} on board {board}" : "Anda telah mengarsipkan kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} telah mengarsipkan kartu {card} didalam daftar {stack} pada papan {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Anda telah memulihkan arsip kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} telah memulihkan kartu {card} didalam daftar {stack} pada papan {board}",
"You have removed the due date of card {card}" : "Anda telah menghapus tenggat kartu {card}",
"{user} has removed the due date of card {card}" : "{user} telah menghapus tenggat kartu {card}",
"You have set the due date of card {card} to {after}" : "Anda telah mengatur tenggat kartu {card} ke {after}",
"{user} has set the due date of card {card} to {after}" : "{user} telah mengatur tenggat kartu {card} ke {after}",
"You have updated the due date of card {card} to {after}" : "Anda telah memperbarui tenggat kartu {card} ke {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} telah memperbarui tenggat kartu {card} ke {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Anda telah menambahkan label {label} ke kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} telah menambahkan label {label} ke kartu {card} didalam daftar {stack} pada papan {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Anda telah menghapus label {label} dari kartu {card} didalam daftar {stack} pada papan {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} telah menghapus label {label} dari kartu {card} didalam daftar {stack} pada papan {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Anda telah menugaskan {assigneduser} ke kartu {card} pada papan {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} telah menugaskan {assigneduser} ke kartu {card} pada papan {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Anda telah tidak menugaskan {assigneduser} ke kartu {card} pada papan {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} telah tidak menugaskan {assigneduser} ke kartu {card} pada papan {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Anda telah memindahkan kartu {card} dari daftar {stackBefore} ke {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} telah memindahkan kartu {card} dari daftar {stackBefore} ke {stack}",
"You have added the attachment {attachment} to card {card}" : "Anda telah menyematkan lampiran {attachment} ke kartu {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} telah menyematkan lampiran {attachment} ke kartu {card}",
"You have updated the attachment {attachment} on card {card}" : "Anda telah memperbarui lampiran {attachment} pada kartu {card}",
@@ -45,7 +69,7 @@
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kartu \"%s\" pada \"%s\" telah ditugaskan kepada Anda oleh %s.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} telah menugaskan kartu \"%s\" pada \"%s\" kepada Anda",
"The card \"%s\" on \"%s\" has reached its due date." : "Kartu \"%s\" pada \"%s\" telah melampaui tenggat.",
"%s has mentioned you in a comment on \"%s\"." : "%stelah menyebut Anda didalam suatu komentar pada \"%s\".",
"%s has mentioned you in a comment on \"%s\"." : "%s telah menyebut Anda didalam suatu komentar pada \"%s\".",
"{user} has mentioned you in a comment on \"%s\"." : "{user} telah menyebut Anda didalam suatu komentar pada \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Papan \"%s\" telah dibagikan kepada Anda oleh %s.",
"{user} has shared the board %s with you." : "{user} telah membagikan papan %s kepada Anda.",
@@ -117,11 +141,12 @@
"Share board with a user, group or circle …" : "Bagikan papan kepada pengguna, grup atau lingkaran",
"Board owner" : "Pemilik papan",
"(Group)" : "(Grup)",
"(Circle)" : "(Linkaran)",
"(Circle)" : "(Lingkaran)",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Can manage" : "Dapat mengelola",
"Delete" : "Hapus",
"Add a new list" : "Tambah daftar baru",
"Delete list" : "Hapus daftar",
"Add card" : "Tambah kartu",
"Add a new card" : "Tambah kartu baru",
@@ -170,6 +195,7 @@
"Move card" : "Pindahkan kartu",
"Card details" : "Detail kartu",
"Move card to another board" : "Pindahkan kartu ke papan lain",
"Select a list" : "Pilih daftar",
"All boards" : "Semua papan",
"Archived boards" : "Papan terarsip",
"Shared with you" : "Shared with you",
@@ -177,7 +203,11 @@
"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." : "Membatasi Longgok akan mencegah pengguna bukan bagian dari grup, untuk membuat papan mereka sendiri. Pengguna tetap menggunakan papan yang telah dibagikan kepadanya.",
"New board title" : "Judul papan baru",
"Edit board" : "Edit papan",
"Unarchive board " : "Memulihkan papan",
"Archive board " : "Mengarsipkan papan",
"Delete board " : "Hapus papan",
"Board details" : "Detail papan",
"Board {0} deleted" : "{0} papan terhapus",
"An error occurred" : "Terjadi kesalahan",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Apakah Anda yakin ingin menghapus papan {title}? Aksi ini akan menghapus seluruh data pada papan ini.",
"Delete the board?" : "Hapus papan?",

View File

@@ -126,7 +126,7 @@ OC.L10N.register(
"Delete" : "Verwijderen",
"Delete list" : "Lijst verwijderen",
"Add card" : "Toevoegen kaart",
"Add a new card" : "Toevoegen nieuwe kaart",
"Add a new card" : "Nieuwe kaart toevoegen",
"Edit" : "Bewerken",
"Add a new tag" : "Nieuwe tag toevoegen",
"title and color value must be provided" : "titel- en kleurwaarde moet gegeven worden",
@@ -166,6 +166,7 @@ OC.L10N.register(
"(circle)" : "(kring)",
"seconds ago" : "seconden geleden",
"Assign to me" : "Aan mij toewijzen",
"Unassign myself" : "Eigen toewijzing opheffen",
"Unarchive card" : "Terughalen kaart uit archief",
"Archive card" : "Archiveer kaart",
"Delete card" : "Verwijderen kaart",

View File

@@ -124,7 +124,7 @@
"Delete" : "Verwijderen",
"Delete list" : "Lijst verwijderen",
"Add card" : "Toevoegen kaart",
"Add a new card" : "Toevoegen nieuwe kaart",
"Add a new card" : "Nieuwe kaart toevoegen",
"Edit" : "Bewerken",
"Add a new tag" : "Nieuwe tag toevoegen",
"title and color value must be provided" : "titel- en kleurwaarde moet gegeven worden",
@@ -164,6 +164,7 @@
"(circle)" : "(kring)",
"seconds ago" : "seconden geleden",
"Assign to me" : "Aan mij toewijzen",
"Unassign myself" : "Eigen toewijzing opheffen",
"Unarchive card" : "Terughalen kaart uit archief",
"Archive card" : "Archiveer kaart",
"Delete card" : "Verwijderen kaart",

View File

@@ -145,8 +145,8 @@ OC.L10N.register(
"(Group)" : "(Группа)",
"(Circle)" : "(Круг)",
"Can edit" : "Разрешить редактировать",
"Can share" : "разрешено делиться с другими",
"Can manage" : "Разрешено изменять",
"Can share" : "Разрешить делиться с другими",
"Can manage" : "Разрешить изменять",
"Delete" : "Удалить",
"Add a new list" : "Создать список",
"Delete list" : "Удалить список",
@@ -177,8 +177,8 @@ OC.L10N.register(
"Attachments" : "Вложения",
"Comments" : "Комментарии",
"Choose attachment" : "Выберите вложение",
"Modified" : "Изменён",
"Created" : "Создана",
"Modified" : "Изменено",
"Created" : "Создано",
"Upload attachment" : "Загрузить вложение",
"No comments yet. Begin the discussion!" : "Комментарии отсутствуют, начните обсуждение!",
"Save" : "Сохранить",

View File

@@ -143,8 +143,8 @@
"(Group)" : "(Группа)",
"(Circle)" : "(Круг)",
"Can edit" : "Разрешить редактировать",
"Can share" : "разрешено делиться с другими",
"Can manage" : "Разрешено изменять",
"Can share" : "Разрешить делиться с другими",
"Can manage" : "Разрешить изменять",
"Delete" : "Удалить",
"Add a new list" : "Создать список",
"Delete list" : "Удалить список",
@@ -175,8 +175,8 @@
"Attachments" : "Вложения",
"Comments" : "Комментарии",
"Choose attachment" : "Выберите вложение",
"Modified" : "Изменён",
"Created" : "Создана",
"Modified" : "Изменено",
"Created" : "Создано",
"Upload attachment" : "Загрузить вложение",
"No comments yet. Begin the discussion!" : "Комментарии отсутствуют, начните обсуждение!",
"Save" : "Сохранить",

View File

@@ -2,33 +2,57 @@ OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "Ustvarite novo zbirko {board}",
"{user} has created a new board {board}" : "Uporabnik {user} ustvari novo zbirko {board}",
"{user} has created a new board {board}" : "{user} ustvari novo zbirko {board}",
"You have deleted the board {board}" : "Izbrišete zbirko {board}",
"{user} has deleted the board {board}" : "Uporabnik {user} izbriše zbirko {board}",
"{user} has deleted the board {board}" : "{user} izbriše zbirko {board}",
"You have restored the board {board}" : "Obnovite izbrisano zbirko {board}",
"{user} has restored the board {board}" : "Uporabnik {user} obnovi izbrisano zbirko {board}",
"{user} has restored the board {board}" : "{user} obnovi izbrisano zbirko {board}",
"You have shared the board {board} with {acl}" : "Omogočite souporabo zbirke {board} z uporabnikom {acl}",
"{user} has shared the board {board} with {acl}" : "Uporabnik {user} omogoči souporabo zbirke {board} z uporabnikom {acl}",
"{user} has shared the board {board} with {acl}" : "{user} omogoči souporabo zbirke {board} z uporabnikom {acl}",
"You have removed {acl} from the board {board}" : "Odstranite uporabnika {acl} z zbirke {board}",
"{user} has removed {acl} from the board {board}" : "Uporabnik {user} odstrani uporabnika {acl} z zbirke {board}",
"{user} has removed {acl} from the board {board}" : "{user} odstrani uporabnika {acl} z zbirke {board}",
"You have renamed the board {before} to {board}" : "Zbirko {before} preimenujete v {board}",
"{user} has renamed the board {before} to {board}" : "Uporabnik {user} preimenuje zbirko {before} v {board}",
"{user} has renamed the board {before} to {board}" : "{user} preimenuje zbirko {before} v {board}",
"You have archived the board {board}" : "Arhivirate zbirko {board}",
"{user} has archived the board {before}" : "Uporabnik {user} arhivira zbirko {board}",
"{user} has archived the board {before}" : "{user} arhivira zbirko {board}",
"You have unarchived the board {board}" : "Povrnete zbirko {board} iz arhiva",
"{user} has unarchived the board {before}" : "Uporabnik {user} povrne zbirko {board} iz arhiva",
"{user} has unarchived the board {before}" : "{user} povrne zbirko {board} iz arhiva",
"You have created a new list {stack} on board {board}" : "Ustvarite nov seznam nalog {stack} v zbirki {board}",
"{user} has created a new list {stack} on board {board}" : "{user} ustvari v zbirki {board} nov seznam nalog {stack}",
"You have renamed list {before} to {stack} on board {board}" : "Preimenujete seznam nalog v zbirki {board} iz {before} v {stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} je preimenoval seznam nalog v zbirki {board} iz {before} v {stack}",
"You have deleted list {stack} on board {board}" : "Izbrišete seznam nalog {stack} v zbirki {board}",
"{user} has deleted list {stack} on board {board}" : "{user} izbriše seznam nalog {stack} v zbirki {board}",
"You have created card {card} in list {stack} on board {board}" : "Ustvarite nalogo {card} v seznamu nalog {stack} zbirke {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} ustvari nalogo {card} v seznamu nalog {stack} zbirke {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Izbrišete nalogo {card} v seznamu nalog {stack} zbirke {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} izbriše nalogo {card} v seznamu nalog {stack} zbirke {board}",
"You have renamed the card {before} to {card}" : "Preimenujete nalogo {before} v {card}",
"{user} has renamed the card {before} to {card}" : "{user} preimenuje nalogo {before} v {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Dodate opis k nalogi {card} v seznamu nalog {stack} zbirke {board}.",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} doda opis k nalogi {card} v seznamu nalog {stack} zbirke {board}.",
"You have updated the description of card {card} in list {stack} on board {board}" : "Posodobite opis naloge {card} v seznamu nalog {stack} zbirke {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} posodobi opis naloge {card} v seznamu nalog {stack} zbirke {board}",
"You have archived card {card} in list {stack} on board {board}" : "Arhivirate nalogo {card} v seznamu nalog {stack} zbirke {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arhivira nalogo {card} v seznamu nalog {stack} zbirke {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Iz arhiva povrnete nalogo {card} v seznamu nalog {stack} zbirke {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} iz arhiva povrne nalogo {card} v seznamu nalog {stack} zbirke {board}",
"You have removed the due date of card {card}" : "Odstranite datum preteka z naloge {card}",
"{user} has removed the due date of card {card}" : "{user} odstrani datum preteka z naloge {card}",
"You have set the due date of card {card} to {after}" : "Nastavite datum preteka naloge {card} na {after}",
"{user} has set the due date of card {card} to {after}" : "{user} nastavi datum preteka naloge {card} na {after}",
"You have updated the due date of card {card} to {after}" : "Posodobite datum preteka naloge {card} na {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} posodobi datum preteka naloge {card} na {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Dodate oznako {label} k nalogi {card} seznama nalog {stack} v zbirki {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} doda oznako {label} k nalogi {card} seznama nalog {stack} v zbirki {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Odstranite oznako {label} z naloge {card} seznama nalog {stack} v zbirki {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} odstrani oznako {label} z naloge {card} seznama nalog {stack} v zbirki {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Dodelite nalogo {card} v zbirki {board} → {assigneduser}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} dodeli nalogo {card} v zbirki {board} → {assigneduser}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Odvzamete nalogo {card} v zbirki {board} ✕ {assigneduser}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} odvzame nalogo {card} v zbirki {board} ✕ {assigneduser}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Premaknete nalogo {card} iz seznama nalog {stackBefore} v {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} premakne nalogo {card} iz seznama nalog {stackBefore} v {stack}",
"You have added the attachment {attachment} to card {card}" : "Dodate prilogo {attachment} k nalogi {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} doda prilogo {attachment} k nalogi {card}",
"You have updated the attachment {attachment} on card {card}" : "Posodobite prilogo {attachment} v nalogi {card}",
@@ -38,16 +62,18 @@ OC.L10N.register(
"You have restored the attachment {attachment} to card {card}" : "Obnovite prilogo {attachment} k nalogi {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} obnovi prilogo {attachment} naloge {card}",
"You have commented on card {card}" : "Vpišete opombo k nalogi {card}",
"{user} has commented on card {card}" : "Uporabnik {user} vpiše opombo k nalogi {card}",
"{user} has commented on card {card}" : "{user} vpiše opombo k nalogi {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Spremenjen je<strong>opis ene izmed nalog</strong> v programu Deck",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Spremembe v programu <strong>Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Nalogi je dodana nova <strong>opomba</strong>",
"Personal" : "Osebno",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Nalogo »%s« na »%s« vam dodeli %s.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} vam dodeli nalogo »%s« na »%s«.",
"The card \"%s\" on \"%s\" has reached its due date." : "Naloga »%s« na »%s« je dosegla datum preteka.",
"%s has mentioned you in a comment on \"%s\"." : "%s vas omeni v opombi na »%s«.",
"{user} has mentioned you in a comment on \"%s\"." : "{user} vas omeni v opombi na »%s«.",
"The board \"%s\" has been shared with you by %s." : "Zborko »%s« vam dodeli %s.",
"{user} has shared the board %s with you." : "{user} vam omogoči souporabo zbirke %s.",
"No data was provided to create an attachment." : "Ni podanih podatkov za ustvarjanje priloge.",
"Finished" : "Končano",
@@ -122,6 +148,7 @@ OC.L10N.register(
"Can share" : "Lahko omogoči souporabo",
"Can manage" : "Lahko upravlja",
"Delete" : "Izbriši",
"Add a new list" : "Dodaj nov seznam",
"Delete list" : "Izbriši seznam",
"Add card" : "Dodaj nalogo",
"Add a new card" : "Dodaj novo nalogo",
@@ -164,15 +191,18 @@ OC.L10N.register(
"(circle)" : "(krog)",
"seconds ago" : "pred nekaj sekundami",
"Assign to me" : "Nalogo dodeli meni",
"Unassign myself" : "Odstrani me z naloge",
"Unarchive card" : "Povrni nalogo",
"Archive card" : "Arhiviraj nalogo",
"Delete card" : "Izbriši nalogo",
"Move card" : "Premakni nalogo",
"Card details" : "Podrobnosti naloge",
"Move card to another board" : "Premakni nalogo v drugo zbirko",
"Select a list" : "Izbor seznama",
"All boards" : "Vse zbirke",
"Archived boards" : "Arhivirane zbirke",
"Shared with you" : "V souporabi z vami",
"Limit deck usage of groups" : "Omeji uporabo zbirk na skupine",
"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." : "Omejevanje programa prepreči uporabnikom, ki niso del teh skupin, ustvarjanje novih zbirk. Uporabniki bodo še vedno lahko spreminjali zbirke, ki so jih dobili v souporabo.",
"New board title" : "Naslov nove zbirke",
"Edit board" : "Uredi zbirko",

View File

@@ -1,32 +1,56 @@
{ "translations": {
"You have created a new board {board}" : "Ustvarite novo zbirko {board}",
"{user} has created a new board {board}" : "Uporabnik {user} ustvari novo zbirko {board}",
"{user} has created a new board {board}" : "{user} ustvari novo zbirko {board}",
"You have deleted the board {board}" : "Izbrišete zbirko {board}",
"{user} has deleted the board {board}" : "Uporabnik {user} izbriše zbirko {board}",
"{user} has deleted the board {board}" : "{user} izbriše zbirko {board}",
"You have restored the board {board}" : "Obnovite izbrisano zbirko {board}",
"{user} has restored the board {board}" : "Uporabnik {user} obnovi izbrisano zbirko {board}",
"{user} has restored the board {board}" : "{user} obnovi izbrisano zbirko {board}",
"You have shared the board {board} with {acl}" : "Omogočite souporabo zbirke {board} z uporabnikom {acl}",
"{user} has shared the board {board} with {acl}" : "Uporabnik {user} omogoči souporabo zbirke {board} z uporabnikom {acl}",
"{user} has shared the board {board} with {acl}" : "{user} omogoči souporabo zbirke {board} z uporabnikom {acl}",
"You have removed {acl} from the board {board}" : "Odstranite uporabnika {acl} z zbirke {board}",
"{user} has removed {acl} from the board {board}" : "Uporabnik {user} odstrani uporabnika {acl} z zbirke {board}",
"{user} has removed {acl} from the board {board}" : "{user} odstrani uporabnika {acl} z zbirke {board}",
"You have renamed the board {before} to {board}" : "Zbirko {before} preimenujete v {board}",
"{user} has renamed the board {before} to {board}" : "Uporabnik {user} preimenuje zbirko {before} v {board}",
"{user} has renamed the board {before} to {board}" : "{user} preimenuje zbirko {before} v {board}",
"You have archived the board {board}" : "Arhivirate zbirko {board}",
"{user} has archived the board {before}" : "Uporabnik {user} arhivira zbirko {board}",
"{user} has archived the board {before}" : "{user} arhivira zbirko {board}",
"You have unarchived the board {board}" : "Povrnete zbirko {board} iz arhiva",
"{user} has unarchived the board {before}" : "Uporabnik {user} povrne zbirko {board} iz arhiva",
"{user} has unarchived the board {before}" : "{user} povrne zbirko {board} iz arhiva",
"You have created a new list {stack} on board {board}" : "Ustvarite nov seznam nalog {stack} v zbirki {board}",
"{user} has created a new list {stack} on board {board}" : "{user} ustvari v zbirki {board} nov seznam nalog {stack}",
"You have renamed list {before} to {stack} on board {board}" : "Preimenujete seznam nalog v zbirki {board} iz {before} v {stack}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} je preimenoval seznam nalog v zbirki {board} iz {before} v {stack}",
"You have deleted list {stack} on board {board}" : "Izbrišete seznam nalog {stack} v zbirki {board}",
"{user} has deleted list {stack} on board {board}" : "{user} izbriše seznam nalog {stack} v zbirki {board}",
"You have created card {card} in list {stack} on board {board}" : "Ustvarite nalogo {card} v seznamu nalog {stack} zbirke {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} ustvari nalogo {card} v seznamu nalog {stack} zbirke {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Izbrišete nalogo {card} v seznamu nalog {stack} zbirke {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} izbriše nalogo {card} v seznamu nalog {stack} zbirke {board}",
"You have renamed the card {before} to {card}" : "Preimenujete nalogo {before} v {card}",
"{user} has renamed the card {before} to {card}" : "{user} preimenuje nalogo {before} v {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Dodate opis k nalogi {card} v seznamu nalog {stack} zbirke {board}.",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} doda opis k nalogi {card} v seznamu nalog {stack} zbirke {board}.",
"You have updated the description of card {card} in list {stack} on board {board}" : "Posodobite opis naloge {card} v seznamu nalog {stack} zbirke {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} posodobi opis naloge {card} v seznamu nalog {stack} zbirke {board}",
"You have archived card {card} in list {stack} on board {board}" : "Arhivirate nalogo {card} v seznamu nalog {stack} zbirke {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} arhivira nalogo {card} v seznamu nalog {stack} zbirke {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Iz arhiva povrnete nalogo {card} v seznamu nalog {stack} zbirke {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} iz arhiva povrne nalogo {card} v seznamu nalog {stack} zbirke {board}",
"You have removed the due date of card {card}" : "Odstranite datum preteka z naloge {card}",
"{user} has removed the due date of card {card}" : "{user} odstrani datum preteka z naloge {card}",
"You have set the due date of card {card} to {after}" : "Nastavite datum preteka naloge {card} na {after}",
"{user} has set the due date of card {card} to {after}" : "{user} nastavi datum preteka naloge {card} na {after}",
"You have updated the due date of card {card} to {after}" : "Posodobite datum preteka naloge {card} na {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} posodobi datum preteka naloge {card} na {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Dodate oznako {label} k nalogi {card} seznama nalog {stack} v zbirki {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} doda oznako {label} k nalogi {card} seznama nalog {stack} v zbirki {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Odstranite oznako {label} z naloge {card} seznama nalog {stack} v zbirki {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} odstrani oznako {label} z naloge {card} seznama nalog {stack} v zbirki {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Dodelite nalogo {card} v zbirki {board} → {assigneduser}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} dodeli nalogo {card} v zbirki {board} → {assigneduser}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Odvzamete nalogo {card} v zbirki {board} ✕ {assigneduser}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} odvzame nalogo {card} v zbirki {board} ✕ {assigneduser}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Premaknete nalogo {card} iz seznama nalog {stackBefore} v {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} premakne nalogo {card} iz seznama nalog {stackBefore} v {stack}",
"You have added the attachment {attachment} to card {card}" : "Dodate prilogo {attachment} k nalogi {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} doda prilogo {attachment} k nalogi {card}",
"You have updated the attachment {attachment} on card {card}" : "Posodobite prilogo {attachment} v nalogi {card}",
@@ -36,16 +60,18 @@
"You have restored the attachment {attachment} to card {card}" : "Obnovite prilogo {attachment} k nalogi {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} obnovi prilogo {attachment} naloge {card}",
"You have commented on card {card}" : "Vpišete opombo k nalogi {card}",
"{user} has commented on card {card}" : "Uporabnik {user} vpiše opombo k nalogi {card}",
"{user} has commented on card {card}" : "{user} vpiše opombo k nalogi {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "Spremenjen je<strong>opis ene izmed nalog</strong> v programu Deck",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Spremembe v programu <strong>Deck</strong>",
"A <strong>comment</strong> was created on a card" : "Nalogi je dodana nova <strong>opomba</strong>",
"Personal" : "Osebno",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Nalogo »%s« na »%s« vam dodeli %s.",
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} vam dodeli nalogo »%s« na »%s«.",
"The card \"%s\" on \"%s\" has reached its due date." : "Naloga »%s« na »%s« je dosegla datum preteka.",
"%s has mentioned you in a comment on \"%s\"." : "%s vas omeni v opombi na »%s«.",
"{user} has mentioned you in a comment on \"%s\"." : "{user} vas omeni v opombi na »%s«.",
"The board \"%s\" has been shared with you by %s." : "Zborko »%s« vam dodeli %s.",
"{user} has shared the board %s with you." : "{user} vam omogoči souporabo zbirke %s.",
"No data was provided to create an attachment." : "Ni podanih podatkov za ustvarjanje priloge.",
"Finished" : "Končano",
@@ -120,6 +146,7 @@
"Can share" : "Lahko omogoči souporabo",
"Can manage" : "Lahko upravlja",
"Delete" : "Izbriši",
"Add a new list" : "Dodaj nov seznam",
"Delete list" : "Izbriši seznam",
"Add card" : "Dodaj nalogo",
"Add a new card" : "Dodaj novo nalogo",
@@ -162,15 +189,18 @@
"(circle)" : "(krog)",
"seconds ago" : "pred nekaj sekundami",
"Assign to me" : "Nalogo dodeli meni",
"Unassign myself" : "Odstrani me z naloge",
"Unarchive card" : "Povrni nalogo",
"Archive card" : "Arhiviraj nalogo",
"Delete card" : "Izbriši nalogo",
"Move card" : "Premakni nalogo",
"Card details" : "Podrobnosti naloge",
"Move card to another board" : "Premakni nalogo v drugo zbirko",
"Select a list" : "Izbor seznama",
"All boards" : "Vse zbirke",
"Archived boards" : "Arhivirane zbirke",
"Shared with you" : "V souporabi z vami",
"Limit deck usage of groups" : "Omeji uporabo zbirk na skupine",
"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." : "Omejevanje programa prepreči uporabnikom, ki niso del teh skupin, ustvarjanje novih zbirk. Uporabniki bodo še vedno lahko spreminjali zbirke, ki so jih dobili v souporabo.",
"New board title" : "Naslov nove zbirke",
"Edit board" : "Uredi zbirko",

View File

@@ -17,18 +17,42 @@ OC.L10N.register(
"{user} has archived the board {before}" : "{user} је архивирао таблу {before}",
"You have unarchived the board {board}" : "Вратили сте таблу {board} из архиве",
"{user} has unarchived the board {before}" : "{user} је вратио таблу {before} из архиве",
"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}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "Корисник {user} је ажурирао опис картице {card} са списка {stack} на табли {board}",
"You have archived card {card} in list {stack} on board {board}" : "Архивирали сте картицу {card} са списка {stack} на табли {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} је архивирао картицу {card} са списка {stack} на табли {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Вратили сте из архиве картицу {card} са списка {stack} у табли {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} је вратио из архиве картицу {card} са списка {stack} у табли {board}",
"You have removed the due date of card {card}" : "Уклонили сте рок са картице {card}",
"{user} has removed the due date of card {card}" : "{user} је уклонио рок са картице {card}",
"You have set the due date of card {card} to {after}" : "Поставили сте рок {after} на картици {card}",
"{user} has set the due date of card {card} to {after}" : "{user} је поставио рок {after} на картици {card}",
"You have updated the due date of card {card} to {after}" : "Ажурирали сте рок на {after} на картици {card}",
"{user} has updated the due date of card {card} to {after}" : "{user} је ажурирао рок на {after} на картици {card}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Додали сте ознаку {label} на картицу {card} са списка {stack} у табли {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} је додао ознаку {label} на картицу {card} са списка {stack} у табли {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Уклонили сте ознаку {label} са картице {card} са списка {stack} у табли {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} је уклонио ознаку {label} са картице {card} са списка {stack} у табли {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Доделили сте корисника {assigneduser} картици {card} са табле {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} је доделио корисника {assigneduser} картици {card} са табле {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Раздужили сте корисника {assigneduser} с картице {card} на табли {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} раздужи корисника {assigneduser} с картице {card} на табли {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Померили сте картицу {card} са списка {stackBefore} на списак {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} је померио картицу {card} са списка {stackBefore} на списак {stack}",
"You have added the attachment {attachment} to card {card}" : "Додали сте прилог {attachment} на картицу {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} је додао прилог {attachment} на картицу {card}",
"You have updated the attachment {attachment} on card {card}" : "Ажурирали сте прилог {attachment} на картици {card}",
@@ -124,6 +148,7 @@ OC.L10N.register(
"Can share" : "Може да дели",
"Can manage" : "Може да управља",
"Delete" : "Избриши",
"Add a new list" : "Додај нови списак",
"Delete list" : "Обриши списак",
"Add card" : "Додај картицу",
"Add a new card" : "Додај нову картицу",
@@ -166,12 +191,14 @@ OC.L10N.register(
"(circle)" : "(круг)",
"seconds ago" : "пре неколико секунди",
"Assign to me" : "Додели мени",
"Unassign myself" : "Склони са мене",
"Unarchive card" : "Врати картицу из архиве",
"Archive card" : "Архивирај картицу",
"Delete card" : "Обриши картицу",
"Move card" : "Премести картицу",
"Card details" : "Детаљи картице",
"Move card to another board" : "Помери картицу на другу таблу",
"Select a list" : "Одабери списак",
"All boards" : "Све табле",
"Archived boards" : "Архивиране табле",
"Shared with you" : "Дељено са Вама",

View File

@@ -15,18 +15,42 @@
"{user} has archived the board {before}" : "{user} је архивирао таблу {before}",
"You have unarchived the board {board}" : "Вратили сте таблу {board} из архиве",
"{user} has unarchived the board {before}" : "{user} је вратио таблу {before} из архиве",
"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}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "Корисник {user} је ажурирао опис картице {card} са списка {stack} на табли {board}",
"You have archived card {card} in list {stack} on board {board}" : "Архивирали сте картицу {card} са списка {stack} на табли {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} је архивирао картицу {card} са списка {stack} на табли {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Вратили сте из архиве картицу {card} са списка {stack} у табли {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} је вратио из архиве картицу {card} са списка {stack} у табли {board}",
"You have removed the due date of card {card}" : "Уклонили сте рок са картице {card}",
"{user} has removed the due date of card {card}" : "{user} је уклонио рок са картице {card}",
"You have set the due date of card {card} to {after}" : "Поставили сте рок {after} на картици {card}",
"{user} has set the due date of card {card} to {after}" : "{user} је поставио рок {after} на картици {card}",
"You have updated the due date of card {card} to {after}" : "Ажурирали сте рок на {after} на картици {card}",
"{user} has updated the due date of card {card} to {after}" : "{user} је ажурирао рок на {after} на картици {card}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Додали сте ознаку {label} на картицу {card} са списка {stack} у табли {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} је додао ознаку {label} на картицу {card} са списка {stack} у табли {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Уклонили сте ознаку {label} са картице {card} са списка {stack} у табли {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} је уклонио ознаку {label} са картице {card} са списка {stack} у табли {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Доделили сте корисника {assigneduser} картици {card} са табле {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} је доделио корисника {assigneduser} картици {card} са табле {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Раздужили сте корисника {assigneduser} с картице {card} на табли {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} раздужи корисника {assigneduser} с картице {card} на табли {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Померили сте картицу {card} са списка {stackBefore} на списак {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} је померио картицу {card} са списка {stackBefore} на списак {stack}",
"You have added the attachment {attachment} to card {card}" : "Додали сте прилог {attachment} на картицу {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} је додао прилог {attachment} на картицу {card}",
"You have updated the attachment {attachment} on card {card}" : "Ажурирали сте прилог {attachment} на картици {card}",
@@ -122,6 +146,7 @@
"Can share" : "Може да дели",
"Can manage" : "Може да управља",
"Delete" : "Избриши",
"Add a new list" : "Додај нови списак",
"Delete list" : "Обриши списак",
"Add card" : "Додај картицу",
"Add a new card" : "Додај нову картицу",
@@ -164,12 +189,14 @@
"(circle)" : "(круг)",
"seconds ago" : "пре неколико секунди",
"Assign to me" : "Додели мени",
"Unassign myself" : "Склони са мене",
"Unarchive card" : "Врати картицу из архиве",
"Archive card" : "Архивирај картицу",
"Delete card" : "Обриши картицу",
"Move card" : "Премести картицу",
"Card details" : "Детаљи картице",
"Move card to another board" : "Помери картицу на другу таблу",
"Select a list" : "Одабери списак",
"All boards" : "Све табле",
"Archived boards" : "Архивиране табле",
"Shared with you" : "Дељено са Вама",

View File

@@ -17,18 +17,42 @@ OC.L10N.register(
"{user} has archived the board {before}" : "{user} har arkiverat tavlan {before}",
"You have unarchived the board {board}" : "Du har avarkiverat tavlan {board}",
"{user} has unarchived the board {before}" : "{user} har avarkiverat tavlan {before}",
"You have created a new list {stack} on board {board}" : "Du har skapat en ny lista {stack} på tavlan {board}",
"{user} has created a new list {stack} on board {board}" : "{user} har skapat en ny lista {stack} på tavlan {board}",
"You have renamed list {before} to {stack} on board {board}" : "Du har bytt namn på listan {before} till {stack} på tavlan {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} har bytt namn på listan {before} till {stack} på tavlan {board}",
"You have deleted list {stack} on board {board}" : "Du har raderat listan {stack} på tavlan {board}",
"{user} has deleted list {stack} on board {board}" : "{user} har raderat listan {stack} på tavlan {board}",
"You have created card {card} in list {stack} on board {board}" : "Du har skapat kortet {card} i listan {stack} på tavlan {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} har skapat kortet {card} i listan {stack} på tavlan {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Du har raderat kortet {card} i listan {stack} på tavlan {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} har raderat kortet {card} i listan {stack} på tavlan {board}",
"You have renamed the card {before} to {card}" : "Du har bytt namn på kortet {before} till {card}",
"{user} has renamed the card {before} to {card}" : "{user} har bytt namn på kortet {before} till {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Du har lagt till en beskrivning till kortet {card} i listan {stack} på tavlan {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} har lagt till en beskrivning till kortet {card} i listan {stack} på tavlan {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Du har uppdaterat beskrivningen för kortet {card} i listan {stack} på tavlan {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} har uppdaterat beskrivningen för kortet {card} i listan {stack} på tavlan {board}",
"You have archived card {card} in list {stack} on board {board}" : "Du har arkiverat kortet {card} i listan {stack} på tavlan {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkiverat kortet {card} i listan {stack} på tavlan {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Du har avarkiverat kortet {card} i listan {stack} på tavlan {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har avarkiverat kortet {card} i listan {stack} på tavlan {board}",
"You have removed the due date of card {card}" : "Du har tagit bort förfallodatum för kortet {card}",
"{user} has removed the due date of card {card}" : "{user} tagit bort förfallodatum för kortet {card}",
"You have set the due date of card {card} to {after}" : "Du har satt förfallodatum för kortet {card} till {after}",
"{user} has set the due date of card {card} to {after}" : "{user} har satt förfallodatum för kortet {card} till {after}",
"You have updated the due date of card {card} to {after}" : "Du har uppdaterat förfallodatum för kortet {card} till {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} har uppdaterat förfallodatum för kortet {card} till {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Du har lagt till taggen {label} till kortet {card} i listan {stack} på tavlan {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} har lagt till taggen {label} till kortet {card} i listan {stack} på tavlan {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Du har raderat taggen {label} från kortet {card} i listan {stack} på tavlan {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} har raderat taggen {label} från kortet {card} i listan {stack} på tavlan {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Du har tilldelat {assigneduser} till kortet {card} på tavlan {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} har tilldelat {assigneduser} till kortet {card} på tavlan {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Du har tagit bort tilldelningen för {assigneduser} från kortet {card} på tavlan {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} har tagit bort tilldelningen för {assigneduser} från kortet {card} på tavlan {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Du har flyttat kortet {card} från listan {stackBefore} till {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} har flyttat kortet {card} från listan {stackBefore} till {stack}",
"You have added the attachment {attachment} to card {card}" : "Du har lagt till bilagan {attachment} till kortet {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} har lagt till bilagan {attachment} till kortet {card}",
"You have updated the attachment {attachment} on card {card}" : "Du har uppdaterat bilagan {attachment} på kortet {card}",
@@ -72,6 +96,7 @@ OC.L10N.register(
"Could not write file to disk" : "Kunde inte skriva fil till disk",
"A PHP extension stopped the file upload" : "Ett PHP-tillägg stoppade filuppladdningen",
"No file uploaded or file size exceeds maximum of %s" : "Ingen fil uppladdad eller filstorleken överstiger max %s",
"Personal planning and team project organization" : "Personlig planering och projekthantering för teams",
"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" : "Korthögar är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!",
"Create new board" : "Skapa ny tavla",
"new board" : "ny tavla",
@@ -110,9 +135,9 @@ OC.L10N.register(
"Board not found" : "Tavlan hittades inte",
"Sharing" : "Delning",
"Tags" : "Taggar",
"Deleted items" : "Raderade objekt",
"Deleted items" : "Borttagna poster",
"Timeline" : "Tidslinje",
"Deleted lists" : "Raderade listor",
"Deleted lists" : "Borttagna listor",
"Undo" : "Ångra",
"Deleted cards" : "Radera kort",
"Share board with a user, group or circle …" : "Dela en tavla med en användare, grupp eller cirkel ...",
@@ -123,6 +148,7 @@ OC.L10N.register(
"Can share" : "Kan dela",
"Can manage" : "Kan hanter",
"Delete" : "Radera",
"Add a new list" : "Lägg till en ny lista",
"Delete list" : "Radera lista",
"Add card" : "Lägg till kort",
"Add a new card" : "Lägg till ett nytt kort",
@@ -165,12 +191,14 @@ OC.L10N.register(
"(circle)" : "(cirkel)",
"seconds ago" : "sekunder sedan",
"Assign to me" : "Tilldela till mig",
"Unassign myself" : "Ta bort från mig själv",
"Unarchive card" : "Avarkivera kort",
"Archive card" : "Arkivera kort",
"Delete card" : "Ta bort kort",
"Move card" : "Flytta kort",
"Card details" : "Kortdetaljer",
"Move card to another board" : "Flytta kort till en annan tavla",
"Select a list" : "Välj en lista",
"All boards" : "Alla tavlor",
"Archived boards" : "Arkiverade tavlor",
"Shared with you" : "Delad med dig",

View File

@@ -15,18 +15,42 @@
"{user} has archived the board {before}" : "{user} har arkiverat tavlan {before}",
"You have unarchived the board {board}" : "Du har avarkiverat tavlan {board}",
"{user} has unarchived the board {before}" : "{user} har avarkiverat tavlan {before}",
"You have created a new list {stack} on board {board}" : "Du har skapat en ny lista {stack} på tavlan {board}",
"{user} has created a new list {stack} on board {board}" : "{user} har skapat en ny lista {stack} på tavlan {board}",
"You have renamed list {before} to {stack} on board {board}" : "Du har bytt namn på listan {before} till {stack} på tavlan {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} har bytt namn på listan {before} till {stack} på tavlan {board}",
"You have deleted list {stack} on board {board}" : "Du har raderat listan {stack} på tavlan {board}",
"{user} has deleted list {stack} on board {board}" : "{user} har raderat listan {stack} på tavlan {board}",
"You have created card {card} in list {stack} on board {board}" : "Du har skapat kortet {card} i listan {stack} på tavlan {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} har skapat kortet {card} i listan {stack} på tavlan {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Du har raderat kortet {card} i listan {stack} på tavlan {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} har raderat kortet {card} i listan {stack} på tavlan {board}",
"You have renamed the card {before} to {card}" : "Du har bytt namn på kortet {before} till {card}",
"{user} has renamed the card {before} to {card}" : "{user} har bytt namn på kortet {before} till {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Du har lagt till en beskrivning till kortet {card} i listan {stack} på tavlan {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} har lagt till en beskrivning till kortet {card} i listan {stack} på tavlan {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Du har uppdaterat beskrivningen för kortet {card} i listan {stack} på tavlan {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} har uppdaterat beskrivningen för kortet {card} i listan {stack} på tavlan {board}",
"You have archived card {card} in list {stack} on board {board}" : "Du har arkiverat kortet {card} i listan {stack} på tavlan {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkiverat kortet {card} i listan {stack} på tavlan {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Du har avarkiverat kortet {card} i listan {stack} på tavlan {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har avarkiverat kortet {card} i listan {stack} på tavlan {board}",
"You have removed the due date of card {card}" : "Du har tagit bort förfallodatum för kortet {card}",
"{user} has removed the due date of card {card}" : "{user} tagit bort förfallodatum för kortet {card}",
"You have set the due date of card {card} to {after}" : "Du har satt förfallodatum för kortet {card} till {after}",
"{user} has set the due date of card {card} to {after}" : "{user} har satt förfallodatum för kortet {card} till {after}",
"You have updated the due date of card {card} to {after}" : "Du har uppdaterat förfallodatum för kortet {card} till {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} har uppdaterat förfallodatum för kortet {card} till {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Du har lagt till taggen {label} till kortet {card} i listan {stack} på tavlan {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} har lagt till taggen {label} till kortet {card} i listan {stack} på tavlan {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Du har raderat taggen {label} från kortet {card} i listan {stack} på tavlan {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} har raderat taggen {label} från kortet {card} i listan {stack} på tavlan {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Du har tilldelat {assigneduser} till kortet {card} på tavlan {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} har tilldelat {assigneduser} till kortet {card} på tavlan {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Du har tagit bort tilldelningen för {assigneduser} från kortet {card} på tavlan {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} har tagit bort tilldelningen för {assigneduser} från kortet {card} på tavlan {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Du har flyttat kortet {card} från listan {stackBefore} till {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} har flyttat kortet {card} från listan {stackBefore} till {stack}",
"You have added the attachment {attachment} to card {card}" : "Du har lagt till bilagan {attachment} till kortet {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} har lagt till bilagan {attachment} till kortet {card}",
"You have updated the attachment {attachment} on card {card}" : "Du har uppdaterat bilagan {attachment} på kortet {card}",
@@ -70,6 +94,7 @@
"Could not write file to disk" : "Kunde inte skriva fil till disk",
"A PHP extension stopped the file upload" : "Ett PHP-tillägg stoppade filuppladdningen",
"No file uploaded or file size exceeds maximum of %s" : "Ingen fil uppladdad eller filstorleken överstiger max %s",
"Personal planning and team project organization" : "Personlig planering och projekthantering för teams",
"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" : "Korthögar är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!",
"Create new board" : "Skapa ny tavla",
"new board" : "ny tavla",
@@ -108,9 +133,9 @@
"Board not found" : "Tavlan hittades inte",
"Sharing" : "Delning",
"Tags" : "Taggar",
"Deleted items" : "Raderade objekt",
"Deleted items" : "Borttagna poster",
"Timeline" : "Tidslinje",
"Deleted lists" : "Raderade listor",
"Deleted lists" : "Borttagna listor",
"Undo" : "Ångra",
"Deleted cards" : "Radera kort",
"Share board with a user, group or circle …" : "Dela en tavla med en användare, grupp eller cirkel ...",
@@ -121,6 +146,7 @@
"Can share" : "Kan dela",
"Can manage" : "Kan hanter",
"Delete" : "Radera",
"Add a new list" : "Lägg till en ny lista",
"Delete list" : "Radera lista",
"Add card" : "Lägg till kort",
"Add a new card" : "Lägg till ett nytt kort",
@@ -163,12 +189,14 @@
"(circle)" : "(cirkel)",
"seconds ago" : "sekunder sedan",
"Assign to me" : "Tilldela till mig",
"Unassign myself" : "Ta bort från mig själv",
"Unarchive card" : "Avarkivera kort",
"Archive card" : "Arkivera kort",
"Delete card" : "Ta bort kort",
"Move card" : "Flytta kort",
"Card details" : "Kortdetaljer",
"Move card to another board" : "Flytta kort till en annan tavla",
"Select a list" : "Välj en lista",
"All boards" : "Alla tavlor",
"Archived boards" : "Arkiverade tavlor",
"Shared with you" : "Delad med dig",

View File

@@ -54,8 +54,7 @@ class AttachmentApiController extends ApiController {
*
*/
public function display() {
$attachment = $this->attachmentService->display($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
return $attachment;
return $this->attachmentService->display($this->request->getParam('attachmentId'));
}
/**
@@ -76,7 +75,7 @@ class AttachmentApiController extends ApiController {
*
*/
public function update($data) {
$attachment = $this->attachmentService->update($this->request->getParam('cardId'), $this->request->getParam('attachmentId'), $data);
$attachment = $this->attachmentService->update($this->request->getParam('attachmentId'), $data);
return new DataResponse($attachment, HTTP::STATUS_OK);
}
@@ -87,7 +86,7 @@ class AttachmentApiController extends ApiController {
*
*/
public function delete() {
$attachment = $this->attachmentService->delete($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
$attachment = $this->attachmentService->delete($this->request->getParam('attachmentId'));
return new DataResponse($attachment, HTTP::STATUS_OK);
}
@@ -98,7 +97,7 @@ class AttachmentApiController extends ApiController {
*
*/
public function restore() {
$attachment = $this->attachmentService->restore($this->request->getParam('cardId'), $this->request->getParam('attachmentId'));
$attachment = $this->attachmentService->restore($this->request->getParam('attachmentId'));
return new DataResponse($attachment, HTTP::STATUS_OK);
}
}

View File

@@ -52,8 +52,8 @@ class AttachmentController extends Controller {
* @return \OCP\AppFramework\Http\Response
* @throws \OCA\Deck\NotFoundException
*/
public function display($cardId, $attachmentId) {
return $this->attachmentService->display($cardId, $attachmentId);
public function display($attachmentId) {
return $this->attachmentService->display($attachmentId);
}
/**
@@ -70,21 +70,21 @@ class AttachmentController extends Controller {
/**
* @NoAdminRequired
*/
public function update($cardId, $attachmentId) {
return $this->attachmentService->update($cardId, $attachmentId, $this->request->getParam('data'));
public function update($attachmentId) {
return $this->attachmentService->update($attachmentId, $this->request->getParam('data'));
}
/**
* @NoAdminRequired
*/
public function delete($cardId, $attachmentId) {
return $this->attachmentService->delete($cardId, $attachmentId);
public function delete($attachmentId) {
return $this->attachmentService->delete($attachmentId);
}
/**
* @NoAdminRequired
*/
public function restore($cardId, $attachmentId) {
return $this->attachmentService->restore($cardId, $attachmentId);
public function restore($attachmentId) {
return $this->attachmentService->restore($attachmentId);
}
}

View File

@@ -213,7 +213,6 @@ class AttachmentService {
/**
* Display the attachment
*
* @param $cardId
* @param $attachmentId
* @return Response
* @throws BadRequestException
@@ -222,17 +221,17 @@ class AttachmentService {
* @throws \OCP\AppFramework\Db\DoesNotExistException
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
*/
public function display($cardId, $attachmentId) {
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
public function display($attachmentId) {
if (is_numeric($attachmentId) === false) {
throw new BadRequestException('attachment id must be a number');
}
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_READ);
$attachment = $this->attachmentMapper->find($attachmentId);
try {
$attachment = $this->attachmentMapper->find($attachmentId);
} catch (\Exception $e) {
throw new NoPermissionException('Permission denied');
}
$this->permissionService->checkPermission($this->cardMapper, $attachment->getCardId(), Acl::PERMISSION_READ);
try {
$service = $this->getService($attachment->getType());
@@ -245,7 +244,6 @@ class AttachmentService {
/**
* Update an attachment with custom data
*
* @param $cardId
* @param $attachmentId
* @param $request
* @return mixed
@@ -254,11 +252,7 @@ class AttachmentService {
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws BadRequestException
*/
public function update($cardId, $attachmentId, $data) {
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
public function update($attachmentId, $data) {
if (is_numeric($attachmentId) === false) {
throw new BadRequestException('attachment id must be a number');
}
@@ -266,11 +260,15 @@ class AttachmentService {
if ($data === false || $data === null) {
//throw new BadRequestException('data must be provided');
}
try {
$attachment = $this->attachmentMapper->find($attachmentId);
} catch (\Exception $e) {
throw new NoPermissionException('Permission denied');
}
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
$this->cache->clear('card-' . $cardId);
$this->permissionService->checkPermission($this->cardMapper, $attachment->getCardId(), Acl::PERMISSION_EDIT);
$this->cache->clear('card-' . $attachment->getCardId());
$attachment = $this->attachmentMapper->find($attachmentId);
$attachment->setData($data);
try {
$service = $this->getService($attachment->getType());
@@ -296,7 +294,6 @@ class AttachmentService {
* Either mark an attachment as deleted for later removal or just remove it depending
* on the IAttachmentService implementation
*
* @param $cardId
* @param $attachmentId
* @return \OCP\AppFramework\Db\Entity
* @throws \OCA\Deck\NoPermissionException
@@ -304,19 +301,20 @@ class AttachmentService {
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws BadRequestException
*/
public function delete($cardId, $attachmentId) {
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
public function delete($attachmentId) {
if (is_numeric($attachmentId) === false) {
throw new BadRequestException('attachment id must be a number');
}
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
$this->cache->clear('card-' . $cardId);
try {
$attachment = $this->attachmentMapper->find($attachmentId);
} catch (\Exception $e) {
throw new NoPermissionException('Permission denied');
}
$this->permissionService->checkPermission($this->cardMapper, $attachment->getCardId(), Acl::PERMISSION_EDIT);
$this->cache->clear('card-' . $attachment->getCardId());
$attachment = $this->attachmentMapper->find($attachmentId);
try {
$service = $this->getService($attachment->getType());
if ($service->allowUndo()) {
@@ -334,19 +332,20 @@ class AttachmentService {
return $attachment;
}
public function restore($cardId, $attachmentId) {
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
public function restore($attachmentId) {
if (is_numeric($attachmentId) === false) {
throw new BadRequestException('attachment id must be a number');
}
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
$this->cache->clear('card-' . $cardId);
try {
$attachment = $this->attachmentMapper->find($attachmentId);
} catch (\Exception $e) {
throw new NoPermissionException('Permission denied');
}
$this->permissionService->checkPermission($this->cardMapper, $attachment->getCardId(), Acl::PERMISSION_EDIT);
$this->cache->clear('card-' . $attachment->getCardId());
$attachment = $this->attachmentMapper->find($attachmentId);
try {
$service = $this->getService($attachment->getType());
if ($service->allowUndo()) {

View File

@@ -133,7 +133,7 @@ class PermissionService {
*/
public function checkPermission($mapper, $id, $permission, $userId = null) {
$boardId = $id;
if ($mapper instanceof IPermissionMapper) {
if ($mapper instanceof IPermissionMapper && !($mapper instanceof BoardMapper)) {
$boardId = $mapper->findBoardId($id);
}
if ($boardId === null) {

View File

@@ -147,9 +147,7 @@ class StackService {
}
public function fetchDeleted($boardId) {
$this->permissionService->checkPermission(
$this->boardMapper, $boardId, Acl::PERMISSION_READ
);
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ);
$stacks = $this->stackMapper->findDeleted($boardId);
$this->enrichStacksWithCards($stacks);

3806
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -28,26 +28,27 @@
"test:coverage": "jest --coverage"
},
"dependencies": {
"@babel/polyfill": "^7.10.1",
"@babel/runtime": "^7.10.3",
"@juliushaertl/vue-richtext": "^0.3.1",
"@babel/polyfill": "^7.10.4",
"@babel/runtime": "^7.10.4",
"@juliushaertl/vue-richtext": "^0.3.2",
"@nextcloud/auth": "^1.3.0",
"@nextcloud/axios": "^1.3.2",
"@nextcloud/dialogs": "^1.4.0",
"@nextcloud/event-bus": "^1.2.0",
"@nextcloud/files": "^1.1.0",
"@nextcloud/initial-state": "^1.1.2",
"@nextcloud/l10n": "^1.3.0",
"@nextcloud/moment": "^1.1.1",
"@nextcloud/router": "^1.1.0",
"@nextcloud/vue": "^2.1.0",
"@nextcloud/vue": "^2.2.1",
"blueimp-md5": "^2.16.0",
"dompurify": "^2.0.12",
"lodash": "^4.17.15",
"lodash": "^4.17.19",
"markdown-it": "^11.0.0",
"markdown-it-task-lists": "^2.1.1",
"moment": "^2.27.0",
"nextcloud-vue-collections": "^0.7.2",
"p-queue": "^6.4.0",
"p-queue": "^6.5.0",
"url-search-params-polyfill": "^8.1.0",
"vue": "^2.6.11",
"vue-at": "^2.5.0-beta.2",
@@ -56,7 +57,7 @@
"vue-infinite-loading": "^2.4.5",
"vue-router": "^3.3.4",
"vue-smooth-dnd": "^0.8.1",
"vuex": "^3.4.0",
"vuex": "^3.5.1",
"vuex-router-sync": "^5.0.0"
},
"browserslist": [
@@ -66,9 +67,9 @@
"node": ">=10.0.0"
},
"devDependencies": {
"@babel/core": "^7.10.3",
"@babel/core": "^7.10.4",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/preset-env": "^7.10.3",
"@babel/preset-env": "^7.10.4",
"@nextcloud/browserslist-config": "^1.0.0",
"@nextcloud/eslint-config": "^2.0.0",
"@nextcloud/eslint-plugin": "^1.4.0",
@@ -82,7 +83,7 @@
"eslint-config-standard": "^12.0.0",
"eslint-friendly-formatter": "^4.0.1",
"eslint-loader": "^3.0.4",
"eslint-plugin-import": "^2.21.2",
"eslint-plugin-import": "^2.22.0",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1",
@@ -93,15 +94,15 @@
"minimist": "^1.2.5",
"node-sass": "^4.14.1",
"raw-loader": "^4.0.1",
"sass-loader": "^8.0.2",
"sass-loader": "^9.0.2",
"stylelint": "^13.6.1",
"stylelint-config-recommended": "^3.0.0",
"stylelint-config-recommended-scss": "^4.2.0",
"stylelint-scss": "^3.18.0",
"stylelint-webpack-plugin": "^2.1.0",
"url-loader": "^4.1.0",
"vue-jest": "^3.0.5",
"vue-loader": "^15.9.2",
"vue-jest": "^3.0.6",
"vue-loader": "^15.9.3",
"vue-style-loader": "^4.1.1",
"vue-template-compiler": "^2.6.11",
"webpack": "^4.43.0",

View File

@@ -34,8 +34,10 @@
<div v-if="canManage && !showArchived && !board.archived"
id="stack-add"
v-click-outside="hideAddStack">
<Actions v-if="!isAddStackVisible" :title="t('deck', 'Add new list')">
<ActionButton icon="icon-add" @click.stop="showAddStack" />
<Actions v-if="!isAddStackVisible">
<ActionButton icon="icon-add" @click.stop="showAddStack">
{{ t('deck', 'Add new list') }}
</ActionButton>
</Actions>
<form v-else @submit.prevent="addNewStack()">
<label for="new-stack-input-main" class="hidden-visually">{{ t('deck', 'Add new list') }}</label>

View File

@@ -22,6 +22,9 @@
<template>
<div class="board-wrapper">
<div v-if="remoteUpdate" class="board-update-notification">
{{ t('deck', 'The board has been updated by someone else.') }} <a @click="updateFromRemote">{{ t('deck', 'Update') }}</a>
</div>
<Controls :board="board" />
<transition name="fade" mode="out-in">
<div v-if="loading" key="loading" class="emptycontent">
@@ -54,6 +57,9 @@ import { Container, Draggable } from 'vue-smooth-dnd'
import { mapState, mapGetters } from 'vuex'
import Controls from '../Controls'
import Stack from './Stack'
import { subscribe, unsubscribe } from '@nextcloud/event-bus'
const BOARD_POLLING_INTERVAL = 1000
export default {
name: 'Board',
@@ -81,6 +87,7 @@ export default {
...mapState({
board: state => state.currentBoard,
showArchived: state => state.showArchived,
remoteUpdate: state => state.stack.remoteUpdate,
}),
...mapGetters([
'canEdit',
@@ -100,6 +107,18 @@ export default {
},
created() {
this.fetchData()
setInterval(() => {
this.$store.dispatch('poll', this.id)
}, BOARD_POLLING_INTERVAL)
subscribe('deck:card:modified', (card) => {
console.log('card modified', card.lastModified)
this.$store.dispatch('updateBoardLastModified', { ...this.board, lastModified: card.lastModified })
})
subscribe('deck:stack:modified', (stack) => {
console.log('card modified', stack.lastModified)
this.$store.dispatch('updateBoardLastModified', { ...this.board, lastModified: stack.lastModified })
})
},
methods: {
async fetchData() {
@@ -113,6 +132,10 @@ export default {
this.loading = false
},
updateFromRemote() {
this.$store.dispatch('pollApply', this.id)
},
onDropStack({ removedIndex, addedIndex }) {
this.$store.dispatch('orderStack', { stack: this.stacksByBoard[removedIndex], removedIndex, addedIndex })
},
@@ -193,4 +216,33 @@ export default {
}
}
.board-update-notification {
position: absolute;
background-color: var(--color-primary-light);
border-radius: var(--border-radius-large);
z-index: 1000;
padding: 4px 20px;
text-align: center;
display: inline-block;
width: auto;
margin: 10px auto;
top: 0;
left: 50%;
transform: translate(-50%, 0px);
animation: slideFromTop var(--animation-slow) ease-out forwards;
a {
font-weight: bold;
padding-left: 20px;
padding-right: 20px;
}
}
@keyframes slideFromTop
{
from {transform: translate(-50%, -100px); opacity: 0;}
to { transform: translate(-50%, 0); opacity: 1;}
}
</style>

View File

@@ -22,7 +22,7 @@
<template>
<AppNavigationVue :class="{'icon-loading': loading}">
<ul>
<template #list>
<AppNavigationBoardCategory
id="deck-navigation-all"
to="/board"
@@ -43,22 +43,24 @@
:boards="sharedBoards"
icon="icon-shared" />
<AppNavigationAddBoard v-if="canCreate" />
</ul>
<AppNavigationSettings>
<div>
<Multiselect v-model="groupLimit"
:class="{'icon-loading-small': groupLimitDisabled}"
open-direction="bottom"
:options="groups"
:multiple="true"
:disabled="groupLimitDisabled"
:placeholder="t('deck', 'Limit deck usage of groups')"
label="displayname"
track-by="id"
@input="updateConfig" />
<p>{{ t('deck', 'Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.') }}</p>
</div>
</AppNavigationSettings>
</template>
<template #footer>
<AppNavigationSettings>
<div>
<Multiselect v-model="groupLimit"
:class="{'icon-loading-small': groupLimitDisabled}"
open-direction="bottom"
:options="groups"
:multiple="true"
:disabled="groupLimitDisabled"
:placeholder="t('deck', 'Limit deck usage of groups')"
label="displayname"
track-by="id"
@input="updateConfig" />
<p>{{ t('deck', 'Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.') }}</p>
</div>
</AppNavigationSettings>
</template>
</AppNavigationVue>
</template>

View File

@@ -22,6 +22,7 @@
import { CardApi } from './../services/CardApi'
import Vue from 'vue'
import { emit } from '@nextcloud/event-bus'
const apiClient = new CardApi()
@@ -102,6 +103,7 @@ export default {
if (existingIndex !== -1) {
const existingCard = state.cards.find(_card => _card.id === card.id)
Vue.set(state.cards, existingIndex, Object.assign({}, existingCard, card))
emit('deck:card:modified', card)
} else {
state.cards.push(card)
}
@@ -111,11 +113,13 @@ export default {
if (existingIndex !== -1) {
state.cards.splice(existingIndex, 1)
}
emit('deck:card:modified', card)
},
updateCard(state, card) {
const existingIndex = state.cards.findIndex(_card => _card.id === card.id)
if (existingIndex !== -1) {
Vue.set(state.cards, existingIndex, Object.assign({}, state.cards[existingIndex], card))
emit('deck:card:modified', card)
}
},
updateCardsReorder(state, cards) {
@@ -126,19 +130,24 @@ export default {
Vue.set(state.cards[existingIndex], 'stackId', newCard.stackId)
}
}
emit('deck:card:modified', cards[cards.length - 1])
},
assignCardToUser(state, user) {
assignCardToUser(state, { card, user }) {
const existingIndex = state.cards.findIndex(_card => _card.id === user.cardId)
if (existingIndex !== -1) {
state.cards[existingIndex].assignedUsers.push(user)
}
// FIXME: workaround since we have no server time on assignments
emit('deck:card:modified', { ...card, lastModified: Date.now() / 1000 })
},
removeUserFromCard(state, user) {
removeUserFromCard(state, { card, user }) {
const existingIndex = state.cards.findIndex(_card => _card.id === user.cardId)
if (existingIndex !== -1) {
const foundIndex = state.cards[existingIndex].assignedUsers.findIndex(_user => _user.id === user.id)
if (foundIndex !== -1) {
state.cards[existingIndex].assignedUsers.splice(foundIndex, 1)
// FIXME: workaround since we have no server time on assignments
emit('deck:card:modified', { ...card, lastModified: Date.now() / 1000 })
}
}
},
@@ -148,17 +157,20 @@ export default {
Vue.set(state.cards[existingIndex], property, card[property])
}
Vue.set(state.cards[existingIndex], 'lastModified', Date.now() / 1000)
emit('deck:card:modified', card)
},
cardIncreaseAttachmentCount(state, cardId) {
const existingIndex = state.cards.findIndex(_card => _card.id === cardId)
if (existingIndex !== -1) {
Vue.set(state.cards[existingIndex], 'attachmentCount', state.cards[existingIndex].attachmentCount + 1)
emit('deck:card:modified', state.cards[existingIndex])
}
},
cardDecreaseAttachmentCount(state, cardId) {
const existingIndex = state.cards.findIndex(_card => _card.id === cardId)
if (existingIndex !== -1) {
Vue.set(state.cards[existingIndex], 'attachmentCount', state.cards[existingIndex].attachmentCount - 1)
emit('deck:card:modified', state.cards[existingIndex])
}
},
},
@@ -213,11 +225,11 @@ export default {
},
async assignCardToUser({ commit }, { card, assignee }) {
const user = await apiClient.assignUser(card.id, assignee.userId, assignee.type)
commit('assignCardToUser', user)
commit('assignCardToUser', { card, user })
},
async removeUserFromCard({ commit }, { card, assignee }) {
const user = await apiClient.removeUser(card.id, assignee.userId, assignee.type)
commit('removeUserFromCard', user)
commit('removeUserFromCard', { card, user })
},
async addLabel({ commit }, data) {
await apiClient.assignLabelToCard(data)

View File

@@ -317,6 +317,11 @@ export default new Vuex.Store({
const storedBoard = await apiClient.updateBoard(board)
commit('addBoard', storedBoard)
},
updateBoardLastModified({ commit }, board) {
commit('addBoard', board)
commit('setCurrentBoard', board)
},
createBoard({ commit }, boardData) {
apiClient.createBoard(boardData)
.then((board) => {

View File

@@ -21,14 +21,18 @@
*/
import Vue from 'vue'
import { BoardApi } from './../services/BoardApi'
import { StackApi } from './../services/StackApi'
import applyOrderToArray from './../helpers/applyOrderToArray'
import { emit } from '@nextcloud/event-bus'
const boardApiClient = new BoardApi()
const apiClient = new StackApi()
export default {
state: {
stacks: [],
remoteUpdate: null,
},
getters: {
stacksByBoard: state => (id) => {
@@ -36,6 +40,12 @@ export default {
},
},
mutations: {
clearStacks(state) {
state.stacks = []
},
updateRemote(state, response) {
Vue.set(state, 'remoteUpdate', response)
},
addStack(state, stack) {
const existingIndex = state.stacks.findIndex(_stack => _stack.id === stack.id)
if (existingIndex !== -1) {
@@ -73,6 +83,7 @@ export default {
OC.Notification.showTemporary('Failed to change order')
console.error(err.response.data.message)
commit('orderStack', { stack, addedIndex, removedIndex })
emit('deck:stack:modified', { ...stack, lastModified: Date.now() / 1000 })
})
},
async loadStacks({ commit }, boardId) {
@@ -89,13 +100,57 @@ export default {
}
delete stack.cards
commit('addStack', stack)
emit('deck:stack:modified', { ...stack, lastModified: Date.now() / 1000 })
}
},
async poll({ commit, rootState, state }, boardId) {
if (!rootState.currentBoard) {
return
}
// TODO: set If-Modified-Since header
const board = await boardApiClient.loadById(rootState.currentBoard.id)
console.debug('[deck] poll: remote(' + board.lastModified + ') local(' + rootState.currentBoard.lastModified + ') update(' + state.remoteUpdate?.lastModified + ')')
if (rootState.currentBoard.lastModified >= board.lastModified || state.remoteUpdate?.lastModified === board.lastModified) {
console.debug('[deck] poll: no new data for board ' + board.title)
return
}
let call = 'loadStacks'
if (this.state.showArchived === true) {
call = 'loadArchivedStacks'
}
const stacks = await apiClient[call](boardId)
board.stacks = stacks
commit('updateRemote', board)
console.debug('[deck] poll: applied new data for board ' + board.title)
},
async pollApply({ commit, state }, boardId) {
commit('clearCards')
commit('clearStacks')
// TODO: trigger board updated at on every operation
// event bus deck:board:modified board
// event bus deck:card:modified card
// event bus deck:stack:modified stack
for (const i in state.remoteUpdate.stacks) {
const stack = state.remoteUpdate.stacks[i]
for (const j in stack.cards) {
commit('addCard', stack.cards[j])
}
delete stack.cards
commit('addStack', stack)
}
delete state.remoteUpdate.stacks
commit('setCurrentBoard', state.remoteUpdate)
commit('updateRemote', null)
},
createStack({ commit }, stack) {
stack.boardId = this.state.currentBoard.id
apiClient.createStack(stack)
.then((createdStack) => {
commit('addStack', createdStack)
emit('deck:stack:modified', { ...createdStack, lastModified: Date.now() / 1000 })
})
},
deleteStack({ commit }, stack) {
@@ -103,12 +158,14 @@ export default {
.then((stack) => {
commit('deleteStack', stack)
commit('moveStackToTrash', stack)
emit('deck:stack:modified', { ...stack, lastModified: Date.now() / 1000 })
})
},
updateStack({ commit }, stack) {
apiClient.updateStack(stack)
.then((stack) => {
commit('updateStack', stack)
emit('deck:stack:modified', { ...stack, lastModified: Date.now() / 1000 })
})
},
},

View File

@@ -155,6 +155,7 @@ class AttachmentServiceTest extends TestCase {
$attachment = new Attachment();
$attachment->setType($type);
$attachment->setData($data);
$attachment->setCardId(123);
return $attachment;
}
@@ -255,7 +256,7 @@ class AttachmentServiceTest extends TestCase {
->method('display')
->with($attachment)
->willReturn($response);
$actual = $this->attachmentService->display(123, 1);
$actual = $this->attachmentService->display(1);
$this->assertEquals($response, $actual);
}
@@ -272,7 +273,7 @@ class AttachmentServiceTest extends TestCase {
->method('display')
->with($attachment)
->will($this->throwException(new InvalidAttachmentType('deck_file')));
$this->attachmentService->display(123, 1);
$this->attachmentService->display(1);
}
public function testUpdate() {
$attachment = $this->createAttachment('deck_file', 'file_name.jpg');
@@ -294,7 +295,7 @@ class AttachmentServiceTest extends TestCase {
$a->setExtendedData(['mime' => 'image/jpeg']);
});
$actual = $this->attachmentService->update(123, 1, 'file_name.jpg');
$actual = $this->attachmentService->update(1, 'file_name.jpg');
$expected->setExtendedData(['mime' => 'image/jpeg']);
$expected->setLastModified($attachment->getLastModified());
@@ -318,7 +319,7 @@ class AttachmentServiceTest extends TestCase {
$this->attachmentMapper->expects($this->once())
->method('delete')
->willReturn($attachment);
$actual = $this->attachmentService->delete(123, 1);
$actual = $this->attachmentService->delete(1);
$this->assertEquals($expected, $actual);
}
@@ -343,7 +344,7 @@ class AttachmentServiceTest extends TestCase {
->method('update')
->willReturn($attachment);
$expected->setDeletedAt(23);
$actual = $this->attachmentService->delete(123, 1);
$actual = $this->attachmentService->delete(1);
$this->assertEquals($expected, $actual);
}
@@ -363,7 +364,7 @@ class AttachmentServiceTest extends TestCase {
->method('update')
->willReturn($attachment);
$expected->setDeletedAt(0);
$actual = $this->attachmentService->restore(123, 1);
$actual = $this->attachmentService->restore(1);
$this->assertEquals($expected, $actual);
}
@@ -380,6 +381,6 @@ class AttachmentServiceTest extends TestCase {
$this->attachmentServiceImpl->expects($this->once())
->method('allowUndo')
->willReturn(false);
$actual = $this->attachmentService->restore(123, 1);
$actual = $this->attachmentService->restore(1);
}
}

View File

@@ -73,14 +73,9 @@ class AttachmentApiControllerTest extends \Test\TestCase {
->method('display')
->willReturn($this->attachmentExample);
$this->request->expects($this->exactly(2))
$this->request->expects($this->once())
->method('getParam')
->withConsecutive(
['cardId'],
['attachmentId']
)->willReturnonConsecutiveCalls(
$this->cardId,
$this->attachmentExample->getId());
->willReturn($this->attachmentExample->getId());
$expected = $this->attachmentExample;
$actual = $this->controller->display();
@@ -114,14 +109,9 @@ class AttachmentApiControllerTest extends \Test\TestCase {
->method('update')
->willReturn($this->attachmentExample);
$this->request->expects($this->exactly(2))
$this->request->expects($this->once())
->method('getParam')
->withConsecutive(
['cardId'],
['attachmentId']
)->willReturnonConsecutiveCalls(
$this->cardId,
$this->attachmentExample->getId());
->willReturn($this->attachmentExample->getId());
$expected = new DataResponse($this->attachmentExample, HTTP::STATUS_OK);
$actual = $this->controller->update($data);
@@ -133,14 +123,9 @@ class AttachmentApiControllerTest extends \Test\TestCase {
->method('delete')
->willReturn($this->attachmentExample);
$this->request->expects($this->exactly(2))
$this->request->expects($this->once())
->method('getParam')
->withConsecutive(
['cardId'],
['attachmentId']
)->willReturnonConsecutiveCalls(
$this->cardId,
$this->attachmentExample->getId());
->willReturn($this->attachmentExample->getId());
$expected = new DataResponse($this->attachmentExample, HTTP::STATUS_OK);
$actual = $this->controller->delete();
@@ -152,14 +137,9 @@ class AttachmentApiControllerTest extends \Test\TestCase {
->method('restore')
->willReturn($this->attachmentExample);
$this->request->expects($this->exactly(2))
$this->request->expects($this->once())
->method('getParam')
->withConsecutive(
['cardId'],
['attachmentId']
)->willReturnonConsecutiveCalls(
$this->cardId,
$this->attachmentExample->getId());
->willReturn($this->attachmentExample->getId());
$expected = new DataResponse($this->attachmentExample, HTTP::STATUS_OK);
$actual = $this->controller->restore();

View File

@@ -44,8 +44,7 @@ class AttachmentControllerTest extends \Test\TestCase {
$this->controller = new AttachmentController(
'deck',
$this->request,
$this->attachmentService,
$this->userId
$this->attachmentService
);
}
@@ -55,8 +54,8 @@ class AttachmentControllerTest extends \Test\TestCase {
}
public function testDisplay() {
$this->attachmentService->expects($this->once())->method('display')->with(1, 2);
$this->controller->display(1, 2);
$this->attachmentService->expects($this->once())->method('display')->with(2);
$this->controller->display(2);
}
public function testCreate() {
@@ -76,25 +75,25 @@ class AttachmentControllerTest extends \Test\TestCase {
->will($this->onConsecutiveCalls('data'));
$this->attachmentService->expects($this->once())
->method('update')
->with(1, 2, 'data')
->with(2, 'data')
->willReturn(1);
$this->assertEquals(1, $this->controller->update(1, 2));
$this->assertEquals(1, $this->controller->update(2));
}
public function testDelete() {
$this->attachmentService->expects($this->once())
->method('delete')
->with(123, 234)
->with(234)
->willReturn(1);
$this->assertEquals(1, $this->controller->delete(123, 234));
$this->assertEquals(1, $this->controller->delete(234));
}
public function testRestore() {
$this->attachmentService->expects($this->once())
->method('restore')
->with(123, 234)
->with(234)
->willReturn(1);
$this->assertEquals(1, $this->controller->restore(123, 234));
$this->assertEquals(1, $this->controller->restore(234));
}
}