Compare commits
550 Commits
v1.12.0-be
...
stable25
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a3346b8958 | ||
|
|
9586405290 | ||
|
|
15d7098c46 | ||
|
|
54b62fe7f3 | ||
|
|
7355bdd27f | ||
|
|
7e9f94233a | ||
|
|
c061cba5cd | ||
|
|
c4c905042f | ||
|
|
6dee849ed9 | ||
|
|
3ff9248852 | ||
|
|
aeb691752c | ||
|
|
5801565486 | ||
|
|
c69b1c6814 | ||
|
|
d0780557f6 | ||
|
|
8915c143ad | ||
|
|
e56b278383 | ||
|
|
8efa30ddd2 | ||
|
|
ce84bd6e88 | ||
|
|
6e3762ec10 | ||
|
|
aa7430bde9 | ||
|
|
e75ff1c1a0 | ||
|
|
037469352e | ||
|
|
8f589236af | ||
|
|
041f3e6eb8 | ||
|
|
23901ff0b0 | ||
|
|
8ded6e43c0 | ||
|
|
e4186cd9f1 | ||
|
|
585d2de7f7 | ||
|
|
9b785502b5 | ||
|
|
8568bb127e | ||
|
|
c2783186c0 | ||
|
|
4a2d54ab97 | ||
|
|
472018b2d6 | ||
|
|
2159e6e9d4 | ||
|
|
a66713f1ae | ||
|
|
571b08f42b | ||
|
|
b94d373c1b | ||
|
|
244580c29b | ||
|
|
7c45424d0d | ||
|
|
090f1c6cda | ||
|
|
e4072d0e49 | ||
|
|
7aa5d55def | ||
|
|
893a2ed5f3 | ||
|
|
57d6ebc1eb | ||
|
|
4c5102041b | ||
|
|
ff32a1583f | ||
|
|
284afbfa2f | ||
|
|
f290a9fe42 | ||
|
|
a87e0d841b | ||
|
|
4d936e98f0 | ||
|
|
f788ad1c51 | ||
|
|
74bc5551fe | ||
|
|
f7a8acb3d5 | ||
|
|
ecd60afe1e | ||
|
|
608d0f554e | ||
|
|
4944be2082 | ||
|
|
ee282c9afb | ||
|
|
3448acc920 | ||
|
|
1e002ca3bf | ||
|
|
a7d137f8cb | ||
|
|
b3f16d64cc | ||
|
|
d76477177f | ||
|
|
2ff5b502b9 | ||
|
|
d5617d96fa | ||
|
|
bfdb9bcdfc | ||
|
|
7564b1dcda | ||
|
|
889b5cc143 | ||
|
|
ee954b9fa2 | ||
|
|
b7a37f5ec0 | ||
|
|
3bbf62cf48 | ||
|
|
3289d474d4 | ||
|
|
e508ae1fbb | ||
|
|
1c621e11c0 | ||
|
|
23eabf4945 | ||
|
|
f1389318ad | ||
|
|
61e8e7eacb | ||
|
|
d4cdfd952b | ||
|
|
fdc2336c7a | ||
|
|
8a914a3c47 | ||
|
|
c5d004c5b1 | ||
|
|
048583a777 | ||
|
|
aa98e632fa | ||
|
|
a703374044 | ||
|
|
1128c05511 | ||
|
|
9f78510c7a | ||
|
|
aead228d58 | ||
|
|
146b68d7c7 | ||
|
|
659fa3f65c | ||
|
|
ad2ac29450 | ||
|
|
4e24a4b8b3 | ||
|
|
922ed01233 | ||
|
|
210a859063 | ||
|
|
d975216362 | ||
|
|
0e382cc340 | ||
|
|
3992210b14 | ||
|
|
736a98b174 | ||
|
|
8216329331 | ||
|
|
36e483dad2 | ||
|
|
50d4301c86 | ||
|
|
384f6f3058 | ||
|
|
3670be4980 | ||
|
|
8e81deceae | ||
|
|
66f924ba35 | ||
|
|
0475920aeb | ||
|
|
161fe371a3 | ||
|
|
982bbdf03e | ||
|
|
32e7fce7b8 | ||
|
|
e42d6dfed0 | ||
|
|
bbaf98ea3e | ||
|
|
fd6d7cc45e | ||
|
|
6cfe8a32ff | ||
|
|
5cd8e98601 | ||
|
|
c70e5d3568 | ||
|
|
e62206635b | ||
|
|
c399fb0fc0 | ||
|
|
a71cad1dfe | ||
|
|
4ca01ebd12 | ||
|
|
d12afd4bed | ||
|
|
22d62f4222 | ||
|
|
72f764e5c8 | ||
|
|
8dedd83381 | ||
|
|
6cc41da920 | ||
|
|
0584d4a2a3 | ||
|
|
688b810de2 | ||
|
|
32365cba13 | ||
|
|
6672d32985 | ||
|
|
097c59d14f | ||
|
|
dbbc8281cd | ||
|
|
a6d455e267 | ||
|
|
845a1c7122 | ||
|
|
18583db84d | ||
|
|
7067a9208d | ||
|
|
d14e40b454 | ||
|
|
4d32390409 | ||
|
|
8c18b5dea6 | ||
|
|
9ea84bbeff | ||
|
|
c424ca5a9b | ||
|
|
bc4dc7efc1 | ||
|
|
e591853055 | ||
|
|
56b7a5d89f | ||
|
|
5ec18f9386 | ||
|
|
f82696a1ec | ||
|
|
06c70c4eda | ||
|
|
0a7bc8958d | ||
|
|
e4df2bdccc | ||
|
|
34a4ae0777 | ||
|
|
96fcd13ad6 | ||
|
|
a4ba8460d6 | ||
|
|
db06e1cce7 | ||
|
|
dbc1667172 | ||
|
|
7f187487d6 | ||
|
|
1297064b4a | ||
|
|
90c54d29bb | ||
|
|
f57b88d0ad | ||
|
|
cc540953b0 | ||
|
|
dd3e67d554 | ||
|
|
c3125c06c2 | ||
|
|
2dbc6afdc5 | ||
|
|
fe2bc80658 | ||
|
|
8a6c934903 | ||
|
|
83ef278374 | ||
|
|
6c2ae9d2ec | ||
|
|
0854643e95 | ||
|
|
b1dc05be87 | ||
|
|
1cd3b37dee | ||
|
|
b80524b727 | ||
|
|
964f9cd98a | ||
|
|
db4cf929de | ||
|
|
1fc1683c72 | ||
|
|
a5c700a812 | ||
|
|
15107c2cae | ||
|
|
e2175ff107 | ||
|
|
3ce0bfe650 | ||
|
|
487b0b1fc7 | ||
|
|
34904f9a8a | ||
|
|
ff35f31b02 | ||
|
|
8f6efd6594 | ||
|
|
f6cc0231fc | ||
|
|
f6d0bb5255 | ||
|
|
a8b3df6370 | ||
|
|
df28ab764b | ||
|
|
17b7f9d18e | ||
|
|
56ae66ac13 | ||
|
|
b2791e0982 | ||
|
|
6641f1d970 | ||
|
|
628cad6926 | ||
|
|
36514c6bd5 | ||
|
|
ef6350a8a9 | ||
|
|
b98586a0e4 | ||
|
|
271a6cba65 | ||
|
|
207037cd9b | ||
|
|
90307158f6 | ||
|
|
4869acbde5 | ||
|
|
ddbf1046c5 | ||
|
|
e6ee110554 | ||
|
|
0c84d13181 | ||
|
|
44bdf5f86e | ||
|
|
b62376e39e | ||
|
|
6e7169f1e1 | ||
|
|
989b6a54f4 | ||
|
|
3b1c8dec9e | ||
|
|
e84980406c | ||
|
|
e359fb070f | ||
|
|
19d85c7864 | ||
|
|
0e13176d0b | ||
|
|
8aaf5fdb10 | ||
|
|
867762a8d5 | ||
|
|
2931d252ec | ||
|
|
e9dd4aaaa8 | ||
|
|
7af9d71027 | ||
|
|
826acdd0fd | ||
|
|
075aeb00cc | ||
|
|
ae9bf21296 | ||
|
|
8c0a15ed2a | ||
|
|
d08b56ae16 | ||
|
|
0141cc4cc9 | ||
|
|
6d1d4951bd | ||
|
|
14d3b0ffd7 | ||
|
|
1326fbfa38 | ||
|
|
1365f99887 | ||
|
|
27be8991a6 | ||
|
|
3badc73e5e | ||
|
|
fd9e7acb0a | ||
|
|
3c9e3b5b23 | ||
|
|
2851791f9a | ||
|
|
f62c3ec2be | ||
|
|
bf8c0498f6 | ||
|
|
cddf5fe9ad | ||
|
|
921d7e5f31 | ||
|
|
a4b7223ddc | ||
|
|
76a84245d4 | ||
|
|
963f569099 | ||
|
|
f0619912ff | ||
|
|
8946e150bd | ||
|
|
8c10cada1d | ||
|
|
dbd3eaeb79 | ||
|
|
5ba5c3df88 | ||
|
|
909472b9a0 | ||
|
|
d416a05bc7 | ||
|
|
8cb662541f | ||
|
|
b5a76bc555 | ||
|
|
5dba15261d | ||
|
|
0f122c2a26 | ||
|
|
a0dd54df35 | ||
|
|
9fe82e9179 | ||
|
|
4d59a12db3 | ||
|
|
94e57979e3 | ||
|
|
0e66110401 | ||
|
|
29a9744060 | ||
|
|
bbfb471e41 | ||
|
|
445660b0e5 | ||
|
|
d8c3c835d4 | ||
|
|
631b01f000 | ||
|
|
89603b6f4a | ||
|
|
c88a6109b8 | ||
|
|
a3ca766a81 | ||
|
|
4fbded42b8 | ||
|
|
9a5dd487a2 | ||
|
|
1e0adff1ef | ||
|
|
65f5101e78 | ||
|
|
275c4574e2 | ||
|
|
b0ebb34fb8 | ||
|
|
e72b654bc6 | ||
|
|
d5ae69afce | ||
|
|
5dfe12a302 | ||
|
|
103a2c8508 | ||
|
|
4120f2e7ee | ||
|
|
9f9ef99a31 | ||
|
|
7ce6e1779a | ||
|
|
5cc075cbf9 | ||
|
|
150e663283 | ||
|
|
2bdaba5c85 | ||
|
|
3c3837c8d3 | ||
|
|
c30e253f83 | ||
|
|
c3acf91184 | ||
|
|
4e513264c5 | ||
|
|
f470ed4848 | ||
|
|
396b725442 | ||
|
|
5c8b48faa0 | ||
|
|
5141d463fc | ||
|
|
5360b8552e | ||
|
|
c93b837754 | ||
|
|
9ca7a2fc2c | ||
|
|
f5e733362e | ||
|
|
c3697295e6 | ||
|
|
cffe0f708e | ||
|
|
ca96096617 | ||
|
|
baea5d83d3 | ||
|
|
14e37c4392 | ||
|
|
be39fb3b7c | ||
|
|
7a262c5188 | ||
|
|
d97fe80e48 | ||
|
|
88b4fd0756 | ||
|
|
c8878d4497 | ||
|
|
68c1faabaa | ||
|
|
60d8370dbe | ||
|
|
685db5a4fe | ||
|
|
c190832287 | ||
|
|
2740d2145e | ||
|
|
58ed490c7d | ||
|
|
372878b318 | ||
|
|
d055b44fa2 | ||
|
|
deb63d4a9a | ||
|
|
66fda2265d | ||
|
|
44037cfd18 | ||
|
|
b450d96d4b | ||
|
|
9f1597a2f3 | ||
|
|
a0a929bdec | ||
|
|
deffd3adaa | ||
|
|
cd7ade1eaf | ||
|
|
e568d79bbe | ||
|
|
1ddb3cdac9 | ||
|
|
a982a0dbed | ||
|
|
bebbb046ea | ||
|
|
37f305aba2 | ||
|
|
dcc42f7613 | ||
|
|
bea851009c | ||
|
|
6a5e72bf6d | ||
|
|
b5c6b54fab | ||
|
|
61a801502b | ||
|
|
54c5cbbef1 | ||
|
|
6956551e3c | ||
|
|
62a54481e5 | ||
|
|
9d9b333152 | ||
|
|
0179b99f24 | ||
|
|
342003ea2e | ||
|
|
20d4476843 | ||
|
|
cc1b30be54 | ||
|
|
c1e52fd168 | ||
|
|
81d8748e96 | ||
|
|
06e3272b79 | ||
|
|
b71d8e2090 | ||
|
|
302ec1c44e | ||
|
|
28c031a68e | ||
|
|
b938c3b2bf | ||
|
|
78fea30e39 | ||
|
|
fcbc0cf092 | ||
|
|
dbdbb00fd5 | ||
|
|
dcccd63864 | ||
|
|
cf52359e7a | ||
|
|
cf7f231047 | ||
|
|
8449d91656 | ||
|
|
4126e4dd43 | ||
|
|
566778be58 | ||
|
|
063c4cbfef | ||
|
|
8d03a03b27 | ||
|
|
46f76f2dbc | ||
|
|
9f68a58407 | ||
|
|
58a5275e78 | ||
|
|
c644fc9680 | ||
|
|
7eb078d0a8 | ||
|
|
6126cc53a2 | ||
|
|
38344cee55 | ||
|
|
3e0baf9330 | ||
|
|
2899927efe | ||
|
|
4ce2265f5e | ||
|
|
2872cd39d9 | ||
|
|
73752472ac | ||
|
|
508ded19ba | ||
|
|
57e8698f3b | ||
|
|
abf00984f4 | ||
|
|
b53c10c47d | ||
|
|
5e2d8ac24a | ||
|
|
5db87329ac | ||
|
|
d12ccc0208 | ||
|
|
d67b1e4ba9 | ||
|
|
81c0e37ba0 | ||
|
|
f44eb87d77 | ||
|
|
55b75e16a0 | ||
|
|
020b16a33d | ||
|
|
fef75fa169 | ||
|
|
4547e1ae3d | ||
|
|
0e0ff7e16c | ||
|
|
6329da3d4d | ||
|
|
c37cae0a5c | ||
|
|
9d852b93ce | ||
|
|
5035be90f0 | ||
|
|
6a07581508 | ||
|
|
84b1de5308 | ||
|
|
3533388c37 | ||
|
|
43fa69aa65 | ||
|
|
ab051171ed | ||
|
|
72de3f257a | ||
|
|
186fc572b3 | ||
|
|
ea95fcaaf3 | ||
|
|
e4e474235e | ||
|
|
64f406355e | ||
|
|
d523e4f64e | ||
|
|
81f8423218 | ||
|
|
2d1f39eb82 | ||
|
|
d601b0300b | ||
|
|
eb8b94328f | ||
|
|
e29fc0f320 | ||
|
|
165c8ebc1c | ||
|
|
527be16719 | ||
|
|
cc86209179 | ||
|
|
c7de8c4590 | ||
|
|
68acd38421 | ||
|
|
54e298d00f | ||
|
|
ba20c1a9eb | ||
|
|
49cb27d576 | ||
|
|
7320a48dce | ||
|
|
3c834b79f5 | ||
|
|
4637024240 | ||
|
|
440f2710f0 | ||
|
|
0ebd55890c | ||
|
|
3409a9f13f | ||
|
|
7fae8e0928 | ||
|
|
609c975de4 | ||
|
|
64615a3e14 | ||
|
|
fb72a0f24d | ||
|
|
54c5a7f963 | ||
|
|
8d46fbbd04 | ||
|
|
0d787f9989 | ||
|
|
f19f22737a | ||
|
|
687f5c933c | ||
|
|
fd95e77d4e | ||
|
|
fba52536d0 | ||
|
|
cfcbc94006 | ||
|
|
9643f0581e | ||
|
|
c02a24f85b | ||
|
|
728c7916be | ||
|
|
1af1c7f581 | ||
|
|
87439dbaad | ||
|
|
c79ec72b79 | ||
|
|
beff26500a | ||
|
|
6df2e2b755 | ||
|
|
4b793d3738 | ||
|
|
399a85ce9f | ||
|
|
673222d37e | ||
|
|
eced4dd2d3 | ||
|
|
293f241aa6 | ||
|
|
5a79c61732 | ||
|
|
c28a877d0b | ||
|
|
484b9df8c9 | ||
|
|
db7403acc0 | ||
|
|
8c8788eab3 | ||
|
|
0f4ad52ca9 | ||
|
|
8b156958f8 | ||
|
|
88ba778e55 | ||
|
|
192314fb02 | ||
|
|
0bfb983a1c | ||
|
|
c3a8f797d1 | ||
|
|
b67ed2057c | ||
|
|
234ba20eba | ||
|
|
88097f98e8 | ||
|
|
4c3c483011 | ||
|
|
5a9cba00ed | ||
|
|
8f822cfd84 | ||
|
|
45c19c1c2d | ||
|
|
369749bb46 | ||
|
|
5ec04ac670 | ||
|
|
69b8ed2486 | ||
|
|
74d8fba022 | ||
|
|
2ca8863b5d | ||
|
|
63e57f2667 | ||
|
|
165ef3adf6 | ||
|
|
8ccdc6a2ed | ||
|
|
a04f2004bd | ||
|
|
ad00818bd1 | ||
|
|
138087b296 | ||
|
|
cd5500ee50 | ||
|
|
cda8a40607 | ||
|
|
84e6679704 | ||
|
|
7d8bc27d73 | ||
|
|
566de0f9e7 | ||
|
|
146fbbcb6f | ||
|
|
d2dd0d2914 | ||
|
|
6010e839d0 | ||
|
|
2895f563cd | ||
|
|
7663a4a346 | ||
|
|
864272c1a2 | ||
|
|
4f75064ba4 | ||
|
|
ffd6d4dedc | ||
|
|
891139f682 | ||
|
|
496304c896 | ||
|
|
9cfde4d80c | ||
|
|
eba4453728 | ||
|
|
f36a2a11a6 | ||
|
|
6c9af9cc12 | ||
|
|
de6604ad5f | ||
|
|
d4ebfc7ab1 | ||
|
|
2a2f578c13 | ||
|
|
f04cf33c78 | ||
|
|
6d89bbacf7 | ||
|
|
0010255391 | ||
|
|
50de5610b9 | ||
|
|
8def56fd8b | ||
|
|
bdbcb236a1 | ||
|
|
70fa18f186 | ||
|
|
43a7255c2a | ||
|
|
8c24def8d8 | ||
|
|
937f285689 | ||
|
|
a66c960b21 | ||
|
|
81d922c8bd | ||
|
|
347364543d | ||
|
|
6bc703a9b0 | ||
|
|
ee99a768f4 | ||
|
|
beee212fcb | ||
|
|
33145e377b | ||
|
|
5552a9d538 | ||
|
|
4fcdb6f304 | ||
|
|
0e4d345fc1 | ||
|
|
ee0092e7ca | ||
|
|
c3f0a1edc4 | ||
|
|
a8b46ad10f | ||
|
|
daa65b40fb | ||
|
|
fa6027f7ba | ||
|
|
f26a085b13 | ||
|
|
9d09916c17 | ||
|
|
f250d9956b | ||
|
|
93994bb39c | ||
|
|
17f7d19624 | ||
|
|
7e0c1a8024 | ||
|
|
f6dc22c545 | ||
|
|
d196956519 | ||
|
|
4769c69ba7 | ||
|
|
f322b6191e | ||
|
|
e076c76b3f | ||
|
|
df8257a18f | ||
|
|
e7f22ca0d3 | ||
|
|
a9921ecdf0 | ||
|
|
a5da643513 | ||
|
|
8c68b7ce83 | ||
|
|
a4137a4edd | ||
|
|
cb5a181993 | ||
|
|
46972646d8 | ||
|
|
8549d4a13f | ||
|
|
47077af838 | ||
|
|
6cc589539b | ||
|
|
2237745c09 | ||
|
|
b74569abef | ||
|
|
de67847ef1 | ||
|
|
a430eaf41f | ||
|
|
31b68ae5e5 | ||
|
|
fa1877ef7b | ||
|
|
5851c4a5f1 | ||
|
|
4fadb9a633 | ||
|
|
d021559d7c | ||
|
|
7f22925063 | ||
|
|
e65fa778cb | ||
|
|
003ee7a926 | ||
|
|
8b344a653f | ||
|
|
7403aafe16 | ||
|
|
f7b6e8a3bc | ||
|
|
ad051c5e0e | ||
|
|
7ceb23f7a2 | ||
|
|
9760c838aa | ||
|
|
8002cecda4 | ||
|
|
27b1c6a2f2 |
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
"image": "ghcr.io/juliushaertl/nextcloud-dev-php80:latest",
|
|
||||||
"forwardPorts": [80],
|
|
||||||
"containerEnv": {
|
|
||||||
"NEXTCLOUD_AUTOINSTALL_APPS": "deck",
|
|
||||||
"XDEBUG_MODE": "debug"
|
|
||||||
},
|
|
||||||
"customizations": {
|
|
||||||
"vscode": {
|
|
||||||
"extensions": [
|
|
||||||
"felixfbecker.php-intellisense",
|
|
||||||
"octref.vetur"
|
|
||||||
],
|
|
||||||
"settings": {
|
|
||||||
"php.suggest.basic": false,
|
|
||||||
"git.alwaysSignOff": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"workspaceMount": "source=${localWorkspaceFolder},target=/var/www/html/apps-extra/deck,type=bind",
|
|
||||||
"workspaceFolder": "/var/www/html/apps-extra/deck",
|
|
||||||
"overrideCommand": true,
|
|
||||||
"postAttachCommand": "bash ./.devcontainer/setup.sh",
|
|
||||||
"portsAttributes": {
|
|
||||||
"80": {
|
|
||||||
"label": "Webserver"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
(
|
|
||||||
cd /tmp && /usr/local/bin/bootstrap.sh apache2ctl start
|
|
||||||
)
|
|
||||||
|
|
||||||
composer install --no-dev
|
|
||||||
npm ci
|
|
||||||
npm run dev
|
|
||||||
@@ -9,6 +9,6 @@ module.exports = {
|
|||||||
'jsdoc/check-param-names': ['off'],
|
'jsdoc/check-param-names': ['off'],
|
||||||
'jsdoc/no-undefined-types': ['off'],
|
'jsdoc/no-undefined-types': ['off'],
|
||||||
'jsdoc/require-property-description': ['off'],
|
'jsdoc/require-property-description': ['off'],
|
||||||
'import/no-named-as-default-member': ['off'],
|
'import/no-named-as-default-member': ['off']
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
37
.github/dependabot.yml
vendored
37
.github/dependabot.yml
vendored
@@ -2,7 +2,7 @@ version: 2
|
|||||||
updates:
|
updates:
|
||||||
- package-ecosystem: npm
|
- package-ecosystem: npm
|
||||||
directory: "/"
|
directory: "/"
|
||||||
target-branch: "main"
|
target-branch: "master"
|
||||||
schedule:
|
schedule:
|
||||||
interval: weekly
|
interval: weekly
|
||||||
day: saturday
|
day: saturday
|
||||||
@@ -11,41 +11,6 @@ updates:
|
|||||||
open-pull-requests-limit: 10
|
open-pull-requests-limit: 10
|
||||||
reviewers:
|
reviewers:
|
||||||
- juliushaertl
|
- juliushaertl
|
||||||
|
|
||||||
- package-ecosystem: npm
|
|
||||||
target-branch: stable27
|
|
||||||
versioning-strategy: lockfile-only
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: weekly
|
|
||||||
day: saturday
|
|
||||||
time: "03:00"
|
|
||||||
timezone: Europe/Paris
|
|
||||||
ignore:
|
|
||||||
- dependency-name: "*"
|
|
||||||
update-types: ["version-update:semver-major"]
|
|
||||||
open-pull-requests-limit: 30
|
|
||||||
labels:
|
|
||||||
- 3. to review
|
|
||||||
- dependencies
|
|
||||||
|
|
||||||
- package-ecosystem: npm
|
|
||||||
target-branch: stable26
|
|
||||||
versioning-strategy: lockfile-only
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: weekly
|
|
||||||
day: saturday
|
|
||||||
time: "03:00"
|
|
||||||
timezone: Europe/Paris
|
|
||||||
ignore:
|
|
||||||
- dependency-name: "*"
|
|
||||||
update-types: ["version-update:semver-major"]
|
|
||||||
open-pull-requests-limit: 30
|
|
||||||
labels:
|
|
||||||
- 3. to review
|
|
||||||
- dependencies
|
|
||||||
|
|
||||||
- package-ecosystem: composer
|
- package-ecosystem: composer
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
|
|||||||
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
* Resolves: # <!-- related github issue -->
|
* Resolves: # <!-- related github issue -->
|
||||||
* Target version: main
|
* Target version: master
|
||||||
|
|
||||||
### Summary
|
### Summary
|
||||||
|
|
||||||
|
|||||||
43
.github/workflows/appbuild.yml
vendored
43
.github/workflows/appbuild.yml
vendored
@@ -1,43 +0,0 @@
|
|||||||
name: Package build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- master
|
|
||||||
- stable*
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [16.x]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: ${{ matrix.node-version }}
|
|
||||||
- name: Set up npm7
|
|
||||||
run: npm i -g npm@7
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: shivammathur/setup-php@2.27.0
|
|
||||||
with:
|
|
||||||
php-version: '7.4'
|
|
||||||
tools: composer
|
|
||||||
- name: install dependencies
|
|
||||||
run: |
|
|
||||||
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.14.0/krankerl_0.14.0_amd64.deb
|
|
||||||
sudo dpkg -i krankerl_0.14.0_amd64.deb
|
|
||||||
- name: package
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
RUST_BACKTRACE=1 krankerl --version
|
|
||||||
RUST_BACKTRACE=1 krankerl package
|
|
||||||
- uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: Deck app tarball
|
|
||||||
path: build/artifacts/deck.tar.gz
|
|
||||||
54
.github/workflows/appstore-build-publish.yml
vendored
54
.github/workflows/appstore-build-publish.yml
vendored
@@ -10,7 +10,7 @@ on:
|
|||||||
types: [published]
|
types: [published]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
PHP_VERSION: 8.1
|
PHP_VERSION: 7.4
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build_and_publish:
|
build_and_publish:
|
||||||
@@ -21,42 +21,42 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check actor permission
|
- name: Check actor permission
|
||||||
uses: skjnldsv/check-actor-permission@e591dbfe838300c007028e1219ca82cc26e8d7c5 # v2.1
|
uses: skjnldsv/check-actor-permission@v2
|
||||||
with:
|
with:
|
||||||
require: write
|
require: write
|
||||||
|
|
||||||
- name: Set app env
|
- name: Set app env
|
||||||
run: |
|
run: |
|
||||||
# Split and keep last
|
# Split and keep last
|
||||||
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
echo "APP_NAME=${GITHUB_REPOSITORY##*/}" >> $GITHUB_ENV
|
||||||
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
echo "APP_VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
path: ${{ env.APP_NAME }}
|
path: ${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Get appinfo data
|
- name: Get appinfo data
|
||||||
id: appinfo
|
id: appinfo
|
||||||
uses: skjnldsv/xpath-action@7e6a7c379d0e9abc8acaef43df403ab4fc4f770c # master
|
uses: skjnldsv/xpath-action@master
|
||||||
with:
|
with:
|
||||||
filename: ${{ env.APP_NAME }}/appinfo/info.xml
|
filename: ${{ env.APP_NAME }}/appinfo/info.xml
|
||||||
expression: "//info//dependencies//nextcloud/@min-version"
|
expression: "//info//dependencies//nextcloud/@min-version"
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
- name: Read package.json node and npm engines version
|
||||||
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
uses: skjnldsv/read-package-engines-version-actions@v1.2
|
||||||
id: versions
|
id: versions
|
||||||
# Continue if no package.json
|
# Continue if no package.json
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
path: ${{ env.APP_NAME }}
|
path: ${{ env.APP_NAME }}
|
||||||
fallbackNode: "^16"
|
fallbackNode: "^12"
|
||||||
fallbackNpm: "^7"
|
fallbackNpm: "^6"
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
||||||
# Skip if no package.json
|
# Skip if no package.json
|
||||||
if: ${{ steps.versions.outputs.nodeVersion }}
|
if: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
||||||
|
|
||||||
@@ -66,16 +66,14 @@ jobs:
|
|||||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
||||||
|
|
||||||
- name: Set up php ${{ env.PHP_VERSION }}
|
- name: Set up php ${{ env.PHP_VERSION }}
|
||||||
uses: shivammathur/setup-php@2.27.0 # v2
|
uses: shivammathur/setup-php@2.21.2
|
||||||
with:
|
with:
|
||||||
php-version: ${{ env.PHP_VERSION }}
|
php-version: ${{ env.PHP_VERSION }}
|
||||||
coverage: none
|
coverage: none
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Check composer.json
|
- name: Check composer.json
|
||||||
id: check_composer
|
id: check_composer
|
||||||
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
|
uses: andstor/file-existence-action@v1
|
||||||
with:
|
with:
|
||||||
files: "${{ env.APP_NAME }}/composer.json"
|
files: "${{ env.APP_NAME }}/composer.json"
|
||||||
|
|
||||||
@@ -93,29 +91,16 @@ jobs:
|
|||||||
npm ci
|
npm ci
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
- name: Check Krankerl config
|
|
||||||
id: krankerl
|
|
||||||
uses: andstor/file-existence-action@20b4d2e596410855db8f9ca21e96fbe18e12930b # v2
|
|
||||||
with:
|
|
||||||
files: ${{ env.APP_NAME }}/krankerl.toml
|
|
||||||
|
|
||||||
- name: Install Krankerl
|
- name: Install Krankerl
|
||||||
if: steps.krankerl.outputs.files_exists == 'true'
|
|
||||||
run: |
|
run: |
|
||||||
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.14.0/krankerl_0.14.0_amd64.deb
|
wget https://github.com/ChristophWurst/krankerl/releases/download/v0.13.0/krankerl_0.13.0_amd64.deb
|
||||||
sudo dpkg -i krankerl_0.14.0_amd64.deb
|
sudo dpkg -i krankerl_0.13.0_amd64.deb
|
||||||
|
|
||||||
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} with krankerl
|
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }}
|
||||||
if: steps.krankerl.outputs.files_exists == 'true'
|
# Try krankerl, fallback to makefile
|
||||||
run: |
|
run: |
|
||||||
cd ${{ env.APP_NAME }}
|
cd ${{ env.APP_NAME }}
|
||||||
krankerl package
|
krankerl package || make appstore
|
||||||
|
|
||||||
- name: Package ${{ env.APP_NAME }} ${{ env.APP_VERSION }} with makefile
|
|
||||||
if: steps.krankerl.outputs.files_exists != 'true'
|
|
||||||
run: |
|
|
||||||
cd ${{ env.APP_NAME }}
|
|
||||||
make appstore
|
|
||||||
|
|
||||||
- name: Checkout server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
|
- name: Checkout server ${{ fromJSON(steps.appinfo.outputs.result).nextcloud.min-version }}
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
@@ -126,10 +111,9 @@ jobs:
|
|||||||
unzip latest-$NCVERSION.zip
|
unzip latest-$NCVERSION.zip
|
||||||
|
|
||||||
- name: Checkout server master fallback
|
- name: Checkout server master fallback
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
uses: actions/checkout@v3
|
||||||
if: ${{ steps.server-checkout.outcome != 'success' }}
|
if: ${{ steps.server-checkout.outcome != 'success' }}
|
||||||
with:
|
with:
|
||||||
submodules: true
|
|
||||||
repository: nextcloud/server
|
repository: nextcloud/server
|
||||||
path: nextcloud
|
path: nextcloud
|
||||||
|
|
||||||
@@ -149,7 +133,7 @@ jobs:
|
|||||||
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
|
tar -zcvf ${{ env.APP_NAME }}.tar.gz ${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Attach tarball to github release
|
- name: Attach tarball to github release
|
||||||
uses: svenstaro/upload-release-action@1beeb572c19a9242f4361f4cee78f8e0d9aec5df # v2
|
uses: svenstaro/upload-release-action@v2
|
||||||
id: attach_to_release
|
id: attach_to_release
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -159,7 +143,7 @@ jobs:
|
|||||||
overwrite: true
|
overwrite: true
|
||||||
|
|
||||||
- name: Upload app to Nextcloud appstore
|
- name: Upload app to Nextcloud appstore
|
||||||
uses: nextcloud-releases/nextcloud-appstore-push-action@a011fe619bcf6e77ddebc96f9908e1af4071b9c1 # v1
|
uses: nextcloud-releases/nextcloud-appstore-push-action@v1
|
||||||
with:
|
with:
|
||||||
app_name: ${{ env.APP_NAME }}
|
app_name: ${{ env.APP_NAME }}
|
||||||
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
|
appstore_token: ${{ secrets.APPSTORE_TOKEN }}
|
||||||
|
|||||||
12
.github/workflows/command-rebase.yml
vendored
12
.github/workflows/command-rebase.yml
vendored
@@ -9,8 +9,8 @@ on:
|
|||||||
issue_comment:
|
issue_comment:
|
||||||
types: created
|
types: created
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
rebase:
|
rebase:
|
||||||
@@ -23,7 +23,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Add reaction on start
|
- name: Add reaction on start
|
||||||
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
|
uses: peter-evans/create-or-update-comment@v2
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
repository: ${{ github.event.repository.full_name }}
|
repository: ${{ github.event.repository.full_name }}
|
||||||
@@ -31,18 +31,18 @@ jobs:
|
|||||||
reaction-type: "+1"
|
reaction-type: "+1"
|
||||||
|
|
||||||
- name: Checkout the latest code
|
- name: Checkout the latest code
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|
||||||
- name: Automatic Rebase
|
- name: Automatic Rebase
|
||||||
uses: cirrus-actions/rebase@b87d48154a87a85666003575337e27b8cd65f691 # 1.8
|
uses: cirrus-actions/rebase@1.7
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|
||||||
- name: Add reaction on failure
|
- name: Add reaction on failure
|
||||||
uses: peter-evans/create-or-update-comment@23ff15729ef2fc348714a3bb66d2f655ca9066f2 # v3.1.0
|
uses: peter-evans/create-or-update-comment@v2
|
||||||
if: failure()
|
if: failure()
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
|
|||||||
26
.github/workflows/cypress.yml
vendored
26
.github/workflows/cypress.yml
vendored
@@ -14,22 +14,24 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
cypress:
|
cypress:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: self-hosted
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [20.x]
|
node-version: [16.x]
|
||||||
# containers: [1, 2, 3]
|
# containers: [1, 2, 3]
|
||||||
php-versions: [ '8.0' ]
|
php-versions: [ '7.4' ]
|
||||||
databases: [ 'sqlite' ]
|
databases: [ 'sqlite' ]
|
||||||
server-versions: [ 'master' ]
|
server-versions: [ 'stable25' ]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
|
- name: Set up npm7
|
||||||
|
run: npm i -g npm@7
|
||||||
|
|
||||||
- name: Register text Git reference
|
- name: Register text Git reference
|
||||||
run: |
|
run: |
|
||||||
@@ -37,7 +39,7 @@ jobs:
|
|||||||
echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
|
echo "text_app_ref=$text_app_ref" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Checkout server
|
- name: Checkout server
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
repository: nextcloud/server
|
repository: nextcloud/server
|
||||||
ref: ${{ matrix.server-versions }}
|
ref: ${{ matrix.server-versions }}
|
||||||
@@ -50,22 +52,22 @@ jobs:
|
|||||||
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||||
|
|
||||||
- name: Checkout ${{ env.APP_NAME }}
|
- name: Checkout ${{ env.APP_NAME }}
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Checkout text
|
- name: Checkout text
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
repository: nextcloud/text
|
repository: nextcloud/text
|
||||||
ref: ${{ env.text_app_ref }}
|
ref: ${{ env.text_app_ref }}
|
||||||
path: apps/text
|
path: apps/text
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.27.0
|
uses: shivammathur/setup-php@2.25.4
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
|
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu
|
||||||
ini-values:
|
ini-values:
|
||||||
apc.enable_cli=on
|
apc.enable_cli=on
|
||||||
coverage: none
|
coverage: none
|
||||||
@@ -94,9 +96,9 @@ jobs:
|
|||||||
curl -v http://localhost:8081/index.php/login
|
curl -v http://localhost:8081/index.php/login
|
||||||
|
|
||||||
- name: Cypress run
|
- name: Cypress run
|
||||||
uses: cypress-io/github-action@v6
|
uses: cypress-io/github-action@v5
|
||||||
with:
|
with:
|
||||||
record: false
|
record: true
|
||||||
parallel: false
|
parallel: false
|
||||||
wait-on: '${{ env.CYPRESS_baseUrl }}'
|
wait-on: '${{ env.CYPRESS_baseUrl }}'
|
||||||
working-directory: 'apps/${{ env.APP_NAME }}'
|
working-directory: 'apps/${{ env.APP_NAME }}'
|
||||||
|
|||||||
10
.github/workflows/dependabot-approve-merge.yml
vendored
10
.github/workflows/dependabot-approve-merge.yml
vendored
@@ -15,26 +15,22 @@ on:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: dependabot-approve-merge-${{ github.head_ref || github.run_id }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
auto-approve-merge:
|
auto-approve-merge:
|
||||||
if: github.actor == 'dependabot[bot]'
|
if: github.actor == 'dependabot[bot]'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
# for hmarr/auto-approve-action to approve PRs
|
# for hmarr/auto-approve-action to approve PRs
|
||||||
pull-requests: write
|
pull-requests: write
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# Github actions bot approve
|
# Github actions bot approve
|
||||||
- uses: hmarr/auto-approve-action@b40d6c9ed2fa10c9a2749eca7eb004418a705501 # v2
|
- uses: hmarr/auto-approve-action@v2
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
# Nextcloud bot approve and merge request
|
# Nextcloud bot approve and merge request
|
||||||
- uses: ahmadnassri/action-dependabot-auto-merge@45fc124d949b19b6b8bf6645b6c9d55f4f9ac61a # v2
|
- uses: ahmadnassri/action-dependabot-auto-merge@v2
|
||||||
with:
|
with:
|
||||||
target: minor
|
target: minor
|
||||||
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
|
github-token: ${{ secrets.DEPENDABOT_AUTOMERGE_TOKEN }}
|
||||||
|
|||||||
19
.github/workflows/fixup.yml
vendored
19
.github/workflows/fixup.yml
vendored
@@ -3,31 +3,18 @@
|
|||||||
# https://github.com/nextcloud/.github
|
# https://github.com/nextcloud/.github
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
||||||
|
|
||||||
name: Block fixup and squash commits
|
name: Pull request checks
|
||||||
|
|
||||||
on:
|
on: pull_request
|
||||||
pull_request:
|
|
||||||
types: [opened, ready_for_review, reopened, synchronize]
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: fixup-${{ github.head_ref || github.run_id }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
commit-message-check:
|
commit-message-check:
|
||||||
if: github.event.pull_request.draft == false
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
pull-requests: write
|
|
||||||
name: Block fixup and squash commits
|
name: Block fixup and squash commits
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Run check
|
- name: Run check
|
||||||
uses: skjnldsv/block-fixup-merge-action@42d26e1b536ce61e5cf467d65fb76caf4aa85acf # v1
|
uses: xt0rted/block-autosquash-commits-action@v2
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
21
.github/workflows/integration.yml
vendored
21
.github/workflows/integration.yml
vendored
@@ -26,9 +26,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
php-versions: ['8.1']
|
php-versions: ['7.4']
|
||||||
databases: ['sqlite', 'mysql', 'pgsql']
|
databases: ['sqlite', 'mysql', 'pgsql']
|
||||||
server-versions: ['master']
|
server-versions: ['stable25']
|
||||||
|
|
||||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout server
|
- name: Checkout server
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
repository: nextcloud/server
|
repository: nextcloud/server
|
||||||
ref: ${{ matrix.server-versions }}
|
ref: ${{ matrix.server-versions }}
|
||||||
@@ -66,15 +66,22 @@ jobs:
|
|||||||
cd build/integration && composer require --dev phpunit/phpunit:~9
|
cd build/integration && composer require --dev phpunit/phpunit:~9
|
||||||
|
|
||||||
- name: Checkout app
|
- name: Checkout app
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
|
- name: Checkout activity
|
||||||
|
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
|
||||||
|
with:
|
||||||
|
repository: nextcloud/activity
|
||||||
|
ref: ${{ matrix.server-versions }}
|
||||||
|
path: apps/activity
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.27.0
|
uses: shivammathur/setup-php@2.25.4
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql, apcu
|
||||||
ini-values:
|
ini-values:
|
||||||
apc.enable_cli=on
|
apc.enable_cli=on
|
||||||
coverage: none
|
coverage: none
|
||||||
@@ -151,4 +158,4 @@ jobs:
|
|||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
body: comment
|
body: comment
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
62
.github/workflows/lint-eslint.yml
vendored
62
.github/workflows/lint-eslint.yml
vendored
@@ -1,62 +0,0 @@
|
|||||||
# This workflow is provided via the organization template repository
|
|
||||||
#
|
|
||||||
# https://github.com/nextcloud/.github
|
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
|
||||||
#
|
|
||||||
# Use lint-eslint together with lint-eslint-when-unrelated to make eslint a required check for GitHub actions
|
|
||||||
# https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/troubleshooting-required-status-checks#handling-skipped-but-required-checks
|
|
||||||
|
|
||||||
name: Lint eslint
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
paths:
|
|
||||||
- '.github/workflows/**'
|
|
||||||
- 'src/**'
|
|
||||||
- 'appinfo/info.xml'
|
|
||||||
- 'package.json'
|
|
||||||
- 'package-lock.json'
|
|
||||||
- 'tsconfig.json'
|
|
||||||
- '.eslintrc.*'
|
|
||||||
- '.eslintignore'
|
|
||||||
- '**.js'
|
|
||||||
- '**.ts'
|
|
||||||
- '**.vue'
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: lint-eslint-${{ github.head_ref || github.run_id }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
name: eslint
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
|
||||||
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
|
||||||
id: versions
|
|
||||||
with:
|
|
||||||
fallbackNode: '^16'
|
|
||||||
fallbackNpm: '^7'
|
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3
|
|
||||||
with:
|
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
|
|
||||||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
|
||||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Lint
|
|
||||||
run: npm run lint
|
|
||||||
40
.github/workflows/lint-php-cs.yml
vendored
40
.github/workflows/lint-php-cs.yml
vendored
@@ -1,40 +0,0 @@
|
|||||||
# This workflow is provided via the organization template repository
|
|
||||||
#
|
|
||||||
# https://github.com/nextcloud/.github
|
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
|
||||||
|
|
||||||
name: Lint php-cs
|
|
||||||
|
|
||||||
on: pull_request
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: lint-php-cs-${{ github.head_ref || github.run_id }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
name: php-cs
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
|
||||||
|
|
||||||
- name: Set up php
|
|
||||||
uses: shivammathur/setup-php@2.27.0 # v2
|
|
||||||
with:
|
|
||||||
php-version: 8.1
|
|
||||||
coverage: none
|
|
||||||
ini-file: development
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: composer i
|
|
||||||
|
|
||||||
- name: Lint
|
|
||||||
run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 )
|
|
||||||
60
.github/workflows/lint-php.yml
vendored
60
.github/workflows/lint-php.yml
vendored
@@ -1,60 +0,0 @@
|
|||||||
# This workflow is provided via the organization template repository
|
|
||||||
#
|
|
||||||
# https://github.com/nextcloud/.github
|
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
|
||||||
|
|
||||||
name: Lint php
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- master
|
|
||||||
- stable*
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: lint-php-${{ github.head_ref || github.run_id }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
php-lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php-versions: [ "8.0", "8.1", "8.2", "8.3" ]
|
|
||||||
|
|
||||||
name: php-lint
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
|
||||||
uses: shivammathur/setup-php@2.27.0 # v2
|
|
||||||
with:
|
|
||||||
php-version: ${{ matrix.php-versions }}
|
|
||||||
coverage: none
|
|
||||||
ini-file: development
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Lint
|
|
||||||
run: composer run lint
|
|
||||||
|
|
||||||
summary:
|
|
||||||
permissions:
|
|
||||||
contents: none
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: php-lint
|
|
||||||
|
|
||||||
if: always()
|
|
||||||
|
|
||||||
name: php-lint-summary
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Summary status
|
|
||||||
run: if ${{ needs.php-lint.result != 'success' && needs.php-lint.result != 'skipped' }}; then exit 1; fi
|
|
||||||
46
.github/workflows/lint-stylelint.yml
vendored
46
.github/workflows/lint-stylelint.yml
vendored
@@ -1,46 +0,0 @@
|
|||||||
# This workflow is provided via the organization template repository
|
|
||||||
#
|
|
||||||
# https://github.com/nextcloud/.github
|
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
|
||||||
|
|
||||||
name: Lint stylelint
|
|
||||||
|
|
||||||
on: pull_request
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: lint-stylelint-${{ github.head_ref || github.run_id }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
lint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
name: stylelint
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
|
||||||
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
|
||||||
id: versions
|
|
||||||
with:
|
|
||||||
fallbackNode: '^16'
|
|
||||||
fallbackNpm: '^7'
|
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3
|
|
||||||
with:
|
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
|
|
||||||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
|
||||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: npm ci
|
|
||||||
|
|
||||||
- name: Lint
|
|
||||||
run: npm run stylelint
|
|
||||||
88
.github/workflows/lint.yml
vendored
Normal file
88
.github/workflows/lint.yml
vendored
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
name: Lint
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- stable*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
php:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
php-versions: ['7.4', '8.0', '8.1']
|
||||||
|
|
||||||
|
name: php${{ matrix.php-versions }} lint
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Set up php${{ matrix.php-versions }}
|
||||||
|
uses: shivammathur/setup-php@2.21.2
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php-versions }}
|
||||||
|
coverage: none
|
||||||
|
- name: Lint
|
||||||
|
run: composer run lint
|
||||||
|
|
||||||
|
php-cs-fixer:
|
||||||
|
name: php-cs check
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Set up php
|
||||||
|
uses: shivammathur/setup-php@2.21.2
|
||||||
|
with:
|
||||||
|
php-version: 7.4
|
||||||
|
coverage: none
|
||||||
|
- name: Install dependencies
|
||||||
|
run: composer i
|
||||||
|
- name: Run coding standards check
|
||||||
|
run: composer run cs:check
|
||||||
|
|
||||||
|
node:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [14.x]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Use node ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
- name: Set up npm7
|
||||||
|
run: npm i -g npm@7
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
- name: ESLint
|
||||||
|
run: npm run lint
|
||||||
|
|
||||||
|
stylelint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [14.x]
|
||||||
|
|
||||||
|
name: stylelint node${{ matrix.node-version }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up node ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
|
||||||
|
- name: Set up npm7
|
||||||
|
run: npm i -g npm@7
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Lint
|
||||||
|
run: npm run stylelint
|
||||||
4
.github/workflows/nodejs.yml
vendored
4
.github/workflows/nodejs.yml
vendored
@@ -12,9 +12,9 @@ jobs:
|
|||||||
node-version: [14.x]
|
node-version: [14.x]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v3
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v4
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
- name: Set up npm7
|
- name: Set up npm7
|
||||||
|
|||||||
71
.github/workflows/npm-audit-fix.yml
vendored
71
.github/workflows/npm-audit-fix.yml
vendored
@@ -1,71 +0,0 @@
|
|||||||
# This workflow is provided via the organization template repository
|
|
||||||
#
|
|
||||||
# https://github.com/nextcloud/.github
|
|
||||||
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
|
|
||||||
|
|
||||||
name: Npm audit fix and compile
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
schedule:
|
|
||||||
# At 2:30 on Sundays
|
|
||||||
- cron: '30 2 * * 0'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
branches: ["main", "master", "stable27", "stable26", "stable25", "stable24"]
|
|
||||||
|
|
||||||
name: npm-audit-fix-${{ matrix.branches }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
|
||||||
with:
|
|
||||||
ref: ${{ matrix.branches }}
|
|
||||||
|
|
||||||
- name: Read package.json node and npm engines version
|
|
||||||
uses: skjnldsv/read-package-engines-version-actions@8205673bab74a63eb9b8093402fd9e0e018663a1 # v2.2
|
|
||||||
id: versions
|
|
||||||
with:
|
|
||||||
fallbackNode: '^16'
|
|
||||||
fallbackNpm: '^7'
|
|
||||||
|
|
||||||
- name: Set up node ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v3
|
|
||||||
with:
|
|
||||||
node-version: ${{ steps.versions.outputs.nodeVersion }}
|
|
||||||
|
|
||||||
- name: Set up npm ${{ steps.versions.outputs.npmVersion }}
|
|
||||||
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
|
|
||||||
|
|
||||||
- name: Fix npm audit
|
|
||||||
run: |
|
|
||||||
npm audit fix
|
|
||||||
|
|
||||||
- name: Run npm ci and npm run build
|
|
||||||
if: always()
|
|
||||||
run: |
|
|
||||||
npm ci
|
|
||||||
npm run build --if-present
|
|
||||||
|
|
||||||
- name: Create Pull Request
|
|
||||||
if: always()
|
|
||||||
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v5
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
|
||||||
commit-message: "chore(deps): fix npm audit"
|
|
||||||
committer: GitHub <noreply@github.com>
|
|
||||||
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
|
||||||
signoff: true
|
|
||||||
branch: automated/noid/${{ matrix.branches }}-fix-npm-audit
|
|
||||||
title: "[${{ matrix.branches }}] Fix npm audit"
|
|
||||||
body: |
|
|
||||||
Auto-generated fix of npm audit
|
|
||||||
labels: |
|
|
||||||
dependencies
|
|
||||||
3. to review
|
|
||||||
11
.github/workflows/phpunit.yml
vendored
11
.github/workflows/phpunit.yml
vendored
@@ -26,9 +26,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
php-versions: ['8.0', '8.1', '8.2', '8.3']
|
php-versions: ['7.4', '8.0', '8.1']
|
||||||
databases: ['sqlite', 'mysql', 'pgsql']
|
databases: ['sqlite', 'mysql', 'pgsql']
|
||||||
server-versions: ['master']
|
server-versions: ['stable25']
|
||||||
|
|
||||||
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
name: php${{ matrix.php-versions }}-${{ matrix.databases }}-${{ matrix.server-versions }}
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout server
|
- name: Checkout server
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
repository: nextcloud/server
|
repository: nextcloud/server
|
||||||
ref: ${{ matrix.server-versions }}
|
ref: ${{ matrix.server-versions }}
|
||||||
@@ -65,16 +65,17 @@ jobs:
|
|||||||
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive --depth=1
|
||||||
|
|
||||||
- name: Checkout app
|
- name: Checkout app
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
path: apps/${{ env.APP_NAME }}
|
path: apps/${{ env.APP_NAME }}
|
||||||
|
|
||||||
- name: Set up php ${{ matrix.php-versions }}
|
- name: Set up php ${{ matrix.php-versions }}
|
||||||
uses: shivammathur/setup-php@2.27.0
|
uses: shivammathur/setup-php@2.24.0
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php-versions }}
|
php-version: ${{ matrix.php-versions }}
|
||||||
tools: phpunit
|
tools: phpunit
|
||||||
extensions: zip, gd, mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql
|
extensions: zip, gd, mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, mysql, pdo_mysql, pgsql, pdo_pgsql
|
||||||
|
ini-file: development
|
||||||
coverage: none
|
coverage: none
|
||||||
|
|
||||||
- name: Set up PHPUnit
|
- name: Set up PHPUnit
|
||||||
|
|||||||
29
.github/workflows/pr-feedback.yml
vendored
29
.github/workflows/pr-feedback.yml
vendored
@@ -1,29 +0,0 @@
|
|||||||
name: 'Ask for feedback on PRs'
|
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: '30 1 * * *'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
pr-feedback:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
steps:
|
|
||||||
- name: The get-github-handles-from-website action
|
|
||||||
uses: marcelklehr/get-github-handles-from-website-action@a739600f6b91da4957f51db0792697afbb2f143c # v1.0.0
|
|
||||||
id: scrape
|
|
||||||
with:
|
|
||||||
website: 'https://nextcloud.com/team/'
|
|
||||||
- uses: marcelklehr/pr-feedback-action@601109aa729eb4c8d6d0ece7567b9d4901db4aef
|
|
||||||
with:
|
|
||||||
feedback-message: |
|
|
||||||
Hello there,
|
|
||||||
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.
|
|
||||||
|
|
||||||
We hope that the reviewing process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR reviewing process.
|
|
||||||
|
|
||||||
Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6
|
|
||||||
|
|
||||||
Thank you for contributing to Nextcloud and we hope to hear from you soon!
|
|
||||||
days-before-feedback: 14
|
|
||||||
start-date: "2023-07-10"
|
|
||||||
exempt-authors: "${{ steps.scrape.outputs.users }}"
|
|
||||||
exempt-bots: true
|
|
||||||
13
.github/workflows/psalm.yml
vendored
13
.github/workflows/psalm.yml
vendored
@@ -13,10 +13,6 @@ on:
|
|||||||
- main
|
- main
|
||||||
- stable*
|
- stable*
|
||||||
|
|
||||||
concurrency:
|
|
||||||
group: psalm-${{ github.head_ref || github.run_id }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
static-analysis:
|
static-analysis:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -24,16 +20,13 @@ jobs:
|
|||||||
name: Nextcloud
|
name: Nextcloud
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4 # v3.5.2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Set up php
|
- name: Set up php
|
||||||
uses: shivammathur/setup-php@2.27.0 # v2
|
uses: shivammathur/setup-php@v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 7.4
|
||||||
coverage: none
|
coverage: none
|
||||||
ini-file: development
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: composer i
|
run: composer i
|
||||||
|
|||||||
40
.github/workflows/update-nextcloud-ocp.yml
vendored
40
.github/workflows/update-nextcloud-ocp.yml
vendored
@@ -17,60 +17,42 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
branches: ["main", "master", "stable27", "stable26", "stable25"]
|
branches: ["master", "stable25", "stable24", "stable23"]
|
||||||
|
|
||||||
name: update-nextcloud-ocp-${{ matrix.branches }}
|
name: update-nextcloud-ocp-${{ matrix.branches }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4 # v3.5.2
|
- uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
ref: ${{ matrix.branches }}
|
ref: ${{ matrix.branches }}
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
- name: Set up php8.1
|
- name: Set up php7.4
|
||||||
uses: shivammathur/setup-php@2.27.0 # v2
|
uses: shivammathur/setup-php@v2
|
||||||
with:
|
with:
|
||||||
php-version: 8.1
|
php-version: 7.4
|
||||||
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
|
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
|
||||||
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
|
|
||||||
coverage: none
|
coverage: none
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Composer install
|
- name: Composer install
|
||||||
run: composer install
|
run: composer install
|
||||||
|
|
||||||
- name: Composer update nextcloud/ocp
|
- name: Composer update nextcloud/ocp
|
||||||
if: matrix.branches != 'main'
|
|
||||||
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
|
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
|
||||||
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Composer update nextcloud/ocp
|
- name: Reset checkout dirs
|
||||||
if: matrix.branches == 'main'
|
|
||||||
run: composer require --dev nextcloud/ocp:dev-master
|
|
||||||
|
|
||||||
- name: Reset checkout 3rdparty
|
|
||||||
run: |
|
run: |
|
||||||
git clean -f 3rdparty
|
git clean -f 3rdparty
|
||||||
git checkout 3rdparty
|
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
- name: Reset checkout vendor
|
|
||||||
run: |
|
|
||||||
git clean -f vendor
|
git clean -f vendor
|
||||||
git checkout vendor
|
git checkout 3rdparty vendor
|
||||||
continue-on-error: true
|
|
||||||
|
|
||||||
- name: Reset checkout vendor-bin
|
|
||||||
run: |
|
|
||||||
git clean -f vendor-bin
|
|
||||||
git checkout vendor-bin
|
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 # v3
|
uses: peter-evans/create-pull-request@v3
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.COMMAND_BOT_PAT }}
|
token: ${{ secrets.COMMAND_BOT_PAT }}
|
||||||
commit-message: "chore(dev-deps): Bump nextcloud/ocp package"
|
commit-message: Update psalm baseline
|
||||||
committer: GitHub <noreply@github.com>
|
committer: GitHub <noreply@github.com>
|
||||||
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
|
||||||
signoff: true
|
signoff: true
|
||||||
|
|||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -3,11 +3,9 @@ js/
|
|||||||
build/
|
build/
|
||||||
css/style.css
|
css/style.css
|
||||||
css/vendor.css
|
css/vendor.css
|
||||||
cypress/videos/
|
|
||||||
tests/integration/vendor/
|
tests/integration/vendor/
|
||||||
tests/integration/composer.lock
|
tests/integration/composer.lock
|
||||||
tests/.phpunit.result.cache
|
tests/.phpunit.result.cache
|
||||||
vendor/
|
vendor/
|
||||||
.php_cs.cache
|
.php_cs.cache
|
||||||
\.idea/
|
\.idea/
|
||||||
settings.json
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[main]
|
[main]
|
||||||
host = https://www.transifex.com
|
host = https://www.transifex.com
|
||||||
lang_map = hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi
|
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
|
||||||
|
|
||||||
[o:nextcloud:p:nextcloud:r:deck]
|
[o:nextcloud:p:nextcloud:r:deck]
|
||||||
file_filter = translationfiles/<lang>/deck.po
|
file_filter = translationfiles/<lang>/deck.po
|
||||||
|
|||||||
152
CHANGELOG.md
152
CHANGELOG.md
@@ -1,96 +1,80 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## 1.12.0-beta.1
|
## 1.8.8
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Added ability to mark a card as done @TehThanos [#4137](https://github.com/nextcloud/deck/pull/4137)
|
|
||||||
- Card Cover Images @jszeibert [#5035](https://github.com/nextcloud/deck/pull/5035)
|
|
||||||
- Upcoming/Today/Tomorrow dashboard widgets @BKapelari [#2658](https://github.com/nextcloud/deck/pull/2658)
|
|
||||||
- Enabled advanced fields option on tag color picker @faab007nl [#4362](https://github.com/nextcloud/deck/pull/4362)
|
|
||||||
- Remember last board, list for new card dialog @luka-nextcloud [#5046](https://github.com/nextcloud/deck/pull/5046)
|
|
||||||
- Add support for bidirectional text @jamazi [#5258](https://github.com/nextcloud/deck/pull/5258)
|
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Deck card comment notification label improvement @Jerome-Herbinet [#4748](https://github.com/nextcloud/deck/pull/4748)
|
- fix: Pass user id along to properly check permissions in background jobs @backportbot[bot] [#5595](https://github.com/nextcloud/deck/pull/5595)
|
||||||
- update smart picker links @luka-nextcloud [#5047](https://github.com/nextcloud/deck/pull/5047)
|
|
||||||
- feat: Enhance dark mode @juliushaertl [#5045](https://github.com/nextcloud/deck/pull/5045)
|
|
||||||
- fix: export doesn't handle lists with no cards @magikmw [#5096](https://github.com/nextcloud/deck/pull/5096)
|
|
||||||
- add attributes aria-label= and title= to Filters & View Modes buttons @privatemaker [#5133](https://github.com/nextcloud/deck/pull/5133)
|
|
||||||
- fix: Check both card reference url patterns @juliushaertl [#5262](https://github.com/nextcloud/deck/pull/5262)
|
|
||||||
- fix: Avoid too large index on postgres as indexing just the last_editor column is enough @juliushaertl [#5260](https://github.com/nextcloud/deck/pull/5260)
|
|
||||||
- feat: error msg on CreateNewCardCustomPicker & only show available bo… @luka-nextcloud [#5029](https://github.com/nextcloud/deck/pull/5029)
|
|
||||||
- test: add cypress tests for create new deck card @luka-nextcloud [#5025](https://github.com/nextcloud/deck/pull/5025)
|
|
||||||
- Remove duplicate button @solracsf [#4850](https://github.com/nextcloud/deck/pull/4850)
|
|
||||||
- [stable27] fix cypress for new file picker [#5088](https://github.com/nextcloud/deck/pull/5088)
|
|
||||||
- Replace "Timeline" wording with "Activity" in order to be consistent with equivalent contexts throughout Nextcloud @Jerome-Herbinet [#5164](https://github.com/nextcloud/deck/pull/5164)
|
|
||||||
- Board creation limitation : More understandable wordings @Jerome-Herbinet [#5168](https://github.com/nextcloud/deck/pull/5168)
|
|
||||||
- ci(cypress): Fix file picker selector @juliushaertl [#5212](https://github.com/nextcloud/deck/pull/5212)
|
|
||||||
- Switch to native date picker @juliushaertl [#4668](https://github.com/nextcloud/deck/pull/4668)
|
|
||||||
- fixes minor spelling error @FundreasFrohsinn [#5216](https://github.com/nextcloud/deck/pull/5216)
|
|
||||||
- feat(card): tooltip for comment timestamp @fitrahfm [#5253](https://github.com/nextcloud/deck/pull/5253)
|
|
||||||
|
|
||||||
## 1.10.0-beta.1
|
## 1.8.7
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Compatibility with Nextcloud 27
|
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- fix(references): Mute NoPermissionException as it is expected to happen for references @juliushaertl [#4514](https://github.com/nextcloud/deck/pull/4514)
|
- Fix small issues around delete/undo @juliushaertl [#5440](https://github.com/nextcloud/deck/pull/5440)
|
||||||
- fix(cards): Fix card sizing by limiting too wide style rules @juliushaertl [#4512](https://github.com/nextcloud/deck/pull/4512)
|
- Fix deleted card/board issues @juliushaertl [#5444](https://github.com/nextcloud/deck/pull/5444)
|
||||||
- fix: Adapt NcEmptyContent usages to new slots @juliushaertl [#4561](https://github.com/nextcloud/deck/pull/4561)
|
|
||||||
- Gracefully handle not found card for a share @mejo- [#4566](https://github.com/nextcloud/deck/pull/4566)
|
|
||||||
- Prevent tag itself being edit button if user lacks permissions @joshtrichards [#4574](https://github.com/nextcloud/deck/pull/4574)
|
|
||||||
- chore: Remove unused @nextcloud/vue-dashboard @juliushaertl [#4586](https://github.com/nextcloud/deck/pull/4586)
|
|
||||||
- Update Description.vue: Fixes the issue of hidden text by menu bar @pschopen [#4617](https://github.com/nextcloud/deck/pull/4617)
|
|
||||||
- allow user to toggle visibility of the calendar for a deck board @schiessle [#4622](https://github.com/nextcloud/deck/pull/4622)
|
|
||||||
- fix: Append datetime picker to body to avoid cut off @juliushaertl [#4643](https://github.com/nextcloud/deck/pull/4643)
|
|
||||||
- fix: Bring back overdue column by removing faulty condition @juliushaertl [#4660](https://github.com/nextcloud/deck/pull/4660)
|
|
||||||
- fix(sessions): Do not send close request without token @juliushaertl [#4510](https://github.com/nextcloud/deck/pull/4510)
|
|
||||||
- tests(integration): Add test for multiple board shares to the same user @juliushaertl [#4494](https://github.com/nextcloud/deck/pull/4494)
|
|
||||||
- fix(API): Fix board API details parameter to work as expected @nickvergessen [#4518](https://github.com/nextcloud/deck/pull/4518)
|
|
||||||
- Fix : Overlapping expiry dates on tags @Jerome-Herbinet [#4535](https://github.com/nextcloud/deck/pull/4535)
|
|
||||||
- Fix consistency of a "Create card" wording with its equivalent for Notes ("New card") @Jerome-Herbinet [#4534](https://github.com/nextcloud/deck/pull/4534)
|
|
||||||
- tests(integration): Add integration tests for due dates @juliushaertl [#4489](https://github.com/nextcloud/deck/pull/4489)
|
|
||||||
- Better display of card dates (creation and change dates) @Jerome-Herbinet [#4604](https://github.com/nextcloud/deck/pull/4604)
|
|
||||||
- Refactors lib\Activity\DeckProvider.php to improve code readability. @fsamapoor [#4648](https://github.com/nextcloud/deck/pull/4648)
|
|
||||||
- Converts 'strpos()' calls to improve code readability. @fsamapoor [#4657](https://github.com/nextcloud/deck/pull/4657)
|
|
||||||
|
|
||||||
|
## 1.8.6
|
||||||
## 1.9.0-beta.1
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Export Board @david-loe [#3065](https://github.com/nextcloud/deck/pull/3065)
|
|
||||||
- basic notify_push usage with session handling @alangecker [#3876](https://github.com/nextcloud/deck/pull/3876)
|
|
||||||
- feat(Description): Use text as editor if available @juliushaertl [#4399](https://github.com/nextcloud/deck/pull/4399)
|
|
||||||
- Improve reference provider and add reference widgets @julien-nc [#4422](https://github.com/nextcloud/deck/pull/4422)
|
|
||||||
- live updates 🎉 @alangecker [#4273](https://github.com/nextcloud/deck/pull/4273)
|
|
||||||
- Tag creation from card view @juliushaertl [#4344](https://github.com/nextcloud/deck/pull/4344)
|
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fix component renaming so that acl works on shares again @small1 [#4315](https://github.com/nextcloud/deck/pull/4315)
|
- Prevent tag itself being edit button if user lacks permissions [#4767](https://github.com/nextcloud/deck/pull/4767)
|
||||||
- fix(Sidebar): Only close sidebar on v-click-outside for specific targets @juliushaertl [#4350](https://github.com/nextcloud/deck/pull/4350)
|
- Fix(occ): set user id for permission sevice from board service [#4815](https://github.com/nextcloud/deck/pull/4815)
|
||||||
- add basic e2e tests for stack title @shoetten [#4206](https://github.com/nextcloud/deck/pull/4206)
|
- fix(notification): Prevent null in parameters [#4911](https://github.com/nextcloud/deck/pull/4911)
|
||||||
- App metadata: add links to user and developer documentation @p-bo [#4356](https://github.com/nextcloud/deck/pull/4356)
|
- fix: Allow dynamic autoloading for classes added during upgrade [#4806](https://github.com/nextcloud/deck/pull/4806)
|
||||||
- Update signature of Entity::markFieldUpdated @nickvergessen [#4398](https://github.com/nextcloud/deck/pull/4398)
|
- Ensure `$boardId` is an integer [#4775](https://github.com/nextcloud/deck/pull/4775)
|
||||||
- Remove updated nightly information @xf- [#4419](https://github.com/nextcloud/deck/pull/4419)
|
- fix: crash when leaving out system parameter [#4833](https://github.com/nextcloud/deck/pull/4833)
|
||||||
- perf: Register notifier and resource listener lazy @juliushaertl [#4439](https://github.com/nextcloud/deck/pull/4439)
|
- Fix CI @juliushaertl [#4912](https://github.com/nextcloud/deck/pull/4912)
|
||||||
- perf: Lazy load dashboard components @juliushaertl [#4440](https://github.com/nextcloud/deck/pull/4440)
|
- fix: Split query to fetch board ids to avoid slow query join @juliushaertl [#4963](https://github.com/nextcloud/deck/pull/4963)
|
||||||
- Optimise upcomming overview creation @Raudius [#3793](https://github.com/nextcloud/deck/pull/3793)
|
- Dependency updates
|
||||||
- Performance boost @juliushaertl [#4452](https://github.com/nextcloud/deck/pull/4452)
|
|
||||||
|
|
||||||
### Other
|
## 1.8.5
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fix: Properly overwrite z-index of datepicker above modal [#4667](https://github.com/nextcloud/deck/pull/4667)
|
||||||
|
|
||||||
|
|
||||||
|
## 1.8.4
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- fix: Use passed userid when getting attachment folder [#4540](https://github.com/nextcloud/deck/pull/4540)
|
||||||
|
- fix: Adapt NcEmptyContent usages to new slots [#4563](https://github.com/nextcloud/deck/pull/4563)
|
||||||
|
- Gracefully handle not found card for a share [#4568](https://github.com/nextcloud/deck/pull/4568)
|
||||||
|
- allow user to toggle visibility of the calendar for a deck board [#4626](https://github.com/nextcloud/deck/pull/4626)
|
||||||
|
- fix: Append datetime picker to body to avoid cut off [#4645](https://github.com/nextcloud/deck/pull/4645)
|
||||||
|
- Fix : Overlapping expiry dates on tags [#4536](https://github.com/nextcloud/deck/pull/4536)
|
||||||
|
- Better display of card dates (creation and change dates) [#4620](https://github.com/nextcloud/deck/pull/4620)
|
||||||
|
- Dependency updates
|
||||||
|
|
||||||
|
## 1.8.3
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix component renaming so that acl works on shares again [#4328](https://github.com/nextcloud/deck/pull/4328)
|
||||||
|
- Permanently delete deck cards marked as deleted after 5 min in a cron job [#4301](https://github.com/nextcloud/deck/pull/4301)
|
||||||
- Dependency updates
|
- Dependency updates
|
||||||
|
|
||||||
|
|
||||||
## 1.8.0-beta.1
|
## 1.8.2
|
||||||
### Enhancements
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- minor style fixes [#4201](https://github.com/nextcloud/deck/pull/4201)
|
||||||
|
- feat: add validators to check values in services [#4174](https://github.com/nextcloud/deck/pull/4174)
|
||||||
|
- Add integration test for attachment handling on cards [#4179](https://github.com/nextcloud/deck/pull/4179)
|
||||||
|
- Add missing userId property [#4198](https://github.com/nextcloud/deck/pull/4198)
|
||||||
|
|
||||||
|
## 1.8.1
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix Duedate activity @nickvergessen [#4155](https://github.com/nextcloud/deck/pull/4155)
|
||||||
|
|
||||||
|
## 1.8.0
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
- Nextcloud 25 compatibility
|
- Nextcloud 25 compatibility
|
||||||
- Performance improvements
|
- Performance improvements
|
||||||
@@ -102,10 +86,26 @@ All notable changes to this project will be documented in this file.
|
|||||||
- Improve filter popover accessibility @juliushaertl [#3820](https://github.com/nextcloud/deck/pull/3820)
|
- Improve filter popover accessibility @juliushaertl [#3820](https://github.com/nextcloud/deck/pull/3820)
|
||||||
- Set ids to skip to content/navigation @juliushaertl [#3924](https://github.com/nextcloud/deck/pull/3924)
|
- Set ids to skip to content/navigation @juliushaertl [#3924](https://github.com/nextcloud/deck/pull/3924)
|
||||||
- Invert icons properly in dark mode @juliushaertl [#3939](https://github.com/nextcloud/deck/pull/3939)
|
- Invert icons properly in dark mode @juliushaertl [#3939](https://github.com/nextcloud/deck/pull/3939)
|
||||||
- Bump dependencies
|
- Implement card reference widget @eneiluj [#4031](https://github.com/nextcloud/deck/pull/4031)
|
||||||
|
- Implement new dashboard widget interfaces @eneiluj [#4033](https://github.com/nextcloud/deck/pull/4033)
|
||||||
|
- Add related resources panel to board sharing tab sidebar @Pytal [#4000](https://github.com/nextcloud/deck/pull/4000)
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
- Fix sorting stacks [#4116](https://github.com/nextcloud/deck/pull/4116)
|
||||||
|
- Fix issue with duedate format [#4140](https://github.com/nextcloud/deck/pull/4140)
|
||||||
|
- Fix missing icon for activity rendering [#4090](https://github.com/nextcloud/deck/pull/4090)
|
||||||
|
- disables autocomplete on card creation [#4142](https://github.com/nextcloud/deck/pull/4142)
|
||||||
|
- Set event link also for notifications that get emitted from activities [#4117](https://github.com/nextcloud/deck/pull/4117)
|
||||||
|
- Fix attachment creator name: show display name @eneiluj [#4036](https://github.com/nextcloud/deck/pull/4036)
|
||||||
|
- Fix reference provider when caching @eneiluj [#4056](https://github.com/nextcloud/deck/pull/4056)
|
||||||
|
- Use global import for nextcloud-vue [#4072](https://github.com/nextcloud/deck/pull/4072)
|
||||||
|
- Disable Create card button while no stack is chosen @icewind1991 [#4014](https://github.com/nextcloud/deck/pull/4014)
|
||||||
|
- Adjust testing matrix for Nextcloud 25 on stable25 @nickvergessen [#4068](https://github.com/nextcloud/deck/pull/4068)
|
||||||
|
- Fix Card menu not displaying when description is not set @marcelklehr [#4105](https://github.com/nextcloud/deck/pull/4105)
|
||||||
|
- Reference widget adjustments for Text [#4075](https://github.com/nextcloud/deck/pull/4075)
|
||||||
|
- use OCP\Collaboration\Reference\Reference [#4078](https://github.com/nextcloud/deck/pull/4078)
|
||||||
|
- Cache user membership for circles [#4141](https://github.com/nextcloud/deck/pull/4141)
|
||||||
- set last modified when the card was found. Fixes #3763 @ylebre [#3796](https://github.com/nextcloud/deck/pull/3796)
|
- set last modified when the card was found. Fixes #3763 @ylebre [#3796](https://github.com/nextcloud/deck/pull/3796)
|
||||||
- Increase file count after sharing @luka-nextcloud [#3682](https://github.com/nextcloud/deck/pull/3682)
|
- Increase file count after sharing @luka-nextcloud [#3682](https://github.com/nextcloud/deck/pull/3682)
|
||||||
- Align Duedate-delete icon properly - fixes nextcloud/deck#3791 @Ben-Ro [#3811](https://github.com/nextcloud/deck/pull/3811)
|
- Align Duedate-delete icon properly - fixes nextcloud/deck#3791 @Ben-Ro [#3811](https://github.com/nextcloud/deck/pull/3811)
|
||||||
|
|||||||
10
Makefile
10
Makefile
@@ -30,16 +30,6 @@ build: clean-dist install-deps build-js
|
|||||||
|
|
||||||
release: clean-dist install-deps-nodev build-js
|
release: clean-dist install-deps-nodev build-js
|
||||||
|
|
||||||
lint: lint-js lint-php
|
|
||||||
|
|
||||||
lint-js:
|
|
||||||
npm run lint
|
|
||||||
npm run stylelint
|
|
||||||
|
|
||||||
lint-php:
|
|
||||||
composer run lint 1>/dev/null
|
|
||||||
composer run cs:check
|
|
||||||
|
|
||||||
build-js: install-deps-js
|
build-js: install-deps-js
|
||||||
npm run build
|
npm run build
|
||||||
|
|
||||||
|
|||||||
83
README.md
83
README.md
@@ -1,6 +1,6 @@
|
|||||||
# Deck
|
# Deck
|
||||||
|
|
||||||
[](https://travis-ci.org/nextcloud/deck) [](https://codecov.io/github/nextcloud/deck) [](https://www.codacy.com/app/juliushaertl/deck?utm_source=github.com&utm_medium=referral&utm_content=nextcloud/deck&utm_campaign=Badge_Grade) [](https://scrutinizer-ci.com/g/nextcloud/deck/?branch=main) [](https://webchat.freenode.net/?channels=nextcloud-deck)
|
[](https://travis-ci.org/nextcloud/deck) [](https://codecov.io/github/nextcloud/deck) [](https://www.codacy.com/app/juliushaertl/deck?utm_source=github.com&utm_medium=referral&utm_content=nextcloud/deck&utm_campaign=Badge_Grade) [](https://scrutinizer-ci.com/g/nextcloud/deck/?branch=master) [](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.
|
Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.
|
||||||
@@ -20,18 +20,37 @@ Deck is a kanban style organization tool aimed at personal planning and project
|
|||||||
### Mobile apps
|
### Mobile apps
|
||||||
|
|
||||||
- [Nextcloud Deck app for Android](https://github.com/stefan-niedermann/nextcloud-deck) - It is available in [F-Droid](https://f-droid.org/de/packages/it.niedermann.nextcloud.deck/) and the [Google Play Store](https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play)
|
- [Nextcloud Deck app for Android](https://github.com/stefan-niedermann/nextcloud-deck) - It is available in [F-Droid](https://f-droid.org/de/packages/it.niedermann.nextcloud.deck/) and the [Google Play Store](https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play)
|
||||||
- [deck NG for Android and iOS](https://github.com/meltzow/deck-ng) - It is available in [Google Play Store](https://play.google.com/store/apps/details?id=net.meltzow.deckng) and [Apple App Store](https://apps.apple.com/us/app/deck-ng/id6443334702)
|
|
||||||
|
|
||||||
### 3rd-Party Integrations
|
### 3rd-Party Integrations
|
||||||
|
|
||||||
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
|
- [trello-to-deck](https://github.com/maxammann/trello-to-deck) - Migrates cards from Trello
|
||||||
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
|
- [mail2deck](https://github.com/newroco/mail2deck) - Provides an "email in" solution
|
||||||
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
|
- [A-deck](https://github.com/leoossa/A-deck) - Chrome Extension that allows to create new card in selected stack based on current tab
|
||||||
- [QOwnNotes](https://github.com/pbek/QOwnNotes) - Quickly creates cards and links to them in Markdown notes
|
|
||||||
|
|
||||||
## Installation/Update
|
## Installation/Update
|
||||||
|
|
||||||
The app can be installed through the app store within Nextcloud. You can also download the latest release from the [release page](https://github.com/nextcloud-releases/deck/releases).
|
This app is supposed to work on the two latest Nextcloud versions.
|
||||||
|
|
||||||
|
### Install latest release
|
||||||
|
|
||||||
|
You can download and install the latest release from the [Nextcloud app store](https://apps.nextcloud.com/apps/deck)
|
||||||
|
|
||||||
|
### 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/nextcloud/deck.git
|
||||||
|
cd deck
|
||||||
|
make install-deps
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
Please make sure you have installed the following dependencies: `make, which, tar, npm, curl, composer`
|
||||||
|
|
||||||
|
### Install the nightly builds
|
||||||
|
|
||||||
|
Instead of setting everything up manually, you can just [download the nightly build](https://github.com/nextcloud/deck/releases/tag/nightly) instead. These builds are updated every 24 hours, and are pre-configured with all the needed dependencies.
|
||||||
|
|
||||||
## Performance limitations
|
## Performance limitations
|
||||||
|
|
||||||
@@ -46,54 +65,36 @@ Improvements on Nextcloud server and Deck itself will improve the situation.
|
|||||||
|
|
||||||
## Developing
|
## Developing
|
||||||
|
|
||||||
There are multiple ways to develop on Deck. As you will need a Nextcloud server running, the individual options are described below.
|
### PHP
|
||||||
|
|
||||||
### General build instructions
|
Nothing to prepare, just dig into the code.
|
||||||
|
|
||||||
General build instructions for the app itself are the same for all options.
|
### JavaScript
|
||||||
|
|
||||||
To build you will need to have [Node.js](https://nodejs.org/en/) and [Composer](https://getcomposer.org/) installed.
|
This requires at least Node 14 and npm 7 to be installed.
|
||||||
|
|
||||||
- Install PHP dependencies: `composer install --no-dev`
|
Deck requires running a `make build-js` to install npm dependencies and build the JavaScript code using webpack. While developing you can also use `make watch` to rebuild everytime the code changes.
|
||||||
- Install JS dependencies: `npm ci`
|
|
||||||
- Build JavaScript for the frontend
|
|
||||||
- Development build `npm run dev`
|
|
||||||
- Watch for changes `npm run watch`
|
|
||||||
- Production build `npm run build`
|
|
||||||
|
|
||||||
### Faster frontend developing with HMR
|
#### Hot reloading
|
||||||
|
|
||||||
You can enable HMR (Hot module replacement) to avoid page reloads when working on the frontend:
|
Enable debug mode in your config.php `'debug' => true,`
|
||||||
|
|
||||||
1. ☑️ Install and enable [`hmr_enabler` app](https://github.com/nextcloud/hmr_enabler)
|
|
||||||
2. 🏁 Run `npm run serve`
|
|
||||||
3. 🌍 Open the normal Nextcloud server URL (not the URL given by above command)
|
|
||||||
|
|
||||||
### GitHub Codespaces / VS Code devcontainer
|
|
||||||
|
|
||||||
- Open code spaces or the repository in VS Code to start the dev container
|
|
||||||
- The container will automatically install all dependencies and build the app
|
|
||||||
- Nextcloud will be installed from the master development branch and be available on a port exposed by the container
|
|
||||||
|
|
||||||
### Docker: Simple app development container
|
|
||||||
|
|
||||||
- Fork the app
|
|
||||||
- Clone the repository: `git clone https://github.com/nextcloud/deck.git`
|
|
||||||
- Go into deck directory: `cd deck`
|
|
||||||
- Build the app as described in the general build instructions
|
|
||||||
- Run Nextcloud development container and mount the apps source code into it
|
|
||||||
|
|
||||||
|
Without SSL:
|
||||||
```
|
```
|
||||||
docker run --rm \
|
npx webpack-dev-server --config webpack.hot.js \
|
||||||
-p 8080:80 \
|
--public localhost:3000 \
|
||||||
-v ~/path/to/app:/var/www/html/apps-extra/app \
|
--output-public-path 'http://localhost:3000/js/'
|
||||||
ghcr.io/juliushaertl/nextcloud-dev-php80:latest
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Full Nextcloud development environment
|
With SSL:
|
||||||
|
```
|
||||||
|
npx webpack-dev-server --config webpack.dev.js --https \
|
||||||
|
--cert ~/repos/nextcloud/nc-dev/data/ssl/nextcloud.local.crt \
|
||||||
|
--key ~/repos/nextcloud/nc-dev/data/ssl/nextcloud.local.key \
|
||||||
|
--public nextcloud.local:3000 \
|
||||||
|
--output-public-path 'https://nextcloud.local:3000/js/'
|
||||||
|
```
|
||||||
|
|
||||||
You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current Nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev).
|
|
||||||
After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder.
|
|
||||||
|
|
||||||
### Running tests
|
### Running tests
|
||||||
You can use the provided Makefile to run all tests by using:
|
You can use the provided Makefile to run all tests by using:
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ Your report should include:
|
|||||||
- Reproduction steps
|
- Reproduction steps
|
||||||
|
|
||||||
A member of the security team will confirm the vulnerability, determine its impact, and develop a fix.
|
A member of the security team will confirm the vulnerability, determine its impact, and develop a fix.
|
||||||
The fix will be applied to the main branch, tested, and packaged in the next security release.
|
The fix will be applied to the master branch, tested, and packaged in the next security release.
|
||||||
The vulnerability will be publicly announced after the release. Finally, your name will be added
|
The vulnerability will be publicly announced after the release. Finally, your name will be added
|
||||||
to the [hall of fame](https://hackerone.com/nextcloud/thanks) as a thank you from the entire Nextcloud community. Note our
|
to the [hall of fame](https://hackerone.com/nextcloud/thanks) as a thank you from the entire Nextcloud community. Note our
|
||||||
[threat model](https://nextcloud.com/security/threat-model) to know what is expected behavior.
|
[threat model](https://nextcloud.com/security/threat-model) to know what is expected behavior.
|
||||||
|
|||||||
@@ -16,13 +16,9 @@
|
|||||||
- 🚀 Get your project organized
|
- 🚀 Get your project organized
|
||||||
|
|
||||||
</description>
|
</description>
|
||||||
<version>1.12.0-beta.1</version>
|
<version>1.8.8</version>
|
||||||
<licence>agpl</licence>
|
<licence>agpl</licence>
|
||||||
<author>Julius Härtl</author>
|
<author>Julius Härtl</author>
|
||||||
<documentation>
|
|
||||||
<user>https://deck.readthedocs.io/en/latest/User_documentation_en/</user>
|
|
||||||
<developer>https://deck.readthedocs.io/en/latest/API/</developer>
|
|
||||||
</documentation>
|
|
||||||
<namespace>Deck</namespace>
|
<namespace>Deck</namespace>
|
||||||
<types>
|
<types>
|
||||||
<dav/>
|
<dav/>
|
||||||
@@ -38,19 +34,13 @@
|
|||||||
<database min-version="9.4">pgsql</database>
|
<database min-version="9.4">pgsql</database>
|
||||||
<database>sqlite</database>
|
<database>sqlite</database>
|
||||||
<database min-version="8.0">mysql</database>
|
<database min-version="8.0">mysql</database>
|
||||||
<nextcloud min-version="28" max-version="28"/>
|
<nextcloud min-version="25" max-version="25"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<background-jobs>
|
<background-jobs>
|
||||||
<job>OCA\Deck\Cron\DeleteCron</job>
|
<job>OCA\Deck\Cron\DeleteCron</job>
|
||||||
<job>OCA\Deck\Cron\ScheduledNotifications</job>
|
<job>OCA\Deck\Cron\ScheduledNotifications</job>
|
||||||
<job>OCA\Deck\Cron\CardDescriptionActivity</job>
|
<job>OCA\Deck\Cron\CardDescriptionActivity</job>
|
||||||
<job>OCA\Deck\Cron\SessionsCleanup</job>
|
|
||||||
</background-jobs>
|
</background-jobs>
|
||||||
<repair-steps>
|
|
||||||
<live-migration>
|
|
||||||
<step>OCA\Deck\Migration\DeletedCircleCleanup</step>
|
|
||||||
</live-migration>
|
|
||||||
</repair-steps>
|
|
||||||
<commands>
|
<commands>
|
||||||
<command>OCA\Deck\Command\UserExport</command>
|
<command>OCA\Deck\Command\UserExport</command>
|
||||||
<command>OCA\Deck\Command\BoardImport</command>
|
<command>OCA\Deck\Command\BoardImport</command>
|
||||||
@@ -58,9 +48,9 @@
|
|||||||
</commands>
|
</commands>
|
||||||
<activity>
|
<activity>
|
||||||
<settings>
|
<settings>
|
||||||
<setting>OCA\Deck\Activity\SettingChanges</setting>
|
<setting>OCA\Deck\Activity\Setting</setting>
|
||||||
<setting>OCA\Deck\Activity\SettingDescription</setting>
|
|
||||||
<setting>OCA\Deck\Activity\SettingComment</setting>
|
<setting>OCA\Deck\Activity\SettingComment</setting>
|
||||||
|
<setting>OCA\Deck\Activity\DescriptionSetting</setting>
|
||||||
</settings>
|
</settings>
|
||||||
<filters>
|
<filters>
|
||||||
<filter>OCA\Deck\Activity\Filter</filter>
|
<filter>OCA\Deck\Activity\Filter</filter>
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ return [
|
|||||||
['name' => 'board#deleteAcl', 'url' => '/boards/{boardId}/acl/{aclId}', 'verb' => 'DELETE'],
|
['name' => 'board#deleteAcl', 'url' => '/boards/{boardId}/acl/{aclId}', 'verb' => 'DELETE'],
|
||||||
['name' => 'board#clone', 'url' => '/boards/{boardId}/clone', 'verb' => 'POST'],
|
['name' => 'board#clone', 'url' => '/boards/{boardId}/clone', 'verb' => 'POST'],
|
||||||
['name' => 'board#transferOwner', 'url' => '/boards/{boardId}/transferOwner', 'verb' => 'PUT'],
|
['name' => 'board#transferOwner', 'url' => '/boards/{boardId}/transferOwner', 'verb' => 'PUT'],
|
||||||
['name' => 'board#export', 'url' => '/boards/{boardId}/export', 'verb' => 'GET'],
|
|
||||||
|
|
||||||
// stacks
|
// stacks
|
||||||
['name' => 'stack#index', 'url' => '/stacks/{boardId}', 'verb' => 'GET'],
|
['name' => 'stack#index', 'url' => '/stacks/{boardId}', 'verb' => 'GET'],
|
||||||
@@ -61,8 +60,6 @@ return [
|
|||||||
['name' => 'card#reorder', 'url' => '/cards/{cardId}/reorder', 'verb' => 'PUT'],
|
['name' => 'card#reorder', 'url' => '/cards/{cardId}/reorder', 'verb' => 'PUT'],
|
||||||
['name' => 'card#archive', 'url' => '/cards/{cardId}/archive', 'verb' => 'PUT'],
|
['name' => 'card#archive', 'url' => '/cards/{cardId}/archive', 'verb' => 'PUT'],
|
||||||
['name' => 'card#unarchive', 'url' => '/cards/{cardId}/unarchive', 'verb' => 'PUT'],
|
['name' => 'card#unarchive', 'url' => '/cards/{cardId}/unarchive', 'verb' => 'PUT'],
|
||||||
['name' => 'card#done', 'url' => '/cards/{cardId}/done', 'verb' => 'PUT'],
|
|
||||||
['name' => 'card#undone', 'url' => '/cards/{cardId}/undone', 'verb' => 'PUT'],
|
|
||||||
['name' => 'card#assignLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'POST'],
|
['name' => 'card#assignLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'POST'],
|
||||||
['name' => 'card#removeLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'DELETE'],
|
['name' => 'card#removeLabel', 'url' => '/cards/{cardId}/label/{labelId}', 'verb' => 'DELETE'],
|
||||||
['name' => 'card#assignUser', 'url' => '/cards/{cardId}/assign', 'verb' => 'POST'],
|
['name' => 'card#assignUser', 'url' => '/cards/{cardId}/assign', 'verb' => 'POST'],
|
||||||
@@ -152,10 +149,5 @@ return [
|
|||||||
['name' => 'overview_api#upcomingCards', 'url' => '/api/v{apiVersion}/overview/upcoming', 'verb' => 'GET'],
|
['name' => 'overview_api#upcomingCards', 'url' => '/api/v{apiVersion}/overview/upcoming', 'verb' => 'GET'],
|
||||||
|
|
||||||
['name' => 'search#search', 'url' => '/api/v{apiVersion}/search', 'verb' => 'GET'],
|
['name' => 'search#search', 'url' => '/api/v{apiVersion}/search', 'verb' => 'GET'],
|
||||||
|
|
||||||
// sessions
|
|
||||||
['name' => 'Session#create', 'url' => '/api/v{apiVersion}/session/create', 'verb' => 'PUT'],
|
|
||||||
['name' => 'Session#sync', 'url' => '/api/v{apiVersion}/session/sync', 'verb' => 'POST'],
|
|
||||||
['name' => 'Session#close', 'url' => '/api/v{apiVersion}/session/close', 'verb' => 'POST'],
|
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -9,14 +9,17 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"require": {
|
"require": {
|
||||||
|
"cogpowered/finediff": "0.3.*",
|
||||||
"justinrainbow/json-schema": "^5.2"
|
"justinrainbow/json-schema": "^5.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"roave/security-advisories": "dev-master",
|
"roave/security-advisories": "dev-master",
|
||||||
"phpunit/phpunit": "^9",
|
"phpunit/phpunit": "^9",
|
||||||
"nextcloud/coding-standard": "^1.1",
|
"nextcloud/coding-standard": "^1.0.0",
|
||||||
"nextcloud/ocp": "dev-master",
|
"symfony/event-dispatcher": "^4.0",
|
||||||
"psalm/phar": "^5.13"
|
"vimeo/psalm": "^4.3",
|
||||||
|
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||||
|
"nextcloud/ocp": "dev-stable25"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"optimize-autoloader": true,
|
"optimize-autoloader": true,
|
||||||
@@ -24,22 +27,23 @@
|
|||||||
"composer/package-versions-deprecated": true
|
"composer/package-versions-deprecated": true
|
||||||
},
|
},
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "8.0"
|
"php": "7.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
|
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
|
||||||
"cs:check": "php-cs-fixer fix --dry-run --diff",
|
"cs:check": "php-cs-fixer fix --dry-run --diff",
|
||||||
"cs:fix": "php-cs-fixer fix",
|
"cs:fix": "php-cs-fixer fix",
|
||||||
"psalm": "psalm.phar",
|
"psalm": "psalm",
|
||||||
"psalm:update-baseline": "psalm.phar --update-baseline",
|
"psalm:update-baseline": "psalm --update-baseline",
|
||||||
"psalm:fix": "psalm.phar --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
|
"psalm:fix": "psalm --alter --issues=InvalidReturnType,InvalidNullableReturnType,MismatchingDocblockParamType,MismatchingDocblockReturnType,MissingParamType,InvalidFalsableReturnType",
|
||||||
"test": [
|
"test": [
|
||||||
"@test:unit",
|
"@test:unit",
|
||||||
"@test:integration"
|
"@test:integration"
|
||||||
],
|
],
|
||||||
"test:unit": "vendor/bin/phpunit -c tests/phpunit.xml",
|
"test:unit": "phpunit -c tests/phpunit.xml",
|
||||||
"test:integration": "vendor/bin/phpunit -c tests/phpunit.integration.xml && cd tests/integration && ./run.sh"
|
"test:integration": "phpunit -c tests/phpunit.integration.xml",
|
||||||
|
"test:api": "cd tests/integration && ./run.sh"
|
||||||
},
|
},
|
||||||
"autoload-dev": {
|
"autoload-dev": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
|||||||
3635
composer.lock
generated
3635
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -1,16 +1,17 @@
|
|||||||
const { defineConfig } = require('cypress')
|
const { defineConfig } = require('cypress')
|
||||||
|
|
||||||
module.exports = defineConfig({
|
module.exports = defineConfig({
|
||||||
projectId: '1s7wkc',
|
projectId: '1s7wkc',
|
||||||
viewportWidth: 1280,
|
viewportWidth: 1280,
|
||||||
viewportHeight: 720,
|
viewportHeight: 720,
|
||||||
e2e: {
|
e2e: {
|
||||||
// We've imported your old cypress plugins here.
|
// We've imported your old cypress plugins here.
|
||||||
// You may want to clean this up later by importing these.
|
// You may want to clean this up later by importing these.
|
||||||
setupNodeEvents(on, config) {
|
setupNodeEvents(on, config) {
|
||||||
return require('./cypress/plugins/index.js')(on, config)
|
return require('./cypress/plugins/index.js')(on, config)
|
||||||
},
|
},
|
||||||
baseUrl: 'http://nextcloud.local/index.php',
|
baseUrl: 'http://nextcloud.local/index.php',
|
||||||
specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}',
|
experimentalSessionAndOrigin: true,
|
||||||
},
|
specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}',
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
module.exports = {
|
|
||||||
extends: [
|
|
||||||
'plugin:cypress/recommended',
|
|
||||||
],
|
|
||||||
}
|
|
||||||
@@ -1,17 +1,15 @@
|
|||||||
import { randUser } from '../utils/index.js'
|
import { randHash } from '../utils'
|
||||||
const user = randUser()
|
const randUser = randHash()
|
||||||
const recipient = randUser()
|
|
||||||
|
|
||||||
describe('Board', function() {
|
describe('Board', function() {
|
||||||
|
const password = 'pass123'
|
||||||
|
|
||||||
before(function() {
|
before(function() {
|
||||||
cy.createUser(user)
|
cy.nextcloudCreateUser(randUser, password)
|
||||||
cy.createUser(recipient)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
cy.login(user)
|
cy.login(randUser, password)
|
||||||
cy.visit('/apps/deck')
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Can create a board', function() {
|
it('Can create a board', function() {
|
||||||
@@ -23,6 +21,7 @@ describe('Board', function() {
|
|||||||
}).as('createBoardRequest')
|
}).as('createBoardRequest')
|
||||||
|
|
||||||
// Click "Add board"
|
// Click "Add board"
|
||||||
|
cy.openLeftSidebar()
|
||||||
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
|
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
|
||||||
.eq(3).find('a').first().click({ force: true })
|
.eq(3).find('a').first().click({ force: true })
|
||||||
|
|
||||||
@@ -39,18 +38,4 @@ describe('Board', function() {
|
|||||||
cy.get('.app-navigation__list .app-navigation-entry__children .app-navigation-entry')
|
cy.get('.app-navigation__list .app-navigation-entry__children .app-navigation-entry')
|
||||||
.contains(board).should('be.visible')
|
.contains(board).should('be.visible')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Shows and hides the navigation', () => {
|
|
||||||
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
|
|
||||||
.contains('Upcoming cards')
|
|
||||||
.should('be.visible')
|
|
||||||
cy.openLeftSidebar()
|
|
||||||
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
|
|
||||||
.contains('Upcoming cards')
|
|
||||||
.should('not.be.visible')
|
|
||||||
cy.openLeftSidebar()
|
|
||||||
cy.get('#app-navigation-vue .app-navigation__list .app-navigation-entry')
|
|
||||||
.contains('Upcoming cards')
|
|
||||||
.should('be.visible')
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,48 +1,53 @@
|
|||||||
import { randUser } from '../utils/index.js'
|
import { randHash } from '../utils'
|
||||||
import { sampleBoard } from '../utils/sampleBoard'
|
const randUser = randHash()
|
||||||
import moment from '@nextcloud/moment'
|
|
||||||
|
|
||||||
const user = randUser()
|
const testBoardData = {
|
||||||
const boardData = sampleBoard()
|
title: 'MyBoardTest',
|
||||||
|
color: '00ff00',
|
||||||
const auth = {
|
stacks: [
|
||||||
user: user.userId,
|
{
|
||||||
password: user.password,
|
title: 'TestList',
|
||||||
}
|
cards: [
|
||||||
|
{
|
||||||
const useModal = (useModal) => {
|
title: 'Hello world',
|
||||||
return cy.request({
|
},
|
||||||
method: 'POST',
|
],
|
||||||
url: `${Cypress.env('baseUrl')}/ocs/v2.php/apps/deck/api/v1.0/config/cardDetailsInModal?format=json`,
|
},
|
||||||
auth,
|
],
|
||||||
body: { value: useModal },
|
|
||||||
}).then((response) => {
|
|
||||||
expect(response.status).to.eq(200)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
describe('Card', function() {
|
describe('Card', function() {
|
||||||
let boardId
|
|
||||||
before(function() {
|
before(function() {
|
||||||
cy.createUser(user)
|
cy.nextcloudCreateUser(randUser, randUser)
|
||||||
cy.login(user)
|
|
||||||
cy.createExampleBoard({
|
cy.createExampleBoard({
|
||||||
user,
|
user: randUser,
|
||||||
board: boardData,
|
password: randUser,
|
||||||
}).then((board) => {
|
board: testBoardData,
|
||||||
boardId = board.id
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
cy.login(user)
|
cy.login(randUser, randUser)
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Can show card details modal', function() {
|
||||||
|
cy.openLeftSidebar()
|
||||||
|
cy.getNavigationEntry(testBoardData.title)
|
||||||
|
.first().click({ force: true })
|
||||||
|
|
||||||
|
cy.get('.board .stack').eq(0).within(() => {
|
||||||
|
cy.get('.card:contains("Hello world")').should('be.visible').click()
|
||||||
|
})
|
||||||
|
|
||||||
|
cy.get('.modal__card').should('be.visible')
|
||||||
|
cy.get('.app-sidebar-header__maintitle').contains('Hello world')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Can add a card', function() {
|
it('Can add a card', function() {
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
const newCardTitle = 'Write some cypress tests'
|
const newCardTitle = 'Write some cypress tests'
|
||||||
|
|
||||||
cy.getNavigationEntry(boardData.title)
|
cy.openLeftSidebar()
|
||||||
|
cy.getNavigationEntry(testBoardData.title)
|
||||||
.first().click({ force: true })
|
.first().click({ force: true })
|
||||||
|
|
||||||
cy.get('.board .stack').eq(0).within(() => {
|
cy.get('.board .stack').eq(0).within(() => {
|
||||||
@@ -59,165 +64,4 @@ describe('Card', function() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Create card from overview', function() {
|
|
||||||
cy.visit(`/apps/deck/#/`)
|
|
||||||
const newCardTitle = 'Test create from overview'
|
|
||||||
cy.intercept({ method: 'POST', url: '**/apps/deck/cards' }).as('save')
|
|
||||||
cy.intercept({ method: 'GET', url: '**/apps/deck/boards/*' }).as('getBoard')
|
|
||||||
|
|
||||||
cy.get('.button-vue[aria-label*="Add card"]')
|
|
||||||
.first().click()
|
|
||||||
cy.get('.modal-mask.card-selector .card-title').should('be.visible').click().type(newCardTitle)
|
|
||||||
cy.get('.modal-mask.card-selector .multiselect-board').should('be.visible').click()
|
|
||||||
cy.get('.modal-mask.card-selector .multiselect-board li:contains("' + boardData.title + '")').should('be.visible').click()
|
|
||||||
cy.wait('@getBoard', { timeout: 7000 })
|
|
||||||
|
|
||||||
cy.get('.modal-mask.card-selector .multiselect-list').should('be.visible').click()
|
|
||||||
cy.get('.modal-mask.card-selector .multiselect-list li').eq(0).should('be.visible').click()
|
|
||||||
cy.get('.modal-mask.card-selector button.button-vue--vue-primary').should('be.visible').click()
|
|
||||||
cy.wait('@save', { timeout: 7000 })
|
|
||||||
|
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
cy.reload()
|
|
||||||
cy.get('.board .stack').eq(0).within(() => {
|
|
||||||
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('Modal', () => {
|
|
||||||
beforeEach(function() {
|
|
||||||
cy.login(user)
|
|
||||||
useModal(true).then(() => {
|
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Can show card details modal', function() {
|
|
||||||
cy.getNavigationEntry(boardData.title)
|
|
||||||
.first().click({ force: true })
|
|
||||||
|
|
||||||
cy.get('.board .stack').eq(0).within(() => {
|
|
||||||
cy.get('.card:contains("Hello world")').should('be.visible').click()
|
|
||||||
})
|
|
||||||
|
|
||||||
cy.get('.modal__card').should('be.visible')
|
|
||||||
cy.get('.app-sidebar-header__maintitle').contains('Hello world')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Attachment from files app', () => {
|
|
||||||
cy.get('.card:contains("Hello world")').should('be.visible').click()
|
|
||||||
cy.get('.modal__card').should('be.visible')
|
|
||||||
cy.get('.app-sidebar-tabs__tab [data-id="attachments"]').click()
|
|
||||||
cy.get('button.icon-upload').should('be.visible')
|
|
||||||
cy.get('button.icon-folder').should('be.visible')
|
|
||||||
.click()
|
|
||||||
cy.get('.file-picker__main').should('be.visible')
|
|
||||||
cy.get('.file-picker__main [data-filename="welcome.txt"]', { timeout: 30000 }).should('be.visible')
|
|
||||||
.click()
|
|
||||||
cy.get('.dialog__actions button.button-vue--vue-primary').click()
|
|
||||||
cy.get('.attachment-list .basename').contains('welcome.txt')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Shows the modal with the editor', () => {
|
|
||||||
cy.get('.card:contains("Hello world")').should('be.visible').click()
|
|
||||||
cy.intercept({ method: 'PUT', url: '**/apps/deck/cards/*' }).as('save')
|
|
||||||
cy.get('.modal__card').should('be.visible')
|
|
||||||
cy.get('.app-sidebar-header__maintitle').contains('Hello world')
|
|
||||||
cy.get('.modal__card .ProseMirror h1').contains('Hello world').should('be.visible')
|
|
||||||
cy.get('.modal__card .ProseMirror h1')
|
|
||||||
.click()
|
|
||||||
.type(' writing more text{enter}- List item{enter}with entries{enter}{enter}Paragraph')
|
|
||||||
cy.wait('@save', { timeout: 7000 })
|
|
||||||
|
|
||||||
cy.reload()
|
|
||||||
cy.get('.modal__card').should('be.visible')
|
|
||||||
cy.get('.modal__card .ProseMirror h1').contains('Hello world writing more text').should('be.visible')
|
|
||||||
cy.get('.modal__card .ProseMirror li').eq(0).contains('List item').should('be.visible')
|
|
||||||
cy.get('.modal__card .ProseMirror li').eq(1).contains('with entries').should('be.visible')
|
|
||||||
cy.get('.modal__card .ProseMirror p').contains('Paragraph').should('be.visible')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Smart picker', () => {
|
|
||||||
const newCardTitle = 'Test smart picker'
|
|
||||||
cy.intercept({ method: 'POST', url: '**/apps/deck/cards' }).as('save')
|
|
||||||
cy.intercept({ method: 'GET', url: '**/apps/deck/boards/*' }).as('getBoard')
|
|
||||||
cy.get('.card:contains("Hello world")').should('be.visible').click()
|
|
||||||
cy.get('.modal__card').should('be.visible')
|
|
||||||
cy.get('.modal__card .ProseMirror h1')
|
|
||||||
.click()
|
|
||||||
.type('{enter}/create')
|
|
||||||
cy.get('.suggestion-list__item.is-selected').should('be.visible').contains('Create a new deck card')
|
|
||||||
cy.get('.suggestion-list__item.is-selected .link-picker__item').click()
|
|
||||||
cy.get('.reference-picker-modal--content .reference-picker').should('be.visible')
|
|
||||||
cy.get('.reference-picker-modal--content .reference-picker').contains('Create a new card')
|
|
||||||
cy.get('.reference-picker-modal--content .reference-picker .card-title').should('be.visible').click().type(newCardTitle)
|
|
||||||
cy.get('.reference-picker-modal--content .reference-picker .multiselect-board').should('be.visible').contains(boardData.title)
|
|
||||||
cy.get('.reference-picker-modal--content .reference-picker .multiselect-list').should('be.visible').contains(boardData.stacks[0].title)
|
|
||||||
cy.get('.reference-picker-modal--content .reference-picker button.button-vue--vue-primary').should('be.visible').click()
|
|
||||||
cy.wait('@save', { timeout: 7000 })
|
|
||||||
cy.get('.modal__card .ProseMirror').contains('/index.php/apps/deck/card/').should('be.visible')
|
|
||||||
|
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
cy.reload()
|
|
||||||
cy.get('.board .stack').eq(0).within(() => {
|
|
||||||
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('Sidebar', () => {
|
|
||||||
beforeEach(function() {
|
|
||||||
cy.login(user)
|
|
||||||
useModal(false).then(() => {
|
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Show the sidebar', () => {
|
|
||||||
cy.get('.card:contains("Hello world")').should('be.visible').click()
|
|
||||||
cy.get('#app-sidebar-vue')
|
|
||||||
.find('.ProseMirror h1').contains('Hello world writing more text').should('be.visible')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Set a due date', function() {
|
|
||||||
const newCardTitle = 'Card with a due date'
|
|
||||||
|
|
||||||
cy.get('.button-vue[aria-label*="Add card"]')
|
|
||||||
.first().click()
|
|
||||||
cy.get('.stack__card-add form input#new-stack-input-main')
|
|
||||||
.type(newCardTitle)
|
|
||||||
cy.get('.stack__card-add form input[type=submit]')
|
|
||||||
.first().click()
|
|
||||||
cy.get(`.card:contains("${newCardTitle}")`).should('be.visible')
|
|
||||||
|
|
||||||
cy.get('.card:contains("Card with a due date")').should('be.visible').click()
|
|
||||||
|
|
||||||
cy.get('#app-sidebar-vue [data-cy-due-date-actions]').should('be.visible').click()
|
|
||||||
|
|
||||||
// Set a due date through shortcut
|
|
||||||
cy.get('[data-cy-due-date-shortcut="tomorrow"] button').should('be.visible').click()
|
|
||||||
|
|
||||||
const tomorrow = moment().add(1, 'days').hour(8).minutes(0).seconds(0)
|
|
||||||
cy.get('#card-duedate-picker').should('have.value', tomorrow.format('YYYY-MM-DDTHH:mm'))
|
|
||||||
|
|
||||||
const now = moment().hour(11).minutes(0).seconds(0).toDate()
|
|
||||||
cy.clock(now)
|
|
||||||
cy.log(now)
|
|
||||||
cy.tick(60_000)
|
|
||||||
|
|
||||||
cy.get(`.card:contains("${newCardTitle}")`).find('[data-due-state="Now"]').should('be.visible').should('contain', '21 hours')
|
|
||||||
|
|
||||||
|
|
||||||
// Remove the due date again
|
|
||||||
cy.get('#app-sidebar-vue [data-cy-due-date-actions]').should('be.visible').click()
|
|
||||||
// tick needed to show the popover menu
|
|
||||||
cy.tick(1_000)
|
|
||||||
cy.get('[data-cy-due-date-remove] button').should('be.visible').click()
|
|
||||||
|
|
||||||
cy.get(`.card:contains("${newCardTitle}")`).find('[data-due-state]').should('not.be.visible')
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
})
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,25 +1,27 @@
|
|||||||
import { randUser } from '../utils/index.js'
|
import { randHash } from '../utils'
|
||||||
const user = randUser()
|
const randUser = randHash()
|
||||||
|
|
||||||
describe('Deck dashboard', function() {
|
describe('Deck dashboard', function() {
|
||||||
|
const password = 'pass123'
|
||||||
|
|
||||||
before(function() {
|
before(function() {
|
||||||
cy.createUser(user)
|
cy.nextcloudCreateUser(randUser, password)
|
||||||
})
|
})
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
cy.login(user)
|
cy.login(randUser, password)
|
||||||
cy.visit('/apps/deck')
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Can show the right title on the dashboard', function() {
|
it('Can show the right title on the dashboard', function() {
|
||||||
cy.get('.board-title h2')
|
cy.get('.board-title h2')
|
||||||
.should('have.length', 1).first()
|
.should('have.length', 1).first()
|
||||||
.should($el => expect($el.text().trim()).to.equal('Upcoming cards'))
|
.should('have.text', 'Upcoming cards')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Can see the default "Personal Board" created for user by default', function() {
|
it('Can see the default "Personal Board" created for user by default', function() {
|
||||||
const defaultBoard = 'Personal'
|
const defaultBoard = 'Personal'
|
||||||
|
|
||||||
|
cy.openLeftSidebar()
|
||||||
cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
|
cy.get('.app-navigation-entry-wrapper[icon=icon-deck]')
|
||||||
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + defaultBoard + ')')
|
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + defaultBoard + ')')
|
||||||
.first()
|
.first()
|
||||||
|
|||||||
@@ -1,50 +0,0 @@
|
|||||||
import { randUser } from '../utils/index.js'
|
|
||||||
import { sampleBoard } from '../utils/sampleBoard'
|
|
||||||
const user = randUser()
|
|
||||||
const recipient = randUser()
|
|
||||||
|
|
||||||
describe('Board', function() {
|
|
||||||
before(function() {
|
|
||||||
cy.createUser(user)
|
|
||||||
cy.createUser(recipient)
|
|
||||||
})
|
|
||||||
|
|
||||||
beforeEach(function() {
|
|
||||||
cy.login(user)
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Share a board to a user', function() {
|
|
||||||
const board = sampleBoard('Read only board')
|
|
||||||
cy.createExampleBoard({ user, board }).then((board) => {
|
|
||||||
const boardId = board.id
|
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
cy.get('.board-title').contains(board.title)
|
|
||||||
|
|
||||||
cy.shareBoardWithUi(recipient.userId)
|
|
||||||
|
|
||||||
cy.login(recipient)
|
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
cy.get('.board-title').contains(board.title)
|
|
||||||
cy.get('.button-vue[aria-label*="Add card"]')
|
|
||||||
.should('not.exist')
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Share a board to a user as writable', function() {
|
|
||||||
const board = sampleBoard('Editable board')
|
|
||||||
cy.createExampleBoard({ user, board }).then((board) => {
|
|
||||||
const boardId = board.id
|
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
cy.get('.board-title').contains(board.title)
|
|
||||||
|
|
||||||
cy.shareBoardWithUi(recipient.userId)
|
|
||||||
cy.get(`[data-cy="acl-participant:${recipient.userId}"]`).find('[data-cy="action:permission-edit"]').click()
|
|
||||||
|
|
||||||
cy.login(recipient)
|
|
||||||
cy.visit(`/apps/deck/#/board/${boardId}`)
|
|
||||||
cy.get('.board-title').contains(board.title)
|
|
||||||
cy.get('.button-vue[aria-label*="Add card"]')
|
|
||||||
.first().click()
|
|
||||||
})
|
|
||||||
})
|
|
||||||
})
|
|
||||||
@@ -1,68 +1,30 @@
|
|||||||
import { randUser } from '../utils/index.js'
|
import { randHash } from '../utils'
|
||||||
const user = randUser()
|
const randUser = randHash()
|
||||||
|
|
||||||
const boardTitle = 'TestBoard'
|
|
||||||
const testBoardData = {
|
|
||||||
title: boardTitle,
|
|
||||||
stacks: [
|
|
||||||
{ title: 'Existing Stack1' },
|
|
||||||
{ title: 'Existing Stack2' },
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
describe('Stack', function() {
|
describe('Stack', function() {
|
||||||
|
const board = 'TestBoard'
|
||||||
|
const password = 'pass123'
|
||||||
|
const stack = 'List 1'
|
||||||
|
|
||||||
before(function() {
|
before(function() {
|
||||||
cy.createUser(user)
|
cy.nextcloudCreateUser(randUser, password)
|
||||||
cy.login(user)
|
cy.deckCreateBoard({ user: randUser, password }, board)
|
||||||
cy.createExampleBoard({
|
|
||||||
user,
|
|
||||||
board: testBoardData,
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
beforeEach(function() {
|
beforeEach(function() {
|
||||||
cy.login(user)
|
cy.logout()
|
||||||
cy.visit('/apps/deck')
|
cy.login(randUser, password)
|
||||||
|
|
||||||
cy.openLeftSidebar()
|
|
||||||
cy.getNavigationEntry(boardTitle)
|
|
||||||
.click({ force: true })
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Can create a stack', function() {
|
it('Can create a stack', function() {
|
||||||
|
cy.openLeftSidebar()
|
||||||
|
cy.getNavigationEntry(board)
|
||||||
|
.click({ force: true })
|
||||||
|
|
||||||
cy.get('#stack-add button').first().click()
|
cy.get('#stack-add button').first().click()
|
||||||
cy.focused().type('List 1')
|
cy.get('#stack-add form input#new-stack-input-main').type(stack)
|
||||||
cy.get('#stack-add form input[type=submit]').first().click()
|
cy.get('#stack-add form input[type=submit]').first().click()
|
||||||
|
|
||||||
cy.contains('List 1').should('be.visible')
|
cy.get('.board .stack').eq(0).contains(stack).should('be.visible')
|
||||||
})
|
|
||||||
|
|
||||||
it('Can edit a stack title', function() {
|
|
||||||
cy.contains('Existing Stack1')
|
|
||||||
cy.get('[data-cy-stack="Existing Stack1"]').within(() => {
|
|
||||||
cy.contains('Existing Stack1').click()
|
|
||||||
cy.focused().type(' renamed')
|
|
||||||
cy.get('[data-cy="editStackTitleForm"] input[type="submit"]').click()
|
|
||||||
})
|
|
||||||
cy.contains('Existing Stack1 renamed').should('be.visible')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Can abort a stack title edit via esc', function() {
|
|
||||||
cy.contains('Existing Stack2').click()
|
|
||||||
cy.focused().type(' with a new title, maybe?')
|
|
||||||
cy.focused().type('{esc}')
|
|
||||||
|
|
||||||
cy.contains('Existing Stack2').should('be.visible')
|
|
||||||
cy.contains('Existing Stack2 with a new title, maybe?').should('not.exist')
|
|
||||||
})
|
|
||||||
|
|
||||||
it('Can abort a stack title edit via click outside', function() {
|
|
||||||
cy.contains('Existing Stack2').click()
|
|
||||||
cy.focused().type(' with a new title, maybe?')
|
|
||||||
cy.get('[data-cy-stack="Existing Stack2"]').click('bottom')
|
|
||||||
|
|
||||||
cy.contains('Existing Stack2').should('be.visible')
|
|
||||||
cy.contains('Existing Stack2 with a new title, maybe?').should('not.exist')
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -20,13 +20,61 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { addCommands } from '@nextcloud/cypress'
|
|
||||||
|
|
||||||
addCommands()
|
|
||||||
|
|
||||||
const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '')
|
const url = Cypress.config('baseUrl').replace(/\/index.php\/?$/g, '')
|
||||||
Cypress.env('baseUrl', url)
|
Cypress.env('baseUrl', url)
|
||||||
|
|
||||||
|
Cypress.Commands.add('login', (user, password, route = '/apps/deck/') => {
|
||||||
|
const session = `${user}-${Date.now()}`
|
||||||
|
cy.session(session, function() {
|
||||||
|
cy.visit(route)
|
||||||
|
cy.get('input[name=user]').type(user)
|
||||||
|
cy.get('input[name=password]').type(password)
|
||||||
|
cy.get('form[name=login] [type=submit]').click()
|
||||||
|
cy.url().should('include', route)
|
||||||
|
})
|
||||||
|
cy.visit(route)
|
||||||
|
})
|
||||||
|
|
||||||
|
Cypress.Commands.add('logout', (route = '/') => {
|
||||||
|
cy.session('_guest', function() {})
|
||||||
|
})
|
||||||
|
|
||||||
|
Cypress.Commands.add('nextcloudCreateUser', (user, password) => {
|
||||||
|
cy.clearCookies()
|
||||||
|
cy.request({
|
||||||
|
method: 'POST',
|
||||||
|
url: `${Cypress.env('baseUrl')}/ocs/v1.php/cloud/users?format=json`,
|
||||||
|
form: true,
|
||||||
|
body: {
|
||||||
|
userid: user,
|
||||||
|
password,
|
||||||
|
},
|
||||||
|
auth: { user: 'admin', pass: 'admin' },
|
||||||
|
headers: {
|
||||||
|
'OCS-ApiRequest': 'true',
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
|
},
|
||||||
|
}).then((response) => {
|
||||||
|
cy.log(`Created user ${user}`, response.status)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
Cypress.Commands.add('nextcloudUpdateUser', (user, password, key, value) => {
|
||||||
|
cy.request({
|
||||||
|
method: 'PUT',
|
||||||
|
url: `${Cypress.env('baseUrl')}/ocs/v2.php/cloud/users/${user}`,
|
||||||
|
form: true,
|
||||||
|
body: { key, value },
|
||||||
|
auth: { user, pass: password },
|
||||||
|
headers: {
|
||||||
|
'OCS-ApiRequest': 'true',
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
|
},
|
||||||
|
}).then((response) => {
|
||||||
|
cy.log(`Updated user ${user} ${key} to ${value}`, response.status)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
Cypress.Commands.add('openLeftSidebar', () => {
|
Cypress.Commands.add('openLeftSidebar', () => {
|
||||||
cy.get('.app-navigation button.app-navigation-toggle').click()
|
cy.get('.app-navigation button.app-navigation-toggle').click()
|
||||||
})
|
})
|
||||||
@@ -63,15 +111,14 @@ Cypress.Commands.add('deckCreateList', ({ user, password }, title) => {
|
|||||||
cy.get('#stack-add form input[type=submit]').first().click()
|
cy.get('#stack-add form input[type=submit]').first().click()
|
||||||
})
|
})
|
||||||
|
|
||||||
Cypress.Commands.add('createExampleBoard', ({ user, board }) => {
|
Cypress.Commands.add('createExampleBoard', ({ user, password, board }) => {
|
||||||
const auth = {
|
|
||||||
user: user.userId,
|
|
||||||
password: user.password,
|
|
||||||
}
|
|
||||||
cy.request({
|
cy.request({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards`,
|
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards`,
|
||||||
auth,
|
auth: {
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
},
|
||||||
body: { title: board.title, color: board.color ?? 'ff0000' },
|
body: { title: board.title, color: board.color ?? 'ff0000' },
|
||||||
}).then((boardResponse) => {
|
}).then((boardResponse) => {
|
||||||
expect(boardResponse.status).to.eq(200)
|
expect(boardResponse.status).to.eq(200)
|
||||||
@@ -81,7 +128,10 @@ Cypress.Commands.add('createExampleBoard', ({ user, board }) => {
|
|||||||
cy.request({
|
cy.request({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks`,
|
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks`,
|
||||||
auth,
|
auth: {
|
||||||
|
user,
|
||||||
|
password,
|
||||||
|
},
|
||||||
body: { title: stack.title, order: 0 },
|
body: { title: stack.title, order: 0 },
|
||||||
}).then((stackResponse) => {
|
}).then((stackResponse) => {
|
||||||
const stackData = stackResponse.body
|
const stackData = stackResponse.body
|
||||||
@@ -90,13 +140,15 @@ Cypress.Commands.add('createExampleBoard', ({ user, board }) => {
|
|||||||
cy.request({
|
cy.request({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks/${stackData.id}/cards`,
|
url: `${Cypress.env('baseUrl')}/index.php/apps/deck/api/v1.0/boards/${boardData.id}/stacks/${stackData.id}/cards`,
|
||||||
auth,
|
auth: {
|
||||||
body: { title: card.title, description: card.description ?? '' },
|
user,
|
||||||
|
password,
|
||||||
|
},
|
||||||
|
body: { title: card.title },
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
cy.wrap(boardData)
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -105,13 +157,3 @@ Cypress.Commands.add('getNavigationEntry', (boardTitle) => {
|
|||||||
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + boardTitle + ')')
|
.find('ul.app-navigation-entry__children .app-navigation-entry:contains(' + boardTitle + ')')
|
||||||
.find('a.app-navigation-entry-link')
|
.find('a.app-navigation-entry-link')
|
||||||
})
|
})
|
||||||
|
|
||||||
Cypress.Commands.add('shareBoardWithUi', (userId) => {
|
|
||||||
cy.get('[aria-label="Open details"]').click()
|
|
||||||
cy.get('.app-sidebar').should('be.visible')
|
|
||||||
cy.get('.multiselect__input').type(`${userId}`)
|
|
||||||
cy.get('.multiselect__content .multiselect__element').first().contains(userId)
|
|
||||||
cy.get('.multiselect__input').type('{enter}')
|
|
||||||
|
|
||||||
cy.get('.shareWithList').contains(userId)
|
|
||||||
})
|
|
||||||
|
|||||||
@@ -1,12 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
||||||
<title>Components App</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div data-cy-root></div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
// ***********************************************************
|
|
||||||
// This example support/component.js is processed and
|
|
||||||
// loaded automatically before your test files.
|
|
||||||
//
|
|
||||||
// This is a great place to put global configuration and
|
|
||||||
// behavior that modifies Cypress.
|
|
||||||
//
|
|
||||||
// You can change the location of this file or turn off
|
|
||||||
// automatically serving support files with the
|
|
||||||
// 'supportFile' configuration option.
|
|
||||||
//
|
|
||||||
// You can read more here:
|
|
||||||
// https://on.cypress.io/configuration
|
|
||||||
// ***********************************************************
|
|
||||||
|
|
||||||
// Import commands.js using ES2015 syntax:
|
|
||||||
import './commands'
|
|
||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
|
||||||
// require('./commands')
|
|
||||||
|
|
||||||
import { mount } from 'cypress/vue2'
|
|
||||||
|
|
||||||
Cypress.Commands.add('mount', mount)
|
|
||||||
|
|
||||||
// Example use:
|
|
||||||
// cy.mount(MyComponent)
|
|
||||||
@@ -14,11 +14,7 @@
|
|||||||
// ***********************************************************
|
// ***********************************************************
|
||||||
|
|
||||||
// Import commands.js using ES2015 syntax:
|
// Import commands.js using ES2015 syntax:
|
||||||
import './commands.js'
|
import './commands'
|
||||||
|
|
||||||
Cypress.on('uncaught:exception', (err) => {
|
|
||||||
return !err.message.includes('ResizeObserver loop limit exceeded')
|
|
||||||
})
|
|
||||||
|
|
||||||
// Alternatively you can use CommonJS syntax:
|
// Alternatively you can use CommonJS syntax:
|
||||||
// require('./commands')
|
// require('./commands')
|
||||||
|
|||||||
@@ -1,4 +1 @@
|
|||||||
import { User } from '@nextcloud/cypress'
|
|
||||||
|
|
||||||
export const randHash = () => Math.random().toString(36).replace(/[^a-z]+/g, '').slice(0, 10)
|
export const randHash = () => Math.random().toString(36).replace(/[^a-z]+/g, '').slice(0, 10)
|
||||||
export const randUser = () => new User(randHash(), randHash())
|
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
/*
|
|
||||||
* @copyright Copyright (c) 2022 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/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
export const sampleBoard = (title = 'MyTestBoard') => {
|
|
||||||
return {
|
|
||||||
title: title,
|
|
||||||
color: '00ff00',
|
|
||||||
stacks: [
|
|
||||||
{
|
|
||||||
title: 'TestList',
|
|
||||||
cards: [
|
|
||||||
{
|
|
||||||
title: 'Hello world',
|
|
||||||
description: '# Hello world',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
154
docs/API.md
154
docs/API.md
@@ -80,7 +80,7 @@ An ETag header is returned in order to determine if further child elements have
|
|||||||
- Fetch a single card of a board `GET /api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}`
|
- Fetch a single card of a board `GET /api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}`
|
||||||
- Fetch attachments of a card `GET /api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments`
|
- Fetch attachments of a card `GET /api/v1.0/boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments`
|
||||||
|
|
||||||
If a `If-None-Match` header is provided and the requested element has not changed a `304` Not Modified response will be returned.
|
If a `If-None-Match` header is provided and the requested element has not changed a `304` Not Modified response will be returned.
|
||||||
|
|
||||||
Changes of child elements will propagate to their parents and also cause an update of the ETag which will be useful for determining if a sync is necessary on any client integration side. As an example, if a label is added to a card, the ETag of all related entities (the card, stack and board) will change.
|
Changes of child elements will propagate to their parents and also cause an update of the ETag which will be useful for determining if a sync is necessary on any client integration side. As an example, if a label is added to a card, the ETag of all related entities (the card, stack and board) will change.
|
||||||
|
|
||||||
@@ -117,7 +117,6 @@ This API version has become available with **Deck 1.3.0**.
|
|||||||
- [GET /boards/import/getSystems - Import a board](#get-boardsimportgetsystems-import-a-board)
|
- [GET /boards/import/getSystems - Import a board](#get-boardsimportgetsystems-import-a-board)
|
||||||
- [GET /boards/import/config/system/{schema} - Import a board](#get-boardsimportconfigsystemschema-import-a-board)
|
- [GET /boards/import/config/system/{schema} - Import a board](#get-boardsimportconfigsystemschema-import-a-board)
|
||||||
- [POST /boards/import - Import a board](#post-boardsimport-import-a-board)
|
- [POST /boards/import - Import a board](#post-boardsimport-import-a-board)
|
||||||
- The `done` property was added to cards
|
|
||||||
|
|
||||||
# Endpoints
|
# Endpoints
|
||||||
|
|
||||||
@@ -588,7 +587,7 @@ The board list endpoint supports setting an `If-Modified-Since` header to limit
|
|||||||
#### Response
|
#### Response
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"title":"Test",
|
"title":"Test",
|
||||||
"description":null,
|
"description":null,
|
||||||
"stackId":6,
|
"stackId":6,
|
||||||
@@ -602,7 +601,6 @@ The board list endpoint supports setting an `If-Modified-Since` header to limit
|
|||||||
"owner":"admin",
|
"owner":"admin",
|
||||||
"order":999,
|
"order":999,
|
||||||
"archived":false,
|
"archived":false,
|
||||||
"done":null,
|
|
||||||
"duedate": "2019-12-24T19:29:30+00:00",
|
"duedate": "2019-12-24T19:29:30+00:00",
|
||||||
"deletedAt":0,
|
"deletedAt":0,
|
||||||
"commentsUnread":0,
|
"commentsUnread":0,
|
||||||
@@ -625,28 +623,22 @@ The board list endpoint supports setting an `If-Modified-Since` header to limit
|
|||||||
|
|
||||||
#### Request data
|
#### Request data
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
|-------------|-----------------|-----------------------------------------------------------------------------------------------------|
|
|-------------|-----------|------------------------------------------------------|
|
||||||
| title | String | The title of the card, maximum length is limited to 255 characters |
|
| title | String | The title of the card, maximum length is limited to 255 characters |
|
||||||
| description | String | The markdown description of the card |
|
| description | String | The markdown description of the card |
|
||||||
| type | String | Type of the card (for later use) use 'plain' for now |
|
| type | String | Type of the card (for later use) use 'plain' for now |
|
||||||
| owner | String | The user that owns the card |
|
| order | Integer | Order for sorting the stacks |
|
||||||
| order | Integer | Order for sorting the stacks |
|
| duedate | timestamp | The ISO-8601 formatted duedate of the card or null |
|
||||||
| duedate | timestamp | The ISO-8601 formatted duedate of the card or null |
|
|
||||||
| archived | bool | Whether the card is archived or not |
|
|
||||||
| done | timestamp\|null | The ISO-8601 formatted date when the card is marked as done (optional, null indicates undone state) |
|
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
"title": "Test card",
|
"title": "Test card",
|
||||||
"description": "A card description",
|
"description": "A card description",
|
||||||
"type": "plain",
|
"type": "plain",
|
||||||
"owner": "admin",
|
|
||||||
"order": 999,
|
"order": 999,
|
||||||
"duedate": "2019-12-24T19:29:30+00:00",
|
"duedate": "2019-12-24T19:29:30+00:00",
|
||||||
"archived": false,
|
|
||||||
"done": null,
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -985,7 +977,7 @@ For now only `deck_file` is supported as an attachment type.
|
|||||||
|
|
||||||
### DELETE /boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments/{attachmentId} - Delete an attachment
|
### DELETE /boards/{boardId}/stacks/{stackId}/cards/{cardId}/attachments/{attachmentId} - Delete an attachment
|
||||||
|
|
||||||
|
|
||||||
#### Request parameters
|
#### Request parameters
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
| Parameter | Type | Description |
|
||||||
@@ -1059,12 +1051,12 @@ Make a request to see the json schema of system
|
|||||||
|
|
||||||
# OCS API
|
# OCS API
|
||||||
|
|
||||||
The following endpoints are available through the Nextcloud OCS endpoint, which is available at `/ocs/v2.php/apps/deck/api/v1.0/`.
|
The following endpoints are available through the Nextcloud OCS endpoint, which is available at `/ocs/v2.php/apps/deck/api/v1.0/`.
|
||||||
This has the benefit that both the web UI as well as external integrations can use the same API.
|
This has the benefit that both the web UI as well as external integrations can use the same API.
|
||||||
|
|
||||||
## Config
|
## Config
|
||||||
|
|
||||||
Deck stores user and app configuration values globally and per board. The GET endpoint allows to fetch the current global configuration while board settings will be exposed through the board element on the regular API endpoints.
|
Deck stores user and app configuration values globally and per board. The GET endpoint allows to fetch the current global configuration while board settings will be exposed through the board element on the regular API endpoints.
|
||||||
|
|
||||||
### GET /api/v1.0/config - Fetch app configuration values
|
### GET /api/v1.0/config - Fetch app configuration values
|
||||||
|
|
||||||
@@ -1072,10 +1064,9 @@ Deck stores user and app configuration values globally and per board. The GET en
|
|||||||
|
|
||||||
| Config key | Description |
|
| Config key | Description |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| calendar | Determines if the calendar/tasks integration through the CalDAV backend is enabled for the user (boolean) |
|
| calendar | Determines if the calendar/tasks integration through the CalDAV backend is enabled for the user (boolean) |
|
||||||
| cardDetailsInModal | Determines if the bigger view is used (boolean) |
|
| cardDetailsInModal | Determines if the bigger view is used (boolean) |
|
||||||
| cardIdBadge | Determines if the ID badges are displayed on cards (boolean) |
|
| groupLimit | Determines if creating new boards is limited to certain groups of the instance. The resulting output is an array of group objects with the id and the displayname (Admin only)|
|
||||||
| groupLimit | Determines if creating new boards is limited to certain groups of the instance. The resulting output is an array of group objects with the id and the displayname (Admin only)|
|
|
||||||
|
|
||||||
```
|
```
|
||||||
{
|
{
|
||||||
@@ -1088,7 +1079,6 @@ Deck stores user and app configuration values globally and per board. The GET en
|
|||||||
"data": {
|
"data": {
|
||||||
"calendar": true,
|
"calendar": true,
|
||||||
"cardDetailsInModal": true,
|
"cardDetailsInModal": true,
|
||||||
"cardIdBadge": true,
|
|
||||||
"groupLimit": [
|
"groupLimit": [
|
||||||
{
|
{
|
||||||
"id": "admin",
|
"id": "admin",
|
||||||
@@ -1119,8 +1109,7 @@ Deck stores user and app configuration values globally and per board. The GET en
|
|||||||
| notify-due | `off`, `assigned` or `all` |
|
| notify-due | `off`, `assigned` or `all` |
|
||||||
| calendar | Boolean |
|
| calendar | Boolean |
|
||||||
| cardDetailsInModal | Boolean |
|
| cardDetailsInModal | Boolean |
|
||||||
| cardIdBadge | Boolean |
|
|
||||||
|
|
||||||
#### Example request
|
#### Example request
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -1194,7 +1183,7 @@ A list of comments will be provided under the `ocs.data` key. If no or no more c
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
In case a comment is marked as a reply to another comment object, the parent comment will be added as `replyTo` entry to the response. Only the next parent node is added, nested replies are not exposed directly.
|
In case a comment is marked as a reply to another comment object, the parent comment will be added as `replyTo` entry to the response. Only the next parent node is added, nested replies are not exposed directly.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
[
|
[
|
||||||
@@ -1402,110 +1391,3 @@ A bad request response is returned if invalid input values are provided. The res
|
|||||||
A not found response might be returned if:
|
A not found response might be returned if:
|
||||||
- The card for the given cardId could not be found
|
- The card for the given cardId could not be found
|
||||||
- The comment could not be found
|
- The comment could not be found
|
||||||
|
|
||||||
|
|
||||||
## Sessions
|
|
||||||
|
|
||||||
### PUT /session/create - creates a new session
|
|
||||||
|
|
||||||
#### Request parameters
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ------- | ---------------------------------------------------- |
|
|
||||||
| boardId | Integer | The id of the opened board |
|
|
||||||
|
|
||||||
```
|
|
||||||
curl -X PUT 'https://admin:admin@nextcloud/ocs/v2.php/apps/deck/api/v1.0/session/create' \
|
|
||||||
-H 'Accept: application/json' -H 'OCS-APIRequest: true' \
|
|
||||||
-H 'Content-Type: application/json;charset=utf-8' \
|
|
||||||
--data '{"boardId":1}'
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Response
|
|
||||||
|
|
||||||
##### 200 Success
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"ocs": {
|
|
||||||
"meta": {
|
|
||||||
"status": "ok",
|
|
||||||
"statuscode": 200,
|
|
||||||
"message": "OK"
|
|
||||||
},
|
|
||||||
"data": {
|
|
||||||
"token": "+zcJHf4rC6dobVSbuNa3delkCSfTW8OvYWTyLFvSpIv80FjtgLIj0ARlxspsazNQ"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### POST /session/sync - notifies the server, that the session is still open
|
|
||||||
|
|
||||||
#### Request body
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ------- | ---------------------------------------------------- |
|
|
||||||
| boardId | Integer | The id of the opened board |
|
|
||||||
| token | String | The session token from the /sessions/create response |
|
|
||||||
|
|
||||||
|
|
||||||
```
|
|
||||||
curl -X POST 'https://admin:admin@nextcloud/ocs/v2.php/apps/deck/api/v1.0/session/create' \
|
|
||||||
-H 'Accept: application/json' -H 'OCS-APIRequest: true' \
|
|
||||||
-H 'Content-Type: application/json;charset=utf-8' \
|
|
||||||
--data '{"boardId":1, "token":"X3DyyoFslArF0t0NBZXzZXzcy8feoX/OEytSNXZtPg9TpUgO5wrkJ38IW3T/FfpV"}'
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Response
|
|
||||||
|
|
||||||
##### 200 Success
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"ocs": {
|
|
||||||
"meta": {
|
|
||||||
"status": "ok",
|
|
||||||
"statuscode": 200,
|
|
||||||
"message": "OK"
|
|
||||||
},
|
|
||||||
"data": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
##### 404 Not Found
|
|
||||||
the provided token is invalid or expired
|
|
||||||
|
|
||||||
|
|
||||||
### POST /session/close - closes the session
|
|
||||||
|
|
||||||
#### Request body
|
|
||||||
|
|
||||||
| Parameter | Type | Description |
|
|
||||||
| --------- | ------- | ---------------------------------------------------- |
|
|
||||||
| boardId | Integer | The id of the opened board |
|
|
||||||
| token | String | The session token from the /sessions/create response |
|
|
||||||
|
|
||||||
```
|
|
||||||
curl -X POST 'https://admin:admin@nextcloud/ocs/v2.php/apps/deck/api/v1.0/session/close' \
|
|
||||||
-H 'Accept: application/json' -H 'OCS-APIRequest: true' \
|
|
||||||
-H 'Content-Type: application/json;charset=utf-8' \
|
|
||||||
--data '{"boardId":1, "token":"X3DyyoFslArF0t0NBZXzZXzcy8feoX/OEytSNXZtPg9TpUgO5wrkJ38IW3T/FfpV"}'
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Response
|
|
||||||
|
|
||||||
##### 200 Success
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"ocs": {
|
|
||||||
"meta": {
|
|
||||||
"status": "ok",
|
|
||||||
"statuscode": 200,
|
|
||||||
"message": "OK"
|
|
||||||
},
|
|
||||||
"data": []
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
@@ -12,12 +12,11 @@ Overall, Deck is easy to use. You can create boards, add users, share the Deck,
|
|||||||
1. [Create my first board](#1-create-my-first-board)
|
1. [Create my first board](#1-create-my-first-board)
|
||||||
2. [Create stacks and cards](#2-create-stacks-and-cards)
|
2. [Create stacks and cards](#2-create-stacks-and-cards)
|
||||||
3. [Handle cards options](#3-handle-cards-options)
|
3. [Handle cards options](#3-handle-cards-options)
|
||||||
4. [Mark task as done](#4-mark-as-done)
|
4. [Archive old tasks](#4-archive-old-tasks)
|
||||||
5. [Archive old tasks](#5-archive-old-tasks)
|
5. [Manage your board](#5-manage-your-board)
|
||||||
6. [Manage your board](#6-manage-your-board)
|
6. [Import boards](#6-import-boards)
|
||||||
7. [Import boards](#7-import-boards)
|
7. [Search](#7-search)
|
||||||
8. [Search](#8-search)
|
8. [New owner for the deck entities](#8-new-owner-for-the-deck-entities)
|
||||||
9. [New owner for the deck entities](#9-new-owner-for-the-deck-entities)
|
|
||||||
|
|
||||||
### 1. Create my first board
|
### 1. Create my first board
|
||||||
In this example, we're going to create a board and share it with an other nextcloud user.
|
In this example, we're going to create a board and share it with an other nextcloud user.
|
||||||
@@ -26,7 +25,7 @@ In this example, we're going to create a board and share it with an other nextcl
|
|||||||
|
|
||||||
|
|
||||||
### 2. Create stacks and cards
|
### 2. Create stacks and cards
|
||||||
Stacks are simply columns with list of cards. It can represent a category of tasks or any step in your projects for example.
|
Stacks are simply columns with list of cards. It can represent a category of tasks or an y step in your projects for example.
|
||||||
**Check this out :**
|
**Check this out :**
|
||||||
|
|
||||||

|

|
||||||
@@ -54,18 +53,12 @@ And even :
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 4. Mark as done
|
### 4. Archive old tasks
|
||||||
Once a task has been completed, you can mark it as done. This will prevent it from becoming overdue and hide it from the upcoming cards.
|
Once finished or obsolete, a task could be archived. The tasks is not deleted, it's just archived, and you can retrieve it later
|
||||||
You can mark it as not done at any time.
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
### 5. Archive old tasks
|
### 5. Manage your board
|
||||||
Once obsolete, a task could be archived. The task is not deleted, it's just archived, and you can retrieve it later
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### 6. Manage your board
|
|
||||||
You can manage the settings of your Deck once you are inside it, by clicking on the small wheel at the top right.
|
You can manage the settings of your Deck once you are inside it, by clicking on the small wheel at the top right.
|
||||||
Once in this menu, you have access to several things:
|
Once in this menu, you have access to several things:
|
||||||
|
|
||||||
@@ -79,7 +72,7 @@ The **sharing tab** allows you to add users or even groups to your boards.
|
|||||||
**Deleted objects** allows you to return previously deleted stacks or cards.
|
**Deleted objects** allows you to return previously deleted stacks or cards.
|
||||||
The **Timeline** allows you to see everything that happened in your boards. Everything!
|
The **Timeline** allows you to see everything that happened in your boards. Everything!
|
||||||
|
|
||||||
### 7. Import boards
|
### 6. Import boards
|
||||||
|
|
||||||
Importing can be done using the API or the `occ` `deck:import` command.
|
Importing can be done using the API or the `occ` `deck:import` command.
|
||||||
|
|
||||||
@@ -97,7 +90,7 @@ Steps:
|
|||||||
* Create the configuration file
|
* Create the configuration file
|
||||||
* Execute the import informing the import file path, data file and source as `Trello JSON`
|
* Execute the import informing the import file path, data file and source as `Trello JSON`
|
||||||
|
|
||||||
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
|
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
|
||||||
|
|
||||||
Example configuration file:
|
Example configuration file:
|
||||||
```json
|
```json
|
||||||
@@ -127,7 +120,7 @@ https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&field
|
|||||||
This ID you will use in the configuration file in the `board` property
|
This ID you will use in the configuration file in the `board` property
|
||||||
* Create the configuration file
|
* Create the configuration file
|
||||||
|
|
||||||
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
|
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/master/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
|
||||||
|
|
||||||
Example configuration file:
|
Example configuration file:
|
||||||
```json
|
```json
|
||||||
@@ -145,7 +138,7 @@ Example configuration file:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 8. Search
|
### 7. Search
|
||||||
|
|
||||||
Deck provides a global search either through the unified search in the Nextcloud header or with the inline search next to the board controls.
|
Deck provides a global search either through the unified search in the Nextcloud header or with the inline search next to the board controls.
|
||||||
This search allows advanced filtering of cards across all board of the logged in user.
|
This search allows advanced filtering of cards across all board of the logged in user.
|
||||||
@@ -168,7 +161,7 @@ Other text tokens will be used to perform a case-insensitive search on the card
|
|||||||
|
|
||||||
In addition, quotes can be used to pass a query with spaces, e.g. `"Exact match with spaces"` or `title:"My card"`.
|
In addition, quotes can be used to pass a query with spaces, e.g. `"Exact match with spaces"` or `title:"My card"`.
|
||||||
|
|
||||||
### 9. New owner for the deck entities
|
### 8. New owner for the deck entities
|
||||||
You can transfer ownership of boards, cards, etc to a new user, using `occ` command `deck:transfer-ownership`
|
You can transfer ownership of boards, cards, etc to a new user, using `occ` command `deck:transfer-ownership`
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
@@ -1,98 +0,0 @@
|
|||||||
## Export
|
|
||||||
|
|
||||||
Deck currently supports exporting all boards a user owns in a single JSON file. The format is based on the database schema that deck uses. It can be used to re-import boards on the same or other instances.
|
|
||||||
|
|
||||||
The export currently has some kown limitations in terms of specific data not included:
|
|
||||||
- Activity information
|
|
||||||
- File attachments to deck cards
|
|
||||||
- Comments
|
|
||||||
-
|
|
||||||
```
|
|
||||||
occ deck:export > my-file.json
|
|
||||||
```
|
|
||||||
|
|
||||||
## Import boards
|
|
||||||
|
|
||||||
Importing can be done using the API or the `occ` `deck:import` command.
|
|
||||||
|
|
||||||
It is possible to import from the following sources:
|
|
||||||
|
|
||||||
### Deck JSON
|
|
||||||
|
|
||||||
A json file that has been obtained from the above described `occ deck:export [userid]` command can be imported.
|
|
||||||
|
|
||||||
```
|
|
||||||
occ deck:import my-file.json
|
|
||||||
```
|
|
||||||
|
|
||||||
In case you are importing from a different instance you may use an additional config file to provide custom user id mapping in case users have different identifiers.
|
|
||||||
|
|
||||||
```
|
|
||||||
{
|
|
||||||
"owner": "admin",
|
|
||||||
"uidRelation": {
|
|
||||||
"johndoe": "test-user-1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Trello JSON
|
|
||||||
|
|
||||||
Limitations:
|
|
||||||
* Comments with more than 1000 characters are placed as attached files to the card.
|
|
||||||
|
|
||||||
Steps:
|
|
||||||
* Create the data file
|
|
||||||
* Access Trello
|
|
||||||
* go to the board you want to export
|
|
||||||
* Follow the steps in [Trello documentation](https://help.trello.com/article/747-exporting-data-from-trello-1) and export as JSON
|
|
||||||
* Create the configuration file
|
|
||||||
* Execute the import informing the import file path, data file and source as `Trello JSON`
|
|
||||||
|
|
||||||
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloJson-schema.json) for import `Trello JSON`
|
|
||||||
|
|
||||||
Example configuration file:
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"owner": "admin",
|
|
||||||
"color": "0800fd",
|
|
||||||
"uidRelation": {
|
|
||||||
"johndoe": "johndoe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
**Limitations**:
|
|
||||||
|
|
||||||
Importing from a JSON file imports up to 1000 actions. To find out how many actions the board to be imported has, identify how many actions the JSON has.
|
|
||||||
|
|
||||||
#### Trello API
|
|
||||||
|
|
||||||
Import using API is recommended for boards with more than 1000 actions.
|
|
||||||
|
|
||||||
Trello makes it possible to attach links to a card. Deck does not have this feature. Attachments and attachment links are added in a markdown table at the end of the description for every imported card that has attachments in Trello.
|
|
||||||
|
|
||||||
* Get the API Key and API Token [here](https://developer.atlassian.com/cloud/trello/guides/rest-api/api-introduction/#authentication-and-authorization)
|
|
||||||
* Get the ID of the board you want to import by making a request to:
|
|
||||||
https://api.trello.com/1/members/me/boards?key={yourKey}&token={yourToken}&fields=id,name
|
|
||||||
|
|
||||||
This ID you will use in the configuration file in the `board` property
|
|
||||||
* Create the configuration file
|
|
||||||
|
|
||||||
Create the configuration file respecting the [JSON Schema](https://github.com/nextcloud/deck/blob/main/lib/Service/Importer/fixtures/config-trelloApi-schema.json) for import `Trello JSON`
|
|
||||||
|
|
||||||
Example configuration file:
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"owner": "admin",
|
|
||||||
"color": "0800fd",
|
|
||||||
"api": {
|
|
||||||
"key": "0cc175b9c0f1b6a831c399e269772661",
|
|
||||||
"token": "92eb5ffee6ae2fec3ad71c777531578f4a8a08f09d37b73795649038408b5f33"
|
|
||||||
},
|
|
||||||
"board": "8277e0910d750195b4487976",
|
|
||||||
"uidRelation": {
|
|
||||||
"johndoe": "johndoe"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 88 KiB |
@@ -1,3 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" style="height: 240px; width: 240px;" viewBox="0 0 24 24">
|
|
||||||
<path fill="currentColor" d="M12,15H10V13H12V15M18,15H14V13H18V15M8,11H6V9H8V11M18,11H10V9H18V11M20,20H4A2,2 0 0,1 2,18V6A2,2 0 0,1 4,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M4,6V18H20V6H4Z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 298 B |
@@ -32,6 +32,7 @@ OC.L10N.register(
|
|||||||
"Update" : "Werk by",
|
"Update" : "Werk by",
|
||||||
"Created:" : "Geskep:",
|
"Created:" : "Geskep:",
|
||||||
"Description" : "Beskrywing",
|
"Description" : "Beskrywing",
|
||||||
|
"Completed" : "Voltooid",
|
||||||
"Select Date" : "Kies Datum",
|
"Select Date" : "Kies Datum",
|
||||||
"seconds ago" : "sekondes gelede",
|
"seconds ago" : "sekondes gelede",
|
||||||
"Shared with you" : "Met u gedeel",
|
"Shared with you" : "Met u gedeel",
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
"Update" : "Werk by",
|
"Update" : "Werk by",
|
||||||
"Created:" : "Geskep:",
|
"Created:" : "Geskep:",
|
||||||
"Description" : "Beskrywing",
|
"Description" : "Beskrywing",
|
||||||
|
"Completed" : "Voltooid",
|
||||||
"Select Date" : "Kies Datum",
|
"Select Date" : "Kies Datum",
|
||||||
"seconds ago" : "sekondes gelede",
|
"seconds ago" : "sekondes gelede",
|
||||||
"Shared with you" : "Met u gedeel",
|
"Shared with you" : "Met u gedeel",
|
||||||
|
|||||||
32
l10n/ar.js
32
l10n/ar.js
@@ -37,6 +37,10 @@ OC.L10N.register(
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} قام بأرشفة بطاقة {card} في القائمة {stack} على اللوح {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} قام بأرشفة بطاقة {card} في القائمة {stack} على اللوح {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "لديك بطاقة غير مؤرشفة {card} في القائمة {stack} على اللوح {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "لديك بطاقة غير مؤرشفة {card} في القائمة {stack} على اللوح {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} لديه بطاقة غير مؤرشفة {card} في القائمة {stack} على اللوح {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} لديه بطاقة غير مؤرشفة {card} في القائمة {stack} على اللوح {board}",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "لقد قُمت بتمييز البطاقة {card} باعتبارها \"منتهية\" في القائمة {stack} على اللوح {board}",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "قام المستخدِم {user} بتمييز البطاقة {card} باعتبارها \"منتهية\" في القائمة {stack} على اللوح {board}",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "لقد قُمت بتمييز البطاقة {card} باعتبارها \"غير منتهية\" في القائمة {stack} على اللوح {board}",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "قام المستخدِم {user} بتمييز البطاقة {card} باعتبارها \"غير منتهية\" في القائمة {stack} على اللوح {board}",
|
||||||
"You have removed the due date of card {card}" : "قمت بإزالة التاريخ المحدد من البطاقة {card}",
|
"You have removed the due date of card {card}" : "قمت بإزالة التاريخ المحدد من البطاقة {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} قام بإزالة التاريخ المحدد من البطاقة {card}",
|
"{user} has removed the due date of card {card}" : "{user} قام بإزالة التاريخ المحدد من البطاقة {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "قمت بتعيين التاريخ المحدد للبطاقة {card} إلى {after}",
|
"You have set the due date of card {card} to {after}" : "قمت بتعيين التاريخ المحدد للبطاقة {card} إلى {after}",
|
||||||
@@ -83,12 +87,12 @@ OC.L10N.register(
|
|||||||
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
||||||
"Deck board" : "لوح Deck",
|
"Deck board" : "لوح Deck",
|
||||||
"Owned by %1$s" : "يملكها %1$s",
|
"Owned by %1$s" : "يملكها %1$s",
|
||||||
"Deck boards, cards and comments" : "الرُّقع و البطاقات و الملاحظات",
|
"Deck boards, cards and comments" : "ألواح الرٌّقعة و البطاقات و الملاحظات",
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
||||||
"Create a new deck card" : "إنشاء كَدْسَة بطاقات deck card جديدة",
|
"Create a new deck card" : "إنشاء كَدْسَة بطاقات deck card جديدة",
|
||||||
"Card comments" : "تعليقات البطاقة ",
|
"Card comments" : "تعليقات البطاقة ",
|
||||||
"%s on %s" : "%s على %s",
|
"%s on %s" : "%s على %s",
|
||||||
"Deck boards and cards" : "الرُّقع و البطاقات",
|
"Deck boards and cards" : "ألواح الرُّقعة و البطاقات",
|
||||||
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
||||||
"Finished" : "اكتمل",
|
"Finished" : "اكتمل",
|
||||||
"To review" : "لإعادة المراجعة",
|
"To review" : "لإعادة المراجعة",
|
||||||
@@ -159,9 +163,9 @@ OC.L10N.register(
|
|||||||
"Details" : "التفاصيل",
|
"Details" : "التفاصيل",
|
||||||
"Currently present people" : "أشخاص معروضون حاليّاً",
|
"Currently present people" : "أشخاص معروضون حاليّاً",
|
||||||
"Loading board" : "جارِ تحميل اللوح..",
|
"Loading board" : "جارِ تحميل اللوح..",
|
||||||
|
"Board not found" : "اللوح غير موجود",
|
||||||
"No lists available" : "لا يوجد قائمة متاحه ",
|
"No lists available" : "لا يوجد قائمة متاحه ",
|
||||||
"Create a new list to add cards to this board" : "إنشاء قائمة جديدة لإضافة البطاقات على هذا اللوح",
|
"Create a new list to add cards to this board" : "إنشاء قائمة جديدة لإضافة البطاقات على هذا اللوح",
|
||||||
"Board not found" : "اللوح غير موجود",
|
|
||||||
"Sharing" : "المشاركة",
|
"Sharing" : "المشاركة",
|
||||||
"Tags" : "الوسوم",
|
"Tags" : "الوسوم",
|
||||||
"Deleted items" : "العناصر الممسوحة",
|
"Deleted items" : "العناصر الممسوحة",
|
||||||
@@ -181,11 +185,11 @@ OC.L10N.register(
|
|||||||
"Owner" : "المالك",
|
"Owner" : "المالك",
|
||||||
"Delete" : "حذف ",
|
"Delete" : "حذف ",
|
||||||
"Failed to create share with {displayName}" : "فشل في إنشاء المشاركة مع {displayName}",
|
"Failed to create share with {displayName}" : "فشل في إنشاء المشاركة مع {displayName}",
|
||||||
"Are you sure you want to transfer the board {title} to {user}?" : "هل أنت متأكد أنك تريد نقل الرُّقعة {title} إلى {user} ؟",
|
"Are you sure you want to transfer the board {title} to {user}?" : "هل أنت متأكد أنك تريد نقل اللوح {title} إلى {user} ؟",
|
||||||
"Transfer the board." : "نقل الرُّقعة.",
|
"Transfer the board." : "نقل اللوح.",
|
||||||
"Transfer" : "نقل",
|
"Transfer" : "نقل",
|
||||||
"The board has been transferred to {user}" : "تمّ نقل الرُّقعة إلى {user}",
|
"The board has been transferred to {user}" : "تمّ نقل اللوح إلى {user}",
|
||||||
"Failed to transfer the board to {user}" : "إخفاق في نقل الرُّقعة إلى {user}",
|
"Failed to transfer the board to {user}" : "تعذّر نقل اللوح إلى {user}",
|
||||||
"Edit list title" : "عدّل اسم القائمة",
|
"Edit list title" : "عدّل اسم القائمة",
|
||||||
"Archive all cards" : "أرشفة جميع البطاقات ",
|
"Archive all cards" : "أرشفة جميع البطاقات ",
|
||||||
"Unarchive all cards" : "تراجع عن أرشفة كل البطاقات",
|
"Unarchive all cards" : "تراجع عن أرشفة كل البطاقات",
|
||||||
@@ -244,6 +248,9 @@ OC.L10N.register(
|
|||||||
"Add due date" : "أضِف تاريخ الاستحقاق",
|
"Add due date" : "أضِف تاريخ الاستحقاق",
|
||||||
"Choose a date" : "إختَر تاريخاً",
|
"Choose a date" : "إختَر تاريخاً",
|
||||||
"Remove due date" : "ازالة تاريخ الانجاز",
|
"Remove due date" : "ازالة تاريخ الانجاز",
|
||||||
|
"Completed" : "مُكتمل",
|
||||||
|
"Due at:" : "تاريخ الاستحقاق:",
|
||||||
|
"Not completed" : "غير مكتمل",
|
||||||
"Unarchive card" : "إلغاء أرشفة البطاقة ",
|
"Unarchive card" : "إلغاء أرشفة البطاقة ",
|
||||||
"Archive card" : "أرشفة البطاقة",
|
"Archive card" : "أرشفة البطاقة",
|
||||||
"Select Date" : "اختر التاريخ ",
|
"Select Date" : "اختر التاريخ ",
|
||||||
@@ -252,15 +259,18 @@ OC.L10N.register(
|
|||||||
"Set due date for this weekend" : "عيِّن نهاية هذا الأسبوع كموعدٍ لاستحقاق البطاقة",
|
"Set due date for this weekend" : "عيِّن نهاية هذا الأسبوع كموعدٍ لاستحقاق البطاقة",
|
||||||
"Set due date for next week" : "عيِّن الأسبوع المُقبل كموعدٍ لاستحقاق البطاقة",
|
"Set due date for next week" : "عيِّن الأسبوع المُقبل كموعدٍ لاستحقاق البطاقة",
|
||||||
"Assign a tag to this card…" : "انسب وسم الى هذه البطاقة..",
|
"Assign a tag to this card…" : "انسب وسم الى هذه البطاقة..",
|
||||||
|
"Create a new tag:" : "إنشاء سِمَةٍ tag جديدة:",
|
||||||
"(group)" : "(مجموعة)",
|
"(group)" : "(مجموعة)",
|
||||||
"Next week – {timeLocale}" : "الأسبوع القادم – {timeLocale}",
|
"Next week – {timeLocale}" : "الأسبوع القادم – {timeLocale}",
|
||||||
"Todo items" : "قائمة المهام",
|
"Todo items" : "قائمة المهام",
|
||||||
"{count} comments, {unread} unread" : "{عدد} التعليقات، {غير مقروءة} غير مقروءة",
|
"{count} comments, {unread} unread" : "{عدد} التعليقات، {غير مقروءة} غير مقروءة",
|
||||||
"Edit card title" : "تعديل اسم القائمة",
|
"Edit card title" : "تعديل اسم القائمة",
|
||||||
|
"Card details" : "تفاصيل البطاقة",
|
||||||
"Assign to me" : "ينسب لي",
|
"Assign to me" : "ينسب لي",
|
||||||
"Unassign myself" : "إلغاء تعييني ",
|
"Unassign myself" : "إلغاء تعييني ",
|
||||||
|
"Mark as not done" : "تمييز كـ \"غير منتهٍ\"",
|
||||||
|
"Mark as done" : "تمييز كمُنجَز",
|
||||||
"Move card" : "حرك البطاقة",
|
"Move card" : "حرك البطاقة",
|
||||||
"Card details" : "تفاصيل البطاقة",
|
|
||||||
"Delete card" : "حذف البطاقة",
|
"Delete card" : "حذف البطاقة",
|
||||||
"Move card to another board" : "حرك البطاقة الى لوح اخر",
|
"Move card to another board" : "حرك البطاقة الى لوح اخر",
|
||||||
"Select a list" : "اختر قائمة ",
|
"Select a list" : "اختر قائمة ",
|
||||||
@@ -274,8 +284,8 @@ OC.L10N.register(
|
|||||||
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
||||||
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
||||||
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
||||||
"Limit board creation to some groups" : "قَصْرُ حَقِّ إنشاء الرقعة على بعض المجموعات ",
|
"Limit board creation to some groups" : "قَصْرُ حَقِّ إنشاء الألواح على بعض المجموعات ",
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "المستخدِمون من خارج تلك المجموعات لن يمكنكم إنشاء رُقَعِهِم الخاصة؛ لكن يمكنهم العمل على الرُّقعِ التي تتمّ مشاركتها معهم.",
|
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "المستخدِمون من خارج تلك المجموعات لن يمكنكم إنشاء ألواحهم الخاصة؛ لكن يمكنهم العمل على الألواح التي تتمّ مشاركتها معهم.",
|
||||||
"Board details" : "تفاصيل لوح",
|
"Board details" : "تفاصيل لوح",
|
||||||
"Edit board" : "تعديل اللوح",
|
"Edit board" : "تعديل اللوح",
|
||||||
"Clone board" : "استنسخ اللوح",
|
"Clone board" : "استنسخ اللوح",
|
||||||
@@ -302,7 +312,7 @@ OC.L10N.register(
|
|||||||
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
|
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
|
||||||
"No results found" : "لا يتم العثور على أي نتائج ",
|
"No results found" : "لا يتم العثور على أي نتائج ",
|
||||||
"This weekend – {timeLocale}" : "نهاية هذا الأسبوع – {timeLocale}",
|
"This weekend – {timeLocale}" : "نهاية هذا الأسبوع – {timeLocale}",
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "اسم الرُّقعة {name} \n* آخر تعديل لها في {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "اسم اللوح {name} \n* آخر تعديل له في {lastMod}",
|
||||||
"{stack} in {board}" : "{stack} في {board}",
|
"{stack} in {board}" : "{stack} في {board}",
|
||||||
"Click to expand description" : "إضعط للتوسّع في الوصف",
|
"Click to expand description" : "إضعط للتوسّع في الوصف",
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
|
||||||
|
|||||||
32
l10n/ar.json
32
l10n/ar.json
@@ -35,6 +35,10 @@
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} قام بأرشفة بطاقة {card} في القائمة {stack} على اللوح {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} قام بأرشفة بطاقة {card} في القائمة {stack} على اللوح {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "لديك بطاقة غير مؤرشفة {card} في القائمة {stack} على اللوح {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "لديك بطاقة غير مؤرشفة {card} في القائمة {stack} على اللوح {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} لديه بطاقة غير مؤرشفة {card} في القائمة {stack} على اللوح {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} لديه بطاقة غير مؤرشفة {card} في القائمة {stack} على اللوح {board}",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "لقد قُمت بتمييز البطاقة {card} باعتبارها \"منتهية\" في القائمة {stack} على اللوح {board}",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "قام المستخدِم {user} بتمييز البطاقة {card} باعتبارها \"منتهية\" في القائمة {stack} على اللوح {board}",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "لقد قُمت بتمييز البطاقة {card} باعتبارها \"غير منتهية\" في القائمة {stack} على اللوح {board}",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "قام المستخدِم {user} بتمييز البطاقة {card} باعتبارها \"غير منتهية\" في القائمة {stack} على اللوح {board}",
|
||||||
"You have removed the due date of card {card}" : "قمت بإزالة التاريخ المحدد من البطاقة {card}",
|
"You have removed the due date of card {card}" : "قمت بإزالة التاريخ المحدد من البطاقة {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} قام بإزالة التاريخ المحدد من البطاقة {card}",
|
"{user} has removed the due date of card {card}" : "{user} قام بإزالة التاريخ المحدد من البطاقة {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "قمت بتعيين التاريخ المحدد للبطاقة {card} إلى {after}",
|
"You have set the due date of card {card} to {after}" : "قمت بتعيين التاريخ المحدد للبطاقة {card} إلى {after}",
|
||||||
@@ -81,12 +85,12 @@
|
|||||||
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
"{user} has shared {deck-board} with you." : "{user} قام بمشاركة {deck-board} معك.",
|
||||||
"Deck board" : "لوح Deck",
|
"Deck board" : "لوح Deck",
|
||||||
"Owned by %1$s" : "يملكها %1$s",
|
"Owned by %1$s" : "يملكها %1$s",
|
||||||
"Deck boards, cards and comments" : "الرُّقع و البطاقات و الملاحظات",
|
"Deck boards, cards and comments" : "ألواح الرٌّقعة و البطاقات و الملاحظات",
|
||||||
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
"From %1$s, in %2$s/%3$s, owned by %4$s" : " من %1$s، في %2$s/%3$s، يملكها %4$s",
|
||||||
"Create a new deck card" : "إنشاء كَدْسَة بطاقات deck card جديدة",
|
"Create a new deck card" : "إنشاء كَدْسَة بطاقات deck card جديدة",
|
||||||
"Card comments" : "تعليقات البطاقة ",
|
"Card comments" : "تعليقات البطاقة ",
|
||||||
"%s on %s" : "%s على %s",
|
"%s on %s" : "%s على %s",
|
||||||
"Deck boards and cards" : "الرُّقع و البطاقات",
|
"Deck boards and cards" : "ألواح الرُّقعة و البطاقات",
|
||||||
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
"No data was provided to create an attachment." : "لا بيانات تم تقديمها لانشاء مرفق",
|
||||||
"Finished" : "اكتمل",
|
"Finished" : "اكتمل",
|
||||||
"To review" : "لإعادة المراجعة",
|
"To review" : "لإعادة المراجعة",
|
||||||
@@ -157,9 +161,9 @@
|
|||||||
"Details" : "التفاصيل",
|
"Details" : "التفاصيل",
|
||||||
"Currently present people" : "أشخاص معروضون حاليّاً",
|
"Currently present people" : "أشخاص معروضون حاليّاً",
|
||||||
"Loading board" : "جارِ تحميل اللوح..",
|
"Loading board" : "جارِ تحميل اللوح..",
|
||||||
|
"Board not found" : "اللوح غير موجود",
|
||||||
"No lists available" : "لا يوجد قائمة متاحه ",
|
"No lists available" : "لا يوجد قائمة متاحه ",
|
||||||
"Create a new list to add cards to this board" : "إنشاء قائمة جديدة لإضافة البطاقات على هذا اللوح",
|
"Create a new list to add cards to this board" : "إنشاء قائمة جديدة لإضافة البطاقات على هذا اللوح",
|
||||||
"Board not found" : "اللوح غير موجود",
|
|
||||||
"Sharing" : "المشاركة",
|
"Sharing" : "المشاركة",
|
||||||
"Tags" : "الوسوم",
|
"Tags" : "الوسوم",
|
||||||
"Deleted items" : "العناصر الممسوحة",
|
"Deleted items" : "العناصر الممسوحة",
|
||||||
@@ -179,11 +183,11 @@
|
|||||||
"Owner" : "المالك",
|
"Owner" : "المالك",
|
||||||
"Delete" : "حذف ",
|
"Delete" : "حذف ",
|
||||||
"Failed to create share with {displayName}" : "فشل في إنشاء المشاركة مع {displayName}",
|
"Failed to create share with {displayName}" : "فشل في إنشاء المشاركة مع {displayName}",
|
||||||
"Are you sure you want to transfer the board {title} to {user}?" : "هل أنت متأكد أنك تريد نقل الرُّقعة {title} إلى {user} ؟",
|
"Are you sure you want to transfer the board {title} to {user}?" : "هل أنت متأكد أنك تريد نقل اللوح {title} إلى {user} ؟",
|
||||||
"Transfer the board." : "نقل الرُّقعة.",
|
"Transfer the board." : "نقل اللوح.",
|
||||||
"Transfer" : "نقل",
|
"Transfer" : "نقل",
|
||||||
"The board has been transferred to {user}" : "تمّ نقل الرُّقعة إلى {user}",
|
"The board has been transferred to {user}" : "تمّ نقل اللوح إلى {user}",
|
||||||
"Failed to transfer the board to {user}" : "إخفاق في نقل الرُّقعة إلى {user}",
|
"Failed to transfer the board to {user}" : "تعذّر نقل اللوح إلى {user}",
|
||||||
"Edit list title" : "عدّل اسم القائمة",
|
"Edit list title" : "عدّل اسم القائمة",
|
||||||
"Archive all cards" : "أرشفة جميع البطاقات ",
|
"Archive all cards" : "أرشفة جميع البطاقات ",
|
||||||
"Unarchive all cards" : "تراجع عن أرشفة كل البطاقات",
|
"Unarchive all cards" : "تراجع عن أرشفة كل البطاقات",
|
||||||
@@ -242,6 +246,9 @@
|
|||||||
"Add due date" : "أضِف تاريخ الاستحقاق",
|
"Add due date" : "أضِف تاريخ الاستحقاق",
|
||||||
"Choose a date" : "إختَر تاريخاً",
|
"Choose a date" : "إختَر تاريخاً",
|
||||||
"Remove due date" : "ازالة تاريخ الانجاز",
|
"Remove due date" : "ازالة تاريخ الانجاز",
|
||||||
|
"Completed" : "مُكتمل",
|
||||||
|
"Due at:" : "تاريخ الاستحقاق:",
|
||||||
|
"Not completed" : "غير مكتمل",
|
||||||
"Unarchive card" : "إلغاء أرشفة البطاقة ",
|
"Unarchive card" : "إلغاء أرشفة البطاقة ",
|
||||||
"Archive card" : "أرشفة البطاقة",
|
"Archive card" : "أرشفة البطاقة",
|
||||||
"Select Date" : "اختر التاريخ ",
|
"Select Date" : "اختر التاريخ ",
|
||||||
@@ -250,15 +257,18 @@
|
|||||||
"Set due date for this weekend" : "عيِّن نهاية هذا الأسبوع كموعدٍ لاستحقاق البطاقة",
|
"Set due date for this weekend" : "عيِّن نهاية هذا الأسبوع كموعدٍ لاستحقاق البطاقة",
|
||||||
"Set due date for next week" : "عيِّن الأسبوع المُقبل كموعدٍ لاستحقاق البطاقة",
|
"Set due date for next week" : "عيِّن الأسبوع المُقبل كموعدٍ لاستحقاق البطاقة",
|
||||||
"Assign a tag to this card…" : "انسب وسم الى هذه البطاقة..",
|
"Assign a tag to this card…" : "انسب وسم الى هذه البطاقة..",
|
||||||
|
"Create a new tag:" : "إنشاء سِمَةٍ tag جديدة:",
|
||||||
"(group)" : "(مجموعة)",
|
"(group)" : "(مجموعة)",
|
||||||
"Next week – {timeLocale}" : "الأسبوع القادم – {timeLocale}",
|
"Next week – {timeLocale}" : "الأسبوع القادم – {timeLocale}",
|
||||||
"Todo items" : "قائمة المهام",
|
"Todo items" : "قائمة المهام",
|
||||||
"{count} comments, {unread} unread" : "{عدد} التعليقات، {غير مقروءة} غير مقروءة",
|
"{count} comments, {unread} unread" : "{عدد} التعليقات، {غير مقروءة} غير مقروءة",
|
||||||
"Edit card title" : "تعديل اسم القائمة",
|
"Edit card title" : "تعديل اسم القائمة",
|
||||||
|
"Card details" : "تفاصيل البطاقة",
|
||||||
"Assign to me" : "ينسب لي",
|
"Assign to me" : "ينسب لي",
|
||||||
"Unassign myself" : "إلغاء تعييني ",
|
"Unassign myself" : "إلغاء تعييني ",
|
||||||
|
"Mark as not done" : "تمييز كـ \"غير منتهٍ\"",
|
||||||
|
"Mark as done" : "تمييز كمُنجَز",
|
||||||
"Move card" : "حرك البطاقة",
|
"Move card" : "حرك البطاقة",
|
||||||
"Card details" : "تفاصيل البطاقة",
|
|
||||||
"Delete card" : "حذف البطاقة",
|
"Delete card" : "حذف البطاقة",
|
||||||
"Move card to another board" : "حرك البطاقة الى لوح اخر",
|
"Move card to another board" : "حرك البطاقة الى لوح اخر",
|
||||||
"Select a list" : "اختر قائمة ",
|
"Select a list" : "اختر قائمة ",
|
||||||
@@ -272,8 +282,8 @@
|
|||||||
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
"Use bigger card view" : "استخدام بطاقة عرض أكبر ",
|
||||||
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
"Show card ID badge" : "أعرض شارة رقم البطاقة",
|
||||||
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
"Show boards in calendar/tasks" : "إظهار اللوح في التقويم/المهام",
|
||||||
"Limit board creation to some groups" : "قَصْرُ حَقِّ إنشاء الرقعة على بعض المجموعات ",
|
"Limit board creation to some groups" : "قَصْرُ حَقِّ إنشاء الألواح على بعض المجموعات ",
|
||||||
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "المستخدِمون من خارج تلك المجموعات لن يمكنكم إنشاء رُقَعِهِم الخاصة؛ لكن يمكنهم العمل على الرُّقعِ التي تتمّ مشاركتها معهم.",
|
"Users outside of those groups will not be able to create their own boards, but will still be able to work on boards that have been shared with them." : "المستخدِمون من خارج تلك المجموعات لن يمكنكم إنشاء ألواحهم الخاصة؛ لكن يمكنهم العمل على الألواح التي تتمّ مشاركتها معهم.",
|
||||||
"Board details" : "تفاصيل لوح",
|
"Board details" : "تفاصيل لوح",
|
||||||
"Edit board" : "تعديل اللوح",
|
"Edit board" : "تعديل اللوح",
|
||||||
"Clone board" : "استنسخ اللوح",
|
"Clone board" : "استنسخ اللوح",
|
||||||
@@ -300,7 +310,7 @@
|
|||||||
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
|
"Search for {searchQuery} in all boards" : "البحث عن {searchQuery} في جميع اللوح",
|
||||||
"No results found" : "لا يتم العثور على أي نتائج ",
|
"No results found" : "لا يتم العثور على أي نتائج ",
|
||||||
"This weekend – {timeLocale}" : "نهاية هذا الأسبوع – {timeLocale}",
|
"This weekend – {timeLocale}" : "نهاية هذا الأسبوع – {timeLocale}",
|
||||||
"Deck board {name}\n* Last modified on {lastMod}" : "اسم الرُّقعة {name} \n* آخر تعديل لها في {lastMod}",
|
"Deck board {name}\n* Last modified on {lastMod}" : "اسم اللوح {name} \n* آخر تعديل له في {lastMod}",
|
||||||
"{stack} in {board}" : "{stack} في {board}",
|
"{stack} in {board}" : "{stack} في {board}",
|
||||||
"Click to expand description" : "إضعط للتوسّع في الوصف",
|
"Click to expand description" : "إضعط للتوسّع في الوصف",
|
||||||
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
|
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* أُنشأت في {created}\n* آخر تعديل لها في {lastMod}\n* {nbAttachments} مُرفقات\n* {nbComments} مُلاحظات",
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ OC.L10N.register(
|
|||||||
"Created:" : "Creóse'l",
|
"Created:" : "Creóse'l",
|
||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"(Saving…)" : "(Guardando…)",
|
"(Saving…)" : "(Guardando…)",
|
||||||
|
"Completed" : "Completáu",
|
||||||
"All cards" : "Toles tarxetes",
|
"All cards" : "Toles tarxetes",
|
||||||
"An error occurred" : "Prodúxose un error",
|
"An error occurred" : "Prodúxose un error",
|
||||||
"Today" : "Güei",
|
"Today" : "Güei",
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
"Created:" : "Creóse'l",
|
"Created:" : "Creóse'l",
|
||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"(Saving…)" : "(Guardando…)",
|
"(Saving…)" : "(Guardando…)",
|
||||||
|
"Completed" : "Completáu",
|
||||||
"All cards" : "Toles tarxetes",
|
"All cards" : "Toles tarxetes",
|
||||||
"An error occurred" : "Prodúxose un error",
|
"An error occurred" : "Prodúxose un error",
|
||||||
"Today" : "Güei",
|
"Today" : "Güei",
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ OC.L10N.register(
|
|||||||
"Update" : "Yenilənmə",
|
"Update" : "Yenilənmə",
|
||||||
"Created:" : "Yaradıldı:",
|
"Created:" : "Yaradıldı:",
|
||||||
"Description" : "Açıqlanma",
|
"Description" : "Açıqlanma",
|
||||||
|
"Completed" : "Bitmişdir",
|
||||||
"(group)" : "(qrup)",
|
"(group)" : "(qrup)",
|
||||||
"seconds ago" : "saniyələr öncə",
|
"seconds ago" : "saniyələr öncə",
|
||||||
"Shared with you" : "Shared with you",
|
"Shared with you" : "Shared with you",
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"Update" : "Yenilənmə",
|
"Update" : "Yenilənmə",
|
||||||
"Created:" : "Yaradıldı:",
|
"Created:" : "Yaradıldı:",
|
||||||
"Description" : "Açıqlanma",
|
"Description" : "Açıqlanma",
|
||||||
|
"Completed" : "Bitmişdir",
|
||||||
"(group)" : "(qrup)",
|
"(group)" : "(qrup)",
|
||||||
"seconds ago" : "saniyələr öncə",
|
"seconds ago" : "saniyələr öncə",
|
||||||
"Shared with you" : "Shared with you",
|
"Shared with you" : "Shared with you",
|
||||||
|
|||||||
@@ -150,9 +150,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Подробности",
|
"Details" : "Подробности",
|
||||||
"Currently present people" : "Хора присъстващи в момента",
|
"Currently present people" : "Хора присъстващи в момента",
|
||||||
"Loading board" : "Зареждане на табло",
|
"Loading board" : "Зареждане на табло",
|
||||||
|
"Board not found" : "Таблото не е намерено",
|
||||||
"No lists available" : "Няма налична списъци.",
|
"No lists available" : "Няма налична списъци.",
|
||||||
"Create a new list to add cards to this board" : "Създайте нов списък, за да добавите карти към това табло",
|
"Create a new list to add cards to this board" : "Създайте нов списък, за да добавите карти към това табло",
|
||||||
"Board not found" : "Таблото не е намерено",
|
|
||||||
"Sharing" : "Споделяне",
|
"Sharing" : "Споделяне",
|
||||||
"Tags" : "Етикети",
|
"Tags" : "Етикети",
|
||||||
"Deleted items" : "Изтрити елементи",
|
"Deleted items" : "Изтрити елементи",
|
||||||
@@ -232,6 +232,8 @@ OC.L10N.register(
|
|||||||
"Choose attachment" : "Избор на прикачен файл",
|
"Choose attachment" : "Избор на прикачен файл",
|
||||||
"Set a due date" : "Задаване на крайна дата",
|
"Set a due date" : "Задаване на крайна дата",
|
||||||
"Remove due date" : "Премахни крайната дата",
|
"Remove due date" : "Премахни крайната дата",
|
||||||
|
"Completed" : "Завършен",
|
||||||
|
"Not completed" : "Незавършен",
|
||||||
"Unarchive card" : "Разархивиране на карта",
|
"Unarchive card" : "Разархивиране на карта",
|
||||||
"Archive card" : "Архивиране на карта",
|
"Archive card" : "Архивиране на карта",
|
||||||
"Select Date" : "Изберете дата",
|
"Select Date" : "Изберете дата",
|
||||||
@@ -240,10 +242,11 @@ OC.L10N.register(
|
|||||||
"Todo items" : "Елементи на задача за изпълнение",
|
"Todo items" : "Елементи на задача за изпълнение",
|
||||||
"{count} comments, {unread} unread" : "{count} коментари, {unread} непрочетени",
|
"{count} comments, {unread} unread" : "{count} коментари, {unread} непрочетени",
|
||||||
"Edit card title" : "Редактиране на заглавието на карта",
|
"Edit card title" : "Редактиране на заглавието на карта",
|
||||||
|
"Card details" : "Подробности за картата",
|
||||||
"Assign to me" : "Зачисляване към мен",
|
"Assign to me" : "Зачисляване към мен",
|
||||||
"Unassign myself" : "Отмяна на зачисляването към мен",
|
"Unassign myself" : "Отмяна на зачисляването към мен",
|
||||||
|
"Mark as done" : "Маркирай като готово",
|
||||||
"Move card" : "Преместване на карта",
|
"Move card" : "Преместване на карта",
|
||||||
"Card details" : "Подробности за картата",
|
|
||||||
"Delete card" : "Изтриване на карта",
|
"Delete card" : "Изтриване на карта",
|
||||||
"Move card to another board" : "Преместване на картата на друго табло",
|
"Move card to another board" : "Преместване на картата на друго табло",
|
||||||
"Select a list" : "Избор на списък",
|
"Select a list" : "Избор на списък",
|
||||||
|
|||||||
@@ -148,9 +148,9 @@
|
|||||||
"Details" : "Подробности",
|
"Details" : "Подробности",
|
||||||
"Currently present people" : "Хора присъстващи в момента",
|
"Currently present people" : "Хора присъстващи в момента",
|
||||||
"Loading board" : "Зареждане на табло",
|
"Loading board" : "Зареждане на табло",
|
||||||
|
"Board not found" : "Таблото не е намерено",
|
||||||
"No lists available" : "Няма налична списъци.",
|
"No lists available" : "Няма налична списъци.",
|
||||||
"Create a new list to add cards to this board" : "Създайте нов списък, за да добавите карти към това табло",
|
"Create a new list to add cards to this board" : "Създайте нов списък, за да добавите карти към това табло",
|
||||||
"Board not found" : "Таблото не е намерено",
|
|
||||||
"Sharing" : "Споделяне",
|
"Sharing" : "Споделяне",
|
||||||
"Tags" : "Етикети",
|
"Tags" : "Етикети",
|
||||||
"Deleted items" : "Изтрити елементи",
|
"Deleted items" : "Изтрити елементи",
|
||||||
@@ -230,6 +230,8 @@
|
|||||||
"Choose attachment" : "Избор на прикачен файл",
|
"Choose attachment" : "Избор на прикачен файл",
|
||||||
"Set a due date" : "Задаване на крайна дата",
|
"Set a due date" : "Задаване на крайна дата",
|
||||||
"Remove due date" : "Премахни крайната дата",
|
"Remove due date" : "Премахни крайната дата",
|
||||||
|
"Completed" : "Завършен",
|
||||||
|
"Not completed" : "Незавършен",
|
||||||
"Unarchive card" : "Разархивиране на карта",
|
"Unarchive card" : "Разархивиране на карта",
|
||||||
"Archive card" : "Архивиране на карта",
|
"Archive card" : "Архивиране на карта",
|
||||||
"Select Date" : "Изберете дата",
|
"Select Date" : "Изберете дата",
|
||||||
@@ -238,10 +240,11 @@
|
|||||||
"Todo items" : "Елементи на задача за изпълнение",
|
"Todo items" : "Елементи на задача за изпълнение",
|
||||||
"{count} comments, {unread} unread" : "{count} коментари, {unread} непрочетени",
|
"{count} comments, {unread} unread" : "{count} коментари, {unread} непрочетени",
|
||||||
"Edit card title" : "Редактиране на заглавието на карта",
|
"Edit card title" : "Редактиране на заглавието на карта",
|
||||||
|
"Card details" : "Подробности за картата",
|
||||||
"Assign to me" : "Зачисляване към мен",
|
"Assign to me" : "Зачисляване към мен",
|
||||||
"Unassign myself" : "Отмяна на зачисляването към мен",
|
"Unassign myself" : "Отмяна на зачисляването към мен",
|
||||||
|
"Mark as done" : "Маркирай като готово",
|
||||||
"Move card" : "Преместване на карта",
|
"Move card" : "Преместване на карта",
|
||||||
"Card details" : "Подробности за картата",
|
|
||||||
"Delete card" : "Изтриване на карта",
|
"Delete card" : "Изтриване на карта",
|
||||||
"Move card to another board" : "Преместване на картата на друго табло",
|
"Move card to another board" : "Преместване на картата на друго табло",
|
||||||
"Select a list" : "Избор на списък",
|
"Select a list" : "Избор на списък",
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ OC.L10N.register(
|
|||||||
"Update" : "পরিবর্ধন",
|
"Update" : "পরিবর্ধন",
|
||||||
"Created:" : "তৈরীর নির্ঘন্টঃ",
|
"Created:" : "তৈরীর নির্ঘন্টঃ",
|
||||||
"Description" : "বিবরণ",
|
"Description" : "বিবরণ",
|
||||||
|
"Completed" : "সুসম্পন্ন",
|
||||||
"(group)" : "(গোষ্ঠি)",
|
"(group)" : "(গোষ্ঠি)",
|
||||||
"seconds ago" : "সেকেন্ড পূর্বে",
|
"seconds ago" : "সেকেন্ড পূর্বে",
|
||||||
"Shared with you" : "Shared with you",
|
"Shared with you" : "Shared with you",
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
"Update" : "পরিবর্ধন",
|
"Update" : "পরিবর্ধন",
|
||||||
"Created:" : "তৈরীর নির্ঘন্টঃ",
|
"Created:" : "তৈরীর নির্ঘন্টঃ",
|
||||||
"Description" : "বিবরণ",
|
"Description" : "বিবরণ",
|
||||||
|
"Completed" : "সুসম্পন্ন",
|
||||||
"(group)" : "(গোষ্ঠি)",
|
"(group)" : "(গোষ্ঠি)",
|
||||||
"seconds ago" : "সেকেন্ড পূর্বে",
|
"seconds ago" : "সেকেন্ড পূর্বে",
|
||||||
"Shared with you" : "Shared with you",
|
"Shared with you" : "Shared with you",
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ OC.L10N.register(
|
|||||||
"Update" : "Adnevesaat",
|
"Update" : "Adnevesaat",
|
||||||
"Created:" : "Krouet :",
|
"Created:" : "Krouet :",
|
||||||
"Description" : "Diskrivadur",
|
"Description" : "Diskrivadur",
|
||||||
|
"Completed" : "Achuet",
|
||||||
"(group)" : "(strollad)",
|
"(group)" : "(strollad)",
|
||||||
"seconds ago" : "eilenn zo",
|
"seconds ago" : "eilenn zo",
|
||||||
"Shared with you" : "Rannet ganeoc'h",
|
"Shared with you" : "Rannet ganeoc'h",
|
||||||
|
|||||||
@@ -28,6 +28,7 @@
|
|||||||
"Update" : "Adnevesaat",
|
"Update" : "Adnevesaat",
|
||||||
"Created:" : "Krouet :",
|
"Created:" : "Krouet :",
|
||||||
"Description" : "Diskrivadur",
|
"Description" : "Diskrivadur",
|
||||||
|
"Completed" : "Achuet",
|
||||||
"(group)" : "(strollad)",
|
"(group)" : "(strollad)",
|
||||||
"seconds ago" : "eilenn zo",
|
"seconds ago" : "eilenn zo",
|
||||||
"Shared with you" : "Rannet ganeoc'h",
|
"Shared with you" : "Rannet ganeoc'h",
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ OC.L10N.register(
|
|||||||
"Save" : "Spremi",
|
"Save" : "Spremi",
|
||||||
"Update" : "Ažuriraj",
|
"Update" : "Ažuriraj",
|
||||||
"Description" : "Opis",
|
"Description" : "Opis",
|
||||||
|
"Completed" : "Zavrženo",
|
||||||
"Shared with you" : "Shared with you",
|
"Shared with you" : "Shared with you",
|
||||||
"Today" : "Danas",
|
"Today" : "Danas",
|
||||||
"Tomorrow" : "Sutra",
|
"Tomorrow" : "Sutra",
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
"Save" : "Spremi",
|
"Save" : "Spremi",
|
||||||
"Update" : "Ažuriraj",
|
"Update" : "Ažuriraj",
|
||||||
"Description" : "Opis",
|
"Description" : "Opis",
|
||||||
|
"Completed" : "Zavrženo",
|
||||||
"Shared with you" : "Shared with you",
|
"Shared with you" : "Shared with you",
|
||||||
"Today" : "Danas",
|
"Today" : "Danas",
|
||||||
"Tomorrow" : "Sutra",
|
"Tomorrow" : "Sutra",
|
||||||
|
|||||||
@@ -151,9 +151,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Detalls",
|
"Details" : "Detalls",
|
||||||
"Currently present people" : "Persones presents actuals",
|
"Currently present people" : "Persones presents actuals",
|
||||||
"Loading board" : "S'està carregant el tauler",
|
"Loading board" : "S'està carregant el tauler",
|
||||||
|
"Board not found" : "Tauler no trobat",
|
||||||
"No lists available" : "No hi ha cap llista disponible",
|
"No lists available" : "No hi ha cap llista disponible",
|
||||||
"Create a new list to add cards to this board" : "Crea una llista nova per afegir targetes a aquest tauler",
|
"Create a new list to add cards to this board" : "Crea una llista nova per afegir targetes a aquest tauler",
|
||||||
"Board not found" : "Tauler no trobat",
|
|
||||||
"Sharing" : "Compartició",
|
"Sharing" : "Compartició",
|
||||||
"Tags" : "Etiquetes",
|
"Tags" : "Etiquetes",
|
||||||
"Deleted items" : "Elements suprimits",
|
"Deleted items" : "Elements suprimits",
|
||||||
@@ -234,6 +234,8 @@ OC.L10N.register(
|
|||||||
"Assign a due date to this card…" : "Assigna una data de caducitat a aquesta targeta…",
|
"Assign a due date to this card…" : "Assigna una data de caducitat a aquesta targeta…",
|
||||||
"Set a due date" : "Definir una data de caducitat",
|
"Set a due date" : "Definir una data de caducitat",
|
||||||
"Remove due date" : "Suprimeix la data de caducitat",
|
"Remove due date" : "Suprimeix la data de caducitat",
|
||||||
|
"Completed" : "S'ha completat",
|
||||||
|
"Not completed" : "No completat",
|
||||||
"Unarchive card" : "Desarxiva targeta",
|
"Unarchive card" : "Desarxiva targeta",
|
||||||
"Archive card" : "Arxiva la targeta",
|
"Archive card" : "Arxiva la targeta",
|
||||||
"Select Date" : "Selecciona la data",
|
"Select Date" : "Selecciona la data",
|
||||||
@@ -243,10 +245,11 @@ OC.L10N.register(
|
|||||||
"Todo items" : "Tasques pendents",
|
"Todo items" : "Tasques pendents",
|
||||||
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
|
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
|
||||||
"Edit card title" : "Edició del títol de la targeta",
|
"Edit card title" : "Edició del títol de la targeta",
|
||||||
|
"Card details" : "Detalls de la targeta",
|
||||||
"Assign to me" : "Assigna'm a mi",
|
"Assign to me" : "Assigna'm a mi",
|
||||||
"Unassign myself" : "Desasignar a mi mateix",
|
"Unassign myself" : "Desasignar a mi mateix",
|
||||||
|
"Mark as done" : "Marcat com a fet",
|
||||||
"Move card" : "Mou la targeta",
|
"Move card" : "Mou la targeta",
|
||||||
"Card details" : "Detalls de la targeta",
|
|
||||||
"Delete card" : "Suprimeix targeta",
|
"Delete card" : "Suprimeix targeta",
|
||||||
"Move card to another board" : "Mou la targeta a un altre tauler",
|
"Move card to another board" : "Mou la targeta a un altre tauler",
|
||||||
"Select a list" : "Seleccioneu una llista",
|
"Select a list" : "Seleccioneu una llista",
|
||||||
|
|||||||
@@ -149,9 +149,9 @@
|
|||||||
"Details" : "Detalls",
|
"Details" : "Detalls",
|
||||||
"Currently present people" : "Persones presents actuals",
|
"Currently present people" : "Persones presents actuals",
|
||||||
"Loading board" : "S'està carregant el tauler",
|
"Loading board" : "S'està carregant el tauler",
|
||||||
|
"Board not found" : "Tauler no trobat",
|
||||||
"No lists available" : "No hi ha cap llista disponible",
|
"No lists available" : "No hi ha cap llista disponible",
|
||||||
"Create a new list to add cards to this board" : "Crea una llista nova per afegir targetes a aquest tauler",
|
"Create a new list to add cards to this board" : "Crea una llista nova per afegir targetes a aquest tauler",
|
||||||
"Board not found" : "Tauler no trobat",
|
|
||||||
"Sharing" : "Compartició",
|
"Sharing" : "Compartició",
|
||||||
"Tags" : "Etiquetes",
|
"Tags" : "Etiquetes",
|
||||||
"Deleted items" : "Elements suprimits",
|
"Deleted items" : "Elements suprimits",
|
||||||
@@ -232,6 +232,8 @@
|
|||||||
"Assign a due date to this card…" : "Assigna una data de caducitat a aquesta targeta…",
|
"Assign a due date to this card…" : "Assigna una data de caducitat a aquesta targeta…",
|
||||||
"Set a due date" : "Definir una data de caducitat",
|
"Set a due date" : "Definir una data de caducitat",
|
||||||
"Remove due date" : "Suprimeix la data de caducitat",
|
"Remove due date" : "Suprimeix la data de caducitat",
|
||||||
|
"Completed" : "S'ha completat",
|
||||||
|
"Not completed" : "No completat",
|
||||||
"Unarchive card" : "Desarxiva targeta",
|
"Unarchive card" : "Desarxiva targeta",
|
||||||
"Archive card" : "Arxiva la targeta",
|
"Archive card" : "Arxiva la targeta",
|
||||||
"Select Date" : "Selecciona la data",
|
"Select Date" : "Selecciona la data",
|
||||||
@@ -241,10 +243,11 @@
|
|||||||
"Todo items" : "Tasques pendents",
|
"Todo items" : "Tasques pendents",
|
||||||
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
|
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
|
||||||
"Edit card title" : "Edició del títol de la targeta",
|
"Edit card title" : "Edició del títol de la targeta",
|
||||||
|
"Card details" : "Detalls de la targeta",
|
||||||
"Assign to me" : "Assigna'm a mi",
|
"Assign to me" : "Assigna'm a mi",
|
||||||
"Unassign myself" : "Desasignar a mi mateix",
|
"Unassign myself" : "Desasignar a mi mateix",
|
||||||
|
"Mark as done" : "Marcat com a fet",
|
||||||
"Move card" : "Mou la targeta",
|
"Move card" : "Mou la targeta",
|
||||||
"Card details" : "Detalls de la targeta",
|
|
||||||
"Delete card" : "Suprimeix targeta",
|
"Delete card" : "Suprimeix targeta",
|
||||||
"Move card to another board" : "Mou la targeta a un altre tauler",
|
"Move card to another board" : "Mou la targeta a un altre tauler",
|
||||||
"Select a list" : "Seleccioneu una llista",
|
"Select a list" : "Seleccioneu una llista",
|
||||||
|
|||||||
14
l10n/cs.js
14
l10n/cs.js
@@ -37,6 +37,10 @@ OC.L10N.register(
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} zaarchivoval(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} zaarchivoval(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Zrušili jste archivacii karty {card} ve sloupci {stack} na tabuli {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Zrušili jste archivacii karty {card} ve sloupci {stack} na tabuli {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} zrušil(a) archivaci karty {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} zrušil(a) archivaci karty {card} ve sloupci {stack} na tabuli {board}",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "Označili jste kartu {card} jako splněnou v seznamu {stack} na tabuli {board}",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} označil(a) {card} jako splněnou {stack} na tabuli {board}",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "Zrušili jste označení karty {card} jako splněné v seznamu {stack} na tabuli {board}",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} zrušil(a) označení {card} jako splněné {stack} na tabuli {board}",
|
||||||
"You have removed the due date of card {card}" : "Odebrali jste termín u karty {card}",
|
"You have removed the due date of card {card}" : "Odebrali jste termín u karty {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} odebral(a) termín u karty {card}",
|
"{user} has removed the due date of card {card}" : "{user} odebral(a) termín u karty {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Nastavili jste termín u karty {card} na {after}",
|
"You have set the due date of card {card} to {after}" : "Nastavili jste termín u karty {card} na {after}",
|
||||||
@@ -159,9 +163,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Podrobnosti",
|
"Details" : "Podrobnosti",
|
||||||
"Currently present people" : "Nyní přítomní lidé",
|
"Currently present people" : "Nyní přítomní lidé",
|
||||||
"Loading board" : "Načítání tabule",
|
"Loading board" : "Načítání tabule",
|
||||||
|
"Board not found" : "Tabule nenalezena",
|
||||||
"No lists available" : "Nejsou k dispozici žádné seznamy",
|
"No lists available" : "Nejsou k dispozici žádné seznamy",
|
||||||
"Create a new list to add cards to this board" : "Pro přidání karet na tuto tabuli vytvořte nový seznam",
|
"Create a new list to add cards to this board" : "Pro přidání karet na tuto tabuli vytvořte nový seznam",
|
||||||
"Board not found" : "Tabule nenalezena",
|
|
||||||
"Sharing" : "Sdílení",
|
"Sharing" : "Sdílení",
|
||||||
"Tags" : "Štítky",
|
"Tags" : "Štítky",
|
||||||
"Deleted items" : "Smazané položky",
|
"Deleted items" : "Smazané položky",
|
||||||
@@ -244,6 +248,9 @@ OC.L10N.register(
|
|||||||
"Add due date" : "Přidat termín",
|
"Add due date" : "Přidat termín",
|
||||||
"Choose a date" : "Zvolit datum",
|
"Choose a date" : "Zvolit datum",
|
||||||
"Remove due date" : "Odstranit termín",
|
"Remove due date" : "Odstranit termín",
|
||||||
|
"Completed" : "Dokončeno",
|
||||||
|
"Due at:" : "Termín v:",
|
||||||
|
"Not completed" : "Nedokončeno",
|
||||||
"Unarchive card" : "Zrušit archivaci karty",
|
"Unarchive card" : "Zrušit archivaci karty",
|
||||||
"Archive card" : "Archivovat kartu",
|
"Archive card" : "Archivovat kartu",
|
||||||
"Select Date" : "Vybrat datum",
|
"Select Date" : "Vybrat datum",
|
||||||
@@ -252,15 +259,18 @@ OC.L10N.register(
|
|||||||
"Set due date for this weekend" : "Nastavit termín na tento týden",
|
"Set due date for this weekend" : "Nastavit termín na tento týden",
|
||||||
"Set due date for next week" : "Nastavit termín na příští týden",
|
"Set due date for next week" : "Nastavit termín na příští týden",
|
||||||
"Assign a tag to this card…" : "Přiřadit této kartě štítek…",
|
"Assign a tag to this card…" : "Přiřadit této kartě štítek…",
|
||||||
|
"Create a new tag:" : "Vytvořit nový štítek:",
|
||||||
"(group)" : "(skupina)",
|
"(group)" : "(skupina)",
|
||||||
"Next week – {timeLocale}" : "Příští týden – {timeLocale}",
|
"Next week – {timeLocale}" : "Příští týden – {timeLocale}",
|
||||||
"Todo items" : "Položky k udělání",
|
"Todo items" : "Položky k udělání",
|
||||||
"{count} comments, {unread} unread" : "{count} komentářů, {unread} nepřečtených",
|
"{count} comments, {unread} unread" : "{count} komentářů, {unread} nepřečtených",
|
||||||
"Edit card title" : "Upravit nadpis karty",
|
"Edit card title" : "Upravit nadpis karty",
|
||||||
|
"Card details" : "Podrobnosti o kartě",
|
||||||
"Assign to me" : "Přiřadit mě",
|
"Assign to me" : "Přiřadit mě",
|
||||||
"Unassign myself" : "Zrušit přiřazení sobě",
|
"Unassign myself" : "Zrušit přiřazení sobě",
|
||||||
|
"Mark as not done" : "Označit jako nehotové",
|
||||||
|
"Mark as done" : "Označit jako hotové",
|
||||||
"Move card" : "Přesunout kartu",
|
"Move card" : "Přesunout kartu",
|
||||||
"Card details" : "Podrobnosti o kartě",
|
|
||||||
"Delete card" : "Smazat kartu",
|
"Delete card" : "Smazat kartu",
|
||||||
"Move card to another board" : "Přesunout kartu na jinou tabuli",
|
"Move card to another board" : "Přesunout kartu na jinou tabuli",
|
||||||
"Select a list" : "Vyberte sloupec",
|
"Select a list" : "Vyberte sloupec",
|
||||||
|
|||||||
14
l10n/cs.json
14
l10n/cs.json
@@ -35,6 +35,10 @@
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} zaarchivoval(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} zaarchivoval(a) kartu {card} ve sloupci {stack} na tabuli {board}",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Zrušili jste archivacii karty {card} ve sloupci {stack} na tabuli {board}",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Zrušili jste archivacii karty {card} ve sloupci {stack} na tabuli {board}",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} zrušil(a) archivaci karty {card} ve sloupci {stack} na tabuli {board}",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} zrušil(a) archivaci karty {card} ve sloupci {stack} na tabuli {board}",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "Označili jste kartu {card} jako splněnou v seznamu {stack} na tabuli {board}",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} označil(a) {card} jako splněnou {stack} na tabuli {board}",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "Zrušili jste označení karty {card} jako splněné v seznamu {stack} na tabuli {board}",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} zrušil(a) označení {card} jako splněné {stack} na tabuli {board}",
|
||||||
"You have removed the due date of card {card}" : "Odebrali jste termín u karty {card}",
|
"You have removed the due date of card {card}" : "Odebrali jste termín u karty {card}",
|
||||||
"{user} has removed the due date of card {card}" : "{user} odebral(a) termín u karty {card}",
|
"{user} has removed the due date of card {card}" : "{user} odebral(a) termín u karty {card}",
|
||||||
"You have set the due date of card {card} to {after}" : "Nastavili jste termín u karty {card} na {after}",
|
"You have set the due date of card {card} to {after}" : "Nastavili jste termín u karty {card} na {after}",
|
||||||
@@ -157,9 +161,9 @@
|
|||||||
"Details" : "Podrobnosti",
|
"Details" : "Podrobnosti",
|
||||||
"Currently present people" : "Nyní přítomní lidé",
|
"Currently present people" : "Nyní přítomní lidé",
|
||||||
"Loading board" : "Načítání tabule",
|
"Loading board" : "Načítání tabule",
|
||||||
|
"Board not found" : "Tabule nenalezena",
|
||||||
"No lists available" : "Nejsou k dispozici žádné seznamy",
|
"No lists available" : "Nejsou k dispozici žádné seznamy",
|
||||||
"Create a new list to add cards to this board" : "Pro přidání karet na tuto tabuli vytvořte nový seznam",
|
"Create a new list to add cards to this board" : "Pro přidání karet na tuto tabuli vytvořte nový seznam",
|
||||||
"Board not found" : "Tabule nenalezena",
|
|
||||||
"Sharing" : "Sdílení",
|
"Sharing" : "Sdílení",
|
||||||
"Tags" : "Štítky",
|
"Tags" : "Štítky",
|
||||||
"Deleted items" : "Smazané položky",
|
"Deleted items" : "Smazané položky",
|
||||||
@@ -242,6 +246,9 @@
|
|||||||
"Add due date" : "Přidat termín",
|
"Add due date" : "Přidat termín",
|
||||||
"Choose a date" : "Zvolit datum",
|
"Choose a date" : "Zvolit datum",
|
||||||
"Remove due date" : "Odstranit termín",
|
"Remove due date" : "Odstranit termín",
|
||||||
|
"Completed" : "Dokončeno",
|
||||||
|
"Due at:" : "Termín v:",
|
||||||
|
"Not completed" : "Nedokončeno",
|
||||||
"Unarchive card" : "Zrušit archivaci karty",
|
"Unarchive card" : "Zrušit archivaci karty",
|
||||||
"Archive card" : "Archivovat kartu",
|
"Archive card" : "Archivovat kartu",
|
||||||
"Select Date" : "Vybrat datum",
|
"Select Date" : "Vybrat datum",
|
||||||
@@ -250,15 +257,18 @@
|
|||||||
"Set due date for this weekend" : "Nastavit termín na tento týden",
|
"Set due date for this weekend" : "Nastavit termín na tento týden",
|
||||||
"Set due date for next week" : "Nastavit termín na příští týden",
|
"Set due date for next week" : "Nastavit termín na příští týden",
|
||||||
"Assign a tag to this card…" : "Přiřadit této kartě štítek…",
|
"Assign a tag to this card…" : "Přiřadit této kartě štítek…",
|
||||||
|
"Create a new tag:" : "Vytvořit nový štítek:",
|
||||||
"(group)" : "(skupina)",
|
"(group)" : "(skupina)",
|
||||||
"Next week – {timeLocale}" : "Příští týden – {timeLocale}",
|
"Next week – {timeLocale}" : "Příští týden – {timeLocale}",
|
||||||
"Todo items" : "Položky k udělání",
|
"Todo items" : "Položky k udělání",
|
||||||
"{count} comments, {unread} unread" : "{count} komentářů, {unread} nepřečtených",
|
"{count} comments, {unread} unread" : "{count} komentářů, {unread} nepřečtených",
|
||||||
"Edit card title" : "Upravit nadpis karty",
|
"Edit card title" : "Upravit nadpis karty",
|
||||||
|
"Card details" : "Podrobnosti o kartě",
|
||||||
"Assign to me" : "Přiřadit mě",
|
"Assign to me" : "Přiřadit mě",
|
||||||
"Unassign myself" : "Zrušit přiřazení sobě",
|
"Unassign myself" : "Zrušit přiřazení sobě",
|
||||||
|
"Mark as not done" : "Označit jako nehotové",
|
||||||
|
"Mark as done" : "Označit jako hotové",
|
||||||
"Move card" : "Přesunout kartu",
|
"Move card" : "Přesunout kartu",
|
||||||
"Card details" : "Podrobnosti o kartě",
|
|
||||||
"Delete card" : "Smazat kartu",
|
"Delete card" : "Smazat kartu",
|
||||||
"Move card to another board" : "Přesunout kartu na jinou tabuli",
|
"Move card to another board" : "Přesunout kartu na jinou tabuli",
|
||||||
"Select a list" : "Vyberte sloupec",
|
"Select a list" : "Vyberte sloupec",
|
||||||
|
|||||||
@@ -100,9 +100,9 @@ OC.L10N.register(
|
|||||||
"Open details" : "Mere information",
|
"Open details" : "Mere information",
|
||||||
"Details" : "Detaljer",
|
"Details" : "Detaljer",
|
||||||
"Loading board" : "Indlæser tavle",
|
"Loading board" : "Indlæser tavle",
|
||||||
|
"Board not found" : "Tavle ikke fundet.",
|
||||||
"No lists available" : "Ingen kolonner tilgængelige",
|
"No lists available" : "Ingen kolonner tilgængelige",
|
||||||
"Create a new list to add cards to this board" : "Opret en ny kolonne for at tilføje kort til denne tavle ",
|
"Create a new list to add cards to this board" : "Opret en ny kolonne for at tilføje kort til denne tavle ",
|
||||||
"Board not found" : "Tavle ikke fundet.",
|
|
||||||
"Sharing" : "Deling",
|
"Sharing" : "Deling",
|
||||||
"Tags" : "Mærkat",
|
"Tags" : "Mærkat",
|
||||||
"Deleted items" : "Slettede objekter",
|
"Deleted items" : "Slettede objekter",
|
||||||
@@ -171,15 +171,18 @@ OC.L10N.register(
|
|||||||
"Choose attachment" : "Vælg en vedhæftning",
|
"Choose attachment" : "Vælg en vedhæftning",
|
||||||
"Set a due date" : "Sæt en forfaldsdato",
|
"Set a due date" : "Sæt en forfaldsdato",
|
||||||
"Remove due date" : "Fjern forfaldsdato",
|
"Remove due date" : "Fjern forfaldsdato",
|
||||||
|
"Completed" : "Fuldført",
|
||||||
|
"Not completed" : "Ikke afsluttet",
|
||||||
"Unarchive card" : "Gen-aktivér kort",
|
"Unarchive card" : "Gen-aktivér kort",
|
||||||
"Archive card" : "Arkivér kort",
|
"Archive card" : "Arkivér kort",
|
||||||
"Select Date" : "Vælg dato",
|
"Select Date" : "Vælg dato",
|
||||||
"Assign a tag to this card…" : "Tilføj et mærkat til dette kort ...",
|
"Assign a tag to this card…" : "Tilføj et mærkat til dette kort ...",
|
||||||
"(group)" : "(gruppe)",
|
"(group)" : "(gruppe)",
|
||||||
|
"Card details" : "Kort detaljer",
|
||||||
"Assign to me" : "Tildel til mig",
|
"Assign to me" : "Tildel til mig",
|
||||||
"Unassign myself" : "Fjern mig selv",
|
"Unassign myself" : "Fjern mig selv",
|
||||||
|
"Mark as done" : "Marker som færdig",
|
||||||
"Move card" : "Flyt kort",
|
"Move card" : "Flyt kort",
|
||||||
"Card details" : "Kort detaljer",
|
|
||||||
"Delete card" : "Slet kort",
|
"Delete card" : "Slet kort",
|
||||||
"Move card to another board" : "Flyt kort til en anden tavle",
|
"Move card to another board" : "Flyt kort til en anden tavle",
|
||||||
"Select a list" : "Vælg en kolonne",
|
"Select a list" : "Vælg en kolonne",
|
||||||
|
|||||||
@@ -98,9 +98,9 @@
|
|||||||
"Open details" : "Mere information",
|
"Open details" : "Mere information",
|
||||||
"Details" : "Detaljer",
|
"Details" : "Detaljer",
|
||||||
"Loading board" : "Indlæser tavle",
|
"Loading board" : "Indlæser tavle",
|
||||||
|
"Board not found" : "Tavle ikke fundet.",
|
||||||
"No lists available" : "Ingen kolonner tilgængelige",
|
"No lists available" : "Ingen kolonner tilgængelige",
|
||||||
"Create a new list to add cards to this board" : "Opret en ny kolonne for at tilføje kort til denne tavle ",
|
"Create a new list to add cards to this board" : "Opret en ny kolonne for at tilføje kort til denne tavle ",
|
||||||
"Board not found" : "Tavle ikke fundet.",
|
|
||||||
"Sharing" : "Deling",
|
"Sharing" : "Deling",
|
||||||
"Tags" : "Mærkat",
|
"Tags" : "Mærkat",
|
||||||
"Deleted items" : "Slettede objekter",
|
"Deleted items" : "Slettede objekter",
|
||||||
@@ -169,15 +169,18 @@
|
|||||||
"Choose attachment" : "Vælg en vedhæftning",
|
"Choose attachment" : "Vælg en vedhæftning",
|
||||||
"Set a due date" : "Sæt en forfaldsdato",
|
"Set a due date" : "Sæt en forfaldsdato",
|
||||||
"Remove due date" : "Fjern forfaldsdato",
|
"Remove due date" : "Fjern forfaldsdato",
|
||||||
|
"Completed" : "Fuldført",
|
||||||
|
"Not completed" : "Ikke afsluttet",
|
||||||
"Unarchive card" : "Gen-aktivér kort",
|
"Unarchive card" : "Gen-aktivér kort",
|
||||||
"Archive card" : "Arkivér kort",
|
"Archive card" : "Arkivér kort",
|
||||||
"Select Date" : "Vælg dato",
|
"Select Date" : "Vælg dato",
|
||||||
"Assign a tag to this card…" : "Tilføj et mærkat til dette kort ...",
|
"Assign a tag to this card…" : "Tilføj et mærkat til dette kort ...",
|
||||||
"(group)" : "(gruppe)",
|
"(group)" : "(gruppe)",
|
||||||
|
"Card details" : "Kort detaljer",
|
||||||
"Assign to me" : "Tildel til mig",
|
"Assign to me" : "Tildel til mig",
|
||||||
"Unassign myself" : "Fjern mig selv",
|
"Unassign myself" : "Fjern mig selv",
|
||||||
|
"Mark as done" : "Marker som færdig",
|
||||||
"Move card" : "Flyt kort",
|
"Move card" : "Flyt kort",
|
||||||
"Card details" : "Kort detaljer",
|
|
||||||
"Delete card" : "Slet kort",
|
"Delete card" : "Slet kort",
|
||||||
"Move card to another board" : "Flyt kort til en anden tavle",
|
"Move card to another board" : "Flyt kort til en anden tavle",
|
||||||
"Select a list" : "Vælg en kolonne",
|
"Select a list" : "Vælg en kolonne",
|
||||||
|
|||||||
15
l10n/de.js
15
l10n/de.js
@@ -37,6 +37,10 @@ OC.L10N.register(
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} als erledigt markiert.",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} als erledigt markiert.",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} als nicht erledigt markiert.",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} als nicht erledigt markiert.",
|
||||||
"You have removed the due date of card {card}" : "Du hast das Fälligkeitsdatum der Karte {card} entfernt",
|
"You have removed the due date of card {card}" : "Du hast das Fälligkeitsdatum der Karte {card} entfernt",
|
||||||
"{user} has removed the due date of card {card}" : "{user} hat das Fälligkeitsdatum der Karte {card} entfernt",
|
"{user} has removed the due date of card {card}" : "{user} hat das Fälligkeitsdatum der Karte {card} entfernt",
|
||||||
"You have set the due date of card {card} to {after}" : "Du hast das Fälligkeitsdatum der Karte {card} auf {after} gesetzt",
|
"You have set the due date of card {card} to {after}" : "Du hast das Fälligkeitsdatum der Karte {card} auf {after} gesetzt",
|
||||||
@@ -148,6 +152,7 @@ OC.L10N.register(
|
|||||||
"Next 30 days" : "Die nächsten 30 Tage",
|
"Next 30 days" : "Die nächsten 30 Tage",
|
||||||
"No due date" : "Kein Fälligkeitsdatum",
|
"No due date" : "Kein Fälligkeitsdatum",
|
||||||
"Clear filter" : "Filter zurücksetzen",
|
"Clear filter" : "Filter zurücksetzen",
|
||||||
|
"View Modes" : "Ansichtsmodi",
|
||||||
"Toggle View Modes" : "Ansichtsmodi wechseln",
|
"Toggle View Modes" : "Ansichtsmodi wechseln",
|
||||||
"Hide archived cards" : "Archivierte Karten ausblenden",
|
"Hide archived cards" : "Archivierte Karten ausblenden",
|
||||||
"Show archived cards" : "Archivierte Karten anzeigen",
|
"Show archived cards" : "Archivierte Karten anzeigen",
|
||||||
@@ -158,9 +163,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Details",
|
"Details" : "Details",
|
||||||
"Currently present people" : "Aktuell Anwesende",
|
"Currently present people" : "Aktuell Anwesende",
|
||||||
"Loading board" : "Lade Board",
|
"Loading board" : "Lade Board",
|
||||||
|
"Board not found" : "Board nicht gefunden",
|
||||||
"No lists available" : "Keine Listen verfügbar",
|
"No lists available" : "Keine Listen verfügbar",
|
||||||
"Create a new list to add cards to this board" : "Erstelle eine neue Liste, um diesem Board Karten hinzuzufügen",
|
"Create a new list to add cards to this board" : "Erstelle eine neue Liste, um diesem Board Karten hinzuzufügen",
|
||||||
"Board not found" : "Board nicht gefunden",
|
|
||||||
"Sharing" : "Teilen",
|
"Sharing" : "Teilen",
|
||||||
"Tags" : "Schlagworte",
|
"Tags" : "Schlagworte",
|
||||||
"Deleted items" : "Gelöschte Objekte",
|
"Deleted items" : "Gelöschte Objekte",
|
||||||
@@ -243,6 +248,9 @@ OC.L10N.register(
|
|||||||
"Add due date" : "Fälligkeitsdatum hinzufügen",
|
"Add due date" : "Fälligkeitsdatum hinzufügen",
|
||||||
"Choose a date" : "Datum auswählen",
|
"Choose a date" : "Datum auswählen",
|
||||||
"Remove due date" : "Fälligkeitsdatum löschen",
|
"Remove due date" : "Fälligkeitsdatum löschen",
|
||||||
|
"Completed" : "Fertiggestellt",
|
||||||
|
"Due at:" : "Fallig am:",
|
||||||
|
"Not completed" : "Nicht fertiggestellt",
|
||||||
"Unarchive card" : "Karte dearchivieren",
|
"Unarchive card" : "Karte dearchivieren",
|
||||||
"Archive card" : "Karte archivieren",
|
"Archive card" : "Karte archivieren",
|
||||||
"Select Date" : "Datum auswählen",
|
"Select Date" : "Datum auswählen",
|
||||||
@@ -251,15 +259,18 @@ OC.L10N.register(
|
|||||||
"Set due date for this weekend" : "Fälligkeitsdatum auf kommendes Wochenende setzen",
|
"Set due date for this weekend" : "Fälligkeitsdatum auf kommendes Wochenende setzen",
|
||||||
"Set due date for next week" : "Fälligkeitsdatum auf nächste Woche setzen",
|
"Set due date for next week" : "Fälligkeitsdatum auf nächste Woche setzen",
|
||||||
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
|
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
|
||||||
|
"Create a new tag:" : "Neues Schlagwort erstellen:",
|
||||||
"(group)" : "(Gruppe)",
|
"(group)" : "(Gruppe)",
|
||||||
"Next week – {timeLocale}" : "Nächste Woche – {timeLocale}",
|
"Next week – {timeLocale}" : "Nächste Woche – {timeLocale}",
|
||||||
"Todo items" : "Aufgaben-Elemente",
|
"Todo items" : "Aufgaben-Elemente",
|
||||||
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
|
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
|
||||||
"Edit card title" : "Kartentitel bearbeiten",
|
"Edit card title" : "Kartentitel bearbeiten",
|
||||||
|
"Card details" : "Karten-Details",
|
||||||
"Assign to me" : "Mir zuweisen",
|
"Assign to me" : "Mir zuweisen",
|
||||||
"Unassign myself" : "Nicht mehr mir zuweisen",
|
"Unassign myself" : "Nicht mehr mir zuweisen",
|
||||||
|
"Mark as not done" : "Als nicht erledigt markieren",
|
||||||
|
"Mark as done" : "Als erledigt markieren",
|
||||||
"Move card" : "Karte verschieben",
|
"Move card" : "Karte verschieben",
|
||||||
"Card details" : "Karten-Details",
|
|
||||||
"Delete card" : "Karte löschen",
|
"Delete card" : "Karte löschen",
|
||||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||||
"Select a list" : "Eine Liste auswählen",
|
"Select a list" : "Eine Liste auswählen",
|
||||||
|
|||||||
15
l10n/de.json
15
l10n/de.json
@@ -35,6 +35,10 @@
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} als erledigt markiert.",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} als erledigt markiert.",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "Du hast die Karte {card} in der Liste {stack} auf dem Board {board} als nicht erledigt markiert.",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} als nicht erledigt markiert.",
|
||||||
"You have removed the due date of card {card}" : "Du hast das Fälligkeitsdatum der Karte {card} entfernt",
|
"You have removed the due date of card {card}" : "Du hast das Fälligkeitsdatum der Karte {card} entfernt",
|
||||||
"{user} has removed the due date of card {card}" : "{user} hat das Fälligkeitsdatum der Karte {card} entfernt",
|
"{user} has removed the due date of card {card}" : "{user} hat das Fälligkeitsdatum der Karte {card} entfernt",
|
||||||
"You have set the due date of card {card} to {after}" : "Du hast das Fälligkeitsdatum der Karte {card} auf {after} gesetzt",
|
"You have set the due date of card {card} to {after}" : "Du hast das Fälligkeitsdatum der Karte {card} auf {after} gesetzt",
|
||||||
@@ -146,6 +150,7 @@
|
|||||||
"Next 30 days" : "Die nächsten 30 Tage",
|
"Next 30 days" : "Die nächsten 30 Tage",
|
||||||
"No due date" : "Kein Fälligkeitsdatum",
|
"No due date" : "Kein Fälligkeitsdatum",
|
||||||
"Clear filter" : "Filter zurücksetzen",
|
"Clear filter" : "Filter zurücksetzen",
|
||||||
|
"View Modes" : "Ansichtsmodi",
|
||||||
"Toggle View Modes" : "Ansichtsmodi wechseln",
|
"Toggle View Modes" : "Ansichtsmodi wechseln",
|
||||||
"Hide archived cards" : "Archivierte Karten ausblenden",
|
"Hide archived cards" : "Archivierte Karten ausblenden",
|
||||||
"Show archived cards" : "Archivierte Karten anzeigen",
|
"Show archived cards" : "Archivierte Karten anzeigen",
|
||||||
@@ -156,9 +161,9 @@
|
|||||||
"Details" : "Details",
|
"Details" : "Details",
|
||||||
"Currently present people" : "Aktuell Anwesende",
|
"Currently present people" : "Aktuell Anwesende",
|
||||||
"Loading board" : "Lade Board",
|
"Loading board" : "Lade Board",
|
||||||
|
"Board not found" : "Board nicht gefunden",
|
||||||
"No lists available" : "Keine Listen verfügbar",
|
"No lists available" : "Keine Listen verfügbar",
|
||||||
"Create a new list to add cards to this board" : "Erstelle eine neue Liste, um diesem Board Karten hinzuzufügen",
|
"Create a new list to add cards to this board" : "Erstelle eine neue Liste, um diesem Board Karten hinzuzufügen",
|
||||||
"Board not found" : "Board nicht gefunden",
|
|
||||||
"Sharing" : "Teilen",
|
"Sharing" : "Teilen",
|
||||||
"Tags" : "Schlagworte",
|
"Tags" : "Schlagworte",
|
||||||
"Deleted items" : "Gelöschte Objekte",
|
"Deleted items" : "Gelöschte Objekte",
|
||||||
@@ -241,6 +246,9 @@
|
|||||||
"Add due date" : "Fälligkeitsdatum hinzufügen",
|
"Add due date" : "Fälligkeitsdatum hinzufügen",
|
||||||
"Choose a date" : "Datum auswählen",
|
"Choose a date" : "Datum auswählen",
|
||||||
"Remove due date" : "Fälligkeitsdatum löschen",
|
"Remove due date" : "Fälligkeitsdatum löschen",
|
||||||
|
"Completed" : "Fertiggestellt",
|
||||||
|
"Due at:" : "Fallig am:",
|
||||||
|
"Not completed" : "Nicht fertiggestellt",
|
||||||
"Unarchive card" : "Karte dearchivieren",
|
"Unarchive card" : "Karte dearchivieren",
|
||||||
"Archive card" : "Karte archivieren",
|
"Archive card" : "Karte archivieren",
|
||||||
"Select Date" : "Datum auswählen",
|
"Select Date" : "Datum auswählen",
|
||||||
@@ -249,15 +257,18 @@
|
|||||||
"Set due date for this weekend" : "Fälligkeitsdatum auf kommendes Wochenende setzen",
|
"Set due date for this weekend" : "Fälligkeitsdatum auf kommendes Wochenende setzen",
|
||||||
"Set due date for next week" : "Fälligkeitsdatum auf nächste Woche setzen",
|
"Set due date for next week" : "Fälligkeitsdatum auf nächste Woche setzen",
|
||||||
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
|
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
|
||||||
|
"Create a new tag:" : "Neues Schlagwort erstellen:",
|
||||||
"(group)" : "(Gruppe)",
|
"(group)" : "(Gruppe)",
|
||||||
"Next week – {timeLocale}" : "Nächste Woche – {timeLocale}",
|
"Next week – {timeLocale}" : "Nächste Woche – {timeLocale}",
|
||||||
"Todo items" : "Aufgaben-Elemente",
|
"Todo items" : "Aufgaben-Elemente",
|
||||||
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
|
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
|
||||||
"Edit card title" : "Kartentitel bearbeiten",
|
"Edit card title" : "Kartentitel bearbeiten",
|
||||||
|
"Card details" : "Karten-Details",
|
||||||
"Assign to me" : "Mir zuweisen",
|
"Assign to me" : "Mir zuweisen",
|
||||||
"Unassign myself" : "Nicht mehr mir zuweisen",
|
"Unassign myself" : "Nicht mehr mir zuweisen",
|
||||||
|
"Mark as not done" : "Als nicht erledigt markieren",
|
||||||
|
"Mark as done" : "Als erledigt markieren",
|
||||||
"Move card" : "Karte verschieben",
|
"Move card" : "Karte verschieben",
|
||||||
"Card details" : "Karten-Details",
|
|
||||||
"Delete card" : "Karte löschen",
|
"Delete card" : "Karte löschen",
|
||||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||||
"Select a list" : "Eine Liste auswählen",
|
"Select a list" : "Eine Liste auswählen",
|
||||||
|
|||||||
@@ -37,6 +37,10 @@ OC.L10N.register(
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} im Board {board} als erledigt markiert.",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} im Board {board} als erledigt markiert",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} im Board {board} als rückgängig gemacht markiert",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} im Board {board} als rückgängig gemacht markiert",
|
||||||
"You have removed the due date of card {card}" : "Sie haben das Fälligkeitsdatum der Karte {card} entfernt",
|
"You have removed the due date of card {card}" : "Sie haben das Fälligkeitsdatum der Karte {card} entfernt",
|
||||||
"{user} has removed the due date of card {card}" : "{user} hat das Fälligkeitsdatum der Karte {card} entfernt",
|
"{user} has removed the due date of card {card}" : "{user} hat das Fälligkeitsdatum der Karte {card} entfernt",
|
||||||
"You have set the due date of card {card} to {after}" : "Sie haben das Fälligkeitsdatum der Karte {card} auf {after} gesetzt",
|
"You have set the due date of card {card} to {after}" : "Sie haben das Fälligkeitsdatum der Karte {card} auf {after} gesetzt",
|
||||||
@@ -159,9 +163,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Details",
|
"Details" : "Details",
|
||||||
"Currently present people" : "Aktuell Anwesende",
|
"Currently present people" : "Aktuell Anwesende",
|
||||||
"Loading board" : "Lade Board",
|
"Loading board" : "Lade Board",
|
||||||
|
"Board not found" : "Board nicht gefunden",
|
||||||
"No lists available" : "Keine Listen verfügbar",
|
"No lists available" : "Keine Listen verfügbar",
|
||||||
"Create a new list to add cards to this board" : "Erstellen Sie eine neue Liste, um diesem Board Karten hinzuzufügen",
|
"Create a new list to add cards to this board" : "Erstellen Sie eine neue Liste, um diesem Board Karten hinzuzufügen",
|
||||||
"Board not found" : "Board nicht gefunden",
|
|
||||||
"Sharing" : "Teilen",
|
"Sharing" : "Teilen",
|
||||||
"Tags" : "Schlagworte",
|
"Tags" : "Schlagworte",
|
||||||
"Deleted items" : "Gelöschte Objekte",
|
"Deleted items" : "Gelöschte Objekte",
|
||||||
@@ -244,6 +248,9 @@ OC.L10N.register(
|
|||||||
"Add due date" : "Fälligkeitsdatum hinzufügen",
|
"Add due date" : "Fälligkeitsdatum hinzufügen",
|
||||||
"Choose a date" : "Datum auswählen",
|
"Choose a date" : "Datum auswählen",
|
||||||
"Remove due date" : "Fälligkeitsdatum löschen",
|
"Remove due date" : "Fälligkeitsdatum löschen",
|
||||||
|
"Completed" : "Fertiggestellt",
|
||||||
|
"Due at:" : "Fallig am:",
|
||||||
|
"Not completed" : "Nicht fertiggestellt",
|
||||||
"Unarchive card" : "Karte dearchivieren",
|
"Unarchive card" : "Karte dearchivieren",
|
||||||
"Archive card" : "Karte archivieren",
|
"Archive card" : "Karte archivieren",
|
||||||
"Select Date" : "Datum auswählen",
|
"Select Date" : "Datum auswählen",
|
||||||
@@ -252,15 +259,18 @@ OC.L10N.register(
|
|||||||
"Set due date for this weekend" : "Fälligkeitsdatum auf kommendes Wochenende setzen",
|
"Set due date for this weekend" : "Fälligkeitsdatum auf kommendes Wochenende setzen",
|
||||||
"Set due date for next week" : "Fälligkeitsdatum auf nächste Woche setzen",
|
"Set due date for next week" : "Fälligkeitsdatum auf nächste Woche setzen",
|
||||||
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
|
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
|
||||||
|
"Create a new tag:" : "Neues Schlagwort erstellen:",
|
||||||
"(group)" : "(Gruppe)",
|
"(group)" : "(Gruppe)",
|
||||||
"Next week – {timeLocale}" : "Nächste Woche – {timeLocale}",
|
"Next week – {timeLocale}" : "Nächste Woche – {timeLocale}",
|
||||||
"Todo items" : "Aufgaben-Elemente",
|
"Todo items" : "Aufgaben-Elemente",
|
||||||
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
|
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
|
||||||
"Edit card title" : "Kartentitel bearbeiten",
|
"Edit card title" : "Kartentitel bearbeiten",
|
||||||
|
"Card details" : "Karten-Details",
|
||||||
"Assign to me" : "Mir zuweisen",
|
"Assign to me" : "Mir zuweisen",
|
||||||
"Unassign myself" : "Nicht mehr mir zuweisen",
|
"Unassign myself" : "Nicht mehr mir zuweisen",
|
||||||
|
"Mark as not done" : "Als unerledigt markieren",
|
||||||
|
"Mark as done" : "Als erledigt markieren",
|
||||||
"Move card" : "Karte verschieben",
|
"Move card" : "Karte verschieben",
|
||||||
"Card details" : "Karten-Details",
|
|
||||||
"Delete card" : "Karte löschen",
|
"Delete card" : "Karte löschen",
|
||||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||||
"Select a list" : "Eine Liste auswählen",
|
"Select a list" : "Eine Liste auswählen",
|
||||||
|
|||||||
@@ -35,6 +35,10 @@
|
|||||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
|
"{user} has archived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} archiviert",
|
||||||
"You have unarchived card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
"You have unarchived card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
||||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} dearchiviert",
|
||||||
|
"You have marked the card {card} as done in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} im Board {board} als erledigt markiert.",
|
||||||
|
"{user} has marked card {card} as done in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} im Board {board} als erledigt markiert",
|
||||||
|
"You have marked the card {card} as undone in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} im Board {board} als rückgängig gemacht markiert",
|
||||||
|
"{user} has marked the card {card} as undone in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} im Board {board} als rückgängig gemacht markiert",
|
||||||
"You have removed the due date of card {card}" : "Sie haben das Fälligkeitsdatum der Karte {card} entfernt",
|
"You have removed the due date of card {card}" : "Sie haben das Fälligkeitsdatum der Karte {card} entfernt",
|
||||||
"{user} has removed the due date of card {card}" : "{user} hat das Fälligkeitsdatum der Karte {card} entfernt",
|
"{user} has removed the due date of card {card}" : "{user} hat das Fälligkeitsdatum der Karte {card} entfernt",
|
||||||
"You have set the due date of card {card} to {after}" : "Sie haben das Fälligkeitsdatum der Karte {card} auf {after} gesetzt",
|
"You have set the due date of card {card} to {after}" : "Sie haben das Fälligkeitsdatum der Karte {card} auf {after} gesetzt",
|
||||||
@@ -157,9 +161,9 @@
|
|||||||
"Details" : "Details",
|
"Details" : "Details",
|
||||||
"Currently present people" : "Aktuell Anwesende",
|
"Currently present people" : "Aktuell Anwesende",
|
||||||
"Loading board" : "Lade Board",
|
"Loading board" : "Lade Board",
|
||||||
|
"Board not found" : "Board nicht gefunden",
|
||||||
"No lists available" : "Keine Listen verfügbar",
|
"No lists available" : "Keine Listen verfügbar",
|
||||||
"Create a new list to add cards to this board" : "Erstellen Sie eine neue Liste, um diesem Board Karten hinzuzufügen",
|
"Create a new list to add cards to this board" : "Erstellen Sie eine neue Liste, um diesem Board Karten hinzuzufügen",
|
||||||
"Board not found" : "Board nicht gefunden",
|
|
||||||
"Sharing" : "Teilen",
|
"Sharing" : "Teilen",
|
||||||
"Tags" : "Schlagworte",
|
"Tags" : "Schlagworte",
|
||||||
"Deleted items" : "Gelöschte Objekte",
|
"Deleted items" : "Gelöschte Objekte",
|
||||||
@@ -242,6 +246,9 @@
|
|||||||
"Add due date" : "Fälligkeitsdatum hinzufügen",
|
"Add due date" : "Fälligkeitsdatum hinzufügen",
|
||||||
"Choose a date" : "Datum auswählen",
|
"Choose a date" : "Datum auswählen",
|
||||||
"Remove due date" : "Fälligkeitsdatum löschen",
|
"Remove due date" : "Fälligkeitsdatum löschen",
|
||||||
|
"Completed" : "Fertiggestellt",
|
||||||
|
"Due at:" : "Fallig am:",
|
||||||
|
"Not completed" : "Nicht fertiggestellt",
|
||||||
"Unarchive card" : "Karte dearchivieren",
|
"Unarchive card" : "Karte dearchivieren",
|
||||||
"Archive card" : "Karte archivieren",
|
"Archive card" : "Karte archivieren",
|
||||||
"Select Date" : "Datum auswählen",
|
"Select Date" : "Datum auswählen",
|
||||||
@@ -250,15 +257,18 @@
|
|||||||
"Set due date for this weekend" : "Fälligkeitsdatum auf kommendes Wochenende setzen",
|
"Set due date for this weekend" : "Fälligkeitsdatum auf kommendes Wochenende setzen",
|
||||||
"Set due date for next week" : "Fälligkeitsdatum auf nächste Woche setzen",
|
"Set due date for next week" : "Fälligkeitsdatum auf nächste Woche setzen",
|
||||||
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
|
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
|
||||||
|
"Create a new tag:" : "Neues Schlagwort erstellen:",
|
||||||
"(group)" : "(Gruppe)",
|
"(group)" : "(Gruppe)",
|
||||||
"Next week – {timeLocale}" : "Nächste Woche – {timeLocale}",
|
"Next week – {timeLocale}" : "Nächste Woche – {timeLocale}",
|
||||||
"Todo items" : "Aufgaben-Elemente",
|
"Todo items" : "Aufgaben-Elemente",
|
||||||
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
|
"{count} comments, {unread} unread" : "{count} Kommentare, {unread} ungelesen",
|
||||||
"Edit card title" : "Kartentitel bearbeiten",
|
"Edit card title" : "Kartentitel bearbeiten",
|
||||||
|
"Card details" : "Karten-Details",
|
||||||
"Assign to me" : "Mir zuweisen",
|
"Assign to me" : "Mir zuweisen",
|
||||||
"Unassign myself" : "Nicht mehr mir zuweisen",
|
"Unassign myself" : "Nicht mehr mir zuweisen",
|
||||||
|
"Mark as not done" : "Als unerledigt markieren",
|
||||||
|
"Mark as done" : "Als erledigt markieren",
|
||||||
"Move card" : "Karte verschieben",
|
"Move card" : "Karte verschieben",
|
||||||
"Card details" : "Karten-Details",
|
|
||||||
"Delete card" : "Karte löschen",
|
"Delete card" : "Karte löschen",
|
||||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||||
"Select a list" : "Eine Liste auswählen",
|
"Select a list" : "Eine Liste auswählen",
|
||||||
|
|||||||
@@ -149,9 +149,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Λεπτομέρειες",
|
"Details" : "Λεπτομέρειες",
|
||||||
"Currently present people" : "Παρόντες αυτή τη στιγμή",
|
"Currently present people" : "Παρόντες αυτή τη στιγμή",
|
||||||
"Loading board" : "Φόρτωση πίνακα",
|
"Loading board" : "Φόρτωση πίνακα",
|
||||||
|
"Board not found" : "Ο πίνακας δεν βρέθηκε",
|
||||||
"No lists available" : "Δεν υπάρχουν διαθέσιμες λίστες",
|
"No lists available" : "Δεν υπάρχουν διαθέσιμες λίστες",
|
||||||
"Create a new list to add cards to this board" : "Δημιουργήστε νέα λίστα για να προσθέσετε καρτέλες σε αυτό τον πίνακα.",
|
"Create a new list to add cards to this board" : "Δημιουργήστε νέα λίστα για να προσθέσετε καρτέλες σε αυτό τον πίνακα.",
|
||||||
"Board not found" : "Ο πίνακας δεν βρέθηκε",
|
|
||||||
"Sharing" : "Διαμοιρασμός",
|
"Sharing" : "Διαμοιρασμός",
|
||||||
"Tags" : "Ετικέτες",
|
"Tags" : "Ετικέτες",
|
||||||
"Deleted items" : "Διαγραμμένα αντικείμενα",
|
"Deleted items" : "Διαγραμμένα αντικείμενα",
|
||||||
@@ -231,6 +231,7 @@ OC.L10N.register(
|
|||||||
"Choose attachment" : "Επιλογή συνημμένου",
|
"Choose attachment" : "Επιλογή συνημμένου",
|
||||||
"Set a due date" : "Καθορίστε ημερομηνίας λήξης",
|
"Set a due date" : "Καθορίστε ημερομηνίας λήξης",
|
||||||
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
|
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
|
||||||
|
"Completed" : "Ολοκληρωμένες",
|
||||||
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
|
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
|
||||||
"Archive card" : "Αρχειοθέτηση καρτέλας",
|
"Archive card" : "Αρχειοθέτηση καρτέλας",
|
||||||
"Select Date" : "Επιλέξτε ημερομηνία",
|
"Select Date" : "Επιλέξτε ημερομηνία",
|
||||||
@@ -239,10 +240,11 @@ OC.L10N.register(
|
|||||||
"Todo items" : "Στοιχεία todo",
|
"Todo items" : "Στοιχεία todo",
|
||||||
"{count} comments, {unread} unread" : "{count} σχόλια, {unread} μη αναγνωσμένα",
|
"{count} comments, {unread} unread" : "{count} σχόλια, {unread} μη αναγνωσμένα",
|
||||||
"Edit card title" : "Επεξεργασία τίτλου κάρτας",
|
"Edit card title" : "Επεξεργασία τίτλου κάρτας",
|
||||||
|
"Card details" : "Λεπτομέρειες καρτέλας",
|
||||||
"Assign to me" : "Ανάθεση σε εμένα",
|
"Assign to me" : "Ανάθεση σε εμένα",
|
||||||
"Unassign myself" : "Αποδέσμευσή μου",
|
"Unassign myself" : "Αποδέσμευσή μου",
|
||||||
|
"Mark as done" : "Σήμανση ως ολοκληρωμένου",
|
||||||
"Move card" : "Μετακίνηση καρτέλας",
|
"Move card" : "Μετακίνηση καρτέλας",
|
||||||
"Card details" : "Λεπτομέρειες καρτέλας",
|
|
||||||
"Delete card" : "Διαγραφή καρτέλας",
|
"Delete card" : "Διαγραφή καρτέλας",
|
||||||
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
|
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
|
||||||
"Select a list" : "Επιλέξτε μια λίστα",
|
"Select a list" : "Επιλέξτε μια λίστα",
|
||||||
|
|||||||
@@ -147,9 +147,9 @@
|
|||||||
"Details" : "Λεπτομέρειες",
|
"Details" : "Λεπτομέρειες",
|
||||||
"Currently present people" : "Παρόντες αυτή τη στιγμή",
|
"Currently present people" : "Παρόντες αυτή τη στιγμή",
|
||||||
"Loading board" : "Φόρτωση πίνακα",
|
"Loading board" : "Φόρτωση πίνακα",
|
||||||
|
"Board not found" : "Ο πίνακας δεν βρέθηκε",
|
||||||
"No lists available" : "Δεν υπάρχουν διαθέσιμες λίστες",
|
"No lists available" : "Δεν υπάρχουν διαθέσιμες λίστες",
|
||||||
"Create a new list to add cards to this board" : "Δημιουργήστε νέα λίστα για να προσθέσετε καρτέλες σε αυτό τον πίνακα.",
|
"Create a new list to add cards to this board" : "Δημιουργήστε νέα λίστα για να προσθέσετε καρτέλες σε αυτό τον πίνακα.",
|
||||||
"Board not found" : "Ο πίνακας δεν βρέθηκε",
|
|
||||||
"Sharing" : "Διαμοιρασμός",
|
"Sharing" : "Διαμοιρασμός",
|
||||||
"Tags" : "Ετικέτες",
|
"Tags" : "Ετικέτες",
|
||||||
"Deleted items" : "Διαγραμμένα αντικείμενα",
|
"Deleted items" : "Διαγραμμένα αντικείμενα",
|
||||||
@@ -229,6 +229,7 @@
|
|||||||
"Choose attachment" : "Επιλογή συνημμένου",
|
"Choose attachment" : "Επιλογή συνημμένου",
|
||||||
"Set a due date" : "Καθορίστε ημερομηνίας λήξης",
|
"Set a due date" : "Καθορίστε ημερομηνίας λήξης",
|
||||||
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
|
"Remove due date" : "Αφαίρεση ημερομηνίας λήξης",
|
||||||
|
"Completed" : "Ολοκληρωμένες",
|
||||||
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
|
"Unarchive card" : "Αναίρεση αρχειοθέτησης καρτέλας",
|
||||||
"Archive card" : "Αρχειοθέτηση καρτέλας",
|
"Archive card" : "Αρχειοθέτηση καρτέλας",
|
||||||
"Select Date" : "Επιλέξτε ημερομηνία",
|
"Select Date" : "Επιλέξτε ημερομηνία",
|
||||||
@@ -237,10 +238,11 @@
|
|||||||
"Todo items" : "Στοιχεία todo",
|
"Todo items" : "Στοιχεία todo",
|
||||||
"{count} comments, {unread} unread" : "{count} σχόλια, {unread} μη αναγνωσμένα",
|
"{count} comments, {unread} unread" : "{count} σχόλια, {unread} μη αναγνωσμένα",
|
||||||
"Edit card title" : "Επεξεργασία τίτλου κάρτας",
|
"Edit card title" : "Επεξεργασία τίτλου κάρτας",
|
||||||
|
"Card details" : "Λεπτομέρειες καρτέλας",
|
||||||
"Assign to me" : "Ανάθεση σε εμένα",
|
"Assign to me" : "Ανάθεση σε εμένα",
|
||||||
"Unassign myself" : "Αποδέσμευσή μου",
|
"Unassign myself" : "Αποδέσμευσή μου",
|
||||||
|
"Mark as done" : "Σήμανση ως ολοκληρωμένου",
|
||||||
"Move card" : "Μετακίνηση καρτέλας",
|
"Move card" : "Μετακίνηση καρτέλας",
|
||||||
"Card details" : "Λεπτομέρειες καρτέλας",
|
|
||||||
"Delete card" : "Διαγραφή καρτέλας",
|
"Delete card" : "Διαγραφή καρτέλας",
|
||||||
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
|
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
|
||||||
"Select a list" : "Επιλέξτε μια λίστα",
|
"Select a list" : "Επιλέξτε μια λίστα",
|
||||||
|
|||||||
@@ -159,9 +159,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Details",
|
"Details" : "Details",
|
||||||
"Currently present people" : "Currently present people",
|
"Currently present people" : "Currently present people",
|
||||||
"Loading board" : "Loading board",
|
"Loading board" : "Loading board",
|
||||||
|
"Board not found" : "Board not found",
|
||||||
"No lists available" : "No lists available",
|
"No lists available" : "No lists available",
|
||||||
"Create a new list to add cards to this board" : "Create a new list to add cards to this board",
|
"Create a new list to add cards to this board" : "Create a new list to add cards to this board",
|
||||||
"Board not found" : "Board not found",
|
|
||||||
"Sharing" : "Sharing",
|
"Sharing" : "Sharing",
|
||||||
"Tags" : "Tags",
|
"Tags" : "Tags",
|
||||||
"Deleted items" : "Deleted items",
|
"Deleted items" : "Deleted items",
|
||||||
@@ -244,6 +244,8 @@ OC.L10N.register(
|
|||||||
"Add due date" : "Add due date",
|
"Add due date" : "Add due date",
|
||||||
"Choose a date" : "Choose a date",
|
"Choose a date" : "Choose a date",
|
||||||
"Remove due date" : "Remove due date",
|
"Remove due date" : "Remove due date",
|
||||||
|
"Completed" : "Completed",
|
||||||
|
"Not completed" : "Not completed",
|
||||||
"Unarchive card" : "Unarchive card",
|
"Unarchive card" : "Unarchive card",
|
||||||
"Archive card" : "Archive card",
|
"Archive card" : "Archive card",
|
||||||
"Select Date" : "Select Date",
|
"Select Date" : "Select Date",
|
||||||
@@ -257,10 +259,11 @@ OC.L10N.register(
|
|||||||
"Todo items" : "Todo items",
|
"Todo items" : "Todo items",
|
||||||
"{count} comments, {unread} unread" : "{count} comments, {unread} unread",
|
"{count} comments, {unread} unread" : "{count} comments, {unread} unread",
|
||||||
"Edit card title" : "Edit card title",
|
"Edit card title" : "Edit card title",
|
||||||
|
"Card details" : "Card details",
|
||||||
"Assign to me" : "Assign to me",
|
"Assign to me" : "Assign to me",
|
||||||
"Unassign myself" : "Unassign myself",
|
"Unassign myself" : "Unassign myself",
|
||||||
|
"Mark as done" : "Mark as done",
|
||||||
"Move card" : "Move card",
|
"Move card" : "Move card",
|
||||||
"Card details" : "Card details",
|
|
||||||
"Delete card" : "Delete card",
|
"Delete card" : "Delete card",
|
||||||
"Move card to another board" : "Move card to another board",
|
"Move card to another board" : "Move card to another board",
|
||||||
"Select a list" : "Select a list",
|
"Select a list" : "Select a list",
|
||||||
|
|||||||
@@ -157,9 +157,9 @@
|
|||||||
"Details" : "Details",
|
"Details" : "Details",
|
||||||
"Currently present people" : "Currently present people",
|
"Currently present people" : "Currently present people",
|
||||||
"Loading board" : "Loading board",
|
"Loading board" : "Loading board",
|
||||||
|
"Board not found" : "Board not found",
|
||||||
"No lists available" : "No lists available",
|
"No lists available" : "No lists available",
|
||||||
"Create a new list to add cards to this board" : "Create a new list to add cards to this board",
|
"Create a new list to add cards to this board" : "Create a new list to add cards to this board",
|
||||||
"Board not found" : "Board not found",
|
|
||||||
"Sharing" : "Sharing",
|
"Sharing" : "Sharing",
|
||||||
"Tags" : "Tags",
|
"Tags" : "Tags",
|
||||||
"Deleted items" : "Deleted items",
|
"Deleted items" : "Deleted items",
|
||||||
@@ -242,6 +242,8 @@
|
|||||||
"Add due date" : "Add due date",
|
"Add due date" : "Add due date",
|
||||||
"Choose a date" : "Choose a date",
|
"Choose a date" : "Choose a date",
|
||||||
"Remove due date" : "Remove due date",
|
"Remove due date" : "Remove due date",
|
||||||
|
"Completed" : "Completed",
|
||||||
|
"Not completed" : "Not completed",
|
||||||
"Unarchive card" : "Unarchive card",
|
"Unarchive card" : "Unarchive card",
|
||||||
"Archive card" : "Archive card",
|
"Archive card" : "Archive card",
|
||||||
"Select Date" : "Select Date",
|
"Select Date" : "Select Date",
|
||||||
@@ -255,10 +257,11 @@
|
|||||||
"Todo items" : "Todo items",
|
"Todo items" : "Todo items",
|
||||||
"{count} comments, {unread} unread" : "{count} comments, {unread} unread",
|
"{count} comments, {unread} unread" : "{count} comments, {unread} unread",
|
||||||
"Edit card title" : "Edit card title",
|
"Edit card title" : "Edit card title",
|
||||||
|
"Card details" : "Card details",
|
||||||
"Assign to me" : "Assign to me",
|
"Assign to me" : "Assign to me",
|
||||||
"Unassign myself" : "Unassign myself",
|
"Unassign myself" : "Unassign myself",
|
||||||
|
"Mark as done" : "Mark as done",
|
||||||
"Move card" : "Move card",
|
"Move card" : "Move card",
|
||||||
"Card details" : "Card details",
|
|
||||||
"Delete card" : "Delete card",
|
"Delete card" : "Delete card",
|
||||||
"Move card to another board" : "Move card to another board",
|
"Move card to another board" : "Move card to another board",
|
||||||
"Select a list" : "Select a list",
|
"Select a list" : "Select a list",
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ OC.L10N.register(
|
|||||||
"Description" : "Priskribo",
|
"Description" : "Priskribo",
|
||||||
"Formatting help" : "Helpo pri tekstaranĝo",
|
"Formatting help" : "Helpo pri tekstaranĝo",
|
||||||
"Remove due date" : "Viŝi limdaton",
|
"Remove due date" : "Viŝi limdaton",
|
||||||
|
"Completed" : "Plenumita",
|
||||||
"Unarchive card" : "Malarĥivigi karton",
|
"Unarchive card" : "Malarĥivigi karton",
|
||||||
"Archive card" : "Arĥivigi karton",
|
"Archive card" : "Arĥivigi karton",
|
||||||
"Select Date" : "Elekti daton",
|
"Select Date" : "Elekti daton",
|
||||||
|
|||||||
@@ -104,6 +104,7 @@
|
|||||||
"Description" : "Priskribo",
|
"Description" : "Priskribo",
|
||||||
"Formatting help" : "Helpo pri tekstaranĝo",
|
"Formatting help" : "Helpo pri tekstaranĝo",
|
||||||
"Remove due date" : "Viŝi limdaton",
|
"Remove due date" : "Viŝi limdaton",
|
||||||
|
"Completed" : "Plenumita",
|
||||||
"Unarchive card" : "Malarĥivigi karton",
|
"Unarchive card" : "Malarĥivigi karton",
|
||||||
"Archive card" : "Arĥivigi karton",
|
"Archive card" : "Arĥivigi karton",
|
||||||
"Select Date" : "Elekti daton",
|
"Select Date" : "Elekti daton",
|
||||||
|
|||||||
@@ -153,9 +153,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Detalles",
|
"Details" : "Detalles",
|
||||||
"Currently present people" : "Personas presentes actualmente",
|
"Currently present people" : "Personas presentes actualmente",
|
||||||
"Loading board" : "Cargando tablero",
|
"Loading board" : "Cargando tablero",
|
||||||
|
"Board not found" : "Tablero no encontrado",
|
||||||
"No lists available" : "No hay listas disponibles",
|
"No lists available" : "No hay listas disponibles",
|
||||||
"Create a new list to add cards to this board" : "Crea una lista nueva para añadir tarjetas a este tablero",
|
"Create a new list to add cards to this board" : "Crea una lista nueva para añadir tarjetas a este tablero",
|
||||||
"Board not found" : "Tablero no encontrado",
|
|
||||||
"Sharing" : "Compartir",
|
"Sharing" : "Compartir",
|
||||||
"Tags" : "Etiquetas",
|
"Tags" : "Etiquetas",
|
||||||
"Deleted items" : "Elementos eliminados",
|
"Deleted items" : "Elementos eliminados",
|
||||||
@@ -236,6 +236,8 @@ OC.L10N.register(
|
|||||||
"Assign a due date to this card…" : "Asignar una fecha de caducidad a esta tarjeta…",
|
"Assign a due date to this card…" : "Asignar una fecha de caducidad a esta tarjeta…",
|
||||||
"Set a due date" : "Fijar una fecha límite",
|
"Set a due date" : "Fijar una fecha límite",
|
||||||
"Remove due date" : "Eliminar fecha límite",
|
"Remove due date" : "Eliminar fecha límite",
|
||||||
|
"Completed" : "Completado",
|
||||||
|
"Not completed" : "No completado",
|
||||||
"Unarchive card" : "Desarchivar tarjeta",
|
"Unarchive card" : "Desarchivar tarjeta",
|
||||||
"Archive card" : "Archivar tarjeta",
|
"Archive card" : "Archivar tarjeta",
|
||||||
"Select Date" : "Seleccione la fecha",
|
"Select Date" : "Seleccione la fecha",
|
||||||
@@ -245,10 +247,11 @@ OC.L10N.register(
|
|||||||
"Todo items" : "Ítems pendientes",
|
"Todo items" : "Ítems pendientes",
|
||||||
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
||||||
"Edit card title" : "Editar el título de la tarjeta",
|
"Edit card title" : "Editar el título de la tarjeta",
|
||||||
|
"Card details" : "Detalles de la tarjeta",
|
||||||
"Assign to me" : "Asignarme a mí",
|
"Assign to me" : "Asignarme a mí",
|
||||||
"Unassign myself" : "Desasignarme a mí mismo",
|
"Unassign myself" : "Desasignarme a mí mismo",
|
||||||
|
"Mark as done" : "Marcar como hecho",
|
||||||
"Move card" : "Mover tarjeta",
|
"Move card" : "Mover tarjeta",
|
||||||
"Card details" : "Detalles de la tarjeta",
|
|
||||||
"Delete card" : "Eliminar tarjeta",
|
"Delete card" : "Eliminar tarjeta",
|
||||||
"Move card to another board" : "Mover la tarjeta a otro tablero",
|
"Move card to another board" : "Mover la tarjeta a otro tablero",
|
||||||
"Select a list" : "Seleccionar una lista",
|
"Select a list" : "Seleccionar una lista",
|
||||||
|
|||||||
@@ -151,9 +151,9 @@
|
|||||||
"Details" : "Detalles",
|
"Details" : "Detalles",
|
||||||
"Currently present people" : "Personas presentes actualmente",
|
"Currently present people" : "Personas presentes actualmente",
|
||||||
"Loading board" : "Cargando tablero",
|
"Loading board" : "Cargando tablero",
|
||||||
|
"Board not found" : "Tablero no encontrado",
|
||||||
"No lists available" : "No hay listas disponibles",
|
"No lists available" : "No hay listas disponibles",
|
||||||
"Create a new list to add cards to this board" : "Crea una lista nueva para añadir tarjetas a este tablero",
|
"Create a new list to add cards to this board" : "Crea una lista nueva para añadir tarjetas a este tablero",
|
||||||
"Board not found" : "Tablero no encontrado",
|
|
||||||
"Sharing" : "Compartir",
|
"Sharing" : "Compartir",
|
||||||
"Tags" : "Etiquetas",
|
"Tags" : "Etiquetas",
|
||||||
"Deleted items" : "Elementos eliminados",
|
"Deleted items" : "Elementos eliminados",
|
||||||
@@ -234,6 +234,8 @@
|
|||||||
"Assign a due date to this card…" : "Asignar una fecha de caducidad a esta tarjeta…",
|
"Assign a due date to this card…" : "Asignar una fecha de caducidad a esta tarjeta…",
|
||||||
"Set a due date" : "Fijar una fecha límite",
|
"Set a due date" : "Fijar una fecha límite",
|
||||||
"Remove due date" : "Eliminar fecha límite",
|
"Remove due date" : "Eliminar fecha límite",
|
||||||
|
"Completed" : "Completado",
|
||||||
|
"Not completed" : "No completado",
|
||||||
"Unarchive card" : "Desarchivar tarjeta",
|
"Unarchive card" : "Desarchivar tarjeta",
|
||||||
"Archive card" : "Archivar tarjeta",
|
"Archive card" : "Archivar tarjeta",
|
||||||
"Select Date" : "Seleccione la fecha",
|
"Select Date" : "Seleccione la fecha",
|
||||||
@@ -243,10 +245,11 @@
|
|||||||
"Todo items" : "Ítems pendientes",
|
"Todo items" : "Ítems pendientes",
|
||||||
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
||||||
"Edit card title" : "Editar el título de la tarjeta",
|
"Edit card title" : "Editar el título de la tarjeta",
|
||||||
|
"Card details" : "Detalles de la tarjeta",
|
||||||
"Assign to me" : "Asignarme a mí",
|
"Assign to me" : "Asignarme a mí",
|
||||||
"Unassign myself" : "Desasignarme a mí mismo",
|
"Unassign myself" : "Desasignarme a mí mismo",
|
||||||
|
"Mark as done" : "Marcar como hecho",
|
||||||
"Move card" : "Mover tarjeta",
|
"Move card" : "Mover tarjeta",
|
||||||
"Card details" : "Detalles de la tarjeta",
|
|
||||||
"Delete card" : "Eliminar tarjeta",
|
"Delete card" : "Eliminar tarjeta",
|
||||||
"Move card to another board" : "Mover la tarjeta a otro tablero",
|
"Move card to another board" : "Mover la tarjeta a otro tablero",
|
||||||
"Select a list" : "Seleccionar una lista",
|
"Select a list" : "Seleccionar una lista",
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ OC.L10N.register(
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -76,6 +76,7 @@ OC.L10N.register(
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de vencimiento",
|
"Remove due date" : "Eliminar fecha de vencimiento",
|
||||||
|
"Completed" : "Completado",
|
||||||
"Select Date" : "Seleccionar fecha",
|
"Select Date" : "Seleccionar fecha",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"Card details" : "Detalles de la tarjeta",
|
"Card details" : "Detalles de la tarjeta",
|
||||||
|
|||||||
@@ -74,6 +74,7 @@
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de vencimiento",
|
"Remove due date" : "Eliminar fecha de vencimiento",
|
||||||
|
"Completed" : "Completado",
|
||||||
"Select Date" : "Seleccionar fecha",
|
"Select Date" : "Seleccionar fecha",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"Card details" : "Detalles de la tarjeta",
|
"Card details" : "Detalles de la tarjeta",
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ OC.L10N.register(
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ OC.L10N.register(
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ OC.L10N.register(
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ OC.L10N.register(
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
@@ -150,9 +150,9 @@ OC.L10N.register(
|
|||||||
"Details" : "Detalles",
|
"Details" : "Detalles",
|
||||||
"Currently present people" : "Personas actualmente presentes",
|
"Currently present people" : "Personas actualmente presentes",
|
||||||
"Loading board" : "Cargando tablero",
|
"Loading board" : "Cargando tablero",
|
||||||
|
"Board not found" : "No se encontró el tablero",
|
||||||
"No lists available" : "No hay listas disponibles",
|
"No lists available" : "No hay listas disponibles",
|
||||||
"Create a new list to add cards to this board" : "Crea una nueva lista para añadir tarjetas a este tablero",
|
"Create a new list to add cards to this board" : "Crea una nueva lista para añadir tarjetas a este tablero",
|
||||||
"Board not found" : "No se encontró el tablero",
|
|
||||||
"Sharing" : "Compartiendo",
|
"Sharing" : "Compartiendo",
|
||||||
"Tags" : "Etiquetas",
|
"Tags" : "Etiquetas",
|
||||||
"Deleted items" : "Elementos eliminados",
|
"Deleted items" : "Elementos eliminados",
|
||||||
@@ -232,6 +232,8 @@ OC.L10N.register(
|
|||||||
"Choose attachment" : "Elegir adjunto",
|
"Choose attachment" : "Elegir adjunto",
|
||||||
"Set a due date" : "Establecer una fecha de vencimiento",
|
"Set a due date" : "Establecer una fecha de vencimiento",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
|
"Not completed" : "No completado",
|
||||||
"Unarchive card" : "Desarchivar tarjeta",
|
"Unarchive card" : "Desarchivar tarjeta",
|
||||||
"Archive card" : "Archivar tarjeta",
|
"Archive card" : "Archivar tarjeta",
|
||||||
"Select Date" : "Seleccionar fecha",
|
"Select Date" : "Seleccionar fecha",
|
||||||
@@ -240,10 +242,11 @@ OC.L10N.register(
|
|||||||
"Todo items" : "Elementos pendientes",
|
"Todo items" : "Elementos pendientes",
|
||||||
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
||||||
"Edit card title" : "Editar título de la tarjeta",
|
"Edit card title" : "Editar título de la tarjeta",
|
||||||
|
"Card details" : "Detalles de la tarjeta",
|
||||||
"Assign to me" : "Asignarme la tarjeta",
|
"Assign to me" : "Asignarme la tarjeta",
|
||||||
"Unassign myself" : "Desasignarme la tarjeta",
|
"Unassign myself" : "Desasignarme la tarjeta",
|
||||||
|
"Mark as done" : "Marcar como hecha",
|
||||||
"Move card" : "Mover tarjeta",
|
"Move card" : "Mover tarjeta",
|
||||||
"Card details" : "Detalles de la tarjeta",
|
|
||||||
"Delete card" : "Eliminar tarjeta",
|
"Delete card" : "Eliminar tarjeta",
|
||||||
"Move card to another board" : "Mover tarjeta a otro tablero",
|
"Move card to another board" : "Mover tarjeta a otro tablero",
|
||||||
"Select a list" : "Seleccionar una lista",
|
"Select a list" : "Seleccionar una lista",
|
||||||
|
|||||||
@@ -148,9 +148,9 @@
|
|||||||
"Details" : "Detalles",
|
"Details" : "Detalles",
|
||||||
"Currently present people" : "Personas actualmente presentes",
|
"Currently present people" : "Personas actualmente presentes",
|
||||||
"Loading board" : "Cargando tablero",
|
"Loading board" : "Cargando tablero",
|
||||||
|
"Board not found" : "No se encontró el tablero",
|
||||||
"No lists available" : "No hay listas disponibles",
|
"No lists available" : "No hay listas disponibles",
|
||||||
"Create a new list to add cards to this board" : "Crea una nueva lista para añadir tarjetas a este tablero",
|
"Create a new list to add cards to this board" : "Crea una nueva lista para añadir tarjetas a este tablero",
|
||||||
"Board not found" : "No se encontró el tablero",
|
|
||||||
"Sharing" : "Compartiendo",
|
"Sharing" : "Compartiendo",
|
||||||
"Tags" : "Etiquetas",
|
"Tags" : "Etiquetas",
|
||||||
"Deleted items" : "Elementos eliminados",
|
"Deleted items" : "Elementos eliminados",
|
||||||
@@ -230,6 +230,8 @@
|
|||||||
"Choose attachment" : "Elegir adjunto",
|
"Choose attachment" : "Elegir adjunto",
|
||||||
"Set a due date" : "Establecer una fecha de vencimiento",
|
"Set a due date" : "Establecer una fecha de vencimiento",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
|
"Not completed" : "No completado",
|
||||||
"Unarchive card" : "Desarchivar tarjeta",
|
"Unarchive card" : "Desarchivar tarjeta",
|
||||||
"Archive card" : "Archivar tarjeta",
|
"Archive card" : "Archivar tarjeta",
|
||||||
"Select Date" : "Seleccionar fecha",
|
"Select Date" : "Seleccionar fecha",
|
||||||
@@ -238,10 +240,11 @@
|
|||||||
"Todo items" : "Elementos pendientes",
|
"Todo items" : "Elementos pendientes",
|
||||||
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
|
||||||
"Edit card title" : "Editar título de la tarjeta",
|
"Edit card title" : "Editar título de la tarjeta",
|
||||||
|
"Card details" : "Detalles de la tarjeta",
|
||||||
"Assign to me" : "Asignarme la tarjeta",
|
"Assign to me" : "Asignarme la tarjeta",
|
||||||
"Unassign myself" : "Desasignarme la tarjeta",
|
"Unassign myself" : "Desasignarme la tarjeta",
|
||||||
|
"Mark as done" : "Marcar como hecha",
|
||||||
"Move card" : "Mover tarjeta",
|
"Move card" : "Mover tarjeta",
|
||||||
"Card details" : "Detalles de la tarjeta",
|
|
||||||
"Delete card" : "Eliminar tarjeta",
|
"Delete card" : "Eliminar tarjeta",
|
||||||
"Move card to another board" : "Mover tarjeta a otro tablero",
|
"Move card to another board" : "Mover tarjeta a otro tablero",
|
||||||
"Select a list" : "Seleccionar una lista",
|
"Select a list" : "Seleccionar una lista",
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ OC.L10N.register(
|
|||||||
"Description" : "Descripción",
|
"Description" : "Descripción",
|
||||||
"Formatting help" : "Ayuda de formato",
|
"Formatting help" : "Ayuda de formato",
|
||||||
"Remove due date" : "Eliminar fecha de expiración",
|
"Remove due date" : "Eliminar fecha de expiración",
|
||||||
|
"Completed" : "Completado",
|
||||||
"(group)" : "(grupo)",
|
"(group)" : "(grupo)",
|
||||||
"seconds ago" : "hace segundos",
|
"seconds ago" : "hace segundos",
|
||||||
"Archived boards" : "Tableros archivados",
|
"Archived boards" : "Tableros archivados",
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user