Compare commits

..

370 Commits

Author SHA1 Message Date
Julius Härtl
7cd2d981c0 Fix drone to build version 0.2.* against NC12
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-11-26 11:37:08 +01:00
Julius Härtl
5435200152 Bump version to 0.2.8
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-11-26 11:12:44 +01:00
Julius Härtl
37b1f8303c AppInfo: NC13 will be supported in >0.3.x only
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-11-17 08:59:51 +01:00
Julius Härtl
ffb6a2de9c Bump version to 0.2.7
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-11-10 14:05:26 +01:00
Julius Härtl
13332ecef6 Add default for injected value since out app container is not queried during update
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-11-10 14:04:20 +01:00
Julius Härtl
4f090c5b6e Bump version to 0.2.6
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-11-10 12:02:00 +01:00
Julius Härtl
4dd9ad2fa3 Card: Set dbtype when updating
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-11-10 09:29:37 +01:00
Julius Härtl
1c4cc0f963 Bump version to 0.2.5
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-11-08 19:49:28 +01:00
Julius Härtl
a5b566edd0 Fix mysql datetime format
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-10-10 17:52:18 +02:00
Julius Härtl
3bd32e6c0d Update appstore building excludes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-10-08 11:51:37 +02:00
Julius Härtl
1633be74ca Bump release to 0.2.4
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-10-08 11:47:09 +02:00
Julius Härtl
1ede06fe45 Fix create card issue on NC12
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-10-08 11:45:17 +02:00
Julius Härtl
4e4d412717 Fix card action menu
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-10-03 15:26:30 +02:00
Julius Härtl
d590e9972b Bump version to 0.2.3
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-23 16:42:52 +02:00
Julius Härtl
91fb1533e6 Fix card positioning when draging them around
fixes #293

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-19 14:24:14 +02:00
Julius Härtl
04f17aad68 Acl: Fix wrong permission type being set
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-19 14:23:53 +02:00
Julius Härtl
830f8a13fc Prepare 0.2.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-07 13:03:23 +02:00
Nextcloud bot
a15997a2c8 [tx-robot] updated from transifex 2017-09-07 00:12:26 +00:00
Nextcloud bot
287e1fe2d0 [tx-robot] updated from transifex 2017-09-03 00:12:19 +00:00
Julius Härtl
ec5389beb3 Disable draging of the sidebar
Fixes #262 #241

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-01 16:21:25 +02:00
Julius Härtl
8d8c7587d7 Use archive state to disable datepicker/labels
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-01 16:20:17 +02:00
Julius Härtl
c67b5eab6b Fix datepicker layout
closes #283

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-01 16:20:17 +02:00
Julius Härtl
daee347ea5 Add site url to jekyll config
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-08-27 10:26:48 +02:00
Robert Korulczyk
1765ab2c34 Add scrollbar for too wide pre tags.
Signed-off-by: Robert Korulczyk <robert@korulczyk.pl>
2017-08-26 18:07:44 +02:00
Robert Korulczyk
0cc322f133 Fix white-space styles for pre code blocks
Signed-off-by: Robert Korulczyk <robert@korulczyk.pl>
2017-08-26 18:07:44 +02:00
Nextcloud bot
857e22a8c9 [tx-robot] updated from transifex 2017-08-25 00:13:01 +00:00
Nextcloud bot
a8f3119d26 [tx-robot] updated from transifex 2017-08-22 00:12:33 +00:00
Nextcloud bot
ef52ab5bca [tx-robot] updated from transifex 2017-08-21 00:12:26 +00:00
Nextcloud bot
22c20426b3 [tx-robot] updated from transifex 2017-08-19 00:12:33 +00:00
Nextcloud bot
42fa3fa039 [tx-robot] updated from transifex 2017-08-12 00:12:16 +00:00
Morris Jobke
2a8a6784f1 Merge pull request #280 from nextcloud/drone-update
Update syntax to drone 0.8
2017-08-09 12:17:04 +02:00
Morris Jobke
d50cdcb343 Update syntax to drone 0.8
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-09 11:15:25 +02:00
Julius Härtl
1cbfd1b6bf Use ISO8601 date format for duedate
Fixes issues with Date.parse on webkit based browsers
closes #240

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-08-08 22:12:38 +02:00
Artem Anufrij
38ec1abfa5 Merge pull request #278 from nextcloud/fix-card-editing-placeholder
Fix card description placeholder
2017-08-08 20:29:53 +02:00
Julius Härtl
ac453636a9 Fix card description placeholder
fixes #261

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-08-08 16:20:31 +02:00
Julius Härtl
698f1eea25 Fix shared icon in sidebar
closes #247

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-08-08 16:11:36 +02:00
Nextcloud bot
8e858fac5c [tx-robot] updated from transifex 2017-08-08 00:12:09 +00:00
Artem Anufrij
ce7c5d6196 Merge pull request #275 from nextcloud/fix-tests
Fix tests
2017-08-08 00:15:35 +02:00
Julius Härtl
9cfb561c1c Fix tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-08-06 14:25:10 +02:00
Nextcloud bot
bf06ec29ca [tx-robot] updated from transifex 2017-08-05 00:12:06 +00:00
jacestk
1ec13802af IE11 Fixes
Fixes for displaying AngularJS style in IE11
replace style="css{angular}" by ng-style="{angular}css"
2017-08-04 15:46:21 +01:00
Julius Härtl
86385f0d6f Fix drag-zone when sorting cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-08-04 12:55:32 +01:00
Nextcloud bot
3c12c84c7b [tx-robot] updated from transifex 2017-08-02 00:12:19 +00:00
Nextcloud bot
168c83fea0 [tx-robot] updated from transifex 2017-08-01 00:12:33 +00:00
Nextcloud bot
04ba531e2f [tx-robot] updated from transifex 2017-07-30 00:11:58 +00:00
Nextcloud bot
460b55f002 [tx-robot] updated from transifex 2017-07-29 00:12:29 +00:00
Morris Jobke
850cecb0b9 Run drone push only on specific branches
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-27 17:44:34 +02:00
Nextcloud bot
ba6e980cba [tx-robot] updated from transifex 2017-07-27 00:11:59 +00:00
Nextcloud bot
b28e549353 [tx-robot] updated from transifex 2017-07-25 00:11:56 +00:00
Nextcloud bot
b3c16a5a92 [tx-robot] updated from transifex 2017-07-23 00:11:26 +00:00
Jan-Christoph Borchardt
2b7d1b1085 Merge pull request #238 from nextcloud/fix-drag-empty-stack
Add min-height to card list and merge duplicate rules for .card
2017-07-14 10:24:19 +02:00
Nextcloud bot
c8c32eba8c [tx-robot] updated from transifex 2017-07-14 00:12:19 +00:00
Nextcloud bot
124403f8aa [tx-robot] updated from transifex 2017-07-13 00:12:12 +00:00
Nextcloud bot
f61377d95f [tx-robot] updated from transifex 2017-07-11 00:12:21 +00:00
Nextcloud bot
ec2b0d2c7d [tx-robot] updated from transifex 2017-07-08 00:12:00 +00:00
Marin Treselj
c68275c325 Merge branch 'master' into fix-drag-empty-stack 2017-07-07 23:01:43 +02:00
Nextcloud bot
e67aee4019 [tx-robot] updated from transifex 2017-07-07 00:11:51 +00:00
Julius Härtl
cfcaa6939b Add min-height to card list and merge duplicate rules for .card
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-06 16:51:07 +02:00
Julius Härtl
631a96f8da Add viewbox to icon
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-06 13:42:43 +02:00
Artem Anufrij
de800f79fb fixed margin for DnD class
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-07-06 13:32:41 +02:00
Artem Anufrij
43d46830d1 changed space between cards
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-07-06 13:32:41 +02:00
Artem Anufrij
14c90e53ce fix for due date control
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-07-06 13:27:34 +02:00
Nextcloud bot
a14b74223b [tx-robot] updated from transifex 2017-07-06 00:12:19 +00:00
Artem Anufrij
4cbaff461e Merge pull request #224 from nextcloud/fix-scss-stable11
Include nextcloud variables/functions when building legacy css file
2017-07-04 21:57:06 +02:00
Julius Härtl
7461b186a5 Include nextcloud variables/functions when building legacy css file
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-07-04 21:48:52 +02:00
Artem Anufrij
34a253cff2 0.2.1
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-07-04 21:39:48 +02:00
Nextcloud bot
1cb37ac8fa [tx-robot] updated from transifex 2017-07-03 00:11:46 +00:00
Nextcloud bot
5648557be0 [tx-robot] updated from transifex 2017-07-02 00:11:27 +00:00
Nextcloud bot
6eb10bd667 [tx-robot] updated from transifex 2017-07-01 00:11:50 +00:00
Marin Treselj
1105363d9a Better border visibility in board list
Signed-off-by: Marin Treselj <marin.treselj@forlagshuset.no>
2017-06-30 18:55:12 +02:00
Julius Härtl
2b1bac9a2f Fix issues with board list
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-30 18:55:12 +02:00
Marin Treselj
227f510d73 Add as author
Signed-off-by: Marin Treselj <marin.treselj@forlagshuset.no>
2017-06-30 18:55:12 +02:00
Marin Treselj
2fa56cdd77 Convert to SCSS and cleanup
Signed-off-by: Marin Treselj <marin.treselj@forlagshuset.no>
2017-06-30 18:55:12 +02:00
Julius Härtl
1346d085fe Move to SCSS
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-30 18:55:12 +02:00
Nextcloud bot
8e3db9147b [tx-robot] updated from transifex 2017-06-30 00:11:51 +00:00
Nextcloud bot
587f2ef3e3 [tx-robot] updated from transifex 2017-06-29 00:11:51 +00:00
Nextcloud bot
7839f3ea10 [tx-robot] updated from transifex 2017-06-28 00:11:50 +00:00
Artem Anufrij
1029a21f87 Polish sidebar (#215)
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-27 21:29:38 +02:00
Artem Anufrij
e908593ce0 show due date on mouse over
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-27 09:11:33 +02:00
Nextcloud bot
be555529f0 [tx-robot] updated from transifex 2017-06-26 00:11:58 +00:00
Nextcloud bot
53e4eb345a [tx-robot] updated from transifex 2017-06-25 00:11:42 +00:00
Julius Härtl
6a2dbf61d9 Simplify board view
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-23 22:47:37 +02:00
Julius Härtl
27d99f4a50 Align text in label list to the left
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-23 22:46:12 +02:00
Artem Anufrij
6f479727d5 some css fixes
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-23 22:46:12 +02:00
Artem Anufrij
64c3606e09 polish label editor
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-23 22:46:12 +02:00
Marin Treselj
acaff1e99e Add viewBox and make deck.svg similar to deck.svg
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-06-23 21:51:42 +02:00
Julius Härtl
d584b45114 Rename icons to avoid issues with theming app
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-23 21:51:42 +02:00
Nextcloud bot
bf52f85c08 [tx-robot] updated from transifex 2017-06-23 00:12:42 +00:00
Artem Anufrij
237df08414 Merge pull request #209 from nextcloud/fix-last-opacity
Fix opacity of last entry in board list
2017-06-23 00:25:52 +02:00
Julius Härtl
e9ef790295 Fix opacity of last entry in board list
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-22 22:28:00 +02:00
Artem Anufrij
1388da0fa0 Merge pull request #198 from nextcloud/edit-board-in-board-list-view
edit board in board list view
2017-06-22 21:26:25 +02:00
Julius Härtl
aa69584afd Fix wrong status object in elements
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-22 21:21:51 +02:00
Artem Anufrij
a03986b1bb improved 'add new board' row
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-22 20:54:02 +02:00
Artem Anufrij
e970fca3f3 css changes
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-22 20:54:02 +02:00
Artem Anufrij
b15555e5e2 added save and cancel button
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-22 20:54:01 +02:00
Artem Anufrij
017b4b5b29 edit board in board list view
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-22 20:54:01 +02:00
Nextcloud bot
905aeed75a [tx-robot] updated from transifex 2017-06-22 00:11:57 +00:00
Julius Härtl
86fe38832c Set theme jekyll-theme-cayman 2017-06-21 14:33:24 +02:00
Nextcloud bot
935026fb0f [tx-robot] updated from transifex 2017-06-21 00:11:32 +00:00
Julius Härtl
da35eb45da Fix screenshot url
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:49:53 +02:00
Julius Härtl
0b2884cdfb Fix database index
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:34:00 +02:00
Julius Härtl
515b5c5310 Remove the alpha warning
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Julius Härtl
f9674db40a Update screenshot in README
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Julius Härtl
4dfc11db56 Cleanup CHANGELOG
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Julius Härtl
5b620879de Add new screenshots
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Julius Härtl
0c478a0636 Prepare 0.2 release
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-20 10:19:59 +02:00
Nextcloud bot
4a2ee8f9d0 [tx-robot] updated from transifex 2017-06-20 00:12:13 +00:00
Julius Härtl
630104c37f Fix app-navigation-toggle height and small typo
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 22:11:26 +02:00
Artem Anufrij
882bf773c8 Toggle navigation bar on mobile and desktop devices
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-19 22:11:26 +02:00
Marin Treselj
42f3f5c1dd Merge pull request #191 from nextcloud/browser-title
Set board title as browser title
2017-06-19 21:02:07 +02:00
Julius Härtl
6d8dbeebcd Set board title as browser title
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 20:38:08 +02:00
Julius Härtl
1d9a0d35d8 Add timepicker css
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Artem Anufrij
eabcb12185 css fixes
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

some css changes

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

removed unused css line

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

some margin changes

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-19 10:36:29 +02:00
Julius Härtl
ae88f2291c Add tests for overdue state
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
a5199127da Add padding only for colored due date badges
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
9c19246b8b Optimize calendar-white icon
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
396a0d6d3a Fix due date colors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
0ffb8a0dbd Fix small issues
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
2063e1d9f4 Fix unit tests for duedate
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
b350213a01 Fix margin issues and eslint warnings
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Julius Härtl
9a77bd7c7c Implement due dates for cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-19 10:36:29 +02:00
Nextcloud bot
58bf51accd [tx-robot] updated from transifex 2017-06-19 00:11:41 +00:00
Nextcloud bot
ead01055fc [tx-robot] updated from transifex 2017-06-17 00:12:03 +00:00
Nextcloud bot
848521a8ef [tx-robot] updated from transifex 2017-06-16 00:12:24 +00:00
Nextcloud bot
7e81b6c182 [tx-robot] updated from transifex 2017-06-15 00:12:24 +00:00
Nextcloud bot
231c4e1acb [tx-robot] updated from transifex 2017-06-14 16:22:24 +00:00
Nextcloud bot
094d5334aa [tx-robot] updated from transifex 2017-06-14 00:12:10 +00:00
Nextcloud bot
989f09ed98 [tx-robot] updated from transifex 2017-06-13 00:11:48 +00:00
Nextcloud bot
fe936f42c4 [tx-robot] updated from transifex 2017-06-12 00:11:40 +00:00
Nextcloud bot
b82ef2b401 [tx-robot] updated from transifex 2017-06-11 00:11:53 +00:00
Artem Anufrij
4de11b8f95 Merge pull request #186 from nextcloud/fix-sharing-icon
Hotfix for user/group icons on sharing list
2017-06-11 00:07:48 +02:00
Julius Härtl
61c4e70046 Hotfix for user/group icons on sharing list
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-11 00:02:35 +02:00
Artem Anufrij
d052325874 fixed css
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 23:46:52 +02:00
Artem Anufrij
9b6869862c some design changes in board list
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 23:46:52 +02:00
Artem Anufrij
d421e23f9d added assigned-users into css block
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 23:20:35 +02:00
Artem Anufrij
bdd47c8dc6 fixed avatar margin
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 23:20:35 +02:00
Julius Härtl
bb8c0909f2 Merge pull request #181 from nextcloud/add-toggle-button-into-board-list
added board header for board list
2017-06-10 23:16:23 +02:00
Artem Anufrij
8e89c36ba8 added board header for board list
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-10 10:41:13 +02:00
Nextcloud bot
4391af0e84 [tx-robot] updated from transifex 2017-06-10 00:12:06 +00:00
Artem Anufrij
b1ac1b3d4e Merge pull request #177 from nextcloud/toggle-navi-bar
toggle navibar visibility
2017-06-09 23:54:28 +02:00
Artem Anufrij
6b8c084ed4 better mobile support
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-09 22:53:10 +02:00
Artem Anufrij
ac39568ff6 toggle navibar visibility
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-09 18:58:45 +02:00
Nextcloud bot
e7b095591a [tx-robot] updated from transifex 2017-06-09 00:12:01 +00:00
Julius Härtl
2e1f743698 Merge pull request #175 from nextcloud/optimized-deck-icon
Optimized 16px version of deck.svg
2017-06-08 23:18:06 +02:00
Marin Treselj
537adc09b4 OPtimized 16px version of deck.svg
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-06-08 22:53:10 +02:00
Julius Härtl
48842dd53e Merge pull request #133 from nextcloud/archive-boards
Archive boards
2017-06-08 22:46:04 +02:00
Julius Härtl
68b2025390 Some minor fixes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 20:52:56 +02:00
Artem Anufrij
034ac5e2ad add_delete_menu_in_default_view
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-08 20:52:56 +02:00
Artem Anufrij
727a33535d fixed_context_menu_position
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-08 20:52:33 +02:00
Julius Härtl
3062c82083 Allow force delete to have a clean test env after creating boards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:44 +02:00
Julius Härtl
4623688852 Fix codacy errors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:44 +02:00
Julius Härtl
19a90809f9 Add more unit testing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:44 +02:00
Julius Härtl
57f74c98db Fix adding new boards in the sidebar
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
c7586377ea Fix stateParam changes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
f5dc4ac0e9 Fix missing card actions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
06e41f59f6 Add unit tests
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
f7b69d9c42 Fix varius small issues
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
2c63bfb4b8 Keep deleted boards for a while and delete with cron
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
247b4dde0c Fix getting permissions and active indicator
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:43 +02:00
Julius Härtl
90eb9ce28e Fix unit tests for board archiving
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:42 +02:00
Julius Härtl
8c04ea8dc9 Archive boards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-06-08 19:35:42 +02:00
Nextcloud bot
fa5cba631f [tx-robot] updated from transifex 2017-06-08 00:11:59 +00:00
Nextcloud bot
b220bab8c6 [tx-robot] updated from transifex 2017-06-07 00:12:51 +00:00
Artem Anufrij
786aa00f83 missing translation for 'Add a new stack' (#169)
* missing translation for 'Add a new stack'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed pixelipo's comment

* label->tag

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* 'Board title' -> 'New Board title'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* 'Board title' -> 'Boards' in Boardlist

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* renamed column header 'Boards' -> 'Title'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* missing translation for 'Add a new stack'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

fixed pixelipo's comment
label->tag

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

'Board title' -> 'New Board title'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

'Board title' -> 'Boards' in Boardlist

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

[tx-robot] updated from transifex

renamed column header 'Boards' -> 'Title'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

Merge branch 'master' into missing_translation

* fixed h2 tag

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed space

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-06 09:37:38 +02:00
Nextcloud bot
6f9fe17004 [tx-robot] updated from transifex 2017-06-04 00:12:03 +00:00
Nextcloud bot
2efb78bfa3 [tx-robot] updated from transifex 2017-06-03 00:12:19 +00:00
Artem Anufrij
64960956f9 Merge pull request #173 from nextcloud/click-title-to-edit
Click title to edit
2017-06-01 20:37:01 +02:00
Artem Anufrij
cfd936b5c5 save on return/enter
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-06-01 20:06:27 +02:00
Marin Treselj
2cb151ba02 Temporary fix for card delete button position
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-31 22:44:44 +02:00
Marin Treselj
2f73f0492b Create new class for inline-editable text
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-31 15:43:30 +02:00
Marin Treselj
e06a2ad743 fix tabs
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-31 08:17:18 +02:00
Marin Treselj
73eff3d64e Allows editing stack title by clicking it.
Deprecates edit icon in the stack header.

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-31 08:13:53 +02:00
Nextcloud bot
d14f4f20b6 [tx-robot] updated from transifex 2017-05-31 00:12:43 +00:00
Nextcloud bot
c6159e5914 [tx-robot] updated from transifex 2017-05-30 00:12:44 +00:00
Nextcloud bot
d8a287e9dc [tx-robot] updated from transifex 2017-05-29 00:12:39 +00:00
Artem Anufrij
1d09de1d34 Merge pull request #168 from nextcloud/167-context-menus
Fix #167 - hide opened menus
2017-05-28 16:37:45 +02:00
Marin Treselj
e633dd4d0f Fix #167 - hide opened menus
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 16:17:31 +02:00
Artem Anufrij
7ce7543817 Merge pull request #166 from nextcloud/160-fix-regressions
Fixes few regressions caused by my last PR.
2017-05-28 15:23:53 +02:00
Marin Treselj
033897f877 Revert Artem's commits
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 15:12:59 +02:00
Marin Treselj
ef31fec924 Merge branch '160-fix-regressions' of github.com:nextcloud/deck into 160-fix-regressions
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 15:09:04 +02:00
Marin Treselj
1780b4b21c Fixes few regressions caused by my last PR.
It tranaformed our css to the "mobile-first" paradigm so @media
query now targets large screens.
This commit also fixes share icon in the left sidebar.

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 15:07:45 +02:00
Marin Treselj
beef990a9f Fixes few regressions caused by my last PR.
It tranaformed our css to the "mobile-first" paradigm so @media
query now targets large screens.
This commit also fixes share icon in the left sidebar.

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 14:41:29 +02:00
Julius Härtl
18262c6159 Merge pull request #165 from nextcloud/fix_css_for_mobile
fix css for mobile devices
2017-05-28 14:41:25 +02:00
Artem Anufrij
ff77fb68f5 moved css code
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-28 14:29:24 +02:00
Artem Anufrij
c3b9579f1d fix css for mobile devices
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-28 14:21:21 +02:00
Julius Härtl
a86eaec7c6 Merge pull request #161 from nextcloud/160-css-cleanup
This is part one of the style cleanup mentioned in #160.
2017-05-28 13:56:45 +02:00
Marin Treselj
f4a5a0c36c Fix alignment of buttons
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 13:36:52 +02:00
Marin Treselj
1defc48179 This is part one of the style cleanup mentioned in #160.
Functionality has not been affected (I hope). There will be few more related PRs but I want to keep each one simple so it's easy to review.

Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-28 13:36:08 +02:00
Julius Härtl
98c87f4551 Merge pull request #159 from nextcloud/mobile_improvements
improve mobile behavior
2017-05-28 10:58:58 +02:00
Julius Härtl
457b897135 Merge pull request #162 from nextcloud/build-cleanup
Cleanup makefiles
2017-05-28 10:56:49 +02:00
Nextcloud bot
314763acca [tx-robot] updated from transifex 2017-05-28 00:12:17 +00:00
Nextcloud bot
8c7190f84d [tx-robot] updated from transifex 2017-05-27 00:12:38 +00:00
Julius Härtl
8105a4b211 Merge pull request #163 from nextcloud/rakekniven-patch-1
Update part.card.php
2017-05-26 22:54:02 +02:00
rakekniven
7c80b58dd7 Update part.card.php 2017-05-26 22:31:35 +02:00
Nextcloud bot
2adf972440 [tx-robot] updated from transifex 2017-05-26 00:12:11 +00:00
Julius Härtl
aacf7716ce Cleanup makefiles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-25 15:18:03 +02:00
Nextcloud bot
a23b7e8f1a [tx-robot] updated from transifex 2017-05-25 00:11:53 +00:00
Artem Anufrij
2eb6118485 show stack action buttons on mobile device
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-24 22:49:19 +02:00
Artem Anufrij
855479fe68 added longTouch: true
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-24 22:24:27 +02:00
Artem Anufrij
2596ecae5b improve mobile behavior
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-24 21:23:34 +02:00
Julius Härtl
d60f79da65 Merge pull request #158 from nextcloud/fix_popover_menu_orientation
fix popover menu orientation
2017-05-24 20:26:40 +02:00
Artem Anufrij
58c6cf19a6 fix popover menu orientation
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-24 20:14:01 +02:00
Julius Härtl
a070fa3bac Merge pull request #146 from nextcloud/header-bar-improvements
header bar and mobile device improvements
2017-05-24 19:10:32 +02:00
Artem Anufrij
286a56e6f4 Merge pull request #155 from nextcloud/keep-stack-order
Fix order of stacks
2017-05-24 18:03:47 +02:00
Julius Härtl
0b7b89b602 Fix button clickable area
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-24 16:32:41 +02:00
Julius Härtl
04108835a6 Fix order of stacks
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-24 16:12:37 +02:00
Marin Treselj
1143f0807c Fix popover closing on input focus
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-24 11:59:20 +02:00
Nextcloud bot
f2dcede923 [tx-robot] updated from transifex 2017-05-24 00:12:29 +00:00
Julius Härtl
5dd346fbe8 Merge pull request #151 from nextcloud/sort-stacks
Add stack sorting functionality
2017-05-23 23:07:04 +02:00
Julius Härtl
b6d94ec9ff Add stack sorting functionality
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-23 22:54:44 +02:00
Artem Anufrij
ec6c8d94c1 removed class from button
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-23 22:16:23 +02:00
Artem Anufrij
ca3b89569f fixed icons if using subfolders for nc instance
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-23 22:05:13 +02:00
Julius Härtl
69d16d7f39 Merge pull request #152 from nextcloud/travis-fix
Travis update since test seem to fail randomly
2017-05-23 20:56:09 +02:00
Marin Treselj
2fd06acca8 Home icon without div wrapper
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-23 20:39:54 +02:00
Julius Härtl
b5afb42989 Travis extending
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-23 20:21:14 +02:00
Julius Härtl
4802f34c04 Fix home icon
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-23 20:08:22 +02:00
Julius Härtl
f553e88e29 Merge pull request #150 from nextcloud/untranslate-app-title
Application name should not be a transatable string.
2017-05-23 13:47:30 +02:00
Marin Treselj
ebee72e9b3 Application name should not be a transatable string.
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-23 11:27:57 +02:00
Nextcloud bot
23a8863a35 [tx-robot] updated from transifex 2017-05-23 00:12:21 +00:00
Artem Anufrij
4ec59d24b4 small css improvement
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:42 +02:00
Artem Anufrij
543127c1e6 'add new stack' margin
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:42 +02:00
Artem Anufrij
1e4e0a3947 added home button
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:42 +02:00
Artem Anufrij
0b133c59d9 clear css
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:42 +02:00
Artem Anufrij
d2b44c2ad0 added .icon-more button
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:41 +02:00
Artem Anufrij
0b12271ee3 fixed pixelipo comments 2017-05-22 21:05:41 +02:00
Artem Anufrij
c6ebfdc11f header bar and mobile device improvements
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-22 21:05:41 +02:00
Julius Härtl
fbc12ae8f7 Merge pull request #148 from nextcloud/allow-nextcloud-13
Bump max-version to 13
2017-05-22 21:05:37 +02:00
Julius Härtl
77b5c7daa7 Bump max-version to 13
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-22 20:55:48 +02:00
Nextcloud bot
40482f6f03 [tx-robot] updated from transifex 2017-05-22 00:11:59 +00:00
Julius Härtl
ada458bacf Merge pull request #144 from nextcloud/card-title-fix
Fix extra-long words in card title overflowing.
2017-05-21 13:23:17 +02:00
Julius Härtl
5a0b15a490 Merge pull request #143 from nextcloud/db-index-ci
Rename database indexes
2017-05-21 13:22:59 +02:00
Nextcloud bot
01794141a8 [tx-robot] updated from transifex 2017-05-21 00:12:06 +00:00
Artem Anufrij
8cb30a0094 Merge branch 'master' into db-index-ci 2017-05-20 23:13:43 +02:00
Marin Treselj
dabf46e886 Fix extra-long words in card title overflowing.
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-20 22:37:33 +02:00
Julius Härtl
e2923abf90 Rename database indexes
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-20 10:59:38 +02:00
Julius Härtl
7ba9f769f6 Merge pull request #142 from nextcloud/comradekingu-patch-1
Spelling: Ellipsis… and consistency
2017-05-20 10:55:59 +02:00
comradekingu
79408568b4 Spelling: Ellipsis… and consistency 2017-05-20 02:40:27 +02:00
Nextcloud bot
54f698c20d [tx-robot] updated from transifex 2017-05-20 00:11:44 +00:00
Julius Härtl
c696d9f287 Merge pull request #139 from nextcloud/card_redesing
added a card control bar
2017-05-19 23:00:07 +02:00
Artem Anufrij
e9f71d1f40 rename stack (#137)
* rename stack Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed 'lost focus without title change'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed long words

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

* fixed 'lost focus without title change'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

fixed long words

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

code style

css

* fixed 'lost focus without title change'

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

fixed long words

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>

code style

css
Merge remote-tracking branch 'origin/stack_rename' into stack_rename
Merge branch 'master' into stack_rename
2017-05-19 22:54:51 +02:00
Artem Anufrij
92349f66a3 added a card control bar
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-19 12:02:54 +02:00
Nextcloud bot
1d797b1bf2 [tx-robot] updated from transifex 2017-05-19 00:11:52 +00:00
Nextcloud bot
63714d5133 [tx-robot] updated from transifex 2017-05-18 00:10:56 +00:00
Nextcloud bot
2fbed6342a [tx-robot] updated from transifex 2017-05-17 00:11:13 +00:00
Artem Anufrij
e7fd9d8b3a Merge pull request #132 from nextcloud/formating-help
Link to help for markdown usage
2017-05-16 20:02:22 +02:00
Julius Härtl
2d16f66ef7 Link to help for markdown usage
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-16 11:57:03 +02:00
Nextcloud bot
d5c80c37cc [tx-robot] updated from transifex 2017-05-16 00:11:09 +00:00
Julius Härtl
3471e7ac00 Merge pull request #130 from nextcloud/116-header-redesign
Header redesign - fixes #116
2017-05-15 11:06:10 +02:00
Nextcloud bot
1f4e0bdee1 [tx-robot] updated from transifex 2017-05-14 00:11:07 +00:00
Nextcloud bot
90c22e8f4a [tx-robot] updated from transifex 2017-05-13 00:11:21 +00:00
Nextcloud bot
ccf19e3129 [tx-robot] updated from transifex 2017-05-12 00:10:45 +00:00
Marin Treselj
be75d28170 Header redesign - fixes #116
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-05-10 14:44:05 +02:00
Nextcloud bot
9c6b2b160e [tx-robot] updated from transifex 2017-05-09 00:10:48 +00:00
Julius Härtl
23d8c1aa30 Merge pull request #121 from nextcloud/icon-size-position
small css changes
2017-05-08 11:02:40 +02:00
Artem Anufrij
96ab5e70fa small css changes
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-08 10:30:47 +02:00
Nextcloud bot
7e5c7a9cb8 [tx-robot] updated from transifex 2017-05-07 00:10:22 +00:00
Nextcloud bot
e700d9d781 [tx-robot] updated from transifex 2017-05-05 00:10:17 +00:00
Julius Härtl
452f9a3312 Update CHANGELOG.md for 0.1.4
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-04 22:02:56 +02:00
Julius Härtl
95b0f49739 Bump version to 0.1.4
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-04 14:15:43 +02:00
Julius Härtl
b330f03a32 Merge pull request #118 from nextcloud/fix-acl-nonexisting
Do not fail on nonexisting acl users/groups
2017-05-04 14:12:28 +02:00
Julius Härtl
12ebffb885 Do not use getDisplayName for groups
it is not supported in Nextcloud 11

https://github.com/nextcloud/server/pull/4690
https://github.com/nextcloud/server/pull/2833
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-04 12:10:17 +02:00
Julius Härtl
860cbab1d3 Add proper error handling when user/group cannot be found
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-04 11:26:45 +02:00
Julius Härtl
c08455e11b Merge pull request #113 from nextcloud/delete-fix-and-undo
Fix deleting boards and add a simple undo function
2017-05-04 08:37:05 +02:00
Julius Härtl
a6b6842e2b No not fail on nonexisting acl users/groups
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-03 13:25:58 +02:00
Julius Härtl
588252d949 Fix deleting boards and add a simple undo function
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-03 13:22:30 +02:00
Julius Härtl
3b0390f50f Merge pull request #114 from nextcloud/firefox-red-input
Remove firefox invalid box shadow
2017-05-03 09:35:44 +02:00
Julius Härtl
c8389fbcb0 Remove firefox invalid box shadow
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-02 09:05:11 +02:00
Julius Härtl
94788bed39 Add IRC channel to README 2017-05-01 14:16:10 +02:00
Julius Härtl
8b4e7ec2bf Merge pull request #107 from nextcloud/release-0.1.3
Prepare 0.1.3 release
2017-05-01 10:04:13 +02:00
Julius Härtl
111a98ce88 Prepare 0.1.3 release
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-05-01 08:44:26 +02:00
Artem Anufrij
7fb0d2374d better behavior for comment field (#105)
* better behavior for comment field
* removed min-height

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-05-01 08:35:31 +02:00
Nextcloud bot
491a73456b [tx-robot] updated from transifex 2017-05-01 00:10:29 +00:00
artemanufrij
62d671bdd5 hide sidebar when clicked outside (#102)
* hide sidebar when clicked outside

* fixed show/hide behavior

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-04-30 21:23:48 +02:00
Julius Härtl
955c5eb864 Merge pull request #99 from nextcloud/bump-dependencies
Bump bower dependencies
2017-04-30 13:13:38 +02:00
Julius Härtl
49cd271cbc Add link to nightly builds 2017-04-30 13:07:49 +02:00
Julius Härtl
37bdbecdc2 Merge pull request #103 from nextcloud/nightly
Fix paths to use local bower/grunt installation
2017-04-30 13:03:25 +02:00
Julius Härtl
62af080e78 Fix paths to use local bower/grunt installation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-30 12:57:10 +02:00
Julius Härtl
84d4b87bb8 Bump bower dependencies
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-30 09:37:04 +02:00
Julius Härtl
5ad515f42a Merge pull request #96 from nextcloud/fix-db-columns
Move text fields to clob
2017-04-29 13:20:16 +02:00
Julius Härtl
98b57fe0a4 Merge pull request #65 from nextcloud/test-behat
Add integration tests with behat
2017-04-29 13:08:18 +02:00
Julius Härtl
b961206da3 Include App integration test
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-29 13:04:00 +02:00
artemanufrij
d8d8137300 description marker (#98)
* description marker
* removed unused content
* removed unused content
* Changed Icon and removen unused .svg

Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-04-29 12:52:53 +02:00
Julius Haertl
56fcb081a4 Fix tests
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-04-29 12:36:38 +02:00
Julius Haertl
2b9b22f2f2 Add behat tests to drone
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-04-29 11:57:54 +02:00
Julius Haertl
084d892ce6 Add basic behat test structure
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-04-29 11:57:54 +02:00
Julius Härtl
11610f306a Merge pull request #58 from nextcloud/displaynames
Implement relational mapping for users and groups to show displaynames
2017-04-29 11:57:21 +02:00
Julius Härtl
60e9cf7088 Apply maxlength to input fields and fix card header height
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-29 11:55:00 +02:00
Julius Härtl
7e345256cb Move text fields to clob
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-29 11:53:20 +02:00
Julius Härtl
52a7b8d560 Merge pull request #97 from pixelipo/fix-readme
Change app name in README.md
2017-04-28 15:31:47 +02:00
Marin Treselj
d98db33a02 Change app name in README.md
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-04-28 13:26:13 +02:00
Julius Härtl
04f5e2c2e1 Don't show own user account
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:14:58 +02:00
Julius Härtl
74c8a6e848 Fix board acl type
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:25 +02:00
Julius Härtl
02eecb3a3f Use mapper classes for relational data
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:25 +02:00
Julius Haertl
1e9c86e158 Code cleaup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:25 +02:00
Julius Haertl
2b05227f4b Add Group class
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:10 +02:00
Julius Haertl
3e304a9ff2 Use display name for users and groups
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 13:08:10 +02:00
Julius Härtl
000e447801 Merge pull request #95 from nextcloud/add-stack-header
Moved "Add a new Stack" into the top Bar [rebased]
2017-04-27 13:01:24 +02:00
Julius Härtl
1b6531e748 Fix positioning on Nextcloud 12
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-27 12:48:25 +02:00
artemanufrij
e2012dd2c5 Fixed css
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-04-27 12:25:56 +02:00
artemanufrij
5346cc4042 Move add stack input to the header
Signed-off-by: Artem Anufrij <artem.anufrij@live.de>
2017-04-27 12:25:17 +02:00
Julius Härtl
22438f8f3e Merge pull request #94 from nextcloud/use-ocs-api
Use OCS API to search for users/groups
2017-04-27 12:18:52 +02:00
Julius Härtl
6033baca23 Remove old search endpoint
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-26 14:54:56 +02:00
Julius Härtl
c1ff005710 Use OCS API to search for users/groups
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-26 14:42:11 +02:00
Nextcloud bot
05adda1e03 [tx-robot] updated from transifex 2017-04-26 00:10:41 +00:00
Lukas Reschke
6ae6bdf74a Update issue_template.md 2017-04-18 12:40:53 +02:00
Nextcloud bot
35ea7255cb [tx-robot] updated from transifex 2017-04-15 00:10:36 +00:00
Nextcloud bot
c80deaaaee [tx-robot] updated from transifex 2017-04-14 00:10:39 +00:00
Nextcloud bot
ab60f4e3ab [tx-robot] updated from transifex 2017-04-07 00:12:08 +00:00
Nextcloud bot
965708e784 [tx-robot] updated from transifex 2017-04-06 00:11:00 +00:00
Nextcloud bot
1b364b4f85 [tx-robot] updated from transifex 2017-04-05 00:11:20 +00:00
Nextcloud bot
aad1cb4fb5 [tx-robot] updated from transifex 2017-04-04 00:10:27 +00:00
Nextcloud bot
99725765fc [tx-robot] updated from transifex 2017-03-31 00:11:14 +00:00
Nextcloud bot
f313a9ba6b [tx-robot] updated from transifex 2017-03-30 00:10:28 +00:00
Julius Härtl
6bbe0a3161 Merge pull request #80 from nextcloud/drone-only-master
Only build master branch
2017-03-28 14:02:26 +02:00
Julius Härtl
4414fdebd4 Only build master branch
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-28 13:49:19 +02:00
Julius Härtl
0c0b663b9e Merge pull request #77 from nextcloud/release-0.1.2
Bump version to 0.1.2
2017-03-27 20:29:31 +02:00
Julius Haertl
b6645cfaa1 Bump version to 0.1.2
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-27 20:16:15 +02:00
Nextcloud bot
9351a04eb3 [tx-robot] updated from transifex 2017-03-25 01:10:30 +00:00
Nextcloud bot
c1f828b894 [tx-robot] updated from transifex 2017-03-23 01:10:22 +00:00
Julius Härtl
cb233ba35b Merge pull request #75 from nextcloud/emoji-fix
Fix info.xml emoji usage
2017-03-22 17:04:16 +01:00
Marius Blüm
f09ce32f2b Fix info.xml emoji usage
Signed-off-by: Marius Blüm <marius@lineone.io>
2017-03-22 13:57:28 +01:00
Julius Härtl
1e359adf18 Merge pull request #66 from nextcloud/default-json
Add jsonSerialize method to RelationalEntity
2017-03-20 14:37:16 +01:00
Julius Haertl
34c1a681b1 Add jsonSerialize method to RelationalEntity
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-20 14:26:03 +01:00
Julius Härtl
3324556542 Merge pull request #72 from nextcloud/fix-travis
Use phpunit 5.7
2017-03-20 09:57:08 +01:00
Julius Härtl
7dba354767 Remove npm install 2017-03-20 09:39:10 +01:00
Julius Härtl
8444a00bdf Travis fix
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-20 09:28:24 +01:00
Julius Härtl
021b186424 Use phpunit 5.7
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-20 08:53:17 +01:00
Nextcloud bot
3e38ed7108 [tx-robot] updated from transifex 2017-03-17 01:10:07 +00:00
Julius Härtl
5d95dbf1ff Merge pull request #68 from nextcloud/travis
Disable email notifications for travis
2017-03-16 11:54:24 +01:00
Nextcloud bot
f17b046cb1 [tx-robot] updated from transifex 2017-03-12 01:10:43 +00:00
Nextcloud bot
7d55d22d42 [tx-robot] updated from transifex 2017-03-11 01:10:04 +00:00
Nextcloud bot
138c03160e [tx-robot] updated from transifex 2017-03-06 01:10:03 +00:00
Julius Haertl
286d4d7900 Disable email notifications for travis
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-05 14:21:21 +01:00
Julius Härtl
3f6f80ce44 Merge pull request #67 from nextcloud/debug-js
Include source js files when debug is enabled
2017-03-05 14:14:13 +01:00
Julius Härtl
7d7c605d36 Merge pull request #62 from SpaceCafe/master
Fixed SQL statements without prefixes
2017-03-05 14:00:01 +01:00
Julius Haertl
1d966033ec Update javascript section in README
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-05 13:53:05 +01:00
Julius Haertl
9de4051803 Include source js files when debug is enabled
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-05 13:46:38 +01:00
SpaceCafe
a2a3d8cae7 Merge branch 'master' into master
Signed-off-by: Lars Thoms <lars.thoms@spacecafe.org>
2017-03-04 20:48:12 +01:00
Lars Thoms
873e7cb1cf Fixed SQL statements without prefixes
Signed-off-by: Lars Thoms <lars.thoms@spacecafe.org>
2017-03-04 20:40:23 +01:00
Julius Härtl
4766195872 Merge pull request #64 from nextcloud/contribution-guidelines
Add contribution guidelines to README
2017-03-04 12:49:01 +01:00
Julius Härtl
c35f6aa9ef Add contribution guidelines to README 2017-03-04 12:47:26 +01:00
Julius Härtl
59ec9a15ff Merge pull request #61 from nextcloud/fix-legacy-code
use non-deprecated code in tests
2017-03-03 15:04:42 +01:00
Julius Härtl
81cd17cf3a Merge branch 'master' into fix-legacy-code 2017-03-03 13:07:15 +01:00
Julius Härtl
7ce44deb91 Merge pull request #59 from nextcloud/drone
Use drone for testing
2017-03-03 13:04:57 +01:00
Morris Jobke
96f5f5fe45 use non-deprecated code in tests
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-03 01:30:44 -06:00
Nextcloud bot
5c8d7b7644 [tx-robot] updated from transifex 2017-03-03 01:09:45 +00:00
Nextcloud bot
5136615650 [tx-robot] updated from transifex 2017-03-02 16:51:02 +00:00
Julius Haertl
3e3b120175 Add js build and remove tests from travis
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-02 11:32:12 +01:00
Julius Härtl
fef35d3929 Merge pull request #60 from nextcloud/transifex-update
Update transifex config
2017-03-02 11:04:22 +01:00
Morris Jobke
2a483b6f92 Update transifex config
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-01 22:48:17 -06:00
Nextcloud bot
f34250ca67 [tx-robot] updated from transifex 2017-03-02 01:09:30 +00:00
Nextcloud bot
308ade1b6e [tx-robot] updated from transifex 2017-03-01 01:09:42 +00:00
Julius Haertl
cf03e08d1e Use drone for testing
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-02-28 18:35:32 +01:00
Julius Härtl
90e0c57224 Merge pull request #57 from nextcloud/exception-logging
Improve logging of exceptions catched by SharingMiddleware
2017-02-27 11:45:38 +01:00
Julius Haertl
15e5a432b6 Improve logging of exceptions catched by SharingMiddleware 2017-02-27 11:27:49 +01:00
Julius Härtl
5372458288 Merge pull request #56 from roipoussiere/label_title
Add on label tiles a tooltip with the label name.
2017-02-27 09:59:26 +01:00
Nathanaël Jourdane
2d7e6f2efa Add on label tiles a tooltip with the label name. 2017-02-26 14:17:26 +01:00
Nextcloud bot
67f26ef9b2 [tx-robot] updated from transifex 2017-02-25 01:27:26 +00:00
Nextcloud bot
153fb6a0f0 [tx-robot] updated from transifex 2017-02-24 01:23:55 +00:00
Nextcloud bot
61b7228fb6 [tx-robot] updated from transifex 2017-02-23 01:21:00 +00:00
Julius Härtl
d2a2d7a63a Merge pull request #55 from nextcloud/move-repo
Move repo to nextcloud org
2017-02-22 10:36:17 +01:00
Julius Haertl
db90911e5e Move repo to nextcloud org
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-02-22 10:12:25 +01:00
Nextcloud bot
a636b106c8 [tx-robot] updated from transifex 2017-02-22 01:14:29 +00:00
Morris Jobke
1e19c44665 Merge pull request #54 from nextcloud/transifex
add transifex config
2017-02-21 10:31:19 -06:00
Morris Jobke
c308087c4a add transifex config
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-21 10:20:49 -06:00
Julius Härtl
cb5cfe1c73 Merge pull request #51 from juliushaertl/safari-fix
Remove duplicate endtag and fix layout in safari
2017-02-15 07:44:38 +01:00
Julius Haertl
3a311197a8 Remove duplicate endtag and fix layout in safari 2017-02-14 22:11:15 +01:00
Julius Haertl
b5feeeaee3 Fix group acl entries being interpreted as users 2017-02-13 22:06:27 +01:00
Julius Härtl
8e890df7ab Add issue template 2017-02-10 10:45:21 +01:00
Julius Haertl
d88f561adb Require the correct css file 2017-02-07 00:16:54 +01:00
173 changed files with 8123 additions and 1790 deletions

177
.drone.yml Normal file
View File

@@ -0,0 +1,177 @@
clone:
git:
image: plugins/git
depth: 1
pipeline:
check-app-compatbility:
image: nextcloudci/php5.6:php5.6-3
environment:
- APP_NAME=deck
- CORE_BRANCH=stable12
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
# Code checker
- ./occ app:check-code $APP_NAME -c strong-comparison
- ./occ app:check-code $APP_NAME -c deprecation
- cd apps/$APP_NAME/
when:
matrix:
TESTS: check-app-compatbility
signed-off-check:
image: nextcloudci/php7.0:php7.0-2
environment:
- APP_NAME=deck
- CORE_BRANCH=stable12
- DB=sqlite
commands:
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
- php ./build/signed-off-checker.php
when:
matrix:
TESTS: signed-off-check
syntax-php5.6:
image: nextcloudci/php5.6:php5.6-3
environment:
- APP_NAME=deck
- CORE_BRANCH=stable12
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
- composer install
- ./lib/composer/bin/parallel-lint --exclude build/.phan/ --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
when:
matrix:
TESTS: syntax-php5.6
syntax-php7.0:
image: nextcloudci/php7.0:php7.0-2
environment:
- APP_NAME=deck
- CORE_BRANCH=stable12
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server
- composer install
- ./lib/composer/bin/parallel-lint --exclude lib/composer/jakub-onderka/ --exclude 3rdparty/symfony/polyfill-php70/Resources/stubs/ --exclude 3rdparty/patchwork/utf8/src/Patchwork/Utf8/Bootup/ --exclude 3rdparty/paragonie/random_compat/lib/ --exclude lib/composer/composer/autoload_static.php --exclude 3rdparty/composer/autoload_static.php .
when:
matrix:
TESTS: syntax-php7.0
php5.6:
image: nextcloudci/php5.6:php5.6-7
environment:
- APP_NAME=deck
- CORE_BRANCH=stable12
- DB=sqlite
commands:
- apt update && apt-get -y install php5-xdebug
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- ./occ app:enable $APP_NAME
- cd apps/$APP_NAME
- phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
- phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
# Create coverage report
- wget https://codecov.io/bash -O codecov.sh
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t f6375299-4832-487e-b831-091772ab0384; fi"
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t f6375299-4832-487e-b831-091772ab0384; fi"
when:
matrix:
TESTS: php5.6
php7.0:
image: nextcloudci/php7.0:php7.0-8
environment:
- APP_NAME=deck
- CORE_BRANCH=stable12
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
# Run phpunit tests
- phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
- phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
when:
matrix:
TESTS: php7.0
php7.1:
image: nextcloudci/php7.1:php7.1-11
environment:
- APP_NAME=deck
- CORE_BRANCH=stable12
- DB=sqlite
commands:
# Pre-setup steps
- yum -y install wget
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
- phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
- phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
when:
matrix:
TESTS: php7.1
integration:
image: nextcloudci/integration-php7.0:integration-php7.0-3
environment:
- APP_NAME=deck
- CORE_BRANCH=stable12
- DB=sqlite
commands:
# Pre-setup steps
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DB
- cd ../server/
- php occ app:enable deck
- cd apps/$APP_NAME
- cd tests/integration
- ./run.sh
when:
matrix:
TESTS: integration
jsbuild:
image: mhart/alpine-node:6.8.0
commands:
- apk add --no-cache git
- cd js
- npm install --deps
- ./node_modules/.bin/bower --allow-root install
when:
matrix:
TESTS: jsbuild
matrix:
include:
- TESTS: check-app-compatbility
- TESTS: signed-off-check
- TESTS: syntax-php5.6
- TESTS: syntax-php7.0
- TESTS: php5.6
- TESTS: php7.0
- TESTS: php7.1
- TESTS: jsbuild
- TESTS: integration
branches: [ master, stable* ]

8
.gitignore vendored
View File

@@ -1,4 +1,10 @@
js/node_modules/*
js/vendor/
build/
js/public/
js/package-lock.json
build/
css/style.css
tests/integration/vendor/
tests/integration/composer.lock
vendor/
*.lock

View File

@@ -1,4 +1,6 @@
language: php
dist: trusty
sudo: required
services:
- mysql
php:
@@ -6,29 +8,31 @@ php:
- 7
env:
matrix:
- CORE_BRANCH=master DB=sqlite TEST_JS=1
- CORE_BRANCH=master DB=mysql
- CORE_BRANCH=stable11 DB=sqlite
- CORE_BRANCH=stable12 DB=mysql
- CORE_BRANCH=stable11 DB=mysql
before_install:
- wget https://phar.phpunit.de/phpunit-5.7.phar
- chmod +x phpunit-5.7.phar
- mkdir bin
- sudo mv phpunit-5.7.phar bin/phpunit
- export PATH="$PWD/bin:$PATH"
- phpunit --version
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh deck $CORE_BRANCH $DB
- cd ../server
- ./occ app:enable deck
- ./occ app:check-code deck
- php -S localhost:8080 &
before_script:
- cd apps/deck
- make install-deps
script:
- sh -c "if [ '$TRAVIS_PHP_VERSION' = '7.0' ] && [ '$TEST_JS' = '1' ]; then make build-js; fi;"
- make test
- make test-unit
after_failure:
- cat ../../data/nextcloud.log
after_success:
- bash <(curl -s https://codecov.io/bash)
notifications:
email: false

View File

@@ -1,4 +1,114 @@
# Changelog
All notable changes to this project will be documented in this file.
## 0.2.8 - 2017-11-26
### Fixed
- Drop support for NC 13, since that will only be supported by the next version of Deck
## 0.2.7 - 2017-11-10
### Fixed
- Fix bug that caused update to fail
## 0.2.6 - 2017-11-10
### Fixed
- Fix duedates not being updated with MySQL databases
## 0.2.5 - 2017-11-08
### Fixed
- Fix duedates not being saved with MySQL databases
## 0.2.4 - 2017-10-08
### Fixed
- Fix card action menu not being accessible
## 0.2.3 - 2017-09-23
### Fixed
- Fix delete stack button being not available
- Fix acl issues with PostgreSQL
## 0.2.2 - 2017-09-07
### Fixed
- Various frontend fixes
- Fix sidebar drag issues
- Improvements for IE11
- Fix bug when draging a card to an empty stack
## 0.2.1 - 2017-07-04
### Added
- Editing board details in board list
- Due date on mouse over
### Changed
- Polished label editor
- Polished sidebar
- UI improvements in board view
- Moved to SCSS
### Fixed
- Fix opacity of last entry in board list
## 0.2.0 - 2017-06-20
### Added
- Due dates for cards
- Archive boards
- Filter board list for archived/shared boards
- Rearange stack order
- Improved card overview with description indicator
- Navigation sidebar visibility can be toggled
### Fixed
- Undo on delete for boards
- Various fixes for mobile devices
- UI improvements to fit the Nextcloud design
## 0.1.4 - 2017-05-04
### Fixed
- Avoid red shadow on input in firefox
- Fix broken delete function for boards
- Fix broken board loading when groups were used for sharing
- Fix bug when users/groups got deleted
## 0.1.3 - 2017-05-01
### Added
- Icon to show if a card has a description
### Changed
- Use OCS API to get users/groups for sharing
- Various UI improvements
- Show display name instead of uid
- Fix bugs with limited field length
- Automatically hide sidebar when clicking the board view
- Start editing from everywhere in the description section
## 0.1.2
### Added
- Add translations
### Fixed
- Fix issues with Acl checks
- Always select first color fixes
- Add active class to appmenu
- Use server select2 styles
- Remove debug logging and unused function
- Fix issue while sorting cards
- Improve logging of exceptions
- Fixed SQL statements without prefixes
## 0.1.1
### Fixed
- Various styling improvements
- Fix problems with MySQL and PostgreSQL
@@ -6,6 +116,7 @@
- Fix error when changing board permissions
## 0.1.0
### Added
- Sharing boards with other users
- Create and manage boards

View File

@@ -23,15 +23,18 @@ clean-dist:
install-deps:
cd js && npm install --deps
cd js && bower install
cd js && ./node_modules/.bin/bower install
build: build-js
build: build-js build-css
build-js:
$(MAKE) -C js build
build-js: install-deps
cd js && ./node_modules/.bin/grunt build
build-css: install-deps
./js/node_modules/node-sass/bin/node-sass --output-style compressed css/legacy.scss css/style.css
watch:
$(make) -C js watch
cd js && ./node_modules/.bin/grunt watch
# appstore: clean install-deps
appstore: clean-build build
@@ -48,6 +51,7 @@ appstore: clean-build build
--exclude="../$(app_name)/js/tests" \
--exclude="../$(app_name)/js/test" \
--exclude="../$(app_name)/js/*.log" \
--exclude="../$(app_name)/js/package-lock.json" \
--exclude="../$(app_name)/js/package.json" \
--exclude="../$(app_name)/js/bower.json" \
--exclude="../$(app_name)/js/karma.*" \
@@ -57,7 +61,9 @@ appstore: clean-build build
--exclude="../$(app_name)/karma.*" \
--exclude="../$(app_name)/protractor\.*" \
--exclude="../$(app_name)/.*" \
--exclude="../$(app_name)/*.lock" \
--exclude="../$(app_name)/js/.*" \
--exclude="../$(app_name)/vendor" \
--exclude-vcs \
../$(app_name)
@@ -69,17 +75,24 @@ appstore: clean-build build
echo $(appstore_package_name).tar.gz
test: test-unit test-integration
test:
test-unit:
mkdir -p build/
cd js && $(npm) run test
ifeq (, $(shell which phpunit 2> /dev/null))
@echo "No phpunit command available, downloading a copy from the web"
mkdir -p $(build_tools_directory)
curl -sSL https://phar.phpunit.de/phpunit.phar -o $(build_tools_directory)/phpunit.phar
curl -sSL https://phar.phpunit.de/phpunit-5.7.phar -o $(build_tools_directory)/phpunit.phar
php $(build_tools_directory)/phpunit.phar -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
php $(build_tools_directory)/phpunit.phar -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
else
phpunit -c tests/phpunit.xml --coverage-clover build/php-unit.coverage.xml
phpunit -c tests/phpunit.integration.xml --coverage-clover build/php-integration.coverage.xml
endif
test-integration:
cd tests/integration && ./run.sh
test-js: install-deps
cd js && run test

View File

@@ -1,6 +1,7 @@
# Deck
[![Build Status](https://travis-ci.org/juliushaertl/deck.svg?branch=master)](https://travis-ci.org/juliushaertl/deck) [![CodeCov](https://codecov.io/github/juliushaertl/deck/coverage.svg?branch=master)](https://codecov.io/github/juliushaertl/deck) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/juliushaertl/deck/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/juliushaertl/deck/?branch=master) [![Dependency Status](https://www.versioneye.com/user/projects/58908fc0a23e810038c34e0a/badge.svg?style=flat)](https://www.versioneye.com/user/projects/58908fc0a23e810038c34e0a)
[![Build Status](https://travis-ci.org/nextcloud/deck.svg?branch=master)](https://travis-ci.org/nextcloud/deck) [![CodeCov](https://codecov.io/github/nextcloud/deck/coverage.svg?branch=master)](https://codecov.io/github/nextcloud/deck) [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/deck/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/deck/?branch=master) [![Dependency Status](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3/badge.svg?style=flat)](https://www.versioneye.com/user/projects/58ad558f4ca76f004ed475b3) [![#nextcloud-deck](https://img.shields.io/badge/IRC-%23nextcloud--deck%20on%20freenode-blue.svg)](https://webchat.freenode.net/?channels=nextcloud-deck)
Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
@@ -11,9 +12,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
- :rocket: Get your project organized
![Deck - Manage cards on your board](https://bitgrid.net/~jus/deck_1.png)
:boom: This is still alpha software: it may not be stable enough for production
![Deck - Manage cards on your board](https://download.bitgrid.net/nextcloud/deck/screenshots/Deck_Board.png)
### Planned features
@@ -31,12 +30,12 @@ This app is supposed to work on Nextcloud version 11 or later.
You can download and install the latest release from the [Nextcloud app store](https://apps.nextcloud.com/apps/deck)
### Install from git
### Install from git
If you want to run the latest development version from git source, you need to clone the repo to your apps folder:
```
git clone https://github.com/juliushaertl/deck.git
git clone https://github.com/nextcloud/deck.git
cd deck
make install-deps
make
@@ -44,6 +43,10 @@ make
Please make sure you have installed the following dependencies: `make, which, tar, npm, curl`
### Install the nightly builds
Instead of setting everything up manually, you can just [download the nightly builds](https://download.bitgrid.net/nextcloud/deck/nightly/) instead. These builds are updated every 24 hours, and are pre-configured with all the needed dependencies.
## Developing
### PHP
@@ -52,9 +55,54 @@ Nothing to prepare, just dig into the code.
### JavaScript
Make sure you have installed the dependencies with ```make install-deps```. After that you can run ```make``` to build the javascript code once or run ```make watch``` to run in on every file change.
When `'debug'=>true` is set in your config.php files will get loaded automatically. Otherwise you need to ensure that `public/app.js` is generated by running `make` or `make watch` to regenerate it on every change.
Make sure you have installed the dependencies with ```make install-deps```.
### Running tests
You can use the provided Makefile to run all tests by using:
make test
## Contribution Guidelines
Please read the [Code of Conduct](https://nextcloud.com/community/code-of-conduct/). This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere, and to explain how together we can strengthen and support each other.
For more information please review the [guidelines for contributing](https://github.com/nextcloud/server/blob/master/CONTRIBUTING.md) to this repository.
### Apply a license
All contributions to this repository are considered to be licensed under
the GNU AGPLv3 or any later version.
Contributors to the Deck app retain their copyright. Therefore we recommend
to add following line to the header of a file, if you changed it substantially:
```
@copyright Copyright (c) <year>, <your name> (<your email address>)
```
For further information on how to add or update the license header correctly please have a look at [our licensing HowTo][applyalicense].
### Sign your work
We use the Developer Certificate of Origin (DCO) as a additional safeguard
for the Nextcloud project. This is a well established and widely used
mechanism to assure contributors have confirmed their right to license
their contribution under the project's license.
Please read [developer-certificate-of-origin][dcofile].
If you can certify it, then just add a line to every git commit message:
````
Signed-off-by: Random J Developer <random@developer.example.org>
````
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your `user.name` and `user.email` git configs, you can sign your
commit automatically with `git commit -s`. You can also use git [aliases](https://git-scm.com/book/tr/v2/Git-Basics-Git-Aliases)
like `git config --global alias.ci 'commit -s'`. Now you can commit with
`git ci` and the commit will be signed.
[dcofile]: https://github.com/nextcloud/server/blob/master/contribute/developer-certificate-of-origin
[applyalicense]: https://github.com/nextcloud/server/blob/master/contribute/HowToApplyALicense.md

2
_config.yml Normal file
View File

@@ -0,0 +1,2 @@
theme: jekyll-theme-cayman
site: https://deck-app.com

View File

@@ -19,7 +19,7 @@
<name>title</name>
<type>text</type>
<notnull>true</notnull>
<length>64</length>
<length>100</length>
</field>
<field>
<name>owner</name>
@@ -38,6 +38,14 @@
<type>boolean</type>
<default>false</default>
</field>
<field>
<name>deleted_at</name>
<type>integer</type>
<default>0</default>
<length>8</length>
<notnull>false</notnull>
<unsigned>true</unsigned>
</field>
</declaration>
</table>
<table>
@@ -55,7 +63,7 @@
<name>title</name>
<type>text</type>
<notnull>true</notnull>
<length>64</length>
<length>100</length>
</field>
<field>
<name>board_id</name>
@@ -97,14 +105,13 @@
<field>
<name>title</name>
<type>text</type>
<length>100</length>
<notnull>true</notnull>
<length>64</length>
</field>
<field>
<name>description</name>
<type>text</type>
<type>clob</type>
<notnull>false</notnull>
<length>4096</length>
</field>
<field>
<name>stack_id</name>
@@ -123,7 +130,6 @@
<name>last_modified</name>
<type>integer</type>
<default></default>
<length>8</length>
<notnull>false</notnull>
<unsigned>true</unsigned>
</field>
@@ -131,7 +137,6 @@
<name>created_at</name>
<type>integer</type>
<default></default>
<length>8</length>
<notnull>false</notnull>
<unsigned>true</unsigned>
</field>
@@ -152,6 +157,11 @@
<type>boolean</type>
<default>false</default>
</field>
<field>
<name>duedate</name>
<type>timestamp</type>
<default>0</default>
</field>
<index>
<name>deck_cards_stack_id_index</name>
<field>
@@ -187,7 +197,7 @@
<name>title</name>
<type>text</type>
<notnull>true</notnull>
<length>64</length>
<length>100</length>
</field>
<field>
<name>card_id</name>
@@ -239,7 +249,7 @@
<name>title</name>
<type>text</type>
<notnull>false</notnull>
<length>64</length>
<length>100</length>
</field>
<field>
<name>color</name>
@@ -288,13 +298,13 @@
<length>4</length>
</field>
<index>
<name>deck_assigned_labels_label_id_index</name>
<name>deck_assigned_labels_idx_i</name>
<field>
<name>label_id</name>
</field>
</index>
<index>
<name>deck_assigned_labels_card_id_index</name>
<name>deck_assigned_labels_idx_c</name>
<field>
<name>card_id</name>
</field>
@@ -346,6 +356,7 @@
<default>false</default>
</field>
<index>
<name>deck_board_acl_uq_i</name>
<unique>true</unique>
<field>
<name>board_id</name>
@@ -361,7 +372,7 @@
</field>
</index>
<index>
<name>deck_board_acl_board_id_index</name>
<name>deck_board_acl_idx_i</name>
<field>
<name>board_id</name>
</field>

View File

@@ -7,27 +7,34 @@
<description>Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
- :inbox_tray: Add your tasks to cards and put them in order
- :page_facing_up: Write down additional notes in markdown
- :bookmark: Assign labels for even better organization
- :busts_in_silhouette: Share with your team, friends or family
- :rocket: Get your project organized
- 📥 Add your tasks to cards and put them in order
- 📄 Write down additional notes in markdown
- 🔖 Assign labels for even better organization
- 👥 Share with your team, friends or family
- 🚀 Get your project organized
:boom: This is still alpha software: it may not be stable enough for production!
💥 This is still alpha software: it may not be stable enough for production!
</description>
<version>0.1.1</version>
<version>0.2.8</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
<category>organization</category>
<category>office</category>
<bugs>https://github.com/juliushaertl/deck/issues</bugs>
<repository type="git">https://github.com/juliushaertl/deck.git</repository>
<screenshot>https://bitgrid.net/~jus/deck_1.png</screenshot>
<screenshot>https://bitgrid.net/~jus/deck_2.png</screenshot>
<screenshot>https://bitgrid.net/~jus/deck_3.png</screenshot>
<bugs>https://github.com/nextcloud/deck/issues</bugs>
<repository type="git">https://github.com/nextcloud/deck.git</repository>
<screenshot>https://download.bitgrid.net/nextcloud/deck/screenshots/Deck_Board.png</screenshot>
<screenshot>https://download.bitgrid.net/nextcloud/deck/screenshots/Deck_Details.png</screenshot>
<dependencies>
<nextcloud min-version="11" max-version="12" />
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>
</background-jobs>
<repair-steps>
<post-migration>
<step>OCA\Deck\Migration\UnknownUsers</step>
</post-migration>
</repair-steps>
</info>

View File

@@ -25,15 +25,13 @@ return [
'routes' => [
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
// share
['name' => 'share#searchUser', 'url' => '/share/search/{search}', 'verb' => 'GET'],
// boards
['name' => 'board#index', 'url' => '/boards', 'verb' => 'GET'],
['name' => 'board#create', 'url' => '/boards', 'verb' => 'POST'],
['name' => 'board#read', 'url' => '/boards/{boardId}', 'verb' => 'GET'],
['name' => 'board#update', 'url' => '/boards/{boardId}', 'verb' => 'PUT'],
['name' => 'board#delete', 'url' => '/boards/{boardId}', 'verb' => 'DELETE'],
['name' => 'board#deleteUndo', 'url' => '/boards/{boardId}/deleteUndo', 'verb' => 'POST'],
['name' => 'board#getUserPermissions', 'url' => '/boards/{boardId}/permissions', 'verb' => 'GET'],
['name' => 'board#addAcl', 'url' => '/boards/{boardId}/acl', 'verb' => 'POST'],
['name' => 'board#updateAcl', 'url' => '/boards/{boardId}/acl', 'verb' => 'PUT'],
@@ -43,6 +41,7 @@ return [
['name' => 'stack#index', 'url' => '/stacks/{boardId}', 'verb' => 'GET'],
['name' => 'stack#create', 'url' => '/stacks', 'verb' => 'POST'],
['name' => 'stack#update', 'url' => '/stacks/{stackId}', 'verb' => 'PUT'],
['name' => 'stack#reorder', 'url' => '/stacks/{stackId}/reorder', 'verb' => 'PUT'],
['name' => 'stack#delete', 'url' => '/stacks/{stackId}', 'verb' => 'DELETE'],
['name' => 'stack#archived', 'url' => '/stacks/{boardId}/archived', 'verb' => 'GET'],

View File

@@ -4,24 +4,21 @@
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*
*/
app.filter('relativeDateFilter', function() {
return function (timestamp) {
return OC.Util.relativeModifiedDate(timestamp*1000);
}
});
@import '../../../core/css/variables.scss';
@import 'style.scss';

View File

@@ -1,877 +0,0 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/**
* General styles
*/
.app-deck .icon {
display: inline-block;
}
input.input-inline {
font-size: inherit !important;
font-weight: inherit;
background-color: transparent;
padding: 0;
border: none;
width: 100%;
border-bottom: 1px solid #333333;
-webkit-border-radius: 0;
line-height: 100%;
margin: -4px 0;
}
button {
border: 0;
background-color: transparent;
}
button:hover {
border: 0;
background-color: transparent;
}
#searchbox {
display: block !important;
}
/**
* Navigation sidebar
*/
.app-navigation-entry-utils-menu-button {
display: block !important;
}
.app-navigation-entry-utils-menu-share {
display: block !important;
text-align: right;
padding-top: 3px;
padding-right: 5px;
opacity: 0.4;
}
#app-navigation .app-navigation-entry-edit {
height: auto;
}
#app-navigation .board-bullet {
position: absolute;
margin-left: 17px;
margin-top: 16px;
width: 12px;
height: 12px;
border: none;
border-radius: 50%;
cursor: pointer;
}
/**
* Board view
*/
#app-view {
position: relative;
height: 100%;
white-space: nowrap;
overflow: hidden;
padding: 0;
z-index: 100;
width: 100%;
}
#board-status {
position: absolute;
z-index: 999;
width: 100%;
height: 100%;
background-color: #fff;
}
#board {
position: relative;
height: 100%;
white-space: nowrap;
overflow: auto;
top: -40px;
padding: 40px 0 0;
z-index: 100;
width: 100%;
}
#board #innerBoard {
padding: 10px;
}
#board-header {
width: inherit;
color: #333333;
position: relative;
z-index: 120;
height: 44px;
background-color: #eee;
}
#board-header h1 {
font-size: 14pt;
margin: 0;
padding: 12px;
float: left;
}
#board-actions {
font-size: 10pt;
float: right;
position: relative;
color: #888;
margin: 8px;
}
#board-actions .filter .filter-button {
margin-left: 10px;
margin-right: 10px;
}
#board-actions .filter:hover {
color: #333333;
cursor: pointer;
}
.filter-select {
position: absolute;
right: auto;
top: 42px;
left: -21%;
}
.filter-select li {
padding: 3px;
overflow: hidden;
width: auto;
}
.filter-select li span {
display: block;
float: left;
width: 20px;
height: 20px;
margin-right: 5px;
}
#board-actions div {
padding: 5px;
float: left;
}
.board-actions button {
border: none;
background-color: transparent;
color: #fff;
}
.board-action-button {
font-size: 12pt;
font-weight: 100;
border: none;
margin-left: 10px;
}
.stack {
width: 320px;
margin-right: 10px;
vertical-align: top;
display: inline-block !important;
background-color: #f8f8f8;
}
.stack h2 {
padding: 10px 10px 8px;
margin: 0;
font-size: 12pt;
font-weight: 700;
overflow: hidden;
height: 40px;
}
.stack h2 input {
padding: 0;
width: 80%;
margin: 0;
font-size: 12pt;
font-weight: 700;
border: 0;
background-color: transparent;
float: left;
min-height: initial;
}
.stack h2 button,
.stack .stack-actions {
float: right;
}
.stack h2 span {
float: left;
}
.stack h2 .stack-actions {
display: none;
}
.stack h2:hover .stack-actions {
display: inline-block;
float: right;
}
.card {
background-color: #ffffff;
margin: 10px;
white-space: normal;
position: relative;
opacity: 1.0;
-webkit-box-shadow: 0 0 5px #bbb;
}
.card.archived .card-upper {
opacity: 0.5;
}
.card-upper {
overflow: hidden;
position: relative;
padding: 5px;
}
.card .card-options {
position: absolute;
bottom: 10px;
right: 10px;
display: none;
}
.card:hover .card-options {
display: block;
}
.card .popovermenu {
z-index: 999;
opacity: 1;
margin-left: 10px;
display: block;
}
.card .popovermenu.hidden {
display: none;
}
.card .card-assignees {
margin: 5px;
}
.card:hover {
background-color: #fcfcfc;
}
.card a {
display: block;
}
.card h3 {
font-weight: bold;
font-size: 10pt;
padding: 0;
margin: 5px;
display: inline-block;
float: left;
}
.card.has-labels h3 {
margin-top: 15px;
}
.card .labels {
position: absolute;
top: -5px;
left: 10px;
}
.card .labels li {
padding: 0;
width: 15px;
height: 20px;
-webkit-border-radius: 3px;
font-size: 80%;
border: none transparent;
float: left;
}
.card .labels li span {
display: none;
}
.card .labels li:hover {
}
.card .labels li:hover span {
position: absolute;
padding: 3px;
background-color: inherit;
}
.as-sortable-placeholder {
margin: 10px;
border: 1px dashed #aaa;
}
.info {
padding-left: 5px;
padding-right: 5px;
display: inline-block;
color: #aaa;
}
.info i {
margin-left: 2px;
}
.info span {
margin-right: 2px;
}
.card.create {
text-align: center;
padding: 10px;
margin: 10px;
border: none;
overflow: hidden;
-webkit-box-shadow: none;
}
.card.create:hover {
text-align: center;
opacity: 1;
}
.card.create h3 {
width: 100%;
padding: 0;
margin: 0 0 1px;
}
.card.create h3 input {
width: 100%;
border: 0;
font-weight: bold;
font-size: 10pt;
margin: 0;
padding: 0;
border-bottom: 1px solid #ffffff;
border-radius: 0;
color: #ffffff;
background-color: transparent !important;
min-height: initial;
}
.due {
background-color: #eee;
color: #aaa;
padding: 1px 3px;
border-radius: 4px;
margin-right: 2px;
}
/**
* Card view right sidebar
*/
#card-header {
height: 44px;
}
#card-header h2 {
font-size: 14pt;
padding: 10px 10px 9px;
overflow: hidden;
margin-bottom: 0;
background-color: #f0f0f0;
}
.icon-close {
position: absolute;
top: 5px;
right: 5px;
}
#card-meta {
padding-top: 0;
}
#card-dates {
font-size: 80%;
color: #aaaaaa;
margin-bottom: 3px;
}
#card-meta #labels {
margin-bottom: 10px;
}
#card-dates span {
}
#card-description > h3 {
border-bottom: 1px solid #333333;
font-weight: 600;
font-size: 10pt;
padding: 5px;
}
.save-indicator {
background-color: #009900;
color: #ffffff;
border-radius: 3px;
float: right;
padding: 1px 10px;
font-size: 8pt !important;
display: none;
}
#card-description textarea {
width: 100%;
height: 200px;
border: none;
margin: 0;
padding: 0;
}
#card-description .container {
background-color: white;
}
#sidebar-header,
.card-block {
padding: 15px;
}
#card-attachments ul {
margin: 5px;
}
#card-attachments .details {
font-size: 8pt;
padding-left: 15px;
}
#attachment-add button {
background-color: #eeeeee;
font-size: 9pt;
}
#app-sidebar {
right: -500px;
max-width: 100%;
border-left: none;
width: 500px;
border-left: 1px solid #eeeeee;
}
#app-sidebar.details-visible {
right: 0;
}
#app-content {
overflow: hidden;
}
#app-content.details-visible {
margin-right: 500px;
}
.labels {
display: block;
overflow: hidden;
}
.labels li {
padding: 1px;
-webkit-border-radius: 3px;
margin: 1px;
float: left;
color: #ffffff;
font-size: 80%;
font-weight: 900;
min-width: 20px;
display: inline-block;
text-align: center;
}
.avatardiv {
float: left;
background-color: #eee;
border-radius: 16px;
width: 32px;
height: 32px;
margin-right: 3px;
}
.avatardiv .icon-group {
margin: 7px;
opacity: 0.5;
display: block !important;
}
/**
* Color selection
*/
.colorselect {
overflow: hidden;
clear: both;
padding-top: 4px;
padding-left: 4px;
}
.colorselect .color {
opacity: 0.7;
width: 27px;
height: 27px;
float: left;
margin-right: 2px;
border: none;
}
.colorselect .selected {
opacity: 1.0;
border: 1px solid #333333;
}
.labels .colorselect {
padding: 0;
clear: none;
overflow: visible;
}
.labels .colorselect .color {
width: 26px;
height: 26px;
}
/**
* Board list main screen area
*/
#boardlist {
width: 100%;
height: 100%;
overflow: scroll;
}
#boardlist td .board-bullet {
width: 30px;
height: 30px;
border: none;
border-radius: 50%;
position: relative;
cursor: pointer;
display: block;
}
#boardlist td {
padding: 10px;
border-bottom: 1px solid #eee;
}
#boardlist span.icon {
width: 30px;
height: 30px;
display: inline-block;
}
.cell-board-bullet {
width: 60px;
}
.cell-board-title {
width: 50%;
}
#boardlist .colorselect,
#boardlist input {
float: left;
}
#boardlist .colorselect {
margin-top: 5px;
}
/**
* Board details
*/
#shareWithList {
list-style-type: none;
padding: 0 0 16px;
}
#shareWithList li {
padding-top: 5px;
padding-bottom: 5px;
font-weight: bold;
white-space: normal;
display: flex;
align-items: center;
}
#shareWithList .username {
padding-right: 8px;
padding-left: 8px;
white-space: nowrap;
text-overflow: ellipsis;
display: inline-block;
overflow: hidden;
vertical-align: middle;
}
.shareWithList .icon-delete {
display: inline-block;
background-size: 16px 16px;
width: 16px;
height: 16px;
padding: 0;
margin-top: 5px;
}
.shareOption {
margin-top: 4px;
}
#board-detail-labels {
padding: 10px;
}
#board-detail-labels ul li {
display: block;
font-size: 10pt;
float: none;
margin-bottom: 1px;
overflow: hidden;
}
#board-detail-labels ul li input {
float: left;
font-size: 10pt;
padding: 5px;
}
#board-detail-labels ul li .label-title {
float: left;
width: 88%;
font-size: 10pt;
padding: 5px;
border: none;
margin-right: 2px;
}
#board-detail-labels ul li a.icon {
float: right;
padding: 5px;
}
.label-create {
width: 88%;
}
.label-create .icon {
margin-bottom: -3px;
}
#board-detail-labels .color {
width: 28px;
height: 31px;
}
.tabHeaders {
clear: both;
overflow: hidden;
margin-bottom: 0;
}
#shareWithList .avatar {
float: left;
margin-top: -5px;
margin-right: 10px;
}
.ui-select-offscreen {
display: none;
}
.ui-select-match-close {
float: right;
z-index: 100;
position: relative;
display: inline-block !important;
margin-right: 7px;
}
.ui-select-match-item {
padding: 0;
float: left !important;
display: block;
}
.ui-select-match-item .select-label {
color: #fff;
padding: 6px 23px 6px 6px;
margin-right: -23px !important;
}
.select2-container-multi .select2-choices .select2-search-choice {
padding: 3px 0 !important;
border: 0 !important;
overflow: hidden;
}
.ui-select-container[disabled] .ui-select-match-item .select-label {
padding: 4px;
min-width: 26px !important;
height: 100%;
display: inline-block;
}
.ui-select-container[disabled] .ui-select-match-item {
margin-right: 0 !important;
}
.select2-search input {
width:100% !important;
}
/**
* Mobile optimizations
*/
@media (max-width: 480px) {
/* hide board actions on mobile */
#board-actions {
display: none !important;
}
}
@media only screen and (max-width: 768px) {
#board-header h1 {
margin-left: 50px;
}
}
/**
* Markdown rendering
*/
#markdown {
width: 100% !important;
}
#markdown p {
margin-bottom: 15px;
}
#markdown * {
white-space: normal;
word-wrap: break-word;
overflow-wrap: break-word;
}
#markdown a {
color: #666666;
text-decoration: underline;
}
#markdown ol, #markdown ul {
margin-left: 20px;
margin-bottom: 10px;
}
#markdown ul {
list-style-type: disc;
}
#markdown h1 {
font-size: 18px;
font-weight: 600;
margin-bottom: 5px;
}
#markdown h2 {
font-size: 16px;
font-weight: 600;
}
#markdown h3 {
font-size: 14px;
font-weight: 600;
}
#markdown h4 {
font-size: 13px;
font-weight: 600;
}
#markdown h6 {
font-size: 12px;
font-weight: 600;
}
#markdown pre {
background-color: #eeeeee;
padding: 3px;
}
/**
* Custom icons
*/
.icon-group {
background-image: url('../../../settings/img/users.svg');
}
.icon-add-white {
background-image: url('../img/add-white.svg');
}
.icon-archive {
background-image: url('../img/archive.svg');
}
.icon-archive-white {
background-image: url('../img/archive-white.svg');
}
.icon-details {
background-image: url('../img/details.svg');
}
.icon-details-white {
background-image: url('../img/details-white.svg');
}

1164
css/style.scss Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" id="svg2"><style id="style4">.st0{display:none}.st1{display:inline}.st2{fill:#0071bc}.st3{display:inline}.st3,.st4{fill:#fff}</style><g id="Ebene_3"><path class="st4" d="M432.3 448.1h-348c-13.2 0-24-10.8-24-24V264.6c0-13.2 10.8-24 24-24h348c13.2 0 24 10.8 24 24v159.5c0 13.2-10.8 24-24 24zM380.4 89.8H127.8c-7.7 0-14-6.3-14-14v-6.3c0-7.7 6.3-14 14-14h252.6c7.7 0 14 6.3 14 14v6.3c0 7.7-6.3 14-14 14zm19.4 61.8H110.6c-7.7 0-14-6.3-14-14v-6.3c0-7.7 6.3-14 14-14h289.2c7.7 0 14 6.3 14 14v6.3c0 7.7-6.3 14-14 14zm21.6 61.4H94.6c-7.7 0-14-6.3-14-14v-6.3c0-7.7 6.3-14 14-14h326.8c7.7 0 14 6.3 14 14v6.3c0 7.7-6.3 14-14 14z" id="path12" fill="#fff"/></g></svg>

Before

Width:  |  Height:  |  Size: 715 B

1
img/calendar-white.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" version="1.1" height="32" viewbox="0 0 32 32"><path fill="#fff" d="m8 2c-1.108 0-2 0.892-2 2v4c0 1.108 0.892 2 2 2s2-0.892 2-2v-4c0-1.108-0.892-2-2-2zm16 0c-1.108 0-2 0.892-2 2v4c0 1.108 0.892 2 2 2s2-0.892 2-2v-4c0-1.108-0.892-2-2-2zm-13 4v2c0 1.662-1.338 3-3 3s-3-1.338-3-3v-1.875a3.993 3.993 0 0 0 -3 3.875v16c0 2.216 1.784 4 4 4h20c2.216 0 4-1.784 4-4v-16a3.993 3.993 0 0 0 -3 -3.875v1.875c0 1.662-1.338 3-3 3s-3-1.338-3-3v-2zm-4.906 10h19.812a0.09 0.09 0 0 1 0.094 0.094v9.812a0.09 0.09 0 0 1 -0.094 0.094h-19.812a0.09 0.09 0 0 1 -0.094 -0.094v-9.812a0.09 0.09 0 0 1 0.094 -0.094z"/></svg>

After

Width:  |  Height:  |  Size: 646 B

6
img/deck-dark.svg Normal file
View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" viewBox="0 0 16 16">
<rect ry="1" height="8" width="14" y="7" x="1"/>
<rect ry=".5" height="1" width="12" y="5" x="2"/>
<rect ry=".5" height="1" width="10" y="3" x="3"/>
<rect ry=".5" height="1" width="8" y="1" x="4"/>
</svg>

After

Width:  |  Height:  |  Size: 311 B

8
img/deck.svg Normal file
View File

@@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" viewBox="0 0 16 16">
<g fill="#fff">
<rect ry="1" height="8" width="14" y="7" x="1"/>
<rect ry=".5" height="1" width="12" y="5" x="2"/>
<rect ry=".5" height="1" width="10" y="3" x="3"/>
<rect ry=".5" height="1" width="8" y="1" x="4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 364 B

79
issue_template.md Normal file
View File

@@ -0,0 +1,79 @@
### Steps to reproduce
1.
2.
3.
### Expected behaviour
Tell us what should happen
### Actual behaviour
Tell us what happens instead
### Server configuration
<!--
You can use the Issue Template application to prefill most of the required information: https://apps.nextcloud.com/apps/issuetemplate
-->
**Operating system**:
**Web server:**
**Database:**
**PHP version:**
**Nextcloud version:** (see Nextcloud admin page)
**Where did you install Nextcloud from:**
**Signing status:**
```
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
```
**List of activated apps:**
```
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder
```
**Nextcloud configuration:**
```
If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder
or
Insert your config.php content here
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)
```
**Are you using an external user-backend, if yes which one:** LDAP/ActiveDirectory/Webdav/...
### Client configuration
**Browser:**
**Operating system:**
### Logs
#### Nextcloud log (data/nextcloud.log)
```
Insert your Nextcloud log here
```
#### Browser log
```
Insert your browser log here, this could for example include:
a) The javascript console log
b) The network log
c) ...
```

View File

@@ -1,10 +0,0 @@
build:
grunt build
watch:
grunt watch
install:
npm install
bower install

View File

@@ -33,36 +33,40 @@ app.config(function ($provide, $routeProvider, $interpolateProvider, $httpProvid
});
markdownItConverterProvider.use(markdownitLinkTarget);
$urlRouterProvider.otherwise("/");
$urlRouterProvider.otherwise('/');
$stateProvider
.state('list', {
url: "/",
templateUrl: "/boardlist.mainView.html",
controller: 'ListController'
url: '/:filter',
templateUrl: '/boardlist.mainView.html',
controller: 'ListController',
reloadOnSearch: false,
params: {
filter: { value: '', dynamic: true }
}
})
.state('board', {
url: "/board/:boardId/:filter",
templateUrl: "/board.html",
url: '/board/:boardId/:filter',
templateUrl: '/board.html',
controller: 'BoardController',
params: {
filter: { value: '', dynamic: true }
}
})
.state('board.detail', {
url: "/detail/",
url: '/detail/',
reloadOnSearch : false,
views: {
"sidebarView": {
templateUrl: "/board.sidebarView.html"
'sidebarView': {
templateUrl: '/board.sidebarView.html'
}
}
})
.state('board.card', {
url: "/card/:cardId",
url: '/card/:cardId',
views: {
"sidebarView": {
templateUrl: "/card.sidebarView.html",
'sidebarView': {
templateUrl: '/card.sidebarView.html',
controller: 'CardController'
}
}

View File

@@ -20,11 +20,18 @@
*
*/
app.run(function ($document, $rootScope, $transitions) {
app.run(function ($document, $rootScope, $transitions, BoardService) {
'use strict';
$document.click(function (event) {
$rootScope.$broadcast('documentClicked', event);
});
$transitions.onEnter({from: 'list'}, function($state, $transition$) {
BoardService.unsetCurrrent();
});
$transitions.onEnter({to: 'list'}, function($state, $transition$) {
BoardService.unsetCurrrent();
document.title = "Deck - " + oc_defaults.name;
});
$transitions.onEnter({to: 'board.card'}, function ($state, $transition$) {
$rootScope.sidebar.show = true;
});
@@ -40,13 +47,30 @@ app.run(function ($document, $rootScope, $transitions) {
$transitions.onExit({from: 'board.detail'}, function ($state) {
$rootScope.sidebar.show = false;
});
$transitions.onEnter({to: 'board.archive'}, function ($state) {
//BoardController.loadArchived();
});
$('link[rel="shortcut icon"]').attr(
'href',
OC.filePath('deck', 'img', 'app-512.png')
);
$('#app-navigation-toggle').off('click');
// App sidebar on mobile
var snapper = new Snap({
element: document.getElementById('app-content'),
disable: 'right',
maxPosition: 250,
touchToDrag: false
});
$('#app-navigation-toggle').click(function(){
if($(window).width() > 768) {
$('#app-navigation').toggle('hidden');
} else {
if(snapper.state().state === 'left'){
snapper.close();
} else {
snapper.open('left');
}
}
});
});

View File

@@ -7,14 +7,15 @@
"angular-mocks": "~1.6.1",
"angular-sanitize": "~1.6.1",
"angular-animate": "~1.6.1",
"ng-sortable": "1.3.6",
"jquery": "3.1.x",
"ng-sortable": "1.3.8",
"jquery": "3.2.x",
"es6-shim": "~0.*",
"js-url": "~2.*",
"angular-ui-select": "~0.19.6",
"angular-markdown-it": "~0.6.1",
"angular-ui-router": "~1.0.0",
"markdown-it-link-target": "~1.0.1"
"markdown-it-link-target": "~1.0.1",
"jquery-timepicker": "883bb2cd94"
},
"license": "AGPL-3.0",
"private": true,

View File

@@ -45,6 +45,13 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
$scope.board = BoardService.getCurrent();
StackService.clear(); //FIXME: Is this still needed?
$scope.setPageTitle = function() {
if(BoardService.getCurrent()) {
document.title = BoardService.getCurrent().title + " | Deck - " + oc_defaults.name;
} else {
document.title = "Deck - " + oc_defaults.name;
}
};
$scope.statusservice.retainWaiting();
$scope.statusservice.retainWaiting();
@@ -68,7 +75,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
$scope.stacksData = StackService;
$scope.stacks = {};
$scope.stacks = [];
$scope.$watch('stacksData', function (value) {
$scope.refreshData();
}, true);
@@ -80,14 +87,15 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
}
};
$scope.checkCanEdit = function () {
return !$scope.archived;
return !BoardService.getCurrent().archived;
};
// filter cards here, as ng-sortable will not work nicely with html-inline filters
$scope.filterData = function (order, text) {
if ($scope.stacks === undefined)
return;
angular.copy(StackService.getAll(), $scope.stacks);
angular.copy(StackService.getData(), $scope.stacks);
$scope.stacks = $filter('orderBy')($scope.stacks, 'order');
angular.forEach($scope.stacks, function (value, key) {
var cards = $filter('cardSearchFilter')(value.cards, text);
cards = $filter('orderBy')(cards, order);
@@ -113,18 +121,13 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
// Handle initial Loading
BoardService.fetchOne($scope.id).then(function (data) {
BoardService.getPermissions();
$scope.statusservice.releaseWaiting();
$scope.setPageTitle();
}, function (error) {
$scope.statusservice.setError('Error occured', error);
});
BoardService.searchUsers('%25');
$scope.searchForUser = function (search) {
if (search == "") {
search = "%25";
}
BoardService.searchUsers(search);
};
@@ -197,6 +200,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
// settings for card sorting
$scope.sortOptions = {
id: 'card',
itemMoved: function (event) {
event.source.itemScope.modelValue.status = event.dest.sortableScope.$parent.column;
var order = event.dest.index;
@@ -207,7 +211,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
CardService.update(card);
CardService.reorder(card, order).then(function (data) {
StackService.addCard(card);
StackService.reorder(card, order);
StackService.reorderCard(card, order);
StackService.removeCard({
id: card.id,
stackId: oldStack
@@ -219,13 +223,14 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
var card = event.source.itemScope.c;
var stack = event.dest.sortableScope.$parent.s.id;
CardService.reorder(card, order).then(function (data) {
StackService.reorder(card, order);
StackService.reorderCard(card, order);
$scope.refreshData();
});
},
scrollableContainer: '#board',
containerPositioning: 'relative',
containment: '#board',
longTouch: true,
// auto scroll on drag
dragMove: function (itemPosition, containment, eventObj) {
if (eventObj) {
@@ -244,6 +249,45 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St
container.scrollTop(container.scrollTop() + 50);
}
}
},
accept: function (sourceItemHandleScope, destSortableScope, destItemScope) {
return sourceItemHandleScope.sortableScope.options.id === 'card';
}
};
$scope.sortOptionsStack = {
id: 'stack',
orderChanged: function (event) {
var order = event.dest.index;
var stack = event.source.itemScope.s;
StackService.reorder(stack, order).then(function (data) {
$scope.refreshData();
});
},
scrollableContainer: '#board',
containerPositioning: 'relative',
containment: '#board',
longTouch: true,
dragMove: function (itemPosition, containment, eventObj) {
if (eventObj) {
var container = $("#board");
var offset = container.offset();
var targetX = eventObj.pageX - (offset.left || container.scrollLeft());
var targetY = eventObj.pageY - (offset.top || container.scrollTop());
if (targetX < offset.left) {
container.scrollLeft(container.scrollLeft() - 50);
} else if (targetX > container.width()) {
container.scrollLeft(container.scrollLeft() + 50);
}
if (targetY < offset.top) {
container.scrollTop(container.scrollTop() - 50);
} else if (targetY > container.height()) {
container.scrollTop(container.scrollTop() + 50);
}
}
},
accept: function (sourceItemHandleScope, destSortableScope, destItemScope) {
return sourceItemHandleScope.sortableScope.options.id === 'stack';
}
};

View File

@@ -1,5 +1,3 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
@@ -22,65 +20,101 @@
*
*/
/* global app */
/* global moment */
app.controller('CardController', function ($scope, $rootScope, $routeParams, $location, $stateParams, BoardService, CardService, StackService, StatusService) {
$scope.sidebar = $rootScope.sidebar;
$scope.status = {};
$scope.sidebar = $rootScope.sidebar;
$scope.status = {};
$scope.cardservice = CardService;
$scope.cardId = $stateParams.cardId;
$scope.cardservice = CardService;
$scope.cardId = $stateParams.cardId;
$scope.statusservice = StatusService.getInstance();
$scope.boardservice = BoardService;
$scope.statusservice = StatusService.getInstance();
$scope.boardservice = BoardService;
$scope.statusservice.retainWaiting();
$scope.statusservice.retainWaiting();
CardService.fetchOne($scope.cardId).then(function(data) {
$scope.statusservice.releaseWaiting();
$scope.archived = CardService.getCurrent().archived;
}, function(error) {
});
CardService.fetchOne($scope.cardId).then(function (data) {
$scope.statusservice.releaseWaiting();
$scope.archived = CardService.getCurrent().archived;
}, function (error) {
});
$scope.cardRenameShow = function() {
if($scope.archived || !BoardService.canEdit())
return false;
else {
$scope.status.cardRename=true;
}
};
$scope.cardEditDescriptionShow = function($event) {
var node = $event.target.nodeName;
console.log($event);
console.log(BoardService);
if($scope.card.archived || !$scope.boardservice.canEdit()) {
console.log(node);
} else {
console.log("edit");
$scope.status.cardEditDescription=true;
}
console.log($scope.status.canEditDescription);
};
// handle rename to update information on the board as well
$scope.cardRename = function(card) {
CardService.rename(card).then(function(data) {
StackService.updateCard(card);
$scope.status.renameCard = false;
});
};
$scope.cardUpdate = function(card) {
CardService.update(CardService.getCurrent()).then(function(data) {
$scope.status.cardEditDescription = false;
$('#card-description').find('.save-indicator').fadeIn(500).fadeOut(1000);
});
};
$scope.cardRenameShow = function () {
if ($scope.archived || !BoardService.canEdit())
return false;
else {
$scope.status.cardRename = true;
}
};
$scope.cardEditDescriptionShow = function ($event) {
if (BoardService.isArchived() || CardService.getCurrent().archived) {
return false;
}
var node = $event.target.nodeName;
if ($scope.card.archived || !$scope.boardservice.canEdit()) {
console.log(node);
} else {
console.log("edit");
$scope.status.cardEditDescription = true;
}
console.log($scope.status.canEditDescription);
};
// handle rename to update information on the board as well
$scope.cardRename = function (card) {
CardService.rename(card).then(function (data) {
StackService.updateCard(card);
$scope.status.renameCard = false;
});
};
$scope.cardUpdate = function (card) {
CardService.update(CardService.getCurrent()).then(function (data) {
$scope.status.cardEditDescription = false;
$('#card-description').find('.save-indicator').fadeIn(500).fadeOut(1000);
});
};
$scope.labelAssign = function(element, model) {
CardService.assignLabel($scope.cardId, element.id);
var card = CardService.getCurrent();
StackService.updateCard(card);
};
$scope.labelRemove = function(element, model) {
CardService.removeLabel($scope.cardId, element.id)
}
$scope.labelAssign = function (element, model) {
CardService.assignLabel($scope.cardId, element.id);
var card = CardService.getCurrent();
StackService.updateCard(card);
};
$scope.labelRemove = function (element, model) {
CardService.removeLabel($scope.cardId, element.id)
};
$scope.setDuedate = function (duedate) {
var element = CardService.getCurrent();
var newDate = moment(element.duedate);
if(!newDate.isValid()) {
newDate = moment();
}
newDate.date(duedate.date());
newDate.month(duedate.month());
newDate.year(duedate.year());
element.duedate = newDate.toISOString();
CardService.update(element);
StackService.updateCard(element);
};
$scope.setDuedateTime = function (time) {
var element = CardService.getCurrent();
var newDate = moment(element.duedate);
if(!newDate.isValid()) {
newDate = moment();
}
newDate.hour(time.hour());
newDate.minute(time.minute());
element.duedate = newDate.toISOString();
CardService.update(element);
StackService.updateCard(element);
};
$scope.resetDuedate = function () {
var element = CardService.getCurrent();
element.duedate = null;
CardService.update(element);
StackService.updateCard(element);
};
});

View File

@@ -1,4 +1,3 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
@@ -21,13 +20,20 @@
*
*/
app.controller('ListController', function ($scope, $location, $filter, BoardService, $element) {
/* global app angular */
app.controller('ListController', function ($scope, $location, $filter, BoardService, $element, $timeout, $stateParams, $state) {
$scope.boards = [];
$scope.newBoard = {};
$scope.status = {};
$scope.status = {
deleteUndo: [],
filter: $stateParams.filter ? $stateParams.filter : '',
sidebar: false
};
$scope.colors = ['0082c9', '00c9c6','00c906', 'c92b00', 'F1DB50', '7C31CC', '3A3B3D', 'CACBCD'];
$scope.boardservice = BoardService;
$scope.newBoard.color = $scope.colors[0];
$scope.updatingBoard = null;
// FIXME: not nice, but we want to load this only once
if($element.attr('id') === 'app-navigation') {
@@ -40,13 +46,42 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ
$scope.filterData = function () {
angular.copy($scope.boardservice.getData(), $scope.boardservice.sorted);
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, 'title');
angular.copy($scope.boardservice.sorted, $scope.boardservice.sidebar);
$scope.boardservice.sidebar = $filter('orderBy')($scope.boardservice.sidebar, 'title');
$scope.boardservice.sidebar = $filter('cardFilter')($scope.boardservice.sidebar, {archived: false});
if ($scope.status.filter === 'archived') {
var filter = {};
filter[$scope.status.filter] = true;
$scope.boardservice.sorted = $filter('cardFilter')($scope.boardservice.sorted, filter);
} else if ($scope.status.filter === 'shared') {
$scope.boardservice.sorted = $filter('cardFilter')($scope.boardservice.sorted, {archived: false});
$scope.boardservice.sorted = $filter('boardFilterAcl')($scope.boardservice.sorted);
} else {
$scope.boardservice.sorted = $filter('cardFilter')($scope.boardservice.sorted, {archived: false});
}
$scope.boardservice.sorted = $filter('orderBy')($scope.boardservice.sorted, ['deletedAt', 'title']);
};
$scope.$watchCollection(function(){
return $state.params;
}, function(){
$scope.status.filter = $state.params.filter;
$scope.filterData();
});
$scope.selectColor = function(color) {
$scope.newBoard.color = color;
};
$scope.gotoBoard = function(board) {
if(board.deletedAt > 0) {
return false;
}
return $state.go('board', {boardId: board.id});
};
$scope.boardCreate = function() {
if(!$scope.newBoard.title || !$scope.newBoard.color) {
$scope.status.addBoard=false;
@@ -66,15 +101,46 @@ app.controller('ListController', function ($scope, $location, $filter, BoardServ
$scope.boardUpdate = function(board) {
BoardService.update(board).then(function(data) {
$scope.filterData();
board.status.edit = false;
});
};
$scope.boardUpdateBegin = function(board) {
$scope.updatingBoard = board;
};
$scope.boardUpdateReset = function(board) {
board.title = $scope.updatingBoard.title;
board.color = $scope.updatingBoard.color;
$scope.filterData();
board.status.edit = false;
};
$scope.boardArchive = function (board) {
board.archived = true;
BoardService.update(board).then(function(data) {
$scope.filterData();
});
};
$scope.boardUnarchive = function (board) {
board.archived = false;
BoardService.update(board).then(function(data) {
$scope.filterData();
});
};
$scope.boardDelete = function(board) {
BoardService.delete(board.id).then(function (data) {
$scope.filterData();
});
};
$scope.boardDeleteUndo = function (board) {
BoardService.deleteUndo(board.id).then(function (data) {
$scope.filterData();
});
};
});

View File

@@ -4,20 +4,20 @@
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*
*/
app.directive('appPopoverMenuUtils', function () {
@@ -28,6 +28,7 @@ app.directive('appPopoverMenuUtils', function () {
var menu = elm.find('.popovermenu');
var button = elm.find('button');
button.click(function (e) {
$('.popovermenu').addClass('hidden');
menu.toggleClass('hidden');
if(!menu.hasClass('hidden')) {
button.css('display','block');
@@ -37,7 +38,8 @@ app.directive('appPopoverMenuUtils', function () {
e.stopPropagation();
});
scope.$on('documentClicked', function (scope, event) {
if (event.target !== button) {
/* prevent closing popover if target has no-close class */
if (event.target !== button && !$(event.target).hasClass('no-close')) {
menu.addClass('hidden');
}
button.css('display','');
@@ -45,4 +47,3 @@ app.directive('appPopoverMenuUtils', function () {
}
};
});

View File

@@ -0,0 +1,53 @@
/*
* @copyright Copyright (c) 2017 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* global app */
/* gloabl t */
/* global moment */
app.directive('datepicker', function () {
'use strict';
return {
link: function (scope, elm, attr) {
return elm.datepicker({
dateFormat: 'yy-mm-dd',
onSelect: function(date, inst) {
scope.setDuedate(moment(date));
scope.$apply();
},
beforeShow: function(input, inst) {
var dp, marginLeft;
dp = $(inst).datepicker('widget');
marginLeft = -Math.abs($(input).outerWidth() - dp.outerWidth()) / 2 + 'px';
dp.css({
'margin-left': marginLeft
});
$('div.ui-datepicker:before').css({
'left': 100 + 'px'
});
return $('.hasDatepicker').datepicker();
},
minDate: null
});
}
};
});

View File

@@ -0,0 +1,45 @@
/*
* @copyright Copyright (c) 2017 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* global app */
/* global t */
/* global moment */
app.directive('timepicker', function() {
'use strict';
return {
restrict: 'A',
link: function(scope, elm, attr) {
return elm.timepicker({
onSelect: function(date, inst) {
scope.setDuedateTime(moment('2000-01-01 ' + date));
scope.$apply();
},
myPosition: 'center top',
atPosition: 'center bottom',
hourText: t('deck', 'Hours'),
minuteText: t('deck', 'Minutes'),
showPeriodLabels: false
});
}
};
});

View File

@@ -0,0 +1,33 @@
/*
* @copyright Copyright (c) 2017 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
app.filter('boardFilterAcl', function() {
return function(boards) {
var _result = [];
angular.forEach(boards, function(board){
if(board.acl !== null && Object.keys(board.acl).length > 0) {
_result.push(board);
}
});
return _result;
};
});

View File

@@ -24,15 +24,16 @@
app.filter('cardFilter', function() {
return function(cards, rules) {
var _result = {};
var _result = [];
angular.forEach(cards, function(card){
var _card = card;
angular.some(rules, function(rule, condition) {
if(_card[rule]===condition) {
var keys = Object.keys(rules);
keys.some(function(key, condition) {
if(_card[key]===rules[key]) {
_result.push(_card);
}
});
});
return result;
return _result;
};
});

61
js/filters/dateFilters.js Normal file
View File

@@ -0,0 +1,61 @@
/*
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* global app */
/* global OC */
/* global moment */
app.filter('relativeDateFilter', function() {
return function (timestamp) {
return OC.Util.relativeModifiedDate(timestamp*1000);
}
});
app.filter('relativeDateFilterString', function() {
return function (date) {
return OC.Util.relativeModifiedDate(Date.parse(date));
}
});
app.filter('dateToTimestamp', function() {
return function (date) {
return Date.parse(date);
}
});
app.filter('parseDate', function() {
return function (date) {
if(moment(date).isValid()) {
return moment(date).format('YYYY-MM-DD');
}
return '';
}
});
app.filter('parseTime', function() {
return function (date) {
if(moment(date).isValid()) {
return moment(date).format('HH:mm');
}
return '';
}
});

View File

@@ -24,7 +24,7 @@ app.filter('textColorFilter', function() {
return function (hex) {
// RGB2HLS by Garry Tan
// http://axonflux.com/handy-rgb-to-hsl-and-rgb-to-hsv-color-model-c
var result = /^([A-Fa-f\d]{2})([A-Fa-f\d]{2})([A-Fa-f\d]{2})$/i.exec(hex);
var result = /^#?([A-Fa-f\d]{2})([A-Fa-f\d]{2})([A-Fa-f\d]{2})$/i.exec(hex);
var color = result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),

View File

@@ -16,7 +16,8 @@
"grunt-phpunit": "^0.3.6",
"grunt-wrap": "^0.3.0",
"jshint-stylish": "^2.2.1",
"karma": "^1.4.1"
"karma": "^1.4.1",
"node-sass": "^4.5.3"
},
"scripts": {
"test": "echo \"Warning: no test specified\" && exit 0"

View File

@@ -124,9 +124,8 @@ app.factory('ApiService', function($http, $q){
} else {
Object.keys(entity).forEach(function (key) {
element[key] = entity[key];
if(element[key]!==null)
element[key].status = {};
});
element.status = {};
}
};
ApiService.prototype.remove = function(id) {
@@ -145,7 +144,13 @@ app.factory('ApiService', function($http, $q){
return this.data[this.id];
};
ApiService.prototype.getData = function() {
ApiService.prototype.unsetCurrrent = function () {
this.id = null;
};
ApiService.prototype.getData = function() {
return $.map(this.data, function(value, index) {
return [value];
});

View File

@@ -26,50 +26,128 @@ app.factory('BoardService', function(ApiService, $http, $q){
};
BoardService.prototype = angular.copy(ApiService.prototype);
BoardService.prototype.searchUsers = function(search) {
var url = OC.generateUrl('/apps/deck/share/search/'+search);
var deferred = $q.defer();
var self = this;
$http.get(url).then(function (response) {
BoardService.prototype.delete = function (id) {
var deferred = $q.defer();
var self = this;
self.sharees = [];
// filter out everyone who is already in the share list
angular.forEach(response.data, function(item) {
var exists = false;
angular.forEach(self.getCurrent().acl, function(acl) {
if (acl.participant === item.participant) {
exists = true;
}
});
if(!exists) {
self.sharees.push(item);
}
});
$http.delete(this.baseUrl + '/' + id).then(function (response) {
self.data[id].deletedAt = response.data.deletedAt;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Deleting ' + self.endpoint + ' failed');
});
return deferred.promise;
};
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error while update ' + self.endpoint);
});
return deferred.promise;
};
BoardService.prototype.deleteUndo = function (id) {
var deferred = $q.defer();
var self = this;
var _id = id;
$http.post(this.baseUrl + '/' + id + '/deleteUndo').then(function (response) {
self.data[_id].deletedAt = 0;
console.log(self.data[_id]);
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Deleting ' + self.endpoint + ' failed');
});
return deferred.promise;
};
BoardService.prototype.addAcl = function(acl) {
var board = this.getCurrent();
var deferred = $q.defer();
var self = this;
var _acl = acl;
$http.post(this.baseUrl + '/' + acl.boardId + '/acl', _acl).then(function (response) {
if(!board.acl) {
board.acl = {};
}
board.acl[response.data.id] = response.data;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error creating ACL ' + _acl);
});
acl = null;
return deferred.promise;
};
BoardService.prototype.searchUsers = function (search) {
var deferred = $q.defer();
var self = this;
var searchData = {
format: 'json',
perPage: 4,
itemType: [0, 1]
};
if (search !== "") {
searchData.search = search;
}
$http({
method: 'GET',
url: OC.linkToOCS('apps/files_sharing/api/v1') + 'sharees',
params: searchData
})
.then(function (result) {
var response = result.data;
if (response.ocs.meta.statuscode !== 100) {
deferred.reject('Error while searching for sharees');
return;
}
self.sharees = [];
var users = response.ocs.data.exact.users.concat(response.ocs.data.users);
var groups = response.ocs.data.exact.groups.concat(response.ocs.data.groups);
// filter out everyone who is already in the share list
angular.forEach(users, function (item) {
var acl = self.generateAcl('user', item);
var exists = false;
angular.forEach(self.getCurrent().acl, function (acl) {
if (acl.participant.primaryKey === item.value.shareWith) {
exists = true;
}
});
if (!exists && OC.getCurrentUser().uid !== item.value.shareWith) {
self.sharees.push(acl);
}
});
angular.forEach(groups, function (item) {
var acl = self.generateAcl('group', item);
var exists = false;
angular.forEach(self.getCurrent().acl, function (acl) {
if (acl.participant.primaryKey === item.value.shareWith) {
exists = true;
}
});
if (!exists) {
self.sharees.push(acl);
}
});
deferred.resolve(self.sharees);
}, function () {
deferred.reject('Error while searching for sharees');
});
return deferred.promise;
};
BoardService.prototype.generateAcl = function(type, ocsItem) {
return {
boardId: null,
id: null,
owner: false,
participant: {
primaryKey: ocsItem.value.shareWith,
uid: ocsItem.value.shareWith,
displayname: ocsItem.label
},
permissionEdit: true,
permissionManage: true,
permissionShare: true,
type: type
}
};
BoardService.prototype.addAcl = function (acl) {
var board = this.getCurrent();
var deferred = $q.defer();
var self = this;
var _acl = acl;
$http.post(this.baseUrl + '/' + acl.boardId + '/acl', _acl).then(function (response) {
if (!board.acl || board.acl.length === 0) {
board.acl = {};
}
board.acl[response.data.id] = response.data;
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error creating ACL ' + _acl);
});
acl = null;
return deferred.promise;
};
BoardService.prototype.deleteAcl = function(acl) {
var board = this.getCurrent();
@@ -100,45 +178,43 @@ app.factory('BoardService', function(ApiService, $http, $q){
return deferred.promise;
};
BoardService.prototype.getPermissions = function() {
var board = this.getCurrent();
var deferred = $q.defer();
$http.get(this.baseUrl + '/' + board.id + '/permissions').then(function (response) {
board.permissions = response.data;
console.log(board.permissions);
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error fetching board permissions ' + board);
});
};
BoardService.prototype.canRead = function() {
if(!this.getCurrent() || !this.getCurrent().permissions) {
return false;
}
return this.getCurrent().permissions['PERMISSION_READ'];
}
};
BoardService.prototype.canEdit = function() {
if(!this.getCurrent() || !this.getCurrent().permissions) {
return false;
}
return this.getCurrent().permissions['PERMISSION_EDIT'];
}
};
BoardService.prototype.canManage = function() {
BoardService.prototype.canManage = function(board) {
if(board !== null && board !== undefined) {
return board.permissions['PERMISSION_MANAGE'];
}
if(!this.getCurrent() || !this.getCurrent().permissions) {
return false;
}
return this.getCurrent().permissions['PERMISSION_MANAGE'];
}
};
BoardService.prototype.canShare = function() {
if(!this.getCurrent() || !this.getCurrent().permissions) {
return false;
}
return this.getCurrent().permissions['PERMISSION_SHARE'];
}
};
BoardService.prototype.isArchived = function () {
if(!this.getCurrent() || this.getCurrent().archived) {
return true;
}
return false;
};
service = new BoardService($http, 'boards', $q);
return service;

View File

@@ -58,7 +58,22 @@ app.factory('StackService', function(ApiService, $http, $q){
this.data[entity.stackId].cards.push(entity);
};
StackService.prototype.reorder = function(entity, order) {
StackService.prototype.reorder = function(stack, order) {
var deferred = $q.defer();
var self = this;
$http.put(this.baseUrl + '/' + stack.id + '/reorder', {stackId: stack.id, order: order}).then(function (response) {
angular.forEach(response.data, function (value, key) {
var id = value.id;
self.data[id].order = value.order;
});
deferred.resolve(response.data);
}, function (error) {
deferred.reject('Error while update ' + self.endpoint);
});
return deferred.promise;
};
StackService.prototype.reorderCard = function(entity, order) {
// assign new order
for(var i=0, j=0;i<this.data[entity.stackId].cards.length;i++) {
if(this.data[entity.stackId].cards[i].id === entity.id) {

9
l10n/.tx/config Normal file
View File

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

27
l10n/ast.js Normal file
View File

@@ -0,0 +1,27 @@
OC.L10N.register(
"deck",
{
"Hours" : "Hores",
"Minutes" : "Minutos",
"Finished" : "Finó",
"Action needed" : "Precísase aición",
"Later" : "Más sero",
"Deck" : "Deck",
"Show archived cards" : "Amosar tarxetes archivaes",
"Delete" : "Desaniciar",
"Tags" : "Etiquetes",
"Select users or groups to share with" : "Esbilla usuarios o grupos colos que compartir",
"No matching user or group found." : "Nun s'alcontró dengún usuariu o grupu que concasara.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Xestionar",
"Discard share" : "Escartar compartición",
"Title" : "Títulu",
"Members" : "Miembros",
"More actions" : "Más aiciones",
"by" : "por",
"Click to set" : "Primi p'afitar",
"Description" : "Descripción",
"Saved" : "Guardóse"
},
"nplurals=2; plural=(n != 1);");

25
l10n/ast.json Normal file
View File

@@ -0,0 +1,25 @@
{ "translations": {
"Hours" : "Hores",
"Minutes" : "Minutos",
"Finished" : "Finó",
"Action needed" : "Precísase aición",
"Later" : "Más sero",
"Deck" : "Deck",
"Show archived cards" : "Amosar tarxetes archivaes",
"Delete" : "Desaniciar",
"Tags" : "Etiquetes",
"Select users or groups to share with" : "Esbilla usuarios o grupos colos que compartir",
"No matching user or group found." : "Nun s'alcontró dengún usuariu o grupu que concasara.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Xestionar",
"Discard share" : "Escartar compartición",
"Title" : "Títulu",
"Members" : "Miembros",
"More actions" : "Más aiciones",
"by" : "por",
"Click to set" : "Primi p'afitar",
"Description" : "Descripción",
"Saved" : "Guardóse"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

25
l10n/bg.js Normal file
View File

@@ -0,0 +1,25 @@
OC.L10N.register(
"deck",
{
"Finished" : "Завършен",
"To review" : "За преглед",
"Action needed" : "Необходимо е действие",
"Later" : "По-късно",
"Archive" : "Архивиране",
"Unarchive" : "Разархивиране",
"Delete" : "Изтриване",
"Sharing" : "Споделяне",
"Select users or groups to share with" : "Избор на потребители и групи за споделяне",
"No matching user or group found." : "Не са намерени съвпадащи потребители или групи",
"Share" : "Сподели",
"Edit" : "Редакция",
"Manage" : "Управление",
"Discard share" : "Отхвърляне на споделяне",
"Members" : "Членове",
"Modified:" : "Променен на:",
"Created:" : "Създаден на:",
"by" : "от",
"Saved" : "Запазено",
"Shared with you" : "Споделено с Вас"
},
"nplurals=2; plural=(n != 1);");

23
l10n/bg.json Normal file
View File

@@ -0,0 +1,23 @@
{ "translations": {
"Finished" : "Завършен",
"To review" : "За преглед",
"Action needed" : "Необходимо е действие",
"Later" : "По-късно",
"Archive" : "Архивиране",
"Unarchive" : "Разархивиране",
"Delete" : "Изтриване",
"Sharing" : "Споделяне",
"Select users or groups to share with" : "Избор на потребители и групи за споделяне",
"No matching user or group found." : "Не са намерени съвпадащи потребители или групи",
"Share" : "Сподели",
"Edit" : "Редакция",
"Manage" : "Управление",
"Discard share" : "Отхвърляне на споделяне",
"Members" : "Членове",
"Modified:" : "Променен на:",
"Created:" : "Създаден на:",
"by" : "от",
"Saved" : "Запазено",
"Shared with you" : "Споделено с Вас"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

20
l10n/ca.js Normal file
View File

@@ -0,0 +1,20 @@
OC.L10N.register(
"deck",
{
"Finished" : "Acabat",
"To review" : "Per revisar",
"Action needed" : "Acció necessaria",
"Later" : "Més tard",
"Archive" : "Arxiu",
"Delete" : "Esborra",
"Sharing" : "Compartir",
"Share" : "Comparteix",
"Edit" : "Edita",
"Members" : "Membres",
"Modified:" : "Modificat:",
"Created:" : "Creat:",
"by" : "per",
"Saved" : "Desat",
"Shared with you" : "Us han compartit"
},
"nplurals=2; plural=(n != 1);");

18
l10n/ca.json Normal file
View File

@@ -0,0 +1,18 @@
{ "translations": {
"Finished" : "Acabat",
"To review" : "Per revisar",
"Action needed" : "Acció necessaria",
"Later" : "Més tard",
"Archive" : "Arxiu",
"Delete" : "Esborra",
"Sharing" : "Compartir",
"Share" : "Comparteix",
"Edit" : "Edita",
"Members" : "Membres",
"Modified:" : "Modificat:",
"Created:" : "Creat:",
"by" : "per",
"Saved" : "Desat",
"Shared with you" : "Us han compartit"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/cs.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Hodiny",
"Minutes" : "Minuty",
"Finished" : "Dokončeno",
"To review" : "K revizi",
"Action needed" : "Nutná akce",
"Later" : "Později",
"Deck" : "Balík",
"Add a new stack" : "Přidat nový zásobník",
"Show archived cards" : "Zobrazit archivované karty",
"Hide archived cards" : "Skrýt archivované karty",
"Board details" : "Detaily desky",
"All Boards" : "Všechny desky",
"Archive" : "Archiv",
"Unarchive" : "Zrušit archivování",
"Delete" : "Smazat",
"Enter a card title" : "Zadejte nadpis karty",
"Sharing" : "Sdílení",
"Tags" : "Značky",
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
"No matching user or group found." : "Nevyhovuje žádný uživatel ani skupina",
"Share" : "Sdílet",
"Edit" : "Upravit",
"Manage" : "Spravovat",
"Discard share" : "Zrušit sdílení",
"Create a new tag" : "Vytvořit novou značku",
"Title" : "Název",
"Members" : "Členové",
"More actions" : "Více akcí",
"Edit board" : "Upravit desku",
"Archive board" : "Archivovaná deska",
"Unarchive board" : "Odarchivovat desku",
"Delete board" : "Smazat desku",
"Create new board" : "VYtvořit ovou desku",
"New board title" : "Nadpis nové desky",
"Modified:" : "Upraveno:",
"Created:" : "Vytvořeno:",
"by" : "od",
"Choose a label" : "Vybrat popisek",
"Add a label" : "Přidat popisek",
"Select labels…" : "Vybrat popisky...",
"Due date" : "Termín",
"Click to set" : "Klikněte pro výběr",
"Remove due date" : "Odstranit termín",
"Description" : "Popis",
"Formatting help" : "Nápověda k formátování",
"Saved" : "Uloženo",
"Add a card description…" : "Přidat popis karty...",
"Archived boards" : "Archivované desky",
"Shared boards" : "Sdílené desky",
"Shared with you" : "Sdíleno s vámi",
"Move board to archive" : "Přesunout desku do archivu",
"Create a new board" : "Vytvořit novou desku"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");

55
l10n/cs.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Hodiny",
"Minutes" : "Minuty",
"Finished" : "Dokončeno",
"To review" : "K revizi",
"Action needed" : "Nutná akce",
"Later" : "Později",
"Deck" : "Balík",
"Add a new stack" : "Přidat nový zásobník",
"Show archived cards" : "Zobrazit archivované karty",
"Hide archived cards" : "Skrýt archivované karty",
"Board details" : "Detaily desky",
"All Boards" : "Všechny desky",
"Archive" : "Archiv",
"Unarchive" : "Zrušit archivování",
"Delete" : "Smazat",
"Enter a card title" : "Zadejte nadpis karty",
"Sharing" : "Sdílení",
"Tags" : "Značky",
"Select users or groups to share with" : "Vyberte uživatele nebo skupiny pro sdílení",
"No matching user or group found." : "Nevyhovuje žádný uživatel ani skupina",
"Share" : "Sdílet",
"Edit" : "Upravit",
"Manage" : "Spravovat",
"Discard share" : "Zrušit sdílení",
"Create a new tag" : "Vytvořit novou značku",
"Title" : "Název",
"Members" : "Členové",
"More actions" : "Více akcí",
"Edit board" : "Upravit desku",
"Archive board" : "Archivovaná deska",
"Unarchive board" : "Odarchivovat desku",
"Delete board" : "Smazat desku",
"Create new board" : "VYtvořit ovou desku",
"New board title" : "Nadpis nové desky",
"Modified:" : "Upraveno:",
"Created:" : "Vytvořeno:",
"by" : "od",
"Choose a label" : "Vybrat popisek",
"Add a label" : "Přidat popisek",
"Select labels…" : "Vybrat popisky...",
"Due date" : "Termín",
"Click to set" : "Klikněte pro výběr",
"Remove due date" : "Odstranit termín",
"Description" : "Popis",
"Formatting help" : "Nápověda k formátování",
"Saved" : "Uloženo",
"Add a card description…" : "Přidat popis karty...",
"Archived boards" : "Archivované desky",
"Shared boards" : "Sdílené desky",
"Shared with you" : "Sdíleno s vámi",
"Move board to archive" : "Přesunout desku do archivu",
"Create a new board" : "Vytvořit novou desku"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
}

57
l10n/da.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Timer",
"Minutes" : "Minutter",
"Finished" : "Færdiggjort",
"To review" : "Efterse",
"Action needed" : "Handling påkrævet",
"Later" : "Senere",
"Deck" : "Tavle",
"Add a new stack" : "Tilføj en ny stak",
"Show archived cards" : "Vis arkiverede kort",
"Hide archived cards" : "Skjul arkiverede kort",
"Board details" : "Liste detaljer",
"All Boards" : "Alle lister",
"Archive" : "Arkivér",
"Unarchive" : "Annuller arkivering",
"Delete" : "Slet",
"Enter a card title" : "Angiv titel på kort",
"Sharing" : "Deling",
"Tags" : "Mærkat",
"Select users or groups to share with" : "Vælg brugere eller grupper og dele med",
"No matching user or group found." : "Ingen bruger eller gruppe fundet",
"Share" : "Del",
"Edit" : "Redigér",
"Manage" : "Administrer ",
"Discard share" : "Kasser deling",
"Create a new tag" : "Opret et nyt mærkat",
"Title" : "Titel",
"Members" : "Medlemmer",
"More actions" : "Flere handlinger",
"Edit board" : "Rediger liste",
"Archive board" : "Arkivér liste",
"Unarchive board" : "Annuller arkivering af liste",
"Delete board" : "Slet liste",
"Create new board" : "Opret ny liste",
"New board title" : "Ny titel på liste",
"Modified:" : "Ændret:",
"Created:" : "Oprettet:",
"by" : "af",
"Choose a label" : "Opret et label",
"Add a label" : "Tilføj et label",
"Select labels…" : "Vælg labeler...",
"Due date" : "Forfaldsdato",
"Click to set" : "Klik for at sætte",
"Remove due date" : "Fjern forfaldsdato",
"Description" : "Beskrivelse",
"Formatting help" : "Hjælp til formatering",
"Saved" : "Gemt",
"Add a card description…" : "Tilføj en beskrivelse...",
"Archived boards" : "Arkiverede lister",
"Shared boards" : "Delte lister",
"Shared with you" : "Delt med dig",
"Move board to archive" : "Flyt liste til arkiv",
"Create a new board" : "Opret ny liste"
},
"nplurals=2; plural=(n != 1);");

55
l10n/da.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Timer",
"Minutes" : "Minutter",
"Finished" : "Færdiggjort",
"To review" : "Efterse",
"Action needed" : "Handling påkrævet",
"Later" : "Senere",
"Deck" : "Tavle",
"Add a new stack" : "Tilføj en ny stak",
"Show archived cards" : "Vis arkiverede kort",
"Hide archived cards" : "Skjul arkiverede kort",
"Board details" : "Liste detaljer",
"All Boards" : "Alle lister",
"Archive" : "Arkivér",
"Unarchive" : "Annuller arkivering",
"Delete" : "Slet",
"Enter a card title" : "Angiv titel på kort",
"Sharing" : "Deling",
"Tags" : "Mærkat",
"Select users or groups to share with" : "Vælg brugere eller grupper og dele med",
"No matching user or group found." : "Ingen bruger eller gruppe fundet",
"Share" : "Del",
"Edit" : "Redigér",
"Manage" : "Administrer ",
"Discard share" : "Kasser deling",
"Create a new tag" : "Opret et nyt mærkat",
"Title" : "Titel",
"Members" : "Medlemmer",
"More actions" : "Flere handlinger",
"Edit board" : "Rediger liste",
"Archive board" : "Arkivér liste",
"Unarchive board" : "Annuller arkivering af liste",
"Delete board" : "Slet liste",
"Create new board" : "Opret ny liste",
"New board title" : "Ny titel på liste",
"Modified:" : "Ændret:",
"Created:" : "Oprettet:",
"by" : "af",
"Choose a label" : "Opret et label",
"Add a label" : "Tilføj et label",
"Select labels…" : "Vælg labeler...",
"Due date" : "Forfaldsdato",
"Click to set" : "Klik for at sætte",
"Remove due date" : "Fjern forfaldsdato",
"Description" : "Beskrivelse",
"Formatting help" : "Hjælp til formatering",
"Saved" : "Gemt",
"Add a card description…" : "Tilføj en beskrivelse...",
"Archived boards" : "Arkiverede lister",
"Shared boards" : "Delte lister",
"Shared with you" : "Delt med dig",
"Move board to archive" : "Flyt liste til arkiv",
"Create a new board" : "Opret ny liste"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/de.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Stunden",
"Minutes" : "Minuten",
"Finished" : "Abgeschlossen",
"To review" : "Zu überprüfen",
"Action needed" : "Handlung erforderlich",
"Later" : "Später",
"Deck" : "Deck",
"Add a new stack" : "Stapel hinzufügen",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"All Boards" : "Alle Boards",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Tags" : "Etiketten",
"Select users or groups to share with" : "Benutzer oder Gruppen auswählen, mit denen das Board geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen beenden",
"Create a new tag" : "Neues Etikett erstellen",
"Title" : "Titel",
"Members" : "Mitglieder",
"More actions" : "Weitere Aktionen",
"Edit board" : "Board bearbeiten",
"Archive board" : "Board archivieren",
"Unarchive board" : "Board dearchivieren",
"Delete board" : "Board löschen",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Choose a label" : "Etikett wählen",
"Add a label" : "Etikett hinzufügen",
"Select labels…" : "Etiketten auswählen...",
"Due date" : "Fälligkeitsdatum",
"Click to set" : "Klicken zum Übernehmen",
"Remove due date" : "Ablaufdatum löschen",
"Description" : "Beschreibung",
"Formatting help" : "Formatierungshilfe",
"Saved" : "Gespeichert",
"Add a card description…" : "Eine Kartenbeschreibung hinzufügen…",
"Archived boards" : "Archivierte Boards",
"Shared boards" : "Geteilte Boards",
"Shared with you" : "Mit Dir geteilt",
"Move board to archive" : "Board ins Archiv verschieben",
"Create a new board" : "Neues Board erstellen"
},
"nplurals=2; plural=(n != 1);");

55
l10n/de.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Stunden",
"Minutes" : "Minuten",
"Finished" : "Abgeschlossen",
"To review" : "Zu überprüfen",
"Action needed" : "Handlung erforderlich",
"Later" : "Später",
"Deck" : "Deck",
"Add a new stack" : "Stapel hinzufügen",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"All Boards" : "Alle Boards",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Tags" : "Etiketten",
"Select users or groups to share with" : "Benutzer oder Gruppen auswählen, mit denen das Board geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen beenden",
"Create a new tag" : "Neues Etikett erstellen",
"Title" : "Titel",
"Members" : "Mitglieder",
"More actions" : "Weitere Aktionen",
"Edit board" : "Board bearbeiten",
"Archive board" : "Board archivieren",
"Unarchive board" : "Board dearchivieren",
"Delete board" : "Board löschen",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Choose a label" : "Etikett wählen",
"Add a label" : "Etikett hinzufügen",
"Select labels…" : "Etiketten auswählen...",
"Due date" : "Fälligkeitsdatum",
"Click to set" : "Klicken zum Übernehmen",
"Remove due date" : "Ablaufdatum löschen",
"Description" : "Beschreibung",
"Formatting help" : "Formatierungshilfe",
"Saved" : "Gespeichert",
"Add a card description…" : "Eine Kartenbeschreibung hinzufügen…",
"Archived boards" : "Archivierte Boards",
"Shared boards" : "Geteilte Boards",
"Shared with you" : "Mit Dir geteilt",
"Move board to archive" : "Board ins Archiv verschieben",
"Create a new board" : "Neues Board erstellen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/de_DE.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Stunden",
"Minutes" : "Minuten",
"Finished" : "Abgeschlossen",
"To review" : "Zu überprüfen",
"Action needed" : "Handlung erforderlich",
"Later" : "Später",
"Deck" : "Deck",
"Add a new stack" : "Neuen Stapel hinzufügen",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"All Boards" : "Alle Boards",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Tags" : "Tags",
"Select users or groups to share with" : "Benutzer oder Gruppen auswählen, mit denen das Board geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen beenden",
"Create a new tag" : "Tag erstellen",
"Title" : "Titel",
"Members" : "Mitglieder",
"More actions" : "Weitere Aktionen",
"Edit board" : "Board bearbeiten",
"Archive board" : "Board archivieren",
"Unarchive board" : "Board dearchivieren",
"Delete board" : "Board löschen",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Choose a label" : "Tag auswählen",
"Add a label" : "Tag hinzufügen",
"Select labels…" : "Tags auswählen…",
"Due date" : "Zieltermin",
"Click to set" : "Setzen",
"Remove due date" : "Zieltermin entfernen",
"Description" : "Beschreibung",
"Formatting help" : "Formatierungshilfe",
"Saved" : "Gespeichert",
"Add a card description…" : "Beschreibung hinzufügen…",
"Archived boards" : "Archivierte Boards",
"Shared boards" : "Geteilte Boards",
"Shared with you" : "Mit Ihnen geteilt",
"Move board to archive" : "Board ins Archiv verschieben",
"Create a new board" : "Neues Board erstellen"
},
"nplurals=2; plural=(n != 1);");

55
l10n/de_DE.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Stunden",
"Minutes" : "Minuten",
"Finished" : "Abgeschlossen",
"To review" : "Zu überprüfen",
"Action needed" : "Handlung erforderlich",
"Later" : "Später",
"Deck" : "Deck",
"Add a new stack" : "Neuen Stapel hinzufügen",
"Show archived cards" : "Archivierte Karten anzeigen",
"Hide archived cards" : "Archivierte Karten ausblenden",
"Board details" : "Board-Details",
"All Boards" : "Alle Boards",
"Archive" : "Archivieren",
"Unarchive" : "Dearchivieren",
"Delete" : "Löschen",
"Enter a card title" : "Kartentitel eingeben",
"Sharing" : "Teilen",
"Tags" : "Tags",
"Select users or groups to share with" : "Benutzer oder Gruppen auswählen, mit denen das Board geteilt werden soll",
"No matching user or group found." : "Keine passenden Benutzer oder Gruppen gefunden.",
"Share" : "Teilen",
"Edit" : "Bearbeiten",
"Manage" : "Verwalten",
"Discard share" : "Teilen beenden",
"Create a new tag" : "Tag erstellen",
"Title" : "Titel",
"Members" : "Mitglieder",
"More actions" : "Weitere Aktionen",
"Edit board" : "Board bearbeiten",
"Archive board" : "Board archivieren",
"Unarchive board" : "Board dearchivieren",
"Delete board" : "Board löschen",
"Create new board" : "Neues Board erstellen",
"New board title" : "Neuer Board-Titel",
"Modified:" : "Geändert:",
"Created:" : "Erstellt:",
"by" : "von",
"Choose a label" : "Tag auswählen",
"Add a label" : "Tag hinzufügen",
"Select labels…" : "Tags auswählen…",
"Due date" : "Zieltermin",
"Click to set" : "Setzen",
"Remove due date" : "Zieltermin entfernen",
"Description" : "Beschreibung",
"Formatting help" : "Formatierungshilfe",
"Saved" : "Gespeichert",
"Add a card description…" : "Beschreibung hinzufügen…",
"Archived boards" : "Archivierte Boards",
"Shared boards" : "Geteilte Boards",
"Shared with you" : "Mit Ihnen geteilt",
"Move board to archive" : "Board ins Archiv verschieben",
"Create a new board" : "Neues Board erstellen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/el.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Ώρες",
"Minutes" : "Λεπτά",
"Finished" : "Ολοκληρώθηκε",
"To review" : "Προς επισκόπηση",
"Action needed" : "Απαιτείται ενέργεια",
"Later" : "Αργότερα",
"Deck" : "Deck",
"Add a new stack" : "Πρόσθεσε νέα συστοιχία",
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
"Board details" : "Λεπτομέριες πίνακα",
"All Boards" : "Όλοι οι πίνακες",
"Archive" : "Αρχειοθέτηση",
"Unarchive" : "Αναίρεση αρχειοθέτησης",
"Delete" : "Διαγραφή",
"Enter a card title" : "Καταχωρίστε έναν τίτλο κάρτας",
"Sharing" : "Διαμοιρασμός",
"Tags" : "Ετικέτες",
"Select users or groups to share with" : "Επιλέξτε χρήστες ή ομάδες με τις οποίες θα μοιραστείτε",
"No matching user or group found." : "Δεν βρέθηκε χρήστης ή ομάδα να ταιριάζει.",
"Share" : "Διαμοιρασμός",
"Edit" : "Επεξεργασία",
"Manage" : "Διαχείριση",
"Discard share" : "Απόρριψη διαμοιρασμού",
"Create a new tag" : "Δημιούργησε νέα ετικέτα",
"Title" : "Τίτλος",
"Members" : "Μέλη",
"More actions" : "Περισσότερες ενέργειες",
"Edit board" : "Επεξεργασία πίνακα",
"Archive board" : "Αρχειοθέτηση πίνακα",
"Unarchive board" : "Αναίρεση αρχειοθέτησης πίνακα",
"Delete board" : "Διαγραφή πίνακα",
"Create new board" : "Δημιουργία νέου πίνακα",
"New board title" : "Νέος τίτλος πίνακα",
"Modified:" : "Τροποποιήθηκε:",
"Created:" : "Δημιουργήθηκε:",
"by" : "από",
"Choose a label" : "Διάλεξε μια επιγραφή",
"Add a label" : "Πρόσθεσε μια επιγραφή",
"Select labels…" : "Επέλεξε επιγραφές",
"Due date" : "Ημερομηνία λήξης",
"Click to set" : "Κλικ για να ορίσετε",
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
"Description" : "Περιγραφή",
"Formatting help" : "Βοήθεια μορφοποίησης",
"Saved" : "Αποθηκεύτηκε",
"Add a card description…" : "Προσθήκη περιγραφής κάρτας...",
"Archived boards" : "Αρχειοθέτηση πινάκων ",
"Shared boards" : "Διαμοιρασμένοι πίνακες",
"Shared with you" : "Διαμοιρασμένα με εσάς",
"Move board to archive" : "Μετακίνηση πίνακα στην αρχειοθήκη",
"Create a new board" : "Δημιουργία νέου πίνακα"
},
"nplurals=2; plural=(n != 1);");

55
l10n/el.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Ώρες",
"Minutes" : "Λεπτά",
"Finished" : "Ολοκληρώθηκε",
"To review" : "Προς επισκόπηση",
"Action needed" : "Απαιτείται ενέργεια",
"Later" : "Αργότερα",
"Deck" : "Deck",
"Add a new stack" : "Πρόσθεσε νέα συστοιχία",
"Show archived cards" : "Εμφάνιση καρτελών που αρχειοθετήθηκαν",
"Hide archived cards" : "Απόκρυψη καρτελών που αρχειοθετήθηκαν",
"Board details" : "Λεπτομέριες πίνακα",
"All Boards" : "Όλοι οι πίνακες",
"Archive" : "Αρχειοθέτηση",
"Unarchive" : "Αναίρεση αρχειοθέτησης",
"Delete" : "Διαγραφή",
"Enter a card title" : "Καταχωρίστε έναν τίτλο κάρτας",
"Sharing" : "Διαμοιρασμός",
"Tags" : "Ετικέτες",
"Select users or groups to share with" : "Επιλέξτε χρήστες ή ομάδες με τις οποίες θα μοιραστείτε",
"No matching user or group found." : "Δεν βρέθηκε χρήστης ή ομάδα να ταιριάζει.",
"Share" : "Διαμοιρασμός",
"Edit" : "Επεξεργασία",
"Manage" : "Διαχείριση",
"Discard share" : "Απόρριψη διαμοιρασμού",
"Create a new tag" : "Δημιούργησε νέα ετικέτα",
"Title" : "Τίτλος",
"Members" : "Μέλη",
"More actions" : "Περισσότερες ενέργειες",
"Edit board" : "Επεξεργασία πίνακα",
"Archive board" : "Αρχειοθέτηση πίνακα",
"Unarchive board" : "Αναίρεση αρχειοθέτησης πίνακα",
"Delete board" : "Διαγραφή πίνακα",
"Create new board" : "Δημιουργία νέου πίνακα",
"New board title" : "Νέος τίτλος πίνακα",
"Modified:" : "Τροποποιήθηκε:",
"Created:" : "Δημιουργήθηκε:",
"by" : "από",
"Choose a label" : "Διάλεξε μια επιγραφή",
"Add a label" : "Πρόσθεσε μια επιγραφή",
"Select labels…" : "Επέλεξε επιγραφές",
"Due date" : "Ημερομηνία λήξης",
"Click to set" : "Κλικ για να ορίσετε",
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
"Description" : "Περιγραφή",
"Formatting help" : "Βοήθεια μορφοποίησης",
"Saved" : "Αποθηκεύτηκε",
"Add a card description…" : "Προσθήκη περιγραφής κάρτας...",
"Archived boards" : "Αρχειοθέτηση πινάκων ",
"Shared boards" : "Διαμοιρασμένοι πίνακες",
"Shared with you" : "Διαμοιρασμένα με εσάς",
"Move board to archive" : "Μετακίνηση πίνακα στην αρχειοθήκη",
"Create a new board" : "Δημιουργία νέου πίνακα"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/en_GB.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Hours",
"Minutes" : "Minutes",
"Finished" : "Finished",
"To review" : "To review",
"Action needed" : "Action needed",
"Later" : "Later",
"Deck" : "Deck",
"Add a new stack" : "Add a new stack",
"Show archived cards" : "Show archived cards",
"Hide archived cards" : "Hide archived cards",
"Board details" : "Board details",
"All Boards" : "All Boards",
"Archive" : "Archive",
"Unarchive" : "Unarchive",
"Delete" : "Delete",
"Enter a card title" : "Enter a card title",
"Sharing" : "Sharing",
"Tags" : "Tags",
"Select users or groups to share with" : "Select users or groups to share with",
"No matching user or group found." : "No matching user or group found.",
"Share" : "Share",
"Edit" : "Edit",
"Manage" : "Manage",
"Discard share" : "Discard share",
"Create a new tag" : "Create a new tag",
"Title" : "Title",
"Members" : "Members",
"More actions" : "More actions",
"Edit board" : "Edit board",
"Archive board" : "Archive board",
"Unarchive board" : "Unarchive board",
"Delete board" : "Delete board",
"Create new board" : "Create new board",
"New board title" : "New board title",
"Modified:" : "Modified:",
"Created:" : "Created:",
"by" : "by",
"Choose a label" : "Choose a label",
"Add a label" : "Add a label",
"Select labels…" : "Select labels…",
"Due date" : "Due date",
"Click to set" : "Click to set",
"Remove due date" : "Remove due date",
"Description" : "Description",
"Formatting help" : "Formatting help",
"Saved" : "Saved",
"Add a card description…" : "Add a card description…",
"Archived boards" : "Archived boards",
"Shared boards" : "Shared boards",
"Shared with you" : "Shared with you",
"Move board to archive" : "Move board to archive",
"Create a new board" : "Create a new board"
},
"nplurals=2; plural=(n != 1);");

55
l10n/en_GB.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Hours",
"Minutes" : "Minutes",
"Finished" : "Finished",
"To review" : "To review",
"Action needed" : "Action needed",
"Later" : "Later",
"Deck" : "Deck",
"Add a new stack" : "Add a new stack",
"Show archived cards" : "Show archived cards",
"Hide archived cards" : "Hide archived cards",
"Board details" : "Board details",
"All Boards" : "All Boards",
"Archive" : "Archive",
"Unarchive" : "Unarchive",
"Delete" : "Delete",
"Enter a card title" : "Enter a card title",
"Sharing" : "Sharing",
"Tags" : "Tags",
"Select users or groups to share with" : "Select users or groups to share with",
"No matching user or group found." : "No matching user or group found.",
"Share" : "Share",
"Edit" : "Edit",
"Manage" : "Manage",
"Discard share" : "Discard share",
"Create a new tag" : "Create a new tag",
"Title" : "Title",
"Members" : "Members",
"More actions" : "More actions",
"Edit board" : "Edit board",
"Archive board" : "Archive board",
"Unarchive board" : "Unarchive board",
"Delete board" : "Delete board",
"Create new board" : "Create new board",
"New board title" : "New board title",
"Modified:" : "Modified:",
"Created:" : "Created:",
"by" : "by",
"Choose a label" : "Choose a label",
"Add a label" : "Add a label",
"Select labels…" : "Select labels…",
"Due date" : "Due date",
"Click to set" : "Click to set",
"Remove due date" : "Remove due date",
"Description" : "Description",
"Formatting help" : "Formatting help",
"Saved" : "Saved",
"Add a card description…" : "Add a card description…",
"Archived boards" : "Archived boards",
"Shared boards" : "Shared boards",
"Shared with you" : "Shared with you",
"Move board to archive" : "Move board to archive",
"Create a new board" : "Create a new board"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/es.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Horas",
"Minutes" : "Minutos",
"Finished" : "Finalizado",
"To review" : "Para revisar",
"Action needed" : "Acción necesaria",
"Later" : "Después",
"Deck" : "Deck",
"Add a new stack" : "Añadir nuevo montón",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los tableros",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Eliminar",
"Enter a card title" : "Introducir título de tarjeta",
"Sharing" : "Compartir",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Seleccionar usuarios o grupos con los que compartir",
"No matching user or group found." : "No se encontraron usuarios o grupos coincidentes.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Organizar",
"Discard share" : "Descartar compartición",
"Create a new tag" : "Crear una etiqueta nueva",
"Title" : "Título",
"Members" : "Miembros",
"More actions" : "Más acciones",
"Edit board" : "Editar tablero",
"Archive board" : "Archivar tablero",
"Unarchive board" : "Desarchivar tablero",
"Delete board" : "Eliminar tablero",
"Create new board" : "Crear nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado: ",
"Created:" : "Creado: ",
"by" : "por",
"Choose a label" : "Escoger etiqueta",
"Add a label" : "Añadir etiqueta",
"Select labels…" : "Seleccionar etiquetas...",
"Due date" : "Fecha límite",
"Click to set" : "Pinchar para establecer",
"Remove due date" : "Eliminar fecha límite",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Añadir una descripción de tarjeta...",
"Archived boards" : "Tableros archivados",
"Shared boards" : "Tableros compartidos",
"Shared with you" : "Compartido contigo",
"Move board to archive" : "Mover tablero al archivo",
"Create a new board" : "Crear un tablero nuevo"
},
"nplurals=2; plural=(n != 1);");

55
l10n/es.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Horas",
"Minutes" : "Minutos",
"Finished" : "Finalizado",
"To review" : "Para revisar",
"Action needed" : "Acción necesaria",
"Later" : "Después",
"Deck" : "Deck",
"Add a new stack" : "Añadir nuevo montón",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los tableros",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Eliminar",
"Enter a card title" : "Introducir título de tarjeta",
"Sharing" : "Compartir",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Seleccionar usuarios o grupos con los que compartir",
"No matching user or group found." : "No se encontraron usuarios o grupos coincidentes.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Organizar",
"Discard share" : "Descartar compartición",
"Create a new tag" : "Crear una etiqueta nueva",
"Title" : "Título",
"Members" : "Miembros",
"More actions" : "Más acciones",
"Edit board" : "Editar tablero",
"Archive board" : "Archivar tablero",
"Unarchive board" : "Desarchivar tablero",
"Delete board" : "Eliminar tablero",
"Create new board" : "Crear nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado: ",
"Created:" : "Creado: ",
"by" : "por",
"Choose a label" : "Escoger etiqueta",
"Add a label" : "Añadir etiqueta",
"Select labels…" : "Seleccionar etiquetas...",
"Due date" : "Fecha límite",
"Click to set" : "Pinchar para establecer",
"Remove due date" : "Eliminar fecha límite",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Añadir una descripción de tarjeta...",
"Archived boards" : "Tableros archivados",
"Shared boards" : "Tableros compartidos",
"Shared with you" : "Compartido contigo",
"Move board to archive" : "Mover tablero al archivo",
"Create a new board" : "Crear un tablero nuevo"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

37
l10n/es_AR.js Normal file
View File

@@ -0,0 +1,37 @@
OC.L10N.register(
"deck",
{
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"Deck" : "Deck",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los Tablero",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Borrar",
"Enter a card title" : "Ingrese el títilo de la tarjeta",
"Sharing" : "Compartiendo",
"Select users or groups to share with" : "Seleccione los usuarios o grupos con los cuales compartir",
"No matching user or group found." : "No se encontraron coincidencias de usuarios o grupos.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Administrar",
"Discard share" : "Descartar elemento compartido",
"Members" : "Miembros",
"Create new board" : "Crear un nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado:",
"Created:" : "Creado:",
"by" : "por",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Agregar una descripción de tarjeta...",
"Shared with you" : "Compartido con usted",
"Create a new board" : "Crear nuevo tablero"
},
"nplurals=2; plural=(n != 1);");

35
l10n/es_AR.json Normal file
View File

@@ -0,0 +1,35 @@
{ "translations": {
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"Deck" : "Deck",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los Tablero",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Borrar",
"Enter a card title" : "Ingrese el títilo de la tarjeta",
"Sharing" : "Compartiendo",
"Select users or groups to share with" : "Seleccione los usuarios o grupos con los cuales compartir",
"No matching user or group found." : "No se encontraron coincidencias de usuarios o grupos.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Administrar",
"Discard share" : "Descartar elemento compartido",
"Members" : "Miembros",
"Create new board" : "Crear un nuevo tablero",
"New board title" : "Nuevo título de tablero",
"Modified:" : "Modificado:",
"Created:" : "Creado:",
"by" : "por",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Agregar una descripción de tarjeta...",
"Shared with you" : "Compartido con usted",
"Create a new board" : "Crear nuevo tablero"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/es_MX.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Horas",
"Minutes" : "Minutos",
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"Deck" : "Deck",
"Add a new stack" : "Agregar una nueva pila",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los Tableros",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Borrar",
"Enter a card title" : "Ingresa el título de la tarjeta",
"Sharing" : "Compartiendo",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Selecciona los usuarios o grupos con los cuales compartir",
"No matching user or group found." : "No se encontraron coincidencias de usuarios o grupos.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Administrar",
"Discard share" : "Descartar elemento compartido",
"Create a new tag" : "Crear una nueva etiqueta",
"Title" : "Título",
"Members" : "Miembros",
"More actions" : "Más acciones",
"Edit board" : "Editar el tablero",
"Archive board" : "Archivar tablero",
"Unarchive board" : "Desarchivar tablero",
"Delete board" : "Borrar tableros",
"Create new board" : "Crear un nuevo tablero",
"New board title" : "Nuevo título del tablero",
"Modified:" : "Modificado:",
"Created:" : "Creado:",
"by" : "por",
"Choose a label" : "Selecciona una etiqueta",
"Add a label" : "Agregar una etiqueta",
"Select labels…" : "Seleccionar etiquetas...",
"Due date" : "Fecha de vencimiento",
"Click to set" : "Da click aquí para establecer",
"Remove due date" : "Eliminar fecha de expiración",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Agregar una descripción de tarjeta...",
"Archived boards" : "Tableros archivados",
"Shared boards" : "Tableros compartidos",
"Shared with you" : "Compartido contigo",
"Move board to archive" : "Mover el tablero al archivo",
"Create a new board" : "Crear un nuevo tablero"
},
"nplurals=2; plural=(n != 1);");

55
l10n/es_MX.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Horas",
"Minutes" : "Minutos",
"Finished" : "Terminado",
"To review" : "Para revisar",
"Action needed" : "Acción requerida",
"Later" : "Después",
"Deck" : "Deck",
"Add a new stack" : "Agregar una nueva pila",
"Show archived cards" : "Mostrar tarjetas archivadas",
"Hide archived cards" : "Ocultar tarjetas archivadas",
"Board details" : "Detalles del tablero",
"All Boards" : "Todos los Tableros",
"Archive" : "Archivar",
"Unarchive" : "Desarchivar",
"Delete" : "Borrar",
"Enter a card title" : "Ingresa el título de la tarjeta",
"Sharing" : "Compartiendo",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Selecciona los usuarios o grupos con los cuales compartir",
"No matching user or group found." : "No se encontraron coincidencias de usuarios o grupos.",
"Share" : "Compartir",
"Edit" : "Editar",
"Manage" : "Administrar",
"Discard share" : "Descartar elemento compartido",
"Create a new tag" : "Crear una nueva etiqueta",
"Title" : "Título",
"Members" : "Miembros",
"More actions" : "Más acciones",
"Edit board" : "Editar el tablero",
"Archive board" : "Archivar tablero",
"Unarchive board" : "Desarchivar tablero",
"Delete board" : "Borrar tableros",
"Create new board" : "Crear un nuevo tablero",
"New board title" : "Nuevo título del tablero",
"Modified:" : "Modificado:",
"Created:" : "Creado:",
"by" : "por",
"Choose a label" : "Selecciona una etiqueta",
"Add a label" : "Agregar una etiqueta",
"Select labels…" : "Seleccionar etiquetas...",
"Due date" : "Fecha de vencimiento",
"Click to set" : "Da click aquí para establecer",
"Remove due date" : "Eliminar fecha de expiración",
"Description" : "Descripción",
"Formatting help" : "Ayuda de formato",
"Saved" : "Guardado",
"Add a card description…" : "Agregar una descripción de tarjeta...",
"Archived boards" : "Tableros archivados",
"Shared boards" : "Tableros compartidos",
"Shared with you" : "Compartido contigo",
"Move board to archive" : "Mover el tablero al archivo",
"Create a new board" : "Crear un nuevo tablero"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

42
l10n/fi.js Normal file
View File

@@ -0,0 +1,42 @@
OC.L10N.register(
"deck",
{
"Hours" : "Tunnit",
"Minutes" : "Minuutit",
"Finished" : "Valmistunut",
"To review" : "Arvostella",
"Action needed" : "Toimia vaaditaan",
"Later" : "Myöhemmin",
"Deck" : "Kansi",
"Show archived cards" : "Näytä arkistoidut kortit",
"Hide archived cards" : "Piilota arkistoidut kortit",
"Board details" : "Taulun tiedot",
"All Boards" : "Kaikki Taulut",
"Archive" : "Arkisto",
"Unarchive" : "Pois arkistosta",
"Delete" : "Poista",
"Enter a card title" : "Anna otsikko",
"Sharing" : "Jakaminen",
"Tags" : "Tunnisteet",
"Select users or groups to share with" : "Valitse käyttäjiä tai ryhmiä joille haluat jakaa",
"No matching user or group found." : "Käyttäjää tai ryhmää ei löytynyt.",
"Share" : "Jaa",
"Edit" : "Muokkaa",
"Manage" : "Hallitse",
"Discard share" : "Peru jakaminen",
"Title" : "Otsikko",
"Members" : "Jäsenet",
"More actions" : "Lisää toimintoja",
"Delete board" : "Poista taulu",
"Create new board" : "Luo uusi taulu",
"New board title" : "Uusi taulun otsikko",
"Modified:" : "Muokattu:",
"Created:" : "Luotu:",
"by" : " Kirjoittaja:",
"Due date" : "Eräpäivä",
"Description" : "Kuvaus",
"Saved" : "Tallennettu",
"Shared with you" : "Jaetu kanssasi",
"Create a new board" : "Luo uusi taulu"
},
"nplurals=2; plural=(n != 1);");

40
l10n/fi.json Normal file
View File

@@ -0,0 +1,40 @@
{ "translations": {
"Hours" : "Tunnit",
"Minutes" : "Minuutit",
"Finished" : "Valmistunut",
"To review" : "Arvostella",
"Action needed" : "Toimia vaaditaan",
"Later" : "Myöhemmin",
"Deck" : "Kansi",
"Show archived cards" : "Näytä arkistoidut kortit",
"Hide archived cards" : "Piilota arkistoidut kortit",
"Board details" : "Taulun tiedot",
"All Boards" : "Kaikki Taulut",
"Archive" : "Arkisto",
"Unarchive" : "Pois arkistosta",
"Delete" : "Poista",
"Enter a card title" : "Anna otsikko",
"Sharing" : "Jakaminen",
"Tags" : "Tunnisteet",
"Select users or groups to share with" : "Valitse käyttäjiä tai ryhmiä joille haluat jakaa",
"No matching user or group found." : "Käyttäjää tai ryhmää ei löytynyt.",
"Share" : "Jaa",
"Edit" : "Muokkaa",
"Manage" : "Hallitse",
"Discard share" : "Peru jakaminen",
"Title" : "Otsikko",
"Members" : "Jäsenet",
"More actions" : "Lisää toimintoja",
"Delete board" : "Poista taulu",
"Create new board" : "Luo uusi taulu",
"New board title" : "Uusi taulun otsikko",
"Modified:" : "Muokattu:",
"Created:" : "Luotu:",
"by" : " Kirjoittaja:",
"Due date" : "Eräpäivä",
"Description" : "Kuvaus",
"Saved" : "Tallennettu",
"Shared with you" : "Jaetu kanssasi",
"Create a new board" : "Luo uusi taulu"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/fr.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Heures",
"Minutes" : "Minutes",
"Finished" : "Terminé",
"To review" : "A réviser",
"Action needed" : "Action requise",
"Later" : "Plus tard",
"Deck" : "Deck",
"Add a new stack" : "Ajouter une nouvelle pile",
"Show archived cards" : "Afficher les cartes archivées",
"Hide archived cards" : "Masquer les cartes archivées",
"Board details" : "Détails du tableau",
"All Boards" : "Tous les tableaux",
"Archive" : "Archiver",
"Unarchive" : "Ne plus archiver",
"Delete" : "Supprimer",
"Enter a card title" : "Saisissez un titre de carte",
"Sharing" : "Partage",
"Tags" : "Étiquettes",
"Select users or groups to share with" : "Sélectionnez des utilisateurs ou des groupes avec qui partager",
"No matching user or group found." : "Aucun utilisateur ou groupe correspondant trouvé",
"Share" : "Partager",
"Edit" : "Modifier",
"Manage" : "Gérer",
"Discard share" : "Supprimer le partage",
"Create a new tag" : "Créer une nouvelle étiquette",
"Title" : "Titre",
"Members" : "Membres",
"More actions" : "Plus d'actions",
"Edit board" : "Modifier le tableau",
"Archive board" : "Archiver le tableau",
"Unarchive board" : "Ne plus archiver le tableau",
"Delete board" : "Supprimer le tableau",
"Create new board" : "Créer un nouveau tableau",
"New board title" : "Nouveau titre pour le tableau",
"Modified:" : "Modifié le :",
"Created:" : "Créé le :",
"by" : "par",
"Choose a label" : "Choisir une étiquette",
"Add a label" : "Ajouter une étiquette",
"Select labels…" : "Sélectionner des étiquettes...",
"Due date" : "Date d'échéance",
"Click to set" : "Cliquez pour définir",
"Remove due date" : "Supprimer la date d'échéance",
"Description" : "Description",
"Formatting help" : "Aide sur la mise en forme",
"Saved" : "Enregistré",
"Add a card description…" : "Ajouter une description pour la carte",
"Archived boards" : "Tableaux archivés",
"Shared boards" : "Tableaux archivés",
"Shared with you" : "Partagé avec vous",
"Move board to archive" : "Déplacer le tableau vers l'archive",
"Create a new board" : "Créer un nouveau tableau"
},
"nplurals=2; plural=(n > 1);");

55
l10n/fr.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Heures",
"Minutes" : "Minutes",
"Finished" : "Terminé",
"To review" : "A réviser",
"Action needed" : "Action requise",
"Later" : "Plus tard",
"Deck" : "Deck",
"Add a new stack" : "Ajouter une nouvelle pile",
"Show archived cards" : "Afficher les cartes archivées",
"Hide archived cards" : "Masquer les cartes archivées",
"Board details" : "Détails du tableau",
"All Boards" : "Tous les tableaux",
"Archive" : "Archiver",
"Unarchive" : "Ne plus archiver",
"Delete" : "Supprimer",
"Enter a card title" : "Saisissez un titre de carte",
"Sharing" : "Partage",
"Tags" : "Étiquettes",
"Select users or groups to share with" : "Sélectionnez des utilisateurs ou des groupes avec qui partager",
"No matching user or group found." : "Aucun utilisateur ou groupe correspondant trouvé",
"Share" : "Partager",
"Edit" : "Modifier",
"Manage" : "Gérer",
"Discard share" : "Supprimer le partage",
"Create a new tag" : "Créer une nouvelle étiquette",
"Title" : "Titre",
"Members" : "Membres",
"More actions" : "Plus d'actions",
"Edit board" : "Modifier le tableau",
"Archive board" : "Archiver le tableau",
"Unarchive board" : "Ne plus archiver le tableau",
"Delete board" : "Supprimer le tableau",
"Create new board" : "Créer un nouveau tableau",
"New board title" : "Nouveau titre pour le tableau",
"Modified:" : "Modifié le :",
"Created:" : "Créé le :",
"by" : "par",
"Choose a label" : "Choisir une étiquette",
"Add a label" : "Ajouter une étiquette",
"Select labels…" : "Sélectionner des étiquettes...",
"Due date" : "Date d'échéance",
"Click to set" : "Cliquez pour définir",
"Remove due date" : "Supprimer la date d'échéance",
"Description" : "Description",
"Formatting help" : "Aide sur la mise en forme",
"Saved" : "Enregistré",
"Add a card description…" : "Ajouter une description pour la carte",
"Archived boards" : "Tableaux archivés",
"Shared boards" : "Tableaux archivés",
"Shared with you" : "Partagé avec vous",
"Move board to archive" : "Déplacer le tableau vers l'archive",
"Create a new board" : "Créer un nouveau tableau"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

36
l10n/hr.js Normal file
View File

@@ -0,0 +1,36 @@
OC.L10N.register(
"deck",
{
"Finished" : "Završeno",
"To review" : "Provjeriti",
"Action needed" : "Potrebna radnja",
"Later" : "Kasnije",
"Deck" : "Deck",
"Show archived cards" : "Prikaži arhivirane kartice",
"Hide archived cards" : "Sakrij arhivirane kartice",
"Board details" : "Pojedinosti o ploči",
"All Boards" : "Sve ploče",
"Archive" : "Arhiviraj",
"Unarchive" : "Dearhiviraj",
"Delete" : "Izbriši",
"Enter a card title" : "Naslov kartice",
"Sharing" : "Dijeljenje",
"Select users or groups to share with" : "Podijeli s korisnicima ili grupama",
"No matching user or group found." : "Nije pronađen odgovarajući korisnik ili grupa",
"Share" : "Dijeljenje",
"Edit" : "Uređivanje",
"Manage" : "Upravljanje",
"Discard share" : "Prestani dijeliti",
"Members" : "Članovi",
"Create new board" : "Izradi novu ploču",
"New board title" : "Naslov ploče",
"Modified:" : "Promijenjena:",
"Created:" : "Stvorena:",
"by" : "od",
"Description" : "Opis",
"Saved" : "Spremljeno",
"Add a card description…" : "Dodaj opis...",
"Shared with you" : "Primljena ploča",
"Create a new board" : "Izradi novu ploču"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");

34
l10n/hr.json Normal file
View File

@@ -0,0 +1,34 @@
{ "translations": {
"Finished" : "Završeno",
"To review" : "Provjeriti",
"Action needed" : "Potrebna radnja",
"Later" : "Kasnije",
"Deck" : "Deck",
"Show archived cards" : "Prikaži arhivirane kartice",
"Hide archived cards" : "Sakrij arhivirane kartice",
"Board details" : "Pojedinosti o ploči",
"All Boards" : "Sve ploče",
"Archive" : "Arhiviraj",
"Unarchive" : "Dearhiviraj",
"Delete" : "Izbriši",
"Enter a card title" : "Naslov kartice",
"Sharing" : "Dijeljenje",
"Select users or groups to share with" : "Podijeli s korisnicima ili grupama",
"No matching user or group found." : "Nije pronađen odgovarajući korisnik ili grupa",
"Share" : "Dijeljenje",
"Edit" : "Uređivanje",
"Manage" : "Upravljanje",
"Discard share" : "Prestani dijeliti",
"Members" : "Članovi",
"Create new board" : "Izradi novu ploču",
"New board title" : "Naslov ploče",
"Modified:" : "Promijenjena:",
"Created:" : "Stvorena:",
"by" : "od",
"Description" : "Opis",
"Saved" : "Spremljeno",
"Add a card description…" : "Dodaj opis...",
"Shared with you" : "Primljena ploča",
"Create a new board" : "Izradi novu ploču"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}

23
l10n/hu.js Normal file
View File

@@ -0,0 +1,23 @@
OC.L10N.register(
"deck",
{
"Hours" : "Óra",
"Minutes" : "Perc",
"Finished" : "Kész",
"Action needed" : "Művelet szükséges",
"Later" : "Később",
"Delete" : "Törlés",
"Sharing" : "Megosztás",
"Tags" : "Címkék",
"Share" : "Megosztás",
"Edit" : "Szerkesztés",
"Manage" : "Kezelés",
"Title" : "Cím",
"Members" : "Tagok",
"More actions" : "További műveletek",
"Modified:" : "Módosítva:",
"Created:" : "Létrehozva:",
"Saved" : "Elmentve",
"Shared with you" : "Megosztva veled"
},
"nplurals=2; plural=(n != 1);");

21
l10n/hu.json Normal file
View File

@@ -0,0 +1,21 @@
{ "translations": {
"Hours" : "Óra",
"Minutes" : "Perc",
"Finished" : "Kész",
"Action needed" : "Művelet szükséges",
"Later" : "Később",
"Delete" : "Törlés",
"Sharing" : "Megosztás",
"Tags" : "Címkék",
"Share" : "Megosztás",
"Edit" : "Szerkesztés",
"Manage" : "Kezelés",
"Title" : "Cím",
"Members" : "Tagok",
"More actions" : "További műveletek",
"Modified:" : "Módosítva:",
"Created:" : "Létrehozva:",
"Saved" : "Elmentve",
"Shared with you" : "Megosztva veled"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

21
l10n/ia.js Normal file
View File

@@ -0,0 +1,21 @@
OC.L10N.register(
"deck",
{
"Finished" : "Finite",
"To review" : "A revider",
"Action needed" : "Action necessari",
"Later" : "Depost",
"Delete" : "Deler",
"Select users or groups to share with" : "Selectiona usatores o gruppos pro compartir",
"No matching user or group found." : "Nulle usator o gruppo correspondente trovate.",
"Share" : "Compartir",
"Edit" : "Modificar",
"Manage" : "Administrar",
"Members" : "Membros",
"Modified:" : "Modificate:",
"Created:" : "Create:",
"by" : "per",
"Saved" : "Salveguardate",
"Shared with you" : "Compartite con te"
},
"nplurals=2; plural=(n != 1);");

19
l10n/ia.json Normal file
View File

@@ -0,0 +1,19 @@
{ "translations": {
"Finished" : "Finite",
"To review" : "A revider",
"Action needed" : "Action necessari",
"Later" : "Depost",
"Delete" : "Deler",
"Select users or groups to share with" : "Selectiona usatores o gruppos pro compartir",
"No matching user or group found." : "Nulle usator o gruppo correspondente trovate.",
"Share" : "Compartir",
"Edit" : "Modificar",
"Manage" : "Administrar",
"Members" : "Membros",
"Modified:" : "Modificate:",
"Created:" : "Create:",
"by" : "per",
"Saved" : "Salveguardate",
"Shared with you" : "Compartite con te"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/is.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "klukkustundir",
"Minutes" : "mínútur",
"Finished" : "Lokið",
"To review" : "Til að yfirfara",
"Action needed" : "Aðgerðar krafist",
"Later" : "Seinna",
"Deck" : "Dekk",
"Add a new stack" : "Bæta við nýjum stafla",
"Show archived cards" : "Sýna spjöld í geymslu",
"Hide archived cards" : "Fela spjöld í geymslu",
"Board details" : "Nánar um borð",
"All Boards" : "Öll borð",
"Archive" : "Setja í safnskrá",
"Unarchive" : "Taka úr geymslu",
"Delete" : "Eyða",
"Enter a card title" : "Sláðu inn titil á spjald",
"Sharing" : "Deiling",
"Tags" : "Merki",
"Select users or groups to share with" : "Veldu notendur eða hópa til að deila með",
"No matching user or group found." : "Engir samsvarandi notendur eða hópar fundust.",
"Share" : "Deila",
"Edit" : "Breyta",
"Manage" : "Skipuleggja",
"Discard share" : "Henda sameign",
"Create a new tag" : "Búa til nýtt merki",
"Title" : "Titill",
"Members" : "Meðlimir",
"More actions" : "Fleiri aðgerðir",
"Edit board" : "Breyta borði",
"Archive board" : "Setja borð í geymslu",
"Unarchive board" : "Taka borð úr geymslu",
"Delete board" : "Eyða borði",
"Create new board" : "Búa til nýtt borð",
"New board title" : "Nýr titill á borð",
"Modified:" : "Breytt þann:",
"Created:" : "Búið til:",
"by" : "af",
"Choose a label" : "Veldu skýringu",
"Add a label" : "Bæta við skýringu",
"Select labels…" : "Veldu skýringar...",
"Due date" : "Skiladagur",
"Click to set" : "Smelltu til að setja",
"Remove due date" : "Fjarlægja skiladag",
"Description" : "Lýsing",
"Formatting help" : "Hjálp við að sníða",
"Saved" : "Vistað",
"Add a card description…" : "Settu inn lýsingu á spjaldi ...",
"Archived boards" : "Borð í geymslu",
"Shared boards" : "Deild borð",
"Shared with you" : "Deilt með þér",
"Move board to archive" : "Færa borð í geymslu",
"Create a new board" : "Búa til nýtt borð"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");

55
l10n/is.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "klukkustundir",
"Minutes" : "mínútur",
"Finished" : "Lokið",
"To review" : "Til að yfirfara",
"Action needed" : "Aðgerðar krafist",
"Later" : "Seinna",
"Deck" : "Dekk",
"Add a new stack" : "Bæta við nýjum stafla",
"Show archived cards" : "Sýna spjöld í geymslu",
"Hide archived cards" : "Fela spjöld í geymslu",
"Board details" : "Nánar um borð",
"All Boards" : "Öll borð",
"Archive" : "Setja í safnskrá",
"Unarchive" : "Taka úr geymslu",
"Delete" : "Eyða",
"Enter a card title" : "Sláðu inn titil á spjald",
"Sharing" : "Deiling",
"Tags" : "Merki",
"Select users or groups to share with" : "Veldu notendur eða hópa til að deila með",
"No matching user or group found." : "Engir samsvarandi notendur eða hópar fundust.",
"Share" : "Deila",
"Edit" : "Breyta",
"Manage" : "Skipuleggja",
"Discard share" : "Henda sameign",
"Create a new tag" : "Búa til nýtt merki",
"Title" : "Titill",
"Members" : "Meðlimir",
"More actions" : "Fleiri aðgerðir",
"Edit board" : "Breyta borði",
"Archive board" : "Setja borð í geymslu",
"Unarchive board" : "Taka borð úr geymslu",
"Delete board" : "Eyða borði",
"Create new board" : "Búa til nýtt borð",
"New board title" : "Nýr titill á borð",
"Modified:" : "Breytt þann:",
"Created:" : "Búið til:",
"by" : "af",
"Choose a label" : "Veldu skýringu",
"Add a label" : "Bæta við skýringu",
"Select labels…" : "Veldu skýringar...",
"Due date" : "Skiladagur",
"Click to set" : "Smelltu til að setja",
"Remove due date" : "Fjarlægja skiladag",
"Description" : "Lýsing",
"Formatting help" : "Hjálp við að sníða",
"Saved" : "Vistað",
"Add a card description…" : "Settu inn lýsingu á spjaldi ...",
"Archived boards" : "Borð í geymslu",
"Shared boards" : "Deild borð",
"Shared with you" : "Deilt með þér",
"Move board to archive" : "Færa borð í geymslu",
"Create a new board" : "Búa til nýtt borð"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
}

57
l10n/it.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Ore",
"Minutes" : "Minuti",
"Finished" : "Finito",
"To review" : "Da revisionare",
"Action needed" : "Azione necessaria",
"Later" : "Dopo",
"Deck" : "Deck",
"Add a new stack" : "Aggiungi una nuova pila",
"Show archived cards" : "Mostra le carte archiviate",
"Hide archived cards" : "Nascondi le carte archiviate",
"Board details" : "Dettaglio lavagna",
"All Boards" : "Tutte le lavagne",
"Archive" : "Archivio",
"Unarchive" : "Togli dall'archivio",
"Delete" : "Elimina",
"Enter a card title" : "Inserisci un titolo alla scheda",
"Sharing" : "Condivisione",
"Tags" : "Etichette",
"Select users or groups to share with" : "Seleziona utenti o gruppi con cui condividere",
"No matching user or group found." : "Nessun utente o gruppo trovato.",
"Share" : "Condividi",
"Edit" : "Modifica",
"Manage" : "Gestisci",
"Discard share" : "Annulla condivisione",
"Create a new tag" : "Crea una nuova etichetta",
"Title" : "Titolo",
"Members" : "Membri",
"More actions" : "Altre azioni",
"Edit board" : "Modifica lavagna",
"Archive board" : "Archivia lavagna",
"Unarchive board" : "Recupera lavagna dall'archivio",
"Delete board" : "Elimina lavagna",
"Create new board" : "Crea una nuova lavagna",
"New board title" : "Titolo nuova lavagna",
"Modified:" : "Modificato:",
"Created:" : "Creato:",
"by" : "da",
"Choose a label" : "Scegli un'etichetta",
"Add a label" : "Aggiungi un'etichetta",
"Select labels…" : "Seleziona etichette...",
"Due date" : "Data di scadenza",
"Click to set" : "Clic per impostare",
"Remove due date" : "Rimuovi data di scadenza",
"Description" : "Descrizione",
"Formatting help" : "Guida di formattazione",
"Saved" : "Salvato",
"Add a card description…" : "Aggiungi descrizione della scheda...",
"Archived boards" : "Lavagne archiviate",
"Shared boards" : "Lavagne condivise",
"Shared with you" : "Condiviso con te",
"Move board to archive" : "Sposta lavagna nell'archivio",
"Create a new board" : "Crea una nuova lavagna"
},
"nplurals=2; plural=(n != 1);");

55
l10n/it.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Ore",
"Minutes" : "Minuti",
"Finished" : "Finito",
"To review" : "Da revisionare",
"Action needed" : "Azione necessaria",
"Later" : "Dopo",
"Deck" : "Deck",
"Add a new stack" : "Aggiungi una nuova pila",
"Show archived cards" : "Mostra le carte archiviate",
"Hide archived cards" : "Nascondi le carte archiviate",
"Board details" : "Dettaglio lavagna",
"All Boards" : "Tutte le lavagne",
"Archive" : "Archivio",
"Unarchive" : "Togli dall'archivio",
"Delete" : "Elimina",
"Enter a card title" : "Inserisci un titolo alla scheda",
"Sharing" : "Condivisione",
"Tags" : "Etichette",
"Select users or groups to share with" : "Seleziona utenti o gruppi con cui condividere",
"No matching user or group found." : "Nessun utente o gruppo trovato.",
"Share" : "Condividi",
"Edit" : "Modifica",
"Manage" : "Gestisci",
"Discard share" : "Annulla condivisione",
"Create a new tag" : "Crea una nuova etichetta",
"Title" : "Titolo",
"Members" : "Membri",
"More actions" : "Altre azioni",
"Edit board" : "Modifica lavagna",
"Archive board" : "Archivia lavagna",
"Unarchive board" : "Recupera lavagna dall'archivio",
"Delete board" : "Elimina lavagna",
"Create new board" : "Crea una nuova lavagna",
"New board title" : "Titolo nuova lavagna",
"Modified:" : "Modificato:",
"Created:" : "Creato:",
"by" : "da",
"Choose a label" : "Scegli un'etichetta",
"Add a label" : "Aggiungi un'etichetta",
"Select labels…" : "Seleziona etichette...",
"Due date" : "Data di scadenza",
"Click to set" : "Clic per impostare",
"Remove due date" : "Rimuovi data di scadenza",
"Description" : "Descrizione",
"Formatting help" : "Guida di formattazione",
"Saved" : "Salvato",
"Add a card description…" : "Aggiungi descrizione della scheda...",
"Archived boards" : "Lavagne archiviate",
"Shared boards" : "Lavagne condivise",
"Shared with you" : "Condiviso con te",
"Move board to archive" : "Sposta lavagna nell'archivio",
"Create a new board" : "Crea una nuova lavagna"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

34
l10n/ko.js Normal file
View File

@@ -0,0 +1,34 @@
OC.L10N.register(
"deck",
{
"Finished" : "완료됨",
"To review" : "리뷰할 항목",
"Action needed" : "동작 필요",
"Later" : "나중에",
"Deck" : "덱",
"Show archived cards" : "보관된 카드 보기",
"Hide archived cards" : "보관된 카드 숨기기",
"Board details" : "게시판 정보",
"All Boards" : "모든 게시판",
"Archive" : "보관",
"Unarchive" : "보관 해제",
"Delete" : "삭제",
"Enter a card title" : "카드 제목 입력",
"Sharing" : "공유",
"Select users or groups to share with" : "공유할 사용자나 그룹 선택",
"No matching user or group found." : "일치하는 사용자나 그룹이 없습니다.",
"Share" : "공유",
"Edit" : "편집",
"Manage" : "관리",
"Discard share" : "공유 무시",
"Members" : "구성원",
"Create new board" : "새 게시판 만들기",
"New board title" : "새 게시판 제목",
"Modified:" : "수정한 날짜:",
"Created:" : "만든 날짜:",
"by" : "by",
"Saved" : "저장됨",
"Shared with you" : "내게 공유됨",
"Create a new board" : "새 게시판 만들기"
},
"nplurals=1; plural=0;");

32
l10n/ko.json Normal file
View File

@@ -0,0 +1,32 @@
{ "translations": {
"Finished" : "완료됨",
"To review" : "리뷰할 항목",
"Action needed" : "동작 필요",
"Later" : "나중에",
"Deck" : "덱",
"Show archived cards" : "보관된 카드 보기",
"Hide archived cards" : "보관된 카드 숨기기",
"Board details" : "게시판 정보",
"All Boards" : "모든 게시판",
"Archive" : "보관",
"Unarchive" : "보관 해제",
"Delete" : "삭제",
"Enter a card title" : "카드 제목 입력",
"Sharing" : "공유",
"Select users or groups to share with" : "공유할 사용자나 그룹 선택",
"No matching user or group found." : "일치하는 사용자나 그룹이 없습니다.",
"Share" : "공유",
"Edit" : "편집",
"Manage" : "관리",
"Discard share" : "공유 무시",
"Members" : "구성원",
"Create new board" : "새 게시판 만들기",
"New board title" : "새 게시판 제목",
"Modified:" : "수정한 날짜:",
"Created:" : "만든 날짜:",
"by" : "by",
"Saved" : "저장됨",
"Shared with you" : "내게 공유됨",
"Create a new board" : "새 게시판 만들기"
},"pluralForm" :"nplurals=1; plural=0;"
}

57
l10n/lt_LT.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Valandos",
"Minutes" : "Minutės",
"Finished" : "Baigta",
"To review" : "Peržiūrėti",
"Action needed" : "Reikalingas veiksmas",
"Later" : "Vėliau",
"Deck" : "Užduočių saugykla",
"Add a new stack" : "Pridėti naują skiltį",
"Show archived cards" : "Rodyti archyvuotus elementus",
"Hide archived cards" : "Paslėpti archyvuotus elementus",
"Board details" : "Detalesnė informacija",
"All Boards" : "Visi užduočių sąrašai",
"Archive" : "Archyvuoti",
"Unarchive" : "Išskleisti",
"Delete" : "Ištrinti",
"Enter a card title" : "Įveskite kortelės vardą",
"Sharing" : "Bendrinimas",
"Tags" : "Žymės",
"Select users or groups to share with" : "Pasirinkti naudotojus ar naudotojų grupes bendrinimui",
"No matching user or group found." : "Nerasta vartotojų ir grupių",
"Share" : "Dalintis",
"Edit" : "Taisyti",
"Manage" : "Redaguoti",
"Discard share" : "Atšaukti dalinimąsi",
"Create a new tag" : "Sukurti naują žymę",
"Title" : "Pavadinimas",
"Members" : "Nariai",
"More actions" : "Daugiau veiksmų",
"Edit board" : "Taisyti sąrašą",
"Archive board" : "Archyvuoti sąrašą",
"Unarchive board" : "Išskleisti sąrašą",
"Delete board" : "Pašalinti sąrašą",
"Create new board" : "Sukurti naują sąrašą",
"New board title" : "Naujas sąrašo vardas",
"Modified:" : "Keitimo laikas:",
"Created:" : "Sukūrimo laikas:",
"by" : " ",
"Choose a label" : "Pasirinkite apibūdinimą",
"Add a label" : "Pridėti apibūdinimą",
"Select labels…" : "Pasirinkti apibūdinimus...",
"Due date" : "Terminas",
"Click to set" : "Spustelėkite pakeitimams atlikti",
"Remove due date" : "Pašalinti terminą",
"Description" : "Aprašas",
"Formatting help" : "Formatavimo pagalba",
"Saved" : "Įrašyta",
"Add a card description…" : "Pridėti elemento apibūdinimą...",
"Archived boards" : "Archyvuoti sąrašai",
"Shared boards" : "Bendrinami sąrašai",
"Shared with you" : "Bendrinama su jumis",
"Move board to archive" : "Perkelti sąrašą į archyvą",
"Create a new board" : "Sukurti naują sąrašą"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");

55
l10n/lt_LT.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Valandos",
"Minutes" : "Minutės",
"Finished" : "Baigta",
"To review" : "Peržiūrėti",
"Action needed" : "Reikalingas veiksmas",
"Later" : "Vėliau",
"Deck" : "Užduočių saugykla",
"Add a new stack" : "Pridėti naują skiltį",
"Show archived cards" : "Rodyti archyvuotus elementus",
"Hide archived cards" : "Paslėpti archyvuotus elementus",
"Board details" : "Detalesnė informacija",
"All Boards" : "Visi užduočių sąrašai",
"Archive" : "Archyvuoti",
"Unarchive" : "Išskleisti",
"Delete" : "Ištrinti",
"Enter a card title" : "Įveskite kortelės vardą",
"Sharing" : "Bendrinimas",
"Tags" : "Žymės",
"Select users or groups to share with" : "Pasirinkti naudotojus ar naudotojų grupes bendrinimui",
"No matching user or group found." : "Nerasta vartotojų ir grupių",
"Share" : "Dalintis",
"Edit" : "Taisyti",
"Manage" : "Redaguoti",
"Discard share" : "Atšaukti dalinimąsi",
"Create a new tag" : "Sukurti naują žymę",
"Title" : "Pavadinimas",
"Members" : "Nariai",
"More actions" : "Daugiau veiksmų",
"Edit board" : "Taisyti sąrašą",
"Archive board" : "Archyvuoti sąrašą",
"Unarchive board" : "Išskleisti sąrašą",
"Delete board" : "Pašalinti sąrašą",
"Create new board" : "Sukurti naują sąrašą",
"New board title" : "Naujas sąrašo vardas",
"Modified:" : "Keitimo laikas:",
"Created:" : "Sukūrimo laikas:",
"by" : " ",
"Choose a label" : "Pasirinkite apibūdinimą",
"Add a label" : "Pridėti apibūdinimą",
"Select labels…" : "Pasirinkti apibūdinimus...",
"Due date" : "Terminas",
"Click to set" : "Spustelėkite pakeitimams atlikti",
"Remove due date" : "Pašalinti terminą",
"Description" : "Aprašas",
"Formatting help" : "Formatavimo pagalba",
"Saved" : "Įrašyta",
"Add a card description…" : "Pridėti elemento apibūdinimą...",
"Archived boards" : "Archyvuoti sąrašai",
"Shared boards" : "Bendrinami sąrašai",
"Shared with you" : "Bendrinama su jumis",
"Move board to archive" : "Perkelti sąrašą į archyvą",
"Create a new board" : "Sukurti naują sąrašą"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
}

24
l10n/lv.js Normal file
View File

@@ -0,0 +1,24 @@
OC.L10N.register(
"deck",
{
"Hours" : "Stundas",
"Minutes" : "Minūtes",
"Finished" : "Pabeigts",
"Later" : "Vēlāk",
"Show archived cards" : "Rādīt arhivētās kartes",
"Hide archived cards" : "Slēpt arhivētās kartes",
"Archive" : "Arhīvi",
"Delete" : "Dzēst",
"Enter a card title" : "Ievadiet kartes nosaukumu",
"Sharing" : "Koplietošana",
"Select users or groups to share with" : "Atlasiet lietotājus vai grupas ar kuriem koplietot",
"Share" : "Koplietot",
"Edit" : "Rediģēt",
"Discard share" : "Atcelt koplietošanu",
"Members" : "Biedri",
"Modified:" : "Modificēta:",
"Created:" : "Izveidota:",
"Saved" : "Saglabāts",
"Shared with you" : "Koplietots ar tevi"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");

22
l10n/lv.json Normal file
View File

@@ -0,0 +1,22 @@
{ "translations": {
"Hours" : "Stundas",
"Minutes" : "Minūtes",
"Finished" : "Pabeigts",
"Later" : "Vēlāk",
"Show archived cards" : "Rādīt arhivētās kartes",
"Hide archived cards" : "Slēpt arhivētās kartes",
"Archive" : "Arhīvi",
"Delete" : "Dzēst",
"Enter a card title" : "Ievadiet kartes nosaukumu",
"Sharing" : "Koplietošana",
"Select users or groups to share with" : "Atlasiet lietotājus vai grupas ar kuriem koplietot",
"Share" : "Koplietot",
"Edit" : "Rediģēt",
"Discard share" : "Atcelt koplietošanu",
"Members" : "Biedri",
"Modified:" : "Modificēta:",
"Created:" : "Izveidota:",
"Saved" : "Saglabāts",
"Shared with you" : "Koplietots ar tevi"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
}

30
l10n/mn.js Normal file
View File

@@ -0,0 +1,30 @@
OC.L10N.register(
"deck",
{
"Finished" : "Дуусгасан",
"To review" : "Дахин хянах",
"Action needed" : "Үйлдэл шаардлагатай",
"Later" : "Хойшлуулах",
"Deck" : "Ажлын талбар",
"Show archived cards" : "Архивлагдсан картуудыг харах",
"Hide archived cards" : "Архивлагдсан картуудыг нуух",
"Archive" : "Архивлах",
"Unarchive" : "Архиваас гаргах",
"Delete" : "Устгах",
"Enter a card title" : "Картын нэр оруулах",
"Sharing" : "Түгээх",
"Select users or groups to share with" : "Түгээх хэрэглэгч, бүлэг сонгоно уу",
"No matching user or group found." : "Тохирох бүлэг эсвэл хэрэглэгч олдохгүй байна.",
"Share" : "Түгээх",
"Edit" : "Засварлах",
"Manage" : "Зохицуулах",
"Discard share" : "Түгээлтийг хүчингүй болгох",
"Members" : "Гишүүд",
"Modified:" : "Өөрчлөгдсөн:",
"Created:" : "Үүсгэсэн:",
"Description" : "Тайлбар",
"Saved" : "Хадгалсан",
"Add a card description…" : "Картын тайлбар...",
"Shared with you" : "Танд түгээсэн"
},
"nplurals=2; plural=(n != 1);");

28
l10n/mn.json Normal file
View File

@@ -0,0 +1,28 @@
{ "translations": {
"Finished" : "Дуусгасан",
"To review" : "Дахин хянах",
"Action needed" : "Үйлдэл шаардлагатай",
"Later" : "Хойшлуулах",
"Deck" : "Ажлын талбар",
"Show archived cards" : "Архивлагдсан картуудыг харах",
"Hide archived cards" : "Архивлагдсан картуудыг нуух",
"Archive" : "Архивлах",
"Unarchive" : "Архиваас гаргах",
"Delete" : "Устгах",
"Enter a card title" : "Картын нэр оруулах",
"Sharing" : "Түгээх",
"Select users or groups to share with" : "Түгээх хэрэглэгч, бүлэг сонгоно уу",
"No matching user or group found." : "Тохирох бүлэг эсвэл хэрэглэгч олдохгүй байна.",
"Share" : "Түгээх",
"Edit" : "Засварлах",
"Manage" : "Зохицуулах",
"Discard share" : "Түгээлтийг хүчингүй болгох",
"Members" : "Гишүүд",
"Modified:" : "Өөрчлөгдсөн:",
"Created:" : "Үүсгэсэн:",
"Description" : "Тайлбар",
"Saved" : "Хадгалсан",
"Add a card description…" : "Картын тайлбар...",
"Shared with you" : "Танд түгээсэн"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/nb.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Timer",
"Minutes" : "Minutter",
"Finished" : "Fullført",
"To review" : "Til gjennomlesning",
"Action needed" : "Handling påkrevd",
"Later" : "Senere",
"Deck" : "Stokk",
"Add a new stack" : "Legg til ny stabel",
"Show archived cards" : "Vis arkiverkte kort",
"Hide archived cards" : "Skjul arkiverte kort",
"Board details" : "Bordetaljer",
"All Boards" : "Alle bord",
"Archive" : "Arkiv",
"Unarchive" : "Dearkivere",
"Delete" : "Slett",
"Enter a card title" : "Skriv inn en kort tittel",
"Sharing" : "Deling",
"Tags" : "Merkelapper",
"Select users or groups to share with" : "Velg brukere og grupper du vil dele med",
"No matching user or group found." : "Ingen treff på bruker eller gruppe.",
"Share" : "Del",
"Edit" : "Rediger",
"Manage" : "Håndtere",
"Discard share" : "Fjern deling",
"Create a new tag" : "Lag en ny merkelapp",
"Title" : "Tittel",
"Members" : "Medlemmer",
"More actions" : "Flere handlinger",
"Edit board" : "Rediger bord",
"Archive board" : "Arkiver bord",
"Unarchive board" : "Avarkiver bord",
"Delete board" : "Slett bord",
"Create new board" : "Opprett et nytt bord",
"New board title" : "Ny seksjonstittel",
"Modified:" : "Endret:",
"Created:" : "Opprettet:",
"by" : "av",
"Choose a label" : "Velg en etikett",
"Add a label" : "Legg til en etikett",
"Select labels…" : "Velg etiketter…",
"Due date" : "Forfallsdato",
"Click to set" : "Klikk for å sette",
"Remove due date" : "Fjern forfallsdato",
"Description" : "Beskrivelse",
"Formatting help" : "Formateringshjelp",
"Saved" : "Lagret",
"Add a card description…" : "Legg til en kortbeskrivelse…",
"Archived boards" : "Akriverte bord",
"Shared boards" : "Delte bord",
"Shared with you" : "Delt med deg",
"Move board to archive" : "Flytt bord til arkiv",
"Create a new board" : "Opprett et nytt bord"
},
"nplurals=2; plural=(n != 1);");

55
l10n/nb.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Timer",
"Minutes" : "Minutter",
"Finished" : "Fullført",
"To review" : "Til gjennomlesning",
"Action needed" : "Handling påkrevd",
"Later" : "Senere",
"Deck" : "Stokk",
"Add a new stack" : "Legg til ny stabel",
"Show archived cards" : "Vis arkiverkte kort",
"Hide archived cards" : "Skjul arkiverte kort",
"Board details" : "Bordetaljer",
"All Boards" : "Alle bord",
"Archive" : "Arkiv",
"Unarchive" : "Dearkivere",
"Delete" : "Slett",
"Enter a card title" : "Skriv inn en kort tittel",
"Sharing" : "Deling",
"Tags" : "Merkelapper",
"Select users or groups to share with" : "Velg brukere og grupper du vil dele med",
"No matching user or group found." : "Ingen treff på bruker eller gruppe.",
"Share" : "Del",
"Edit" : "Rediger",
"Manage" : "Håndtere",
"Discard share" : "Fjern deling",
"Create a new tag" : "Lag en ny merkelapp",
"Title" : "Tittel",
"Members" : "Medlemmer",
"More actions" : "Flere handlinger",
"Edit board" : "Rediger bord",
"Archive board" : "Arkiver bord",
"Unarchive board" : "Avarkiver bord",
"Delete board" : "Slett bord",
"Create new board" : "Opprett et nytt bord",
"New board title" : "Ny seksjonstittel",
"Modified:" : "Endret:",
"Created:" : "Opprettet:",
"by" : "av",
"Choose a label" : "Velg en etikett",
"Add a label" : "Legg til en etikett",
"Select labels…" : "Velg etiketter…",
"Due date" : "Forfallsdato",
"Click to set" : "Klikk for å sette",
"Remove due date" : "Fjern forfallsdato",
"Description" : "Beskrivelse",
"Formatting help" : "Formateringshjelp",
"Saved" : "Lagret",
"Add a card description…" : "Legg til en kortbeskrivelse…",
"Archived boards" : "Akriverte bord",
"Shared boards" : "Delte bord",
"Shared with you" : "Delt med deg",
"Move board to archive" : "Flytt bord til arkiv",
"Create a new board" : "Opprett et nytt bord"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/nl.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Uur",
"Minutes" : "Minutes",
"Finished" : "Afgerond",
"To review" : "Beoordelen",
"Action needed" : "Actie benodigd",
"Later" : "Later",
"Deck" : "Deck",
"Add a new stack" : "Nieuwe stapel toevoegen",
"Show archived cards" : "Gearchiveerde kaarten weergeven",
"Hide archived cards" : "Gearchiveerde kaarten verbergen",
"Board details" : "Bord details",
"All Boards" : "Alle borden",
"Archive" : "Archiveer",
"Unarchive" : "Terugzetten uit archief",
"Delete" : "Verwijderen",
"Enter a card title" : "Kaart titel toevoegen",
"Sharing" : "Delen",
"Tags" : "Labels",
"Select users or groups to share with" : "Gebruikers of groepen selecteren om te delen",
"No matching user or group found." : "Geen passende gebruiker of groep gevonden",
"Share" : "Delen",
"Edit" : "Bewerken",
"Manage" : "Beheren",
"Discard share" : "Delen uitzetten",
"Create a new tag" : "Nieuwe label maken",
"Title" : "Titel",
"Members" : "Leden",
"More actions" : "Meer acties",
"Edit board" : "Bewerk plank",
"Archive board" : "Archiveer plank",
"Unarchive board" : "De-archiveer plank",
"Delete board" : "Verwijder plank",
"Create new board" : "Nieuw bord maken",
"New board title" : "Nieuwe bord titel",
"Modified:" : "Bewerkt:",
"Created:" : "Gemaakt:",
"by" : "door",
"Choose a label" : "Label kiezen",
"Add a label" : "Label toevoegen",
"Select labels…" : "Labels selecteren...",
"Due date" : "Vervaldatum",
"Click to set" : "Klik om in te stellen",
"Remove due date" : "Verwijder vervaldatum",
"Description" : "Beschrijving",
"Formatting help" : "formatteringshulp",
"Saved" : "Opgeslagen",
"Add a card description…" : "Voeg een kaartbeschrijving toe...",
"Archived boards" : "Gearchiveerde planken",
"Shared boards" : "Gedeelde borden",
"Shared with you" : "Deel met jou",
"Move board to archive" : "Verplaats plank naar archief",
"Create a new board" : "Een nieuw bord maken"
},
"nplurals=2; plural=(n != 1);");

55
l10n/nl.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Uur",
"Minutes" : "Minutes",
"Finished" : "Afgerond",
"To review" : "Beoordelen",
"Action needed" : "Actie benodigd",
"Later" : "Later",
"Deck" : "Deck",
"Add a new stack" : "Nieuwe stapel toevoegen",
"Show archived cards" : "Gearchiveerde kaarten weergeven",
"Hide archived cards" : "Gearchiveerde kaarten verbergen",
"Board details" : "Bord details",
"All Boards" : "Alle borden",
"Archive" : "Archiveer",
"Unarchive" : "Terugzetten uit archief",
"Delete" : "Verwijderen",
"Enter a card title" : "Kaart titel toevoegen",
"Sharing" : "Delen",
"Tags" : "Labels",
"Select users or groups to share with" : "Gebruikers of groepen selecteren om te delen",
"No matching user or group found." : "Geen passende gebruiker of groep gevonden",
"Share" : "Delen",
"Edit" : "Bewerken",
"Manage" : "Beheren",
"Discard share" : "Delen uitzetten",
"Create a new tag" : "Nieuwe label maken",
"Title" : "Titel",
"Members" : "Leden",
"More actions" : "Meer acties",
"Edit board" : "Bewerk plank",
"Archive board" : "Archiveer plank",
"Unarchive board" : "De-archiveer plank",
"Delete board" : "Verwijder plank",
"Create new board" : "Nieuw bord maken",
"New board title" : "Nieuwe bord titel",
"Modified:" : "Bewerkt:",
"Created:" : "Gemaakt:",
"by" : "door",
"Choose a label" : "Label kiezen",
"Add a label" : "Label toevoegen",
"Select labels…" : "Labels selecteren...",
"Due date" : "Vervaldatum",
"Click to set" : "Klik om in te stellen",
"Remove due date" : "Verwijder vervaldatum",
"Description" : "Beschrijving",
"Formatting help" : "formatteringshulp",
"Saved" : "Opgeslagen",
"Add a card description…" : "Voeg een kaartbeschrijving toe...",
"Archived boards" : "Gearchiveerde planken",
"Shared boards" : "Gedeelde borden",
"Shared with you" : "Deel met jou",
"Move board to archive" : "Verplaats plank naar archief",
"Create a new board" : "Een nieuw bord maken"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/pl.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Godzin",
"Minutes" : "Minut",
"Finished" : "Ukończone",
"To review" : "Do sprawdzenia",
"Action needed" : "Wymagające akcji",
"Later" : "Później",
"Deck" : "Deck",
"Add a new stack" : "Dodaj nowy stos",
"Show archived cards" : "Pokaż zarchiwizowane karty",
"Hide archived cards" : "Ukryj zarchiwizowane karty",
"Board details" : "Szczegóły tablicy",
"All Boards" : "Tablice",
"Archive" : "Archiwizuj",
"Unarchive" : "Nie archiwizuj",
"Delete" : "Usuń",
"Enter a card title" : "Wprowadź tytuł karty",
"Sharing" : "Współdzielenie",
"Tags" : "Tagi",
"Select users or groups to share with" : "Wybierz użytkowników lub grupy, żeby współdzielić z nimi",
"No matching user or group found." : "Nie znaleziono pasujących użytkowników lub grup",
"Share" : "Współdziel",
"Edit" : "Edycja",
"Manage" : "Zarządzanie",
"Discard share" : "Usuń współdzielenie",
"Create a new tag" : "Utwórz nowy tag",
"Title" : "Tytuł",
"Members" : "Członkowie",
"More actions" : "Więcej akcji",
"Edit board" : "Edytuj tablicę",
"Archive board" : "Zarchiwizuj tablicę",
"Unarchive board" : "Przywróć tablicę",
"Delete board" : "Usuń tablicę",
"Create new board" : "Utwórz nową tablicę",
"New board title" : "Tytuł nowej tablicy",
"Modified:" : "Zmodyfikowano:",
"Created:" : "Utworzono:",
"by" : "przez",
"Choose a label" : "Wybierz tag",
"Add a label" : "Dodaj tag",
"Select labels…" : "Wybierz tagi...",
"Due date" : "Data realizacji",
"Click to set" : "Kliknij by ustawić",
"Remove due date" : "Usuń datę realizacji",
"Description" : "Opis",
"Formatting help" : "Pomoc przy formatowaniu",
"Saved" : "Zapisano",
"Add a card description…" : "Dodaj opis karty",
"Archived boards" : "Zarchiwizowane tablice",
"Shared boards" : "Tablice współdzielone",
"Shared with you" : "Współdzielone z tobą",
"Move board to archive" : "Przesuń tablicę do archiwum",
"Create a new board" : "Utwórz nową tablicę"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");

55
l10n/pl.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Godzin",
"Minutes" : "Minut",
"Finished" : "Ukończone",
"To review" : "Do sprawdzenia",
"Action needed" : "Wymagające akcji",
"Later" : "Później",
"Deck" : "Deck",
"Add a new stack" : "Dodaj nowy stos",
"Show archived cards" : "Pokaż zarchiwizowane karty",
"Hide archived cards" : "Ukryj zarchiwizowane karty",
"Board details" : "Szczegóły tablicy",
"All Boards" : "Tablice",
"Archive" : "Archiwizuj",
"Unarchive" : "Nie archiwizuj",
"Delete" : "Usuń",
"Enter a card title" : "Wprowadź tytuł karty",
"Sharing" : "Współdzielenie",
"Tags" : "Tagi",
"Select users or groups to share with" : "Wybierz użytkowników lub grupy, żeby współdzielić z nimi",
"No matching user or group found." : "Nie znaleziono pasujących użytkowników lub grup",
"Share" : "Współdziel",
"Edit" : "Edycja",
"Manage" : "Zarządzanie",
"Discard share" : "Usuń współdzielenie",
"Create a new tag" : "Utwórz nowy tag",
"Title" : "Tytuł",
"Members" : "Członkowie",
"More actions" : "Więcej akcji",
"Edit board" : "Edytuj tablicę",
"Archive board" : "Zarchiwizuj tablicę",
"Unarchive board" : "Przywróć tablicę",
"Delete board" : "Usuń tablicę",
"Create new board" : "Utwórz nową tablicę",
"New board title" : "Tytuł nowej tablicy",
"Modified:" : "Zmodyfikowano:",
"Created:" : "Utworzono:",
"by" : "przez",
"Choose a label" : "Wybierz tag",
"Add a label" : "Dodaj tag",
"Select labels…" : "Wybierz tagi...",
"Due date" : "Data realizacji",
"Click to set" : "Kliknij by ustawić",
"Remove due date" : "Usuń datę realizacji",
"Description" : "Opis",
"Formatting help" : "Pomoc przy formatowaniu",
"Saved" : "Zapisano",
"Add a card description…" : "Dodaj opis karty",
"Archived boards" : "Zarchiwizowane tablice",
"Shared boards" : "Tablice współdzielone",
"Shared with you" : "Współdzielone z tobą",
"Move board to archive" : "Przesuń tablicę do archiwum",
"Create a new board" : "Utwórz nową tablicę"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
}

57
l10n/pt_BR.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Horas",
"Minutes" : "Minutos",
"Finished" : "Terminado",
"To review" : "Para revisão",
"Action needed" : "Ação necessária",
"Later" : "Depois",
"Deck" : "Deck",
"Add a new stack" : "Adicionar uma nova pilha",
"Show archived cards" : "Mostrar cartões arquivados",
"Hide archived cards" : "Ocultar cartões arquivados",
"Board details" : "Detalhes do painel",
"All Boards" : "Todos os paineis",
"Archive" : "Arquivar",
"Unarchive" : "Desarquivar",
"Delete" : "Excluir",
"Enter a card title" : "Digite um título de cartão",
"Sharing" : "Compartilhar",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar",
"No matching user or group found." : "Usuário ou grupo não encontrado.",
"Share" : "Compartilhar",
"Edit" : "Editar",
"Manage" : "Gerenciar",
"Discard share" : "Descartar compartilhamento",
"Create a new tag" : "Criar uma nova etiqueta",
"Title" : "Título",
"Members" : "Membros",
"More actions" : "Mais ações",
"Edit board" : "Editar painel",
"Archive board" : "Arquivar painel",
"Unarchive board" : "Desarquivar painel",
"Delete board" : "Excluir painel",
"Create new board" : "Criar novo painel",
"New board title" : "Título do novo painel",
"Modified:" : "Modificado:",
"Created:" : "Criado:",
"by" : "por",
"Choose a label" : "Escolher um rótulo",
"Add a label" : "Adicionar um rótulo",
"Select labels…" : "Selecionar rótulos...",
"Due date" : "Data devida",
"Click to set" : "Clique para setar",
"Remove due date" : "Remover devido à data",
"Description" : "Descrição",
"Formatting help" : "Formatando ajuda",
"Saved" : "Salvo",
"Add a card description…" : "Adicionar uma descrição para o cartão...",
"Archived boards" : "Painéis arquivados",
"Shared boards" : "Painéis compartilhados",
"Shared with you" : "Compartilhado com você",
"Move board to archive" : "Mover painel para o arquivo",
"Create a new board" : "Criar um novo painel"
},
"nplurals=2; plural=(n > 1);");

55
l10n/pt_BR.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Horas",
"Minutes" : "Minutos",
"Finished" : "Terminado",
"To review" : "Para revisão",
"Action needed" : "Ação necessária",
"Later" : "Depois",
"Deck" : "Deck",
"Add a new stack" : "Adicionar uma nova pilha",
"Show archived cards" : "Mostrar cartões arquivados",
"Hide archived cards" : "Ocultar cartões arquivados",
"Board details" : "Detalhes do painel",
"All Boards" : "Todos os paineis",
"Archive" : "Arquivar",
"Unarchive" : "Desarquivar",
"Delete" : "Excluir",
"Enter a card title" : "Digite um título de cartão",
"Sharing" : "Compartilhar",
"Tags" : "Etiquetas",
"Select users or groups to share with" : "Selecionar usuários ou grupos para compartilhar",
"No matching user or group found." : "Usuário ou grupo não encontrado.",
"Share" : "Compartilhar",
"Edit" : "Editar",
"Manage" : "Gerenciar",
"Discard share" : "Descartar compartilhamento",
"Create a new tag" : "Criar uma nova etiqueta",
"Title" : "Título",
"Members" : "Membros",
"More actions" : "Mais ações",
"Edit board" : "Editar painel",
"Archive board" : "Arquivar painel",
"Unarchive board" : "Desarquivar painel",
"Delete board" : "Excluir painel",
"Create new board" : "Criar novo painel",
"New board title" : "Título do novo painel",
"Modified:" : "Modificado:",
"Created:" : "Criado:",
"by" : "por",
"Choose a label" : "Escolher um rótulo",
"Add a label" : "Adicionar um rótulo",
"Select labels…" : "Selecionar rótulos...",
"Due date" : "Data devida",
"Click to set" : "Clique para setar",
"Remove due date" : "Remover devido à data",
"Description" : "Descrição",
"Formatting help" : "Formatando ajuda",
"Saved" : "Salvo",
"Add a card description…" : "Adicionar uma descrição para o cartão...",
"Archived boards" : "Painéis arquivados",
"Shared boards" : "Painéis compartilhados",
"Shared with you" : "Compartilhado com você",
"Move board to archive" : "Mover painel para o arquivo",
"Create a new board" : "Criar um novo painel"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

57
l10n/ru.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Часы",
"Minutes" : "Минуты",
"Finished" : "Завершено",
"To review" : "Просмотреть",
"Action needed" : "Требуется действие",
"Later" : "Позже",
"Deck" : "Deck",
"Add a new stack" : "Создать новую стопку",
"Show archived cards" : "Показать архивные карточки",
"Hide archived cards" : "Скрыть архивные карточки",
"Board details" : "Подробности доски",
"All Boards" : "Все доски",
"Archive" : "Архивировать",
"Unarchive" : "Разархивировать",
"Delete" : "Удалить",
"Enter a card title" : "Введите заголовок карточки",
"Sharing" : "Общий доступ",
"Tags" : "Метки",
"Select users or groups to share with" : "Поделиться с пользователями или группами",
"No matching user or group found." : "Соответствующей группы или пользователей не найдено",
"Share" : "Поделиться",
"Edit" : "Редактировать",
"Manage" : "Управлять",
"Discard share" : "Отказаться от предложения общего доступа",
"Create a new tag" : "Создать новую метку",
"Title" : "Заголовок",
"Members" : "Участники",
"More actions" : "Ещё действия",
"Edit board" : "Править доску",
"Archive board" : "Архивировать доску",
"Unarchive board" : "Разархивировать доску",
"Delete board" : "Удалить доску",
"Create new board" : "Создать новую доску",
"New board title" : "Заголовок новой доски",
"Modified:" : "Изменён:",
"Created:" : "Создан:",
"by" : "автор",
"Choose a label" : "Выберите метку",
"Add a label" : "Добавить метку",
"Select labels…" : "Выберите метки…",
"Due date" : "По дату",
"Click to set" : "Нажмите для установки",
"Remove due date" : "Удалить срок исполнения",
"Description" : "Описание",
"Formatting help" : "Справка по форматированию",
"Saved" : "Сохранено",
"Add a card description…" : "Добавить описание карточки…",
"Archived boards" : "Архив досок",
"Shared boards" : "Общие доски",
"Shared with you" : "Поделились с вами",
"Move board to archive" : "Переместить доску в архив",
"Create a new board" : "Создать новую доску"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");

55
l10n/ru.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Часы",
"Minutes" : "Минуты",
"Finished" : "Завершено",
"To review" : "Просмотреть",
"Action needed" : "Требуется действие",
"Later" : "Позже",
"Deck" : "Deck",
"Add a new stack" : "Создать новую стопку",
"Show archived cards" : "Показать архивные карточки",
"Hide archived cards" : "Скрыть архивные карточки",
"Board details" : "Подробности доски",
"All Boards" : "Все доски",
"Archive" : "Архивировать",
"Unarchive" : "Разархивировать",
"Delete" : "Удалить",
"Enter a card title" : "Введите заголовок карточки",
"Sharing" : "Общий доступ",
"Tags" : "Метки",
"Select users or groups to share with" : "Поделиться с пользователями или группами",
"No matching user or group found." : "Соответствующей группы или пользователей не найдено",
"Share" : "Поделиться",
"Edit" : "Редактировать",
"Manage" : "Управлять",
"Discard share" : "Отказаться от предложения общего доступа",
"Create a new tag" : "Создать новую метку",
"Title" : "Заголовок",
"Members" : "Участники",
"More actions" : "Ещё действия",
"Edit board" : "Править доску",
"Archive board" : "Архивировать доску",
"Unarchive board" : "Разархивировать доску",
"Delete board" : "Удалить доску",
"Create new board" : "Создать новую доску",
"New board title" : "Заголовок новой доски",
"Modified:" : "Изменён:",
"Created:" : "Создан:",
"by" : "автор",
"Choose a label" : "Выберите метку",
"Add a label" : "Добавить метку",
"Select labels…" : "Выберите метки…",
"Due date" : "По дату",
"Click to set" : "Нажмите для установки",
"Remove due date" : "Удалить срок исполнения",
"Description" : "Описание",
"Formatting help" : "Справка по форматированию",
"Saved" : "Сохранено",
"Add a card description…" : "Добавить описание карточки…",
"Archived boards" : "Архив досок",
"Shared boards" : "Общие доски",
"Shared with you" : "Поделились с вами",
"Move board to archive" : "Переместить доску в архив",
"Create a new board" : "Создать новую доску"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
}

57
l10n/sk.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Hodín",
"Minutes" : "Minút",
"Finished" : "Ukončené",
"To review" : "Na posúdenie",
"Action needed" : "Potrebná akcia",
"Later" : "Neskôr",
"Deck" : "Tabuľa",
"Add a new stack" : "Pridať nový stoh",
"Show archived cards" : "Zobraziť archivované karty",
"Hide archived cards" : "Skryť archivované karty",
"Board details" : "Podrobnosti tabule",
"All Boards" : "Všetky tabule",
"Archive" : "Archivovať",
"Unarchive" : "Vybrať z archívu",
"Delete" : "Zmazať",
"Enter a card title" : "Zmeniť názov karty",
"Sharing" : "Sprístupnenie",
"Tags" : "Štítky",
"Select users or groups to share with" : "Vyberte používateľov albo skupiny pre sprístupnenie",
"No matching user or group found." : "Neboli nájdení vyhovujúci používatelia alebo skupiny.",
"Share" : "Sprístupniť",
"Edit" : "Upraviť",
"Manage" : "Spravovať",
"Discard share" : "Zrušiť sprístupnenie",
"Create a new tag" : "Vytvoriť nový štítok",
"Title" : "Názov",
"Members" : "Členovia",
"More actions" : "Viac akcií",
"Edit board" : "Upraviť tabuľu",
"Archive board" : "Archivovať tabuľu",
"Unarchive board" : "Vybrať tabuľu z archívu",
"Delete board" : "Zmazať tabuľu",
"Create new board" : "Vytvoriť novú tabuľu",
"New board title" : "Názov novej tabule",
"Modified:" : "Upravené:",
"Created:" : "Vytvorené:",
"by" : "-",
"Choose a label" : "Vybrať značku",
"Add a label" : "Pridať značku",
"Select labels…" : "Vybrať značky...",
"Due date" : "Do dátumu",
"Click to set" : "Kliknite pre nastavenie",
"Remove due date" : "Odstrániť do dátumu",
"Description" : "Popis",
"Formatting help" : "Pomoc pri formátovaní",
"Saved" : "Uložené",
"Add a card description…" : "Pridať popis karty...",
"Archived boards" : "Archivované tabule",
"Shared boards" : "Sprístupnené tabule",
"Shared with you" : "Sprístupnené vám",
"Move board to archive" : "Presunúť tabuľu do archívu",
"Create a new board" : "Vytvoriť novú tabuľu"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");

55
l10n/sk.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Hodín",
"Minutes" : "Minút",
"Finished" : "Ukončené",
"To review" : "Na posúdenie",
"Action needed" : "Potrebná akcia",
"Later" : "Neskôr",
"Deck" : "Tabuľa",
"Add a new stack" : "Pridať nový stoh",
"Show archived cards" : "Zobraziť archivované karty",
"Hide archived cards" : "Skryť archivované karty",
"Board details" : "Podrobnosti tabule",
"All Boards" : "Všetky tabule",
"Archive" : "Archivovať",
"Unarchive" : "Vybrať z archívu",
"Delete" : "Zmazať",
"Enter a card title" : "Zmeniť názov karty",
"Sharing" : "Sprístupnenie",
"Tags" : "Štítky",
"Select users or groups to share with" : "Vyberte používateľov albo skupiny pre sprístupnenie",
"No matching user or group found." : "Neboli nájdení vyhovujúci používatelia alebo skupiny.",
"Share" : "Sprístupniť",
"Edit" : "Upraviť",
"Manage" : "Spravovať",
"Discard share" : "Zrušiť sprístupnenie",
"Create a new tag" : "Vytvoriť nový štítok",
"Title" : "Názov",
"Members" : "Členovia",
"More actions" : "Viac akcií",
"Edit board" : "Upraviť tabuľu",
"Archive board" : "Archivovať tabuľu",
"Unarchive board" : "Vybrať tabuľu z archívu",
"Delete board" : "Zmazať tabuľu",
"Create new board" : "Vytvoriť novú tabuľu",
"New board title" : "Názov novej tabule",
"Modified:" : "Upravené:",
"Created:" : "Vytvorené:",
"by" : "-",
"Choose a label" : "Vybrať značku",
"Add a label" : "Pridať značku",
"Select labels…" : "Vybrať značky...",
"Due date" : "Do dátumu",
"Click to set" : "Kliknite pre nastavenie",
"Remove due date" : "Odstrániť do dátumu",
"Description" : "Popis",
"Formatting help" : "Pomoc pri formátovaní",
"Saved" : "Uložené",
"Add a card description…" : "Pridať popis karty...",
"Archived boards" : "Archivované tabule",
"Shared boards" : "Sprístupnené tabule",
"Shared with you" : "Sprístupnené vám",
"Move board to archive" : "Presunúť tabuľu do archívu",
"Create a new board" : "Vytvoriť novú tabuľu"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
}

55
l10n/sl.js Normal file
View File

@@ -0,0 +1,55 @@
OC.L10N.register(
"deck",
{
"Hours" : "Ure",
"Minutes" : "Minute",
"Finished" : "Zaključeno",
"To review" : "Za pregled",
"Action needed" : "Operacija je potrebna",
"Later" : "Kasneje",
"Show archived cards" : "Prikaži arhivirane kartice",
"Hide archived cards" : "Skrij arhivirane kartice",
"Board details" : "Podrobnosti table",
"All Boards" : "Vse table",
"Archive" : "Arhiviraj",
"Unarchive" : "Odarhiviraj",
"Delete" : "Izbriši",
"Enter a card title" : "Vpiši naslov kartice",
"Sharing" : "Deli",
"Tags" : "Oznake",
"Select users or groups to share with" : "Izberi uporabnike ali skupine s katerimi želiš deliti",
"No matching user or group found." : "Ne najdem ujemajočega uporabnika ali skupine.",
"Share" : "Deli",
"Edit" : "Uredi",
"Manage" : "Upravljaj",
"Discard share" : "Prekliči deljenje",
"Create a new tag" : "Ustvari novo oznako",
"Title" : "Naslov",
"Members" : "Člani",
"More actions" : "Več akcij",
"Edit board" : "Uredi tablo",
"Archive board" : "Arhiviraj tablo",
"Unarchive board" : "Odarhiviraj tablo",
"Delete board" : "Izbriši tablo",
"Create new board" : "Ustvari novo tablo",
"New board title" : "Naslov nove table",
"Modified:" : "Spremenjeno:",
"Created:" : "Ustvarjeno:",
"by" : "s strani",
"Choose a label" : "Izberi oznako",
"Add a label" : "Dodaj oznako",
"Select labels…" : "Izberi oznake...",
"Due date" : "Datum poteka",
"Click to set" : "Klikni za nastaviti",
"Remove due date" : "Odstrani datum poteka",
"Description" : "Opis",
"Formatting help" : "Pomoč pri oblikovanju",
"Saved" : "Shranjeno",
"Add a card description…" : "Dodaj opis kartice...",
"Archived boards" : "Arhivirane table",
"Shared boards" : "Deljene table",
"Shared with you" : "Deljene s teboj",
"Move board to archive" : "Premakni tablo v arhiv",
"Create a new board" : "Ustvari novo tablo"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");

53
l10n/sl.json Normal file
View File

@@ -0,0 +1,53 @@
{ "translations": {
"Hours" : "Ure",
"Minutes" : "Minute",
"Finished" : "Zaključeno",
"To review" : "Za pregled",
"Action needed" : "Operacija je potrebna",
"Later" : "Kasneje",
"Show archived cards" : "Prikaži arhivirane kartice",
"Hide archived cards" : "Skrij arhivirane kartice",
"Board details" : "Podrobnosti table",
"All Boards" : "Vse table",
"Archive" : "Arhiviraj",
"Unarchive" : "Odarhiviraj",
"Delete" : "Izbriši",
"Enter a card title" : "Vpiši naslov kartice",
"Sharing" : "Deli",
"Tags" : "Oznake",
"Select users or groups to share with" : "Izberi uporabnike ali skupine s katerimi želiš deliti",
"No matching user or group found." : "Ne najdem ujemajočega uporabnika ali skupine.",
"Share" : "Deli",
"Edit" : "Uredi",
"Manage" : "Upravljaj",
"Discard share" : "Prekliči deljenje",
"Create a new tag" : "Ustvari novo oznako",
"Title" : "Naslov",
"Members" : "Člani",
"More actions" : "Več akcij",
"Edit board" : "Uredi tablo",
"Archive board" : "Arhiviraj tablo",
"Unarchive board" : "Odarhiviraj tablo",
"Delete board" : "Izbriši tablo",
"Create new board" : "Ustvari novo tablo",
"New board title" : "Naslov nove table",
"Modified:" : "Spremenjeno:",
"Created:" : "Ustvarjeno:",
"by" : "s strani",
"Choose a label" : "Izberi oznako",
"Add a label" : "Dodaj oznako",
"Select labels…" : "Izberi oznake...",
"Due date" : "Datum poteka",
"Click to set" : "Klikni za nastaviti",
"Remove due date" : "Odstrani datum poteka",
"Description" : "Opis",
"Formatting help" : "Pomoč pri oblikovanju",
"Saved" : "Shranjeno",
"Add a card description…" : "Dodaj opis kartice...",
"Archived boards" : "Arhivirane table",
"Shared boards" : "Deljene table",
"Shared with you" : "Deljene s teboj",
"Move board to archive" : "Premakni tablo v arhiv",
"Create a new board" : "Ustvari novo tablo"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
}

57
l10n/sq.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Orët",
"Minutes" : "Minutat",
"Finished" : "Përfunduar",
"To review" : "Për rishikim",
"Action needed" : "Nevoitet veprim",
"Later" : "Më vonë",
"Deck" : "Shto paisjen U2F",
"Add a new stack" : "Shto një raft të ri",
"Show archived cards" : "Trego kartat e arkivuara",
"Hide archived cards" : "Fsheh kartat e arkivuara ",
"Board details" : "Detajet e Tabeles ",
"All Boards" : "Të gjitha Tabelat ",
"Archive" : "Arkiva",
"Unarchive" : "Hiq nga arkivi",
"Delete" : "Fshij",
"Enter a card title" : "Fusni një titull karte",
"Sharing" : "Shpërndaj ",
"Tags" : "Etiketa",
"Select users or groups to share with" : "Shpërndajeni duke zgjedhur përdorues ose grupe ",
"No matching user or group found." : "Nuk u gjet asnjë përdorues ose grup i përputhshëm.",
"Share" : "Ndaj ",
"Edit" : "Edito",
"Manage" : "Menaxho",
"Discard share" : "Fshi ndarjen",
"Create a new tag" : "Krijo një etiketë të re",
"Title" : "Titull",
"Members" : "Anëtar",
"More actions" : "Më tepër veprime ",
"Edit board" : "Tabela e editimeve",
"Archive board" : "Arkivo bordin",
"Unarchive board" : "Hiq bordin nga arkivi",
"Delete board" : "Fshij bordin",
"Create new board" : "Krijo bord të ri",
"New board title" : "Titull i ri bordi",
"Modified:" : "Modifikuar:",
"Created:" : "Krijuar:",
"by" : "nga",
"Choose a label" : "Zgjidh një emërtim",
"Add a label" : "Shto një emërtim",
"Select labels…" : "Selekto etiketat...",
"Due date" : "Data e vendosur",
"Click to set" : "Kliko për të vendosur",
"Remove due date" : "Hiq datën e mbarimit",
"Description" : "Përshkrim",
"Formatting help" : "Ndihmë formatimi",
"Saved" : "I/E ruajtur",
"Add a card description…" : "Shto një përshkrim të kartës...",
"Archived boards" : "Borde të arkivuara",
"Shared boards" : "Tabela të shpërndara",
"Shared with you" : "Ndarë me ju",
"Move board to archive" : "Lëviz tabelen në arkivë",
"Create a new board" : "Krijo një tablë të re"
},
"nplurals=2; plural=(n != 1);");

55
l10n/sq.json Normal file
View File

@@ -0,0 +1,55 @@
{ "translations": {
"Hours" : "Orët",
"Minutes" : "Minutat",
"Finished" : "Përfunduar",
"To review" : "Për rishikim",
"Action needed" : "Nevoitet veprim",
"Later" : "Më vonë",
"Deck" : "Shto paisjen U2F",
"Add a new stack" : "Shto një raft të ri",
"Show archived cards" : "Trego kartat e arkivuara",
"Hide archived cards" : "Fsheh kartat e arkivuara ",
"Board details" : "Detajet e Tabeles ",
"All Boards" : "Të gjitha Tabelat ",
"Archive" : "Arkiva",
"Unarchive" : "Hiq nga arkivi",
"Delete" : "Fshij",
"Enter a card title" : "Fusni një titull karte",
"Sharing" : "Shpërndaj ",
"Tags" : "Etiketa",
"Select users or groups to share with" : "Shpërndajeni duke zgjedhur përdorues ose grupe ",
"No matching user or group found." : "Nuk u gjet asnjë përdorues ose grup i përputhshëm.",
"Share" : "Ndaj ",
"Edit" : "Edito",
"Manage" : "Menaxho",
"Discard share" : "Fshi ndarjen",
"Create a new tag" : "Krijo një etiketë të re",
"Title" : "Titull",
"Members" : "Anëtar",
"More actions" : "Më tepër veprime ",
"Edit board" : "Tabela e editimeve",
"Archive board" : "Arkivo bordin",
"Unarchive board" : "Hiq bordin nga arkivi",
"Delete board" : "Fshij bordin",
"Create new board" : "Krijo bord të ri",
"New board title" : "Titull i ri bordi",
"Modified:" : "Modifikuar:",
"Created:" : "Krijuar:",
"by" : "nga",
"Choose a label" : "Zgjidh një emërtim",
"Add a label" : "Shto një emërtim",
"Select labels…" : "Selekto etiketat...",
"Due date" : "Data e vendosur",
"Click to set" : "Kliko për të vendosur",
"Remove due date" : "Hiq datën e mbarimit",
"Description" : "Përshkrim",
"Formatting help" : "Ndihmë formatimi",
"Saved" : "I/E ruajtur",
"Add a card description…" : "Shto një përshkrim të kartës...",
"Archived boards" : "Borde të arkivuara",
"Shared boards" : "Tabela të shpërndara",
"Shared with you" : "Ndarë me ju",
"Move board to archive" : "Lëviz tabelen në arkivë",
"Create a new board" : "Krijo një tablë të re"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

57
l10n/sv.js Normal file
View File

@@ -0,0 +1,57 @@
OC.L10N.register(
"deck",
{
"Hours" : "Timmar",
"Minutes" : "Minuter",
"Finished" : "Färdig",
"To review" : "Att granska",
"Action needed" : "Åtgärd behövs",
"Later" : "Senare",
"Deck" : "Kort",
"Add a new stack" : "Lägg till en ny hög",
"Show archived cards" : "Visa arkiverade kort",
"Hide archived cards" : "Göm arkiverade kort",
"Board details" : "Taveldetaljer",
"All Boards" : "Alla tavlor",
"Archive" : "Arkivera",
"Unarchive" : "Ta bort ur arkivet",
"Delete" : "Radera",
"Enter a card title" : "Ange en korttitel",
"Sharing" : "Delning",
"Tags" : "Taggar",
"Select users or groups to share with" : "Välj användare och grupper att dela med",
"No matching user or group found." : "Ingen matchande användare eller grupp hittades.",
"Share" : "Dela",
"Edit" : "Redigera",
"Manage" : "Hantera",
"Discard share" : "Ta bort delning",
"Create a new tag" : "Skapa en ny tagg",
"Title" : "Titel",
"Members" : "Medlemmar",
"More actions" : "Fler händelser",
"Edit board" : "Ändra tavla",
"Archive board" : "Arkivera tavla",
"Unarchive board" : "Ta bort tavla ur arkivet",
"Delete board" : "Ta bort tavla",
"Create new board" : "Skapa ny tavla",
"New board title" : "Ny taveltitel",
"Modified:" : "Ändrad:",
"Created:" : "Skapad:",
"by" : "av",
"Choose a label" : "Välj en etikett",
"Add a label" : "Lägg till en etikett",
"Select labels…" : "Välj etiketter...",
"Due date" : "Slutdatum",
"Click to set" : "Klicka för att sätta",
"Remove due date" : "Ta bort slutdatum",
"Description" : "Beskrivning",
"Formatting help" : "Formatteringshjälp",
"Saved" : "Sparad",
"Add a card description…" : "Lägg till en kortbeskrivning...",
"Archived boards" : "Arkiverade tavlor",
"Shared boards" : "Delade tavlor",
"Shared with you" : "Delade med dig",
"Move board to archive" : "Flytta tavla till arkiv",
"Create a new board" : "Skapa en ny tavla"
},
"nplurals=2; plural=(n != 1);");

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