Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
193af893ee | ||
|
|
acd105e61b | ||
|
|
a300b73d56 | ||
|
|
945ffeda34 | ||
|
|
66adc397bf | ||
|
|
ae5ea46d7f | ||
|
|
b5022529ac | ||
|
|
49c471d816 | ||
|
|
445aa89e4f | ||
|
|
787941857d | ||
|
|
6a2b494713 | ||
|
|
04d7c47f4c | ||
|
|
9c94ea58b4 | ||
|
|
9f65696fcc | ||
|
|
95b21943ee | ||
|
|
d1400f48c3 | ||
|
|
53d545eeef | ||
|
|
afeb2de412 | ||
|
|
83d6ef7301 | ||
|
|
d2e93c4927 | ||
|
|
fd67bb8e67 | ||
|
|
da6c2b5503 | ||
|
|
57d43f916f | ||
|
|
10a6dbd080 | ||
|
|
0498671cd4 | ||
|
|
b2eeff9697 | ||
|
|
a8146e61f3 | ||
|
|
6a23f73d94 | ||
|
|
b9bcb8f979 | ||
|
|
1cc8452752 | ||
|
|
5bfb6c6411 | ||
|
|
a48f560a85 | ||
|
|
43c38f87a5 | ||
|
|
01c12d7abc | ||
|
|
63e3f6907a | ||
|
|
2e62524d5e | ||
|
|
ec59af3777 | ||
|
|
aa080a7506 | ||
|
|
397dda11ce | ||
|
|
6173a73381 | ||
|
|
dafe1e39a5 | ||
|
|
b77be874e0 | ||
|
|
aca4bffac8 | ||
|
|
e5148b4571 | ||
|
|
6204edd76e | ||
|
|
4eed23afe0 | ||
|
|
2b02e09b07 | ||
|
|
c708877dde | ||
|
|
e2ae5d6b8e | ||
|
|
19402f5850 | ||
|
|
2beb91ba5d | ||
|
|
1c35f05224 | ||
|
|
758ec48e5c | ||
|
|
f8d5c91659 | ||
|
|
a8f41f7994 | ||
|
|
bf5596b201 | ||
|
|
b0f410f82d | ||
|
|
df54f15ecb | ||
|
|
c0ddecb2ee | ||
|
|
1a7796f2ca | ||
|
|
7119896a3c | ||
|
|
1b32509496 | ||
|
|
a0d2df0647 | ||
|
|
d8c62cf242 | ||
|
|
980fd4f61e | ||
|
|
0dd82fedaf | ||
|
|
058f7e430b | ||
|
|
9487406fc3 | ||
|
|
bf35b09998 | ||
|
|
d50e78c787 | ||
|
|
5dd43fa147 | ||
|
|
5f345e851a | ||
|
|
687c7923e7 | ||
|
|
90707aaab3 | ||
|
|
d5870472fb | ||
|
|
efb083aabf | ||
|
|
5c77407061 | ||
|
|
9c204d9bbe | ||
|
|
616dade81c | ||
|
|
43d86d7d5d | ||
|
|
6c7eab4456 | ||
|
|
35a3b0b62e | ||
|
|
7683f98b7b | ||
|
|
369da1e09d | ||
|
|
94a1446a08 | ||
|
|
884cd0e6b8 | ||
|
|
644b235bbb | ||
|
|
3d3096104e | ||
|
|
a41190cdf0 | ||
|
|
9a053164ac | ||
|
|
c31602da42 | ||
|
|
074a1218fd | ||
|
|
c26a31f498 | ||
|
|
4b65c5cc33 | ||
|
|
af8bf1af2e | ||
|
|
5220111822 | ||
|
|
62e5e5db49 | ||
|
|
eb6373a879 | ||
|
|
a4ca6dce25 | ||
|
|
5986f64d72 | ||
|
|
b1b9170afe | ||
|
|
13e5ccb56e | ||
|
|
8d24fc4bcf | ||
|
|
cc63a575ab | ||
|
|
a02c51cc3b | ||
|
|
ca6cadbe6d | ||
|
|
cc753cf4e4 | ||
|
|
7e4fddd932 | ||
|
|
06423164fb | ||
|
|
515c9be051 | ||
|
|
243797d2e9 | ||
|
|
c997786e64 | ||
|
|
dd324aa581 | ||
|
|
177c00e974 | ||
|
|
067aef9de9 | ||
|
|
02f14d967f | ||
|
|
122a61b333 | ||
|
|
49a89b80cf | ||
|
|
ee81775dc8 | ||
|
|
05869792ad | ||
|
|
2ac7660f29 | ||
|
|
abf7890941 | ||
|
|
e139e140f4 | ||
|
|
1f7db171d9 | ||
|
|
bf06c715fe | ||
|
|
44e20023cc | ||
|
|
e03ee1bd2f | ||
|
|
aea5ed7848 | ||
|
|
bbdb6a90b2 | ||
|
|
8fbbc104f7 | ||
|
|
6ba4574c67 | ||
|
|
928d88cfe1 | ||
|
|
4f5086c5cd | ||
|
|
fe69ab9030 | ||
|
|
08a1927c0c | ||
|
|
f02d5e64f0 | ||
|
|
5bca2f802b | ||
|
|
3eba6ef285 | ||
|
|
ad54a8a484 | ||
|
|
5adce79842 | ||
|
|
9fceb212d9 | ||
|
|
e044769d85 | ||
|
|
a86a8eff2d | ||
|
|
541dc67a02 | ||
|
|
db5ff4e1e2 | ||
|
|
d0611e1bff | ||
|
|
523ebea4dd | ||
|
|
bccfa320a9 | ||
|
|
72d0db7a59 | ||
|
|
ed0ef5b7d3 | ||
|
|
5619eef620 | ||
|
|
ae2e42e1b4 | ||
|
|
864ad3827d | ||
|
|
9cb8aab3ba | ||
|
|
374e986579 | ||
|
|
3c4549fe64 | ||
|
|
0394a78ece | ||
|
|
19d239f4cf | ||
|
|
d23ac2b385 | ||
|
|
766b58d91b | ||
|
|
663a4040f9 | ||
|
|
18467dfe40 | ||
|
|
2a165dccd4 | ||
|
|
d501e5832a | ||
|
|
b198a3ed99 | ||
|
|
226d25ca94 | ||
|
|
b7d508e8c4 | ||
|
|
439d7c3dbc | ||
|
|
bac490d2f3 | ||
|
|
3a4a075dba | ||
|
|
c0ffd6c20f | ||
|
|
94a52080cf | ||
|
|
c9f70cf382 | ||
|
|
04745f0c2f | ||
|
|
aead18eb58 | ||
|
|
a0c02f4a50 | ||
|
|
50f170b75d | ||
|
|
989b026b33 | ||
|
|
4ac6a507cd | ||
|
|
cd36194477 | ||
|
|
6ab1cbb341 | ||
|
|
5a023e4315 | ||
|
|
adb7f5b2ca | ||
|
|
fd465fbb60 | ||
|
|
879a84184f | ||
|
|
f89de026c4 | ||
|
|
5f20e56721 | ||
|
|
d59583915c | ||
|
|
b627ced605 | ||
|
|
c3037b155f | ||
|
|
c3e839c885 | ||
|
|
43dde4a10f | ||
|
|
97922c90cb | ||
|
|
c372ea02f7 | ||
|
|
daa95c582e | ||
|
|
aa2a15bf1b | ||
|
|
f629a7b3f7 | ||
|
|
03921a969a | ||
|
|
b7d51456eb | ||
|
|
6a587299b8 | ||
|
|
f5aa1b795b | ||
|
|
2efc5ab4e9 | ||
|
|
fde26c2183 | ||
|
|
8ad8f17731 | ||
|
|
e9d56b0804 | ||
|
|
43a967b274 | ||
|
|
c1ecaf3959 | ||
|
|
0b5ecd24f9 | ||
|
|
9a55f38d90 | ||
|
|
09c8f29de8 | ||
|
|
620bbb3394 | ||
|
|
77ae6c17e7 | ||
|
|
b8bbdcc4c5 | ||
|
|
18e936fd28 | ||
|
|
c94edb6bb0 | ||
|
|
484d495259 | ||
|
|
dfbcca2a2d | ||
|
|
73c6c07c47 | ||
|
|
896a149fb9 | ||
|
|
0034d2d3be | ||
|
|
880dcab0b1 | ||
|
|
98eb4453c5 | ||
|
|
3e686e4379 | ||
|
|
8509dad58f | ||
|
|
1214af04a9 | ||
|
|
8c0d61c4a5 | ||
|
|
ba2012af43 | ||
|
|
b5e6e6ee10 | ||
|
|
61ee6cf09f | ||
|
|
04925f7347 | ||
|
|
8a7ad0df54 | ||
|
|
a433f7d9fe | ||
|
|
991e74bfc2 | ||
|
|
c46817f23a | ||
|
|
94bd63c8a7 | ||
|
|
3e8b2620a1 | ||
|
|
ce8c78eb34 | ||
|
|
85e02010d4 | ||
|
|
a912960a58 | ||
|
|
aeec9f6ef8 | ||
|
|
718adc6c47 | ||
|
|
454aa05987 | ||
|
|
23726136bd | ||
|
|
fa82efe7d2 | ||
|
|
011fad6701 | ||
|
|
fcf262cc98 | ||
|
|
c5f0e87dd0 | ||
|
|
6a154ee9b0 | ||
|
|
558539e21b | ||
|
|
571f55f904 | ||
|
|
259614b647 | ||
|
|
8ec60879dc | ||
|
|
edd2e9db3c | ||
|
|
67454d0491 | ||
|
|
848d8ac95d | ||
|
|
a98ae8dc71 | ||
|
|
193ff20c23 | ||
|
|
92a85a991b | ||
|
|
38af71d9c9 | ||
|
|
246267276a | ||
|
|
ea19176d3c | ||
|
|
f28889de59 | ||
|
|
aa7199af2d | ||
|
|
fba0a52e4a | ||
|
|
6d7bdad140 | ||
|
|
aef871833b | ||
|
|
dda49d2f07 | ||
|
|
199ea3d6f9 | ||
|
|
53bd527947 | ||
|
|
2156e45869 | ||
|
|
1ced919dfb | ||
|
|
d948e78d1e | ||
|
|
bd5fd77655 | ||
|
|
45cf2843a6 | ||
|
|
ca51ace22d | ||
|
|
93a7040c77 | ||
|
|
dc687848e6 | ||
|
|
85187817a7 | ||
|
|
5f5a1b780e | ||
|
|
e31741cd7b | ||
|
|
d5bfa468f7 | ||
|
|
9990f9856b | ||
|
|
b3bb03fed4 | ||
|
|
1332a57890 | ||
|
|
123d9659c1 | ||
|
|
90d55777f7 | ||
|
|
ec4e1b6eff | ||
|
|
c72b769f82 | ||
|
|
8471f389eb | ||
|
|
23e6b4ec0a | ||
|
|
8f364281d2 | ||
|
|
1f17cee39b | ||
|
|
4787a1186b | ||
|
|
3c4b09157e | ||
|
|
87ee0ca646 | ||
|
|
de59758471 | ||
|
|
ea109cfdd7 | ||
|
|
9035989abf | ||
|
|
aa6076e087 | ||
|
|
78b9436f38 | ||
|
|
3ce3fa74b3 | ||
|
|
d6eff2a074 | ||
|
|
6d75fe4d86 | ||
|
|
9ff2340cdb | ||
|
|
b727204716 | ||
|
|
5b4f2f55aa | ||
|
|
60119153de | ||
|
|
2b2d596da6 | ||
|
|
63c1ef9f9e | ||
|
|
0cc183682e | ||
|
|
4d193f5650 | ||
|
|
73c4806864 | ||
|
|
b0cf60a3d9 | ||
|
|
3ca3d063a7 | ||
|
|
01741750f8 | ||
|
|
4377381fd3 | ||
|
|
9cf1b62cd6 | ||
|
|
5ded2e5121 | ||
|
|
7eeabf14be | ||
|
|
be507e567a | ||
|
|
1117d1c2ae | ||
|
|
4b20102139 | ||
|
|
9242bdb10b | ||
|
|
3bcd578fcb | ||
|
|
4c5daf5d85 | ||
|
|
5b4d75a976 | ||
|
|
b9c63a8c8f | ||
|
|
f75f686271 | ||
|
|
505fc71665 | ||
|
|
529594ef55 | ||
|
|
3d1f004e90 | ||
|
|
0195044ba1 | ||
|
|
ad8f227880 | ||
|
|
c4d83c6e66 | ||
|
|
90b589d993 | ||
|
|
d4cc337577 | ||
|
|
25695bdef2 | ||
|
|
af496839f5 | ||
|
|
9c09d926e3 | ||
|
|
cba480d3ae | ||
|
|
dbfdba75f9 | ||
|
|
d46afc12be | ||
|
|
531cea489e | ||
|
|
9e4758ec9e | ||
|
|
e8206f2983 | ||
|
|
2119a6568b | ||
|
|
dd7c9997a9 | ||
|
|
256ca129f0 | ||
|
|
6d9ac3ae48 | ||
|
|
59046d448f | ||
|
|
d9e291635a | ||
|
|
1133b7a04a | ||
|
|
43fe9ef34a | ||
|
|
f910b66ef2 | ||
|
|
bfac626fa4 | ||
|
|
ecbb8ef071 | ||
|
|
1c0c5bde0f | ||
|
|
c3044a6b8b | ||
|
|
778a29855f | ||
|
|
eb859dac3a | ||
|
|
9ac1164440 | ||
|
|
39974c9532 | ||
|
|
4ff8989e8f | ||
|
|
2bf13a50c4 | ||
|
|
382b14ea27 | ||
|
|
17fcfd3697 | ||
|
|
811ccf0f10 | ||
|
|
422424d21c | ||
|
|
0bdc7efc8b | ||
|
|
32058e8018 | ||
|
|
ba12b53e49 | ||
|
|
b9ead144fb | ||
|
|
1d58e40133 | ||
|
|
cd749bc385 | ||
|
|
01cd2df369 | ||
|
|
1854f5c061 | ||
|
|
b00bd04baa | ||
|
|
3075791a93 | ||
|
|
38ab2b766d | ||
|
|
410e5aa28d | ||
|
|
82f7541131 | ||
|
|
106b135eba | ||
|
|
7dfec58128 | ||
|
|
977bce9eb2 | ||
|
|
bc0aef3332 | ||
|
|
8101d7ade8 | ||
|
|
f6d19d2833 | ||
|
|
c431af27c2 | ||
|
|
973a0d93ae | ||
|
|
cbdb7b4f64 | ||
|
|
8f0c3b45c0 | ||
|
|
78317ef792 | ||
|
|
1ab4f5b913 | ||
|
|
f48e2fbd14 | ||
|
|
27f9e9e104 | ||
|
|
12b08b9915 | ||
|
|
bd8a8ab90e | ||
|
|
642507fb42 | ||
|
|
4600e4e237 | ||
|
|
c2e6f67689 | ||
|
|
9dec10bad3 | ||
|
|
3e390503fc | ||
|
|
a7f8614f04 | ||
|
|
0be7a5d783 | ||
|
|
41b938ea69 | ||
|
|
12a374bec7 | ||
|
|
8dd1566316 | ||
|
|
50f751e0a9 | ||
|
|
1984a6b1c8 | ||
|
|
1d904adc61 | ||
|
|
22882a0603 | ||
|
|
9b465bc98b | ||
|
|
ef99e6a6b1 | ||
|
|
61b240d126 | ||
|
|
1f3b5604c0 | ||
|
|
3bf4f3ef40 | ||
|
|
838578657d | ||
|
|
d6cfac0122 | ||
|
|
c1d2e27c09 | ||
|
|
b43779e408 | ||
|
|
f9df38d333 | ||
|
|
80088174fc | ||
|
|
0dfc62c025 | ||
|
|
7186b947b2 | ||
|
|
98df01060d | ||
|
|
9184bf3946 | ||
|
|
9518a5c11e | ||
|
|
9a766c0f74 | ||
|
|
c0c7b269a7 | ||
|
|
77a5f8f339 | ||
|
|
7e34dd0c2b | ||
|
|
f3aa524b77 | ||
|
|
792f187d06 | ||
|
|
4c18df757f | ||
|
|
9d47d3e397 | ||
|
|
0b9328a1be | ||
|
|
fc033c30e6 | ||
|
|
da180472c1 | ||
|
|
cdc2b920ee | ||
|
|
16d75f549d | ||
|
|
c43508cacb | ||
|
|
6b2d022a93 | ||
|
|
1cb8a6e7fe | ||
|
|
5e109de8d5 | ||
|
|
c4b5145db4 | ||
|
|
e5638e5e5a | ||
|
|
7e49ab5fea | ||
|
|
682eab74d9 | ||
|
|
9edbc349b9 | ||
|
|
c751f05962 | ||
|
|
2fa1b3122d | ||
|
|
c48c18c4e9 | ||
|
|
2da157dbb0 | ||
|
|
dcd5af0a76 | ||
|
|
e576e0f9cf | ||
|
|
83e7e4fb27 | ||
|
|
d77e54fff6 | ||
|
|
0aa78d9847 | ||
|
|
e5c1351e82 | ||
|
|
f6656a4791 | ||
|
|
d2354827da | ||
|
|
814164e53e | ||
|
|
7b0cf760e9 | ||
|
|
130aa1161e | ||
|
|
eaebe8b893 | ||
|
|
c4b898633e | ||
|
|
cfa3c4bfcb | ||
|
|
bf7520c430 | ||
|
|
166324df01 | ||
|
|
539c1ab87a | ||
|
|
359d0b376f | ||
|
|
a6cf57e988 | ||
|
|
1124f4120c | ||
|
|
f219e2151f | ||
|
|
c5b7f30d65 | ||
|
|
e3f1fbc967 | ||
|
|
e6df7d81cf | ||
|
|
24ad97cddb | ||
|
|
f9941c0f9c | ||
|
|
e7e558e865 | ||
|
|
6167d447fd | ||
|
|
30b17ff6c9 | ||
|
|
1f42aac19f | ||
|
|
212440862b | ||
|
|
21e68f3e54 | ||
|
|
116bc38136 | ||
|
|
e721dba1e2 | ||
|
|
3b6ec34bf5 | ||
|
|
170acf6948 | ||
|
|
d69f8f4cda | ||
|
|
db80e73804 | ||
|
|
25668eb7c4 | ||
|
|
11177196e3 | ||
|
|
6d21ffe660 | ||
|
|
ce79645455 | ||
|
|
7b91b341fe | ||
|
|
6856f4d95f | ||
|
|
075ea1c43d | ||
|
|
87d2cee02a | ||
|
|
fa758a73bd | ||
|
|
ded98d73d7 | ||
|
|
bbfacc06e3 | ||
|
|
e45b8ea48c | ||
|
|
179ff7a124 | ||
|
|
5415a7c4b9 | ||
|
|
f41589ba82 | ||
|
|
ce65963217 | ||
|
|
1e0fcfd20d | ||
|
|
8d5cbf1e6c | ||
|
|
7cc930f6b9 | ||
|
|
e9bb7e0041 | ||
|
|
61538ab577 | ||
|
|
bca4f0b842 | ||
|
|
0723a204e8 | ||
|
|
2cd1fbf9d9 | ||
|
|
29c3d939a7 | ||
|
|
02e8749540 | ||
|
|
ea289c7810 | ||
|
|
f3058133b3 | ||
|
|
e26a4824cf | ||
|
|
e5995477b8 | ||
|
|
c12e003fd3 | ||
|
|
8e11d278d3 | ||
|
|
de13705289 | ||
|
|
09bc8ac44c | ||
|
|
eae4bb2d37 | ||
|
|
31584e849c | ||
|
|
b735817901 | ||
|
|
4dbe6feb8c | ||
|
|
9eef5112dc | ||
|
|
4861da52a0 | ||
|
|
4505e6edc9 | ||
|
|
85e86136e9 | ||
|
|
82fc4d011f | ||
|
|
bfe03ac89f | ||
|
|
db74c86e55 | ||
|
|
ce177117a0 | ||
|
|
b05f3595f0 | ||
|
|
c115046a7c | ||
|
|
8051f6affa | ||
|
|
973b416885 | ||
|
|
8fc4011bf8 | ||
|
|
7b94b04701 | ||
|
|
217ae207b9 | ||
|
|
4f1eaa6b82 | ||
|
|
49c7a6c223 | ||
|
|
5a6be37d52 | ||
|
|
9711945e48 | ||
|
|
a320a71467 | ||
|
|
bda6ee26d7 | ||
|
|
40d438a517 | ||
|
|
5d2dd66450 | ||
|
|
f9539aa2a8 | ||
|
|
75512043e8 | ||
|
|
09c59ff562 | ||
|
|
e3d1fbc7f4 | ||
|
|
05f1d197f5 | ||
|
|
fe79a3e763 | ||
|
|
add5d22c4e | ||
|
|
08af6a0cf1 | ||
|
|
38a8d82735 | ||
|
|
42a4ca3678 | ||
|
|
66c20df5ba | ||
|
|
4505495762 | ||
|
|
679e50af64 | ||
|
|
2e8f8924dd | ||
|
|
5e88cb24cb | ||
|
|
023b41b205 | ||
|
|
cca4a3e372 | ||
|
|
caca2e34fc | ||
|
|
07217d0e51 | ||
|
|
80941e57d3 | ||
|
|
10f24a8a8a | ||
|
|
a7855f3f58 | ||
|
|
ac19904ee8 | ||
|
|
ec1630f8dd | ||
|
|
90f3f7ba16 | ||
|
|
5e5a5ed9be | ||
|
|
3eb6f97291 | ||
|
|
06e64d24a8 | ||
|
|
243af32fc7 | ||
|
|
ca89442f3a | ||
|
|
153960742c | ||
|
|
bf7de463f1 | ||
|
|
8b16955cc2 | ||
|
|
3753337d60 | ||
|
|
caad952bc1 | ||
|
|
6ff89b43b6 | ||
|
|
733b14dcd8 | ||
|
|
d87191f17e | ||
|
|
afd87e3caa | ||
|
|
ade3c02122 |
No files matched your search
@@ -100,7 +100,9 @@
|
||||
"Attachments": true,
|
||||
"Boards": true,
|
||||
"CardComments": true,
|
||||
"DatePicker" : true,
|
||||
"Cards": true,
|
||||
"CustomFields": true,
|
||||
"Lists": true,
|
||||
"UnsavedEditCollection": true,
|
||||
"Users": true,
|
||||
@@ -131,6 +133,8 @@
|
||||
"AccountSettings": true,
|
||||
"Announcements": true,
|
||||
"Swimlanes": true,
|
||||
"ChecklistItems": true,
|
||||
"Subtasks": true,
|
||||
"Npm": true
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,18 @@
|
||||
## Issue
|
||||
**Impacted version**: xxxx
|
||||
|
||||
**Server Setup Information**:
|
||||
|
||||
* Did you test in newest Wekan?:
|
||||
* Wekan version:
|
||||
* If this is about old version of Wekan, what upgrade problem you have?:
|
||||
* Operating System:
|
||||
* Deployment Method(tar/sandstorm/snap/docker/etc /http frontend (nginx, httpd, ...)):
|
||||
* Deployment Method(snap/docker/sandstorm/mongodb bundle/source):
|
||||
* Http frontend if any (Caddy, Nginx, Apache, see config examples from Wekan GitHub wiki first):
|
||||
* Node Version:
|
||||
* MongoDB Version:
|
||||
* ROOT_URL environment variable (Is there a subfolder?):
|
||||
* ROOT_URL environment variable http(s)://(subdomain).example.com(/suburl):
|
||||
|
||||
**Problem description**:
|
||||
- *be as explicit as you can*
|
||||
- *describe the problem and its symptoms*
|
||||
- *explain how to reproduce*
|
||||
- *attach whatever information that can help understanding the context (screen capture, log files)*
|
||||
- *REQUIRED: Add recorded animated gif about how it works currently, and screenshot mockups how it should work*
|
||||
- *Explain steps how to reproduce*
|
||||
- *Attach log files in .zip file)*
|
||||
@@ -15,3 +15,4 @@ package-lock.json
|
||||
**/prime
|
||||
**/*.snap
|
||||
snap/.snapcraft/
|
||||
.idea
|
||||
+5
-1
@@ -77,8 +77,12 @@ email@1.2.3
|
||||
horka:swipebox
|
||||
dynamic-import@0.2.0
|
||||
staringatlights:fast-render
|
||||
staringatlights:flow-router
|
||||
|
||||
mixmax:smart-disconnect
|
||||
accounts-password@1.5.0
|
||||
cfs:gridfs
|
||||
browser-policy
|
||||
eluck:accounts-lockout
|
||||
rzymek:fullcalendar
|
||||
momentjs:moment@2.22.2
|
||||
atoy40:accounts-cas
|
||||
+8
-1
@@ -9,6 +9,7 @@ aldeed:simple-schema@1.5.3
|
||||
alethes:pages@1.8.6
|
||||
allow-deny@1.1.0
|
||||
arillo:flow-router-helpers@0.5.2
|
||||
atoy40:accounts-cas@0.0.2
|
||||
audit-argument-checks@1.0.7
|
||||
autoupdate@1.3.12
|
||||
babel-compiler@6.24.7
|
||||
@@ -18,6 +19,10 @@ binary-heap@1.0.10
|
||||
blaze@2.3.2
|
||||
blaze-tools@1.0.10
|
||||
boilerplate-generator@1.3.1
|
||||
browser-policy@1.1.0
|
||||
browser-policy-common@1.0.11
|
||||
browser-policy-content@1.1.0
|
||||
browser-policy-framing@1.1.0
|
||||
caching-compiler@1.1.9
|
||||
caching-html-compiler@1.1.2
|
||||
callback-hook@1.0.10
|
||||
@@ -57,6 +62,7 @@ ecmascript-runtime@0.5.0
|
||||
ecmascript-runtime-client@0.5.0
|
||||
ecmascript-runtime-server@0.5.0
|
||||
ejson@1.1.0
|
||||
eluck:accounts-lockout@0.9.0
|
||||
email@1.2.3
|
||||
es5-shim@4.6.15
|
||||
fastclick@1.0.13
|
||||
@@ -98,6 +104,7 @@ mixmax:smart-disconnect@0.0.4
|
||||
mobile-status-bar@1.0.14
|
||||
modules@0.11.0
|
||||
modules-runtime@0.9.1
|
||||
momentjs:moment@2.22.2
|
||||
mongo@1.3.1
|
||||
mongo-dev-server@1.1.0
|
||||
mongo-id@1.0.6
|
||||
@@ -134,6 +141,7 @@ reactive-var@1.0.11
|
||||
reload@1.1.11
|
||||
retry@1.0.9
|
||||
routepolicy@1.0.12
|
||||
rzymek:fullcalendar@3.8.0
|
||||
service-configuration@1.0.11
|
||||
session@1.1.7
|
||||
sha@1.0.9
|
||||
@@ -150,7 +158,6 @@ srp@1.0.10
|
||||
standard-minifier-css@1.3.5
|
||||
standard-minifier-js@2.2.3
|
||||
staringatlights:fast-render@2.16.5
|
||||
staringatlights:flow-router@2.12.2
|
||||
staringatlights:inject-data@2.0.5
|
||||
stylus@2.513.13
|
||||
tap:i18n@1.8.2
|
||||
|
||||
+540
@@ -1,3 +1,543 @@
|
||||
# v1.26 2018-08-09 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Set WITH_API=true setting on Sandstorm, and so that export works](https://github.com/wekan/wekan/commit/a300b73d56750a1a5645767d375be60839314e84);
|
||||
- [Set Matomo blank settings on Sandstorm](https://github.com/wekan/wekan/commit/acd105e61b9dca5a78354047bbc23b0a01e71d8c).
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.25 2018-08-09 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix showing only the cards of the current board in calendar view](https://github.com/wekan/wekan/pull/1822).
|
||||
|
||||
Thanks to GitHub user Yanonix for contributions.
|
||||
|
||||
# v1.24 2018-08-09 Wekan release
|
||||
|
||||
This release add the following new features:
|
||||
|
||||
- [Update node to v8.12.0 prerelease build](https://github.com/wekan/wekan/commit/04d7c47f4ca990311079be8dd6dc383448ee342f).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Enable Wekan API by default, so that Export Board to JSON works](https://github.com/wekan/wekan/commit/b2eeff96977592deaeb23a8171fc3b13f8c6c5dc);
|
||||
- [Fix the flagging of dates](https://github.com/wekan/wekan/pull/1814);
|
||||
- [Use new WITH_API and Matomo env variables at Dockerfile](https://github.com/wekan/wekan/issues/1820);
|
||||
- For OpenShift compliance, [change](https://github.com/wekan/wekan/commit/53d545eeef7e796bd910f7cce666686ca05de544)
|
||||
[run user](https://github.com/wekan/wekan/pull/1816)
|
||||
and [Docker internal port to 8080](https://github.com/wekan/wekan/commit/95b21943ee7a9fa5a27efe5276307febc2fbad94).
|
||||
|
||||
Thanks to GitHub users rjevnikar, tdemaret, xadagaras and xet7 for their contributions.
|
||||
|
||||
# v1.23 2018-07-30 Wekan release
|
||||
|
||||
This release tries to fix the following bugs:
|
||||
|
||||
- Checking for [existing](https://github.com/wekan/wekan/commit/a48f560a85860451914dbaad8cae6ff5120a0c38)
|
||||
[directories](https://github.com/wekan/wekan/commit/5bfb6c6411c928bfffa7ed6fe829f030e3ea57da) when
|
||||
building snap etc, trying to [get snap to build somehow](https://github.com/wekan/wekan-snap/issues/58).
|
||||
This is just a test, does it build this time correctly.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.22 2018-07-30 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Backup script now uses mongodump from snap to
|
||||
do backups](https://github.com/wekan/wekan/wiki/Backup);
|
||||
- [Integration of Matomo](https://github.com/wekan/wekan/pull/1806);
|
||||
- [Enable/Disable API with env var](https://github.com/wekan/wekan/pull/1799).
|
||||
|
||||
Thanks to GitHub user Akuket and xet7 for their contributions.
|
||||
|
||||
# v1.21 2018-07-18 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Add logo from Wekan website to login logo](https://github.com/wekan/wekan/commit/4eed23afe06d5fab8d45ba3decc7c1d3b85efbd8).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Allow to resend invites](https://github.com/wekan/wekan/pull/1785).
|
||||
|
||||
Thanks to GitHub users Akuket and xet7 for their contributions.
|
||||
|
||||
# v1.20 2018-07-18 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Remove SMTP settings from Admin Panel, because they are set in environment
|
||||
variable settings like source/snap/docker already, and password was
|
||||
exposed in plain text](https://github.com/wekan/wekan/issues/1783);
|
||||
- [Added info how to limit snap to root
|
||||
user](https://github.com/wekan/wekan-snap/wiki/Limit-snap-to-root-user-only);
|
||||
- [Add scrolling to long cards](https://github.com/wekan/wekan/pull/1782).
|
||||
|
||||
Thanks to GitHub users jnso, LyR33x and xet7 for their contributions.
|
||||
|
||||
# v1.19 2018-07-16 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Build from source on macOS](https://github.com/wekan/wekan/wiki/Mac);
|
||||
- [Wekan integration with OpenShift](https://github.com/wekan/wekan/pull/1765);
|
||||
- [Snap Caddy: set -agree flag for Let's Encrypt](https://github.com/wekan/wekan-snap/issues/54).
|
||||
|
||||
and fixes the following mobile bugs:
|
||||
|
||||
- [Fix missing utility function](https://github.com/wekan/wekan/commit/5c774070617357c25c7bb35b43f4b122eb4b3e34);
|
||||
- [Avoid default behavior](https://github.com/wekan/wekan/commit/9c204d9bbe4845bc3e352e839615dfb782a753f4);
|
||||
- [Hotfix more sortable elements](https://github.com/wekan/wekan/commit/616dade81c25b10fc409aee1bcc9a93ddbfee81b);
|
||||
- [Hotfix for mobile device](https://github.com/wekan/wekan/commit/43d86d7d5d3f3b34b0500f6d5d3afe7bd86b0060).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix invitation code](https://github.com/wekan/wekan/pull/1777).
|
||||
|
||||
Thanks to GitHub users adyachok, Akuket, halunk3, Haocen and xet7 for their contributions.
|
||||
|
||||
# v1.18 2018-07-06 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix [Title is required](https://github.com/wekan/wekan/issues/1576)
|
||||
by [setting Checklist title during migration](https://github.com/wekan/wekan/issues/1753).
|
||||
|
||||
Thanks to GitHub users centigrade-kdk and xet7 for their contributions.
|
||||
|
||||
# v1.17 2018-07-06 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Made Subtask Settings visible at Board menu at Sandstorm](https://github.com/wekan/wekan/commit/884cd0e6b888edc9752cbed80e7ac75e2ce232de).
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.16 2018-07-06 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix: [Boards.forEach is not function](https://github.com/wekan/wekan/commit/a41190cdf024df65ad1c9931b3065c6ababeaf25).
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.15 2018-07-06 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix [Title is required](https://github.com/wekan/wekan/issues/1576)
|
||||
by making [Checklist title optional](https://github.com/wekan/wekan/issues/1753).
|
||||
|
||||
Thanks to GitHub users centigrade-kdk and xet7 for their contributions.
|
||||
|
||||
# v1.14 2018-07-06 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix [Checklists.forEach is not a function](https://github.com/wekan/wekan/issues/1753).
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.13 2018-07-06 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- Added snapcraft.yml new node version changes, that were missing from v1.12.
|
||||
|
||||
Thanks to GitHub user xet7 for contibutions.
|
||||
|
||||
# v1.12 2018-07-06 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Nested tasks](https://github.com/wekan/wekan/pull/1723);
|
||||
- [Calendar improvements](https://github.com/wekan/wekan/pull/1752);
|
||||
- [SSO CAS](https://github.com/wekan/wekan/pull/1742).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix warning about missing space in jade file](https://github.com/wekan/wekan/commit/067aef9de948ef0cb6037d52602100b00d214706);
|
||||
- Revert [Fix vertical align of user avatar initials](https://github.com/wekan/wekan/pull/1714), so that [initials are again
|
||||
visible](https://github.com/wekan/wekan/commit/122a61b3333fb77c0f08bbdc6fe0d3c2f6db97df);
|
||||
- Fix lint warning: [EditCardDate is assigned a value but never used
|
||||
no-unused-vars](https://github.com/wekan/wekan/commit/dd324aa581bed7ea31f20968c6b596f373e7054f);
|
||||
- Fix [Minimize board sidebar actually just moves it over](https://github.com/wekan/wekan/issues/1589).
|
||||
|
||||
Thanks to GitHub users dagomar, ppoulard, pravdomil, TNick and xet7 for their contributions.
|
||||
|
||||
# v1.11 2018-06-30 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
* [Remove card shadow](https://github.com/wekan/wekan/pull/1726), Wekan users now prefer not to have it;
|
||||
* [Revert](https://github.com/wekan/wekan/commit/928d88cfe1da4187797519c929cd2fdd9ffe9c2e) previous
|
||||
[Less margin-bottom after minicard](https://github.com/wekan/wekan/pull/1713).
|
||||
|
||||
Thanks to GitHub users pravdomil and xet7 for their contributions.
|
||||
|
||||
# v1.10 2018-06-28 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
* Fix migration error "TypeError: Checklists.foreach" at [Snap](https://github.com/wekan/wekan-snap/issues/51),
|
||||
[Docker](https://github.com/wekan/wekan/issues/1736) etc.
|
||||
|
||||
Thanks to GitHub users Jubi94, kestrelhawk and xet7 for their contributions.
|
||||
|
||||
# v1.09 2018-06-28 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Calendar](https://github.com/wekan/wekan/pull/1728). Click Lists / Swimlanes / Calendar.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
* To fix ["title is required"](https://github.com/wekan/wekan/issues/1576) fix only
|
||||
[add-checklist-items and revert all other migration changes](https://github.com/wekan/wekan/issues/1734);
|
||||
* [Restore invitation code logic](https://github.com/wekan/wekan/pull/1732). Please test and add comment
|
||||
to those invitation code issues that this fixes.
|
||||
|
||||
Thanks to GitHub users TNick and xet7 for their contributions.
|
||||
|
||||
# v1.08 2018-06-27 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Add more card inner shadow](https://github.com/wekan/wekan/commit/6a587299b80a49fce0789628ff65885b5ed2c837);
|
||||
* [Less margin-bottom after minicard](https://github.com/wekan/wekan/pull/1713);
|
||||
* Updated newest node fork binary from Sandstorm to Wekan, see https://releases.wekan.team/node.txt
|
||||
* Add Georgian language.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
* [Fix typo in English translation](https://github.com/wekan/wekan/pull/1710);
|
||||
* [Fix vertical align of user avatar initials](https://github.com/wekan/wekan/pull/1714);
|
||||
* [Submit inline form on click outside](https://github.com/wekan/wekan/pull/1717), fixes
|
||||
["You have an unsaved description" doesn't go away after saving](https://github.com/wekan/wekan/issues/1287);
|
||||
* [Fix "Error: title is required" by removing find() from all of migrations](https://github.com/wekan/wekan/commit/97922c90cb42be6c6615639bb164173748982f56).
|
||||
|
||||
Thanks to GitHub users pravdomil, xet7 and zypA13510 for their contributions.
|
||||
|
||||
# v1.07 2018-06-14 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Regex for Advanced filter. It aims to solve search in bigger text fields, and using wildcards.
|
||||
A change to translations was made for adding info about regex and escaping characters
|
||||
with \\](https://github.com/wekan/wekan/pull/1702).
|
||||
|
||||
Thanks to GitHub users feuerball11 and xet7 for their contributions.
|
||||
|
||||
# v1.06 2018-06-14 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
* [Fix CardDetail of Mobile View](https://github.com/wekan/wekan/pull/1701).
|
||||
|
||||
Thanks to GitHub users feuerball11 and xet7 for their contributions.
|
||||
|
||||
# v1.05 2018-06-14 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Markdown support in Custom Fields, and view on minicard](https://github.com/wekan/wekan/pull/1699);
|
||||
* [Fixes to Advanced Filter, you are now able to filter for Dropdown and Numbers,
|
||||
also Dropdown are now correctly displayed on minicard](https://github.com/wekan/wekan/pull/1699).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
* [Fix data colour changes on cards](https://github.com/wekan/wekan/pull/1698);
|
||||
* [Fix for migration error "title is required" and breaking of Standalone and
|
||||
Sandstorm Wekan](https://github.com/wekan/wekan/commit/8d5cbf1e6c2b6d467fe1c0708cd794fd11b98a2e#commitcomment-29362180);
|
||||
* [Fix Issue with custom fields shown on card](https://github.com/wekan/wekan/issues/1659);
|
||||
* [Fix showing public board in list mode](https://github.com/wekan/wekan/issues/1623);
|
||||
* [Fix for not able to remove Custom Field "Show on Card"](https://github.com/wekan/wekan/pull/1699);
|
||||
* [Fix minicardReceivedDate typo in 1.04 regression: Socket connection error and boards
|
||||
not loading](https://github.com/wekan/wekan/issues/1694).
|
||||
|
||||
Thanks to GitHub users feuerball11, Fran-KTA, oec, rjevnikar and xet7 for their contributions.
|
||||
|
||||
# v1.04 2018-06-12 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Add Khmer language](https://github.com/wekan/wekan/commit/2156e458690d0dc34a761a48fd7fa3b54af79031);
|
||||
* [Change label text colour to black for specific label colours for better
|
||||
visibility](https://github.com/wekan/wekan/pull/1689).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
* [SECURITY FIX: Do not publish all of people collection. This bug has probably been present
|
||||
since addition of Admin Panel](https://github.com/wekan/wekan/commit/dda49d2f07f9c50d5d57acfd5c7eee6492f93b33);
|
||||
* [Modify card covers/mini-cards so that: 1) received date is shown unless there is a start date
|
||||
2) due date is shown, unless there is an end date](https://github.com/wekan/wekan/pull/1685).
|
||||
|
||||
Thanks to GitHub users rjevnikar and xet7 for their contributions.
|
||||
Thanks to Adrian Genaid for security fix, he's now added to [Hall of Fame](https://wekan.github.io/hall-of-fame/).
|
||||
Thanks to translators.
|
||||
|
||||
# v1.03 2018-06-08 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Update to newest Sandstorm fork of Node.js that includes performance
|
||||
etc fixes](https://github.com/wekan/wekan/commit/90d55777f7298d243ed0de03c934cea239a31272);
|
||||
* [Additional label colors. Assigned By and Requested By text fields
|
||||
on card. Delete board from Recycle Bin](https://github.com/wekan/wekan/pull/1679).
|
||||
|
||||
and possibly fixes the following bugs, please test:
|
||||
|
||||
* [Try to fix: Missing board-view-lists Field after DB updated to
|
||||
Wekan 1.02](https://github.com/wekan/wekan/issues/1675).
|
||||
|
||||
Thanks to GitHub users JamesLavin, rjevnikar and xet7 for their contributions.
|
||||
|
||||
# v1.02 2018-05-26 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
* [Remove binary version of bcrypt](https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac)
|
||||
because of [vulnerability](https://nodesecurity.io/advisories/612) that has [issue that is not fixed
|
||||
yet](https://github.com/kelektiv/node.bcrypt.js/issues/604)
|
||||
and [not yet merged pull request](https://github.com/kelektiv/node.bcrypt.js/pull/606).
|
||||
This may cause some slowdown;
|
||||
* [Snap: Filtering out swap file created at build time, adding stage package](https://github.com/wekan/wekan/pull/1660);
|
||||
* [Fix Received Date and End Date on Cards](https://github.com/wekan/wekan/issues/1654).
|
||||
|
||||
Thanks to GitHub users kubiko, xadagaras and xet7 for their contributions.
|
||||
|
||||
# v1.01 2018-05-23 Wekan release
|
||||
|
||||
This release possibly fixes the following bugs, please test:
|
||||
|
||||
* [Possible quickfix for all customFields Import errors, please test](https://github.com/wekan/wekan/pull/1653).
|
||||
|
||||
Thanks to GitHub users feuerball11 and xet7 for their contributions.
|
||||
|
||||
# v1.00 2018-05-21 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
* [Typo in English translation: brakets to brackets](https://github.com/wekan/wekan/issues/1647).
|
||||
|
||||
Thanks to GitHub user yarons for contributions.
|
||||
|
||||
# v0.99 2018-05-21 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Advanced Filter for Custom Fields](https://github.com/wekan/wekan/pull/1646).
|
||||
|
||||
Thanks to GitHub users feuerball11 and xet7 for their contributions.
|
||||
|
||||
# v0.98 2018-05-19 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Filtering by Custom Field](https://github.com/wekan/wekan/pull/1645);
|
||||
* Update to NPM 6.0.1 and MongoDB 3.2.20.
|
||||
|
||||
Thanks to GitHub users feuerball11 and xet7 for their contributions.
|
||||
|
||||
# v0.97 2018-05-19 Wekan release
|
||||
|
||||
Updated translations.
|
||||
|
||||
# v0.96 2018-05-19 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Custom Fields](https://github.com/wekan/wekan/issues/807). Note: Import/Export is not implemented yet.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
* [Fix: checklistItems broken after upgrade](https://github.com/wekan/wekan/issues/1636).
|
||||
|
||||
Thanks to GitHub users feuerball11, franksiler, papoola and xet7 for their contributions.
|
||||
|
||||
# v0.95 2018-05-08 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [REST API Edit Card Labels](https://github.com/wekan/wekan/pull/1626);
|
||||
* [Add a new API route to create a new label in a given board](https://github.com/wekan/wekan/pull/1630);
|
||||
* [Admin Panel: Option to block username change](https://github.com/wekan/wekan/pull/1627).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
* [Error: title is required](https://github.com/wekan/wekan/issues/1576).
|
||||
|
||||
Thanks to GitHub users Shahar-Y, thiagofernando and ThisNeko for their contributions.
|
||||
|
||||
# v0.94 2018-05-03 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [REST API POST /cards: allow setting card members](https://github.com/wekan/wekan/pull/1622).
|
||||
|
||||
Thanks to GitHub user couscous3 for contributions.
|
||||
|
||||
# v0.93 2018-05-02 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
* [Checklist items lineheight to 18px, and positioning
|
||||
improvements](https://github.com/wekan/wekan/issues/1619).
|
||||
|
||||
Thanks to GitHub user lichtamberg for contributions.
|
||||
|
||||
# v0.92 2018-05-01 Wekan release
|
||||
|
||||
This release tries to fix the following bugs, please test:
|
||||
|
||||
* [Users who register with an invitation code can't see lists/cards](https://github.com/wekan/wekan/issues/1610).
|
||||
|
||||
Thanks to GitHub user andresmanelli for contributions.
|
||||
|
||||
# v0.91 2018-05-01 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Wekan Import / Export lists not being sortable](https://github.com/wekan/wekan/commit/539c1ab87a098a7ddfd23cdbd663441bd609b73d).
|
||||
|
||||
Thanks to GitHub user zebby76 for contributions.
|
||||
|
||||
# v0.90 2018-05-01 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Remove space from between checklist items, so longer checklists can be seen
|
||||
at once](https://github.com/wekan/wekan/commit/1124f4120cd77622c0a6313e228e1a00690ff566).
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v0.89 2018-04-29 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Wekan import / Export for ChecklistItems](https://github.com/wekan/wekan/pull/1613).
|
||||
|
||||
Thanks to GitHub user zebby76 for contributions.
|
||||
|
||||
# v0.88 2018-04-27 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Trello import of ChecklistItems](https://github.com/wekan/wekan/pull/1611).
|
||||
|
||||
Thanks to GitHub user zebby76 for contributions.
|
||||
|
||||
# v0.87 2018-04-27 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Sandstorm: Copy Card, Move Card and Copy Checklist Template to Many Cards - No longer works in
|
||||
menu](https://github.com/wekan/wekan/commit/db80e738048e2729917c5e8fc18cf8ee44df7992);
|
||||
- [Snap: Use override-build instead of old deprecated
|
||||
prepare/build/install](https://github.com/wekan/wekan/commit/075ea1c43d827099e0030c750a4c156bd3340fed);
|
||||
- [Removed not-used plugins part of Caddy download
|
||||
URL](https://github.com/wekan/wekan/commit/7b91b341fe9c0cde42f91bf14d228820653c883d).
|
||||
|
||||
Thanks to GitHub users kyrofa and xet7 for their contributions.
|
||||
|
||||
# v0.86 2018-04-20 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- Updated translations: German and Turkish;
|
||||
- Updated Caddy to newest version for Snap.
|
||||
|
||||
Thanks to translators and Caddy developers.
|
||||
|
||||
# v0.85 2018-04-18 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Switch List/swimlane view only working with admin privileges](https://github.com/wekan/wekan/issues/1567);
|
||||
- [Fix Wekan logo positioning](https://github.com/wekan/wekan/issues/1378);
|
||||
- [Tried to fix, but fix did not work: Fix checklists items migration error "title is required"](https://github.com/wekan/wekan/issues/1576);
|
||||
- [Removed paxctl alpine fix #1303 , because it did not work anymore, so Docker container
|
||||
did not build correctly](https://github.com/wekan/wekan/commit/ce659632174ba25ca9b5e85b053fde02fd9c3928);
|
||||
- [Use curl to download 100% CPU fibers fixed node in snap, and remove paxctl from
|
||||
snap package](https://github.com/wekan/wekan/commit/179ff7a12457be1592f04e1bdc15a5bb4fe9d398).
|
||||
|
||||
Thanks to GitHub users andresmanelli, iwkse and xet7 for their contributions.
|
||||
|
||||
# v0.84 2018-04-16 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Add Checklist Items REST API](https://github.com/wekan/wekan/commit/9eef5112dc1c1c30590d19fbfd2f615714112a3f).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix Node Fibers 100% CPU issue](https://github.com/wekan/wekan/commit/e26a4824cfb119a15767c4827190a6b9ab65b904);
|
||||
- [Plus button on a Swimlane row, always add an element on the first row](https://github.com/wekan/wekan/issues/1577);
|
||||
- [Fix Checklist REST API](https://github.com/wekan/wekan/commit/9eef5112dc1c1c30590d19fbfd2f615714112a3f);
|
||||
- [Fix Disabling "show cards count" not possible, now zero means disable](https://github.com/wekan/wekan/issues/1570);
|
||||
- [Fix Checklist not copied when copied a card and Copy Checklist Template to Many Cards](https://github.com/wekan/wekan/issues/1565);
|
||||
- [Fix Filter cards hides checklist items](https://github.com/wekan/wekan/issues/1561).
|
||||
|
||||
Thanks to GitHub users andresmanelli, kentonv and xet7 for their contributions.
|
||||
|
||||
# v0.83 2018-04-12 Wekan release
|
||||
|
||||
- Updated translations: Czech and French.
|
||||
|
||||
Thanks to translators!
|
||||
|
||||
# v0.82 2018-04-11 Wekan release
|
||||
|
||||
- [Restore original font and font sizes. Admin panel people and version texts
|
||||
to darker](https://github.com/wekan/wekan/commit/db74c86e555f45a5aaaef84d2f3d4128cec77782).
|
||||
|
||||
Thanks to GitHub users apn3a and xet7 for their contributions.
|
||||
|
||||
# v0.81 2018-04-10 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Removed checkbox from checklist name to have more of material design look](https://github.com/wekan/wekan/issues/1568);
|
||||
- [Renamed Archives to Recycle Bin](https://github.com/wekan/wekan/issues/1429);
|
||||
- [Separate translations for cards in Recycle Bin and cards count](https://github.com/wekan/wekan/commit/49c7a6c223061b9c1769143fea32fecc7d0f3c3e);
|
||||
- [Use lighter and smaller font sizes](https://github.com/wekan/wekan/commit/7b94b0470198bc22b6a52db6661f35076f7c6388);
|
||||
- [Board title as markdown in board view](https://github.com/wekan/wekan/commit/7b94b0470198bc22b6a52db6661f35076f7c6388).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Removed forcing "cards" translations to lowercase in count of cards](https://github.com/wekan/wekan/issues/1571).
|
||||
|
||||
Thanks to GitHub users BruceZCQ, Chartman123, quantazelle and xet7 for their contributions.
|
||||
|
||||
# v0.80 2018-04-04 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Changed icon of checklist name to unchecked](https://github.com/wekan/wekan/pull/1559/commits/f9539aa2a8d806e5a158d1c32f74788d051d40cb);
|
||||
- [Added meteor packages](https://github.com/wekan/wekan/commit/40d438a517f0d807894e04873358aecf44fa7c4d)
|
||||
for security: [browser-policy](https://atmospherejs.com/meteor/browser-policy) and
|
||||
[eluck:accounts-lockout](https://atmospherejs.com/eluck/accounts-lockout).
|
||||
|
||||
Thanks to GitHub users quantazelle and xet7 for their contributions.
|
||||
|
||||
# v0.79 2018-03-31 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Checklist items sort fix, and checklist sort capability](https://github.com/wekan/wekan/pull/1543);
|
||||
- [Add Received Date and End Date. Between them is already existing Start and Due Date](https://github.com/wekan/wekan/pull/1550).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix drag in lists view](https://github.com/wekan/wekan/pull/1559/commits/679e50af6449a680f958256570e8b9f1944a3a92);
|
||||
- [Set fixed width for swimlane header](https://github.com/wekan/wekan/pull/1559/commits/2e8f8924dd0d985ae4634450cfbef04e88e5d954).
|
||||
|
||||
Thanks to GitHub users andresmanelli, rjevnikar and xet7 for their contributions.
|
||||
|
||||
# v0.78 2018-03-17 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
To get started, [please sign the Contributor License Agreement](https://www.clahub.com/agreements/wekan/wekan).
|
||||
|
||||
[Then, please read documentation at wiki](https://github.com/wekan/wekan/wiki).
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# Contributing
|
||||
|
||||
Please see wiki for all documentation:
|
||||
|
||||
<https://github.com/wekan/wekan/wiki>
|
||||
+60
-32
@@ -1,5 +1,5 @@
|
||||
FROM debian:buster-slim
|
||||
MAINTAINER wekan
|
||||
LABEL maintainer="wekan"
|
||||
|
||||
# Declare Arguments
|
||||
ARG NODE_VERSION
|
||||
@@ -10,18 +10,30 @@ ARG NPM_VERSION
|
||||
ARG FIBERS_VERSION
|
||||
ARG ARCHITECTURE
|
||||
ARG SRC_PATH
|
||||
ARG WITH_API
|
||||
ARG MATOMO_ADDRESS
|
||||
ARG MATOMO_SITE_ID
|
||||
ARG MATOMO_DO_NOT_TRACK
|
||||
ARG MATOMO_WITH_USERNAME
|
||||
|
||||
# Set the environment variables (defaults where required)
|
||||
# paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
|
||||
ENV BUILD_DEPS="apt-utils gnupg gosu wget curl bzip2 build-essential python git ca-certificates gcc-7 paxctl"
|
||||
ENV NODE_VERSION ${NODE_VERSION:-v8.9.3}
|
||||
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
|
||||
# ENV BUILD_DEPS="paxctl"
|
||||
ENV BUILD_DEPS="apt-utils gnupg gosu wget curl bzip2 build-essential python git ca-certificates gcc-7"
|
||||
ENV NODE_VERSION ${NODE_VERSION:-v8.12.0}
|
||||
ENV METEOR_RELEASE ${METEOR_RELEASE:-1.6.0.1}
|
||||
ENV USE_EDGE ${USE_EDGE:-false}
|
||||
ENV METEOR_EDGE ${METEOR_EDGE:-1.5-beta.17}
|
||||
ENV NPM_VERSION ${NPM_VERSION:-5.5.1}
|
||||
ENV NPM_VERSION ${NPM_VERSION:-latest}
|
||||
ENV FIBERS_VERSION ${FIBERS_VERSION:-2.0.0}
|
||||
ENV ARCHITECTURE ${ARCHITECTURE:-linux-x64}
|
||||
ENV SRC_PATH ${SRC_PATH:-./}
|
||||
ENV WITH_API ${WITH_API:-true}
|
||||
ENV MATOMO_ADDRESS ${MATOMO_ADDRESS:-}
|
||||
ENV MATOMO_SITE_ID ${MATOMO_SITE_ID:-}
|
||||
ENV MATOMO_DO_NOT_TRACK ${MATOMO_DO_NOT_TRACK:-false}
|
||||
ENV MATOMO_WITH_USERNAME ${MATOMO_WITH_USERNAME:-true}
|
||||
|
||||
|
||||
# Copy the app to the image
|
||||
COPY ${SRC_PATH} /home/wekan/app
|
||||
@@ -34,34 +46,46 @@ RUN \
|
||||
apt-get update -y && apt-get install -y --no-install-recommends ${BUILD_DEPS} && \
|
||||
\
|
||||
# Download nodejs
|
||||
wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \
|
||||
wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc && \
|
||||
#wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \
|
||||
#wget https://nodejs.org/dist/${NODE_VERSION}/SHASUMS256.txt.asc && \
|
||||
#---------------------------------------------------------------------------------------------
|
||||
# Node Fibers 100% CPU usage issue:
|
||||
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-381453161
|
||||
# https://github.com/meteor/meteor/issues/9796#issuecomment-381676326
|
||||
# https://github.com/sandstorm-io/sandstorm/blob/0f1fec013fe7208ed0fd97eb88b31b77e3c61f42/shell/server/00-startup.js#L99-L129
|
||||
# Also see beginning of wekan/server/authentication.js
|
||||
# import Fiber from "fibers";
|
||||
# Fiber.poolSize = 1e9;
|
||||
# Download node version 8.12.0 prerelease that has fix included,
|
||||
# Description at https://releases.wekan.team/node.txt
|
||||
wget https://releases.wekan.team/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \
|
||||
echo "1ed54adb8497ad8967075a0b5d03dd5d0a502be43d4a4d84e5af489c613d7795 node-v8.12.0-linux-x64.tar.gz" >> SHASUMS256.txt.asc && \
|
||||
\
|
||||
# Verify nodejs authenticity
|
||||
grep ${NODE_VERSION}-${ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | shasum -a 256 -c - && \
|
||||
export GNUPGHOME="$(mktemp -d)" && \
|
||||
\
|
||||
#export GNUPGHOME="$(mktemp -d)" && \
|
||||
#\
|
||||
# Try other key servers if ha.pool.sks-keyservers.net is unreachable
|
||||
# Code from https://github.com/chorrell/docker-node/commit/2b673e17547c34f17f24553db02beefbac98d23c
|
||||
# gpg keys listed at https://github.com/nodejs/node#release-team
|
||||
# and keys listed here from previous version of this Dockerfile
|
||||
for key in \
|
||||
9554F04D7259F04124DE6B476D5A82AC7E37093B \
|
||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
||||
FD3A5288F042B6850C66B31F09FE44734EB7990E \
|
||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
||||
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
|
||||
; do \
|
||||
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" || \
|
||||
gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
|
||||
gpg --keyserver keyserver.pgp.com --recv-keys "$key" ; \
|
||||
done && \
|
||||
gpg --verify SHASUMS256.txt.asc && \
|
||||
#for key in \
|
||||
#9554F04D7259F04124DE6B476D5A82AC7E37093B \
|
||||
#94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
||||
#FD3A5288F042B6850C66B31F09FE44734EB7990E \
|
||||
#71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
||||
#DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
||||
#C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
||||
#B9AE9905FFD7803F25714661B63B535A4C206CA9 \
|
||||
#; do \
|
||||
#gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" || \
|
||||
#gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
|
||||
#gpg --keyserver keyserver.pgp.com --recv-keys "$key" ; \
|
||||
#done && \
|
||||
#gpg --verify SHASUMS256.txt.asc && \
|
||||
# Ignore socket files then delete files then delete directories
|
||||
find "$GNUPGHOME" -type f | xargs rm -f && \
|
||||
find "$GNUPGHOME" -type d | xargs rm -fR && \
|
||||
#find "$GNUPGHOME" -type f | xargs rm -f && \
|
||||
#find "$GNUPGHOME" -type d | xargs rm -fR && \
|
||||
rm -f SHASUMS256.txt.asc && \
|
||||
\
|
||||
# Install Node
|
||||
@@ -71,8 +95,8 @@ RUN \
|
||||
ln -s /opt/nodejs/bin/node /usr/bin/node && \
|
||||
ln -s /opt/nodejs/bin/npm /usr/bin/npm && \
|
||||
\
|
||||
# paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
|
||||
paxctl -mC `which node` && \
|
||||
#DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
|
||||
#paxctl -mC `which node` && \
|
||||
\
|
||||
# Install Node dependencies
|
||||
npm install -g npm@${NPM_VERSION} && \
|
||||
@@ -111,12 +135,15 @@ RUN \
|
||||
gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \
|
||||
cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
|
||||
chown wekan:wekan /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
|
||||
cd /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt && \
|
||||
gosu wekan:wekan rm -rf node_modules/bcrypt && \
|
||||
gosu wekan:wekan npm install bcrypt && \
|
||||
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
|
||||
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
|
||||
#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
|
||||
#cd /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt && \
|
||||
#gosu wekan:wekan rm -rf node_modules/bcrypt && \
|
||||
#gosu wekan:wekan npm install bcrypt && \
|
||||
cd /home/wekan/app_build/bundle/programs/server/ && \
|
||||
gosu wekan:wekan npm install && \
|
||||
gosu wekan:wekan npm install bcrypt && \
|
||||
#gosu wekan:wekan npm install bcrypt && \
|
||||
mv /home/wekan/app_build/bundle /build && \
|
||||
\
|
||||
# Cleanup
|
||||
@@ -128,7 +155,8 @@ RUN \
|
||||
rm -R /home/wekan/app_build && \
|
||||
rm /home/wekan/install_meteor.sh
|
||||
|
||||
ENV PORT=80
|
||||
ENV PORT=8080
|
||||
EXPOSE $PORT
|
||||
USER wekan
|
||||
|
||||
CMD ["node", "/build/main.js"]
|
||||
@@ -1,18 +1,19 @@
|
||||
# Wekan
|
||||
|
||||
[](https://transifex.com/wekan/wekan)
|
||||
|
||||
[![Wekan Vanila Chat][vanila_badge]][vanila_chat]
|
||||
[](http://webchat.freenode.net?channels=%23wekan&uio=d4)
|
||||
|
||||
[](https://github.com/wekan/wekan/graphs/contributors)
|
||||
[](https://quay.io/repository/wekan/wekan)
|
||||
|
||||
<!--
|
||||
[](https://hub.docker.com/r/wekanteam/wekan)
|
||||
[](https://hub.docker.com/r/wekanteam/wekan)
|
||||
[![Wekan Build Status][travis_badge]][travis_status]
|
||||
-->
|
||||
|
||||
Freenode IRC #wekan
|
||||
|
||||
[![Wekan chat][vanila_badge]][vanila_chat]
|
||||
|
||||
[Translate Wekan at Transifex][translate_wekan]
|
||||
|
||||
[Open Hub analysis of Wekan code](https://www.openhub.net/p/wekan)
|
||||
[](https://www.codacy.com/app/xet7/wekan?utm_source=github.com&utm_medium=referral&utm_content=wekan/wekan&utm_campaign=Badge_Grade)
|
||||
[](https://codeclimate.com/github/wekan/wekan)
|
||||
[](https://david-dm.org/wekan/wekan)
|
||||
[](https://www.openhub.net/p/wekan)
|
||||
|
||||
Please read [FAQ](https://github.com/wekan/wekan/wiki/FAQ).
|
||||
Please don't feed the trolls and spammers that are mentioned in the FAQ :)
|
||||
|
||||
+129
@@ -0,0 +1,129 @@
|
||||
Security is very important to us. If discover any issue regarding security, please disclose
|
||||
the information responsibly by sending an email to security (at) wekan.team and not by
|
||||
creating a GitHub issue. We will respond swiftly to fix verifiable security issues.
|
||||
|
||||
We thank you with a place at our hall of fame page, that is
|
||||
at https://wekan.github.io/hall-of-fame . Others have just posted public GitHub issue,
|
||||
so they are not at that hall-of-fame page.
|
||||
|
||||
## How should reports be formatted?
|
||||
|
||||
```
|
||||
Name: %name
|
||||
Twitter: %twitter
|
||||
Bug type: %bugtype
|
||||
Domain: %domain
|
||||
Severity: %severity
|
||||
URL: %url
|
||||
PoC: %poc
|
||||
CVSS (optional): %cvss
|
||||
CWSS (optional): %cwss
|
||||
```
|
||||
|
||||
## Who can participate in the program
|
||||
|
||||
Anyone who reports a unique security issue in scope and does not disclose it to
|
||||
a third party before we have patched and updated may be upon their approval
|
||||
added to the Wekan Hall of Fame.
|
||||
|
||||
## Which domains are in scope?
|
||||
|
||||
No any public domains, because all those are donated to Wekan Open Source project,
|
||||
and we don't have any permissions to do security scans on those donated servers.
|
||||
|
||||
Please don't perform research that could impact other users. Secondly, please keep
|
||||
the reports short and succinct. If we fail to understand the logics of your bug, we will tell you.
|
||||
|
||||
You can [Install Wekan](https://github.com/wekan/wekan/releases) to your own computer
|
||||
and scan it's vulnerabilities there.
|
||||
|
||||
## About Wekan versions
|
||||
|
||||
There is only 2 versions of Wekan: Standalone Wekan, and Sandstorm Wekan.
|
||||
|
||||
### Standalone Wekan Security
|
||||
|
||||
Standalone Wekan includes all non-Sandstorm platforms. Some Standalone Wekan platforms
|
||||
like Snap and Docker have their own specific sandboxing etc features.
|
||||
|
||||
Standalone Wekan by default does not load any files from Internet, like fonts, CSS, etc.
|
||||
This also means all Standalone Wekan functionality works in offline local networks.
|
||||
Wekan is used by companies that have [thousands of users](https://github.com/wekan/wekan/wiki/AWS) and at healthcare.
|
||||
|
||||
Wekan uses xss package for input fields like cards, as you can see from
|
||||
[package.json](https://github.com/wekan/wekan/blob/devel/package.json). Other used versions can be seen from
|
||||
[Meteor versions file](https://github.com/wekan/wekan/blob/devel/.meteor/versions).
|
||||
Forms can include markdown links, html, image tags etc like you see at https://wekan.github.io .
|
||||
It's possible to add attachments to cards, and markdown/html links to files.
|
||||
|
||||
Wekan attachments are not accessible without logging in. Import from Trello works by copying
|
||||
Trello export JSON to Wekan Trello import page, and in Trello JSON file there is direct links to all publicly
|
||||
accessible Trello attachment files, that Standalone Wekan downloads directly to Wekan MongoDB database in
|
||||
[CollectionFS](https://github.com/wekan/wekan/pull/875) format. When Wekan board is exported in
|
||||
Wekan JSON format, all board attachments are included in Wekan JSON file as base64 encoded text.
|
||||
That Wekan JSON format file can be imported to Sandstorm Wekan with all the attachments, when we get
|
||||
latest Wekan version working on Sandstorm, only couple of bugs are left before that. In Sandstorm it's not
|
||||
possible yet to import from Trello with attachments, because Wekan does not implement Sandstorm-compatible
|
||||
access to outside of Wekan grain.
|
||||
|
||||
Standalone Wekan only has password auth currently, there is work in progress to add
|
||||
[oauth2](https://github.com/wekan/wekan/pull/1578), [Openid](https://github.com/wekan/wekan/issues/538),
|
||||
[LDAP](https://github.com/wekan/wekan/issues/119) etc. If you need more login security for Standalone Wekan now,
|
||||
it's possible add additional [Google Auth proxybouncer](https://github.com/wekan/wekan/wiki/Let's-Encrypt-and-Google-Auth) in front of password auth, and then use Google Authenticator for Google Auth. Standalone Wekan does have [brute force protection with eluck:accounts-lockout and browser-policy clickjacking protection](https://github.com/wekan/wekan/blob/devel/CHANGELOG.md#v080-2018-04-04-wekan-release). You can also optionally use some [WAF](https://en.wikipedia.org/wiki/Web_application_firewall)
|
||||
like for example [AWS WAF](https://aws.amazon.com/waf/).
|
||||
|
||||
[All Wekan Platforms](https://github.com/wekan/wekan/wiki/Platforms)
|
||||
|
||||
### Sandstorm Wekan Security
|
||||
|
||||
On Sandstorm platform using environment variable Standalone Wekan features like Admin Panel etc are
|
||||
turned off, because Sandstorm platform provides SSO for all apps running on Sandstorm.
|
||||
|
||||
[Sandstorm](https://sandstorm.io) is separate Open Source platform that has been
|
||||
[security audited](https://sandstorm.io/news/2017-03-02-security-review) and found bugs fixed.
|
||||
Sandstorm also has passwordless login, LDAP, SAML, Google etc auth options already.
|
||||
At Sandstorm code is read-only and signed by app maintainers, only grain content can be modified.
|
||||
Wekan at Sandstorm runs in sandboxed grain, it does not have access elsewhere without user-visible
|
||||
PowerBox request or opening randomly-generated API key URL.
|
||||
Also read [Sandstorm Security Practices](https://docs.sandstorm.io/en/latest/using/security-practices/) and
|
||||
[Sandstorm Security non-events](https://docs.sandstorm.io/en/latest/using/security-non-events/).
|
||||
For Sandstorm specific security issues you can contact [kentonv](https://github.com/kentonv) by email.
|
||||
|
||||
## What Wekan bugs are eligible?
|
||||
|
||||
Any typical web security bugs. If any of the previously mentioned is somehow problematic and
|
||||
a security issue, we'd like to know about it, and also how to fix it:
|
||||
|
||||
- Cross-site Scripting
|
||||
- Open redirect
|
||||
- Cross-site request forgery
|
||||
- File inclusion
|
||||
- Authentication bypass
|
||||
- Server-side code execution
|
||||
|
||||
## What Wekan bugs are NOT eligible?
|
||||
|
||||
Typical already known or "no impact" bugs such as:
|
||||
|
||||
- Brute force password guessign. Currently there is
|
||||
[brute force protection with eluck:accounts-lockout](https://github.com/wekan/wekan/blob/devel/CHANGELOG.md#v080-2018-04-04-wekan-release).
|
||||
- Security issues related to that Wekan uses Meteor 1.6.0.1 related packages, and upgrading to newer
|
||||
Meteor 1.6.1 is complicated process that requires lots of changes to many dependency packages.
|
||||
Upgrading [has been tried many times, spending a lot of time](https://github.com/meteor/meteor/issues/9609)
|
||||
but there still is issues. Helping with package upgrades is very welcome.
|
||||
- [Wekan API old tokens not replaced correctly](https://github.com/wekan/wekan/issues/1437)
|
||||
- Missing Cookie flags on non-session cookies or 3rd party cookies
|
||||
- Logout CSRF
|
||||
- Social engineering
|
||||
- Denial of service
|
||||
- SSL BEAST/CRIME/etc. Wekan does not have SSL built-in, it uses Caddy/Nginx/Apache etc at front.
|
||||
Integrated Caddy support is updated often.
|
||||
- Email spoofing, SPF, DMARC & DKIM. Wekan does not include email server.
|
||||
|
||||
Wekan is Open Source with MIT license, and free to use also for commercial use.
|
||||
We welcome all fixes to improve security by email to security (at) wekan.team .
|
||||
|
||||
## Bonus Points
|
||||
|
||||
If your Responsible Security Disclosure includes code for fixing security issue,
|
||||
you get bonus points, as seen on [Hall of Fame](https://wekan.github.io/hall-of-fame).
|
||||
@@ -53,6 +53,9 @@ template(name="boardActivities")
|
||||
if($eq activityType 'createCard')
|
||||
| {{{_ 'activity-added' cardLink boardLabel}}}.
|
||||
|
||||
if($eq activityType 'createCustomField')
|
||||
| {{_ 'activity-customfield-created' customField}}.
|
||||
|
||||
if($eq activityType 'createList')
|
||||
| {{_ 'activity-added' list.title boardLabel}}.
|
||||
|
||||
|
||||
@@ -91,6 +91,11 @@ BlazeComponent.extendComponent({
|
||||
}, attachment.name()));
|
||||
},
|
||||
|
||||
customField() {
|
||||
const customField = this.currentData().customField();
|
||||
return customField.name;
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
// XXX We should use Popup.afterConfirmation here
|
||||
|
||||
@@ -6,9 +6,17 @@ template(name="archivedBoards")
|
||||
ul.archived-lists
|
||||
each archivedBoards
|
||||
li.archived-lists-item
|
||||
button.js-restore-board
|
||||
i.fa.fa-undo
|
||||
| {{_ 'restore-board'}}
|
||||
= title
|
||||
div.board-header-btns
|
||||
button.board-header-btn.js-delete-board
|
||||
i.fa.fa-trash-o
|
||||
| {{_ 'delete-board'}}
|
||||
button.board-header-btn.js-restore-board
|
||||
i.fa.fa-undo
|
||||
| {{_ 'restore-board'}}
|
||||
= title
|
||||
else
|
||||
li.no-items-message {{_ 'no-archived-boards'}}
|
||||
|
||||
template(name="boardDeletePopup")
|
||||
p {{_ 'delete-board-confirm-popup'}}
|
||||
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
|
||||
@@ -29,6 +29,18 @@ BlazeComponent.extendComponent({
|
||||
board.restore();
|
||||
Utils.goBoardId(board._id);
|
||||
},
|
||||
'click .js-delete-board': Popup.afterConfirm('boardDelete', function() {
|
||||
Popup.close();
|
||||
const isSandstorm = Meteor.settings && Meteor.settings.public &&
|
||||
Meteor.settings.public.sandstorm;
|
||||
if (isSandstorm && Session.get('currentBoard')) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
Boards.remove(currentBoard._id);
|
||||
}
|
||||
const board = this.currentData();
|
||||
Boards.remove(board._id);
|
||||
FlowRouter.go('home');
|
||||
}),
|
||||
}];
|
||||
},
|
||||
}).register('archivedBoards');
|
||||
@@ -25,3 +25,11 @@ template(name="boardBody")
|
||||
+swimlane(this)
|
||||
if isViewLists
|
||||
+listsGroup
|
||||
if isViewCalendar
|
||||
+calendarView
|
||||
|
||||
template(name="calendarView")
|
||||
.calendar-view.swimlane
|
||||
if currentCard
|
||||
+cardDetails(currentCard)
|
||||
+fullcalendar(calendarOptions)
|
||||
@@ -1,5 +1,5 @@
|
||||
const subManager = new SubsManager();
|
||||
const { calculateIndex } = Utils;
|
||||
const { calculateIndex, enableClickOnTouch } = Utils;
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
@@ -74,6 +74,9 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
});
|
||||
|
||||
// ugly touch event hotfix
|
||||
enableClickOnTouch('.js-swimlane:not(.placeholder)');
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
}
|
||||
@@ -87,15 +90,21 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
isViewSwimlanes() {
|
||||
const currentBoardId = Session.get('currentBoard');
|
||||
const board = Boards.findOne(currentBoardId);
|
||||
return (board.view === 'board-view-swimlanes');
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) return false;
|
||||
return (currentUser.profile.boardView === 'board-view-swimlanes');
|
||||
},
|
||||
|
||||
isViewLists() {
|
||||
const currentBoardId = Session.get('currentBoard');
|
||||
const board = Boards.findOne(currentBoardId);
|
||||
return (board.view === 'board-view-lists');
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) return true;
|
||||
return (currentUser.profile.boardView === 'board-view-lists');
|
||||
},
|
||||
|
||||
isViewCalendar() {
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) return true;
|
||||
return (currentUser.profile.boardView === 'board-view-cal');
|
||||
},
|
||||
|
||||
openNewListForm() {
|
||||
@@ -107,7 +116,6 @@ BlazeComponent.extendComponent({
|
||||
.childComponents('addListForm')[0].open();
|
||||
}
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
// XXX The board-overlay div should probably be moved to the parent
|
||||
@@ -140,3 +148,82 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
}).register('boardBody');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onRendered() {
|
||||
this.autorun(function(){
|
||||
$('#calendar-view').fullCalendar('refetchEvents');
|
||||
});
|
||||
},
|
||||
calendarOptions() {
|
||||
return {
|
||||
id: 'calendar-view',
|
||||
defaultView: 'agendaDay',
|
||||
editable: true,
|
||||
timezone: 'local',
|
||||
header: {
|
||||
left: 'title today prev,next',
|
||||
center: 'agendaDay,listDay,timelineDay agendaWeek,listWeek,timelineWeek month,timelineMonth timelineYear',
|
||||
right: '',
|
||||
},
|
||||
// height: 'parent', nope, doesn't work as the parent might be small
|
||||
height: 'auto',
|
||||
/* TODO: lists as resources: https://fullcalendar.io/docs/vertical-resource-view */
|
||||
navLinks: true,
|
||||
nowIndicator: true,
|
||||
businessHours: {
|
||||
// days of week. an array of zero-based day of week integers (0=Sunday)
|
||||
dow: [ 1, 2, 3, 4, 5 ], // Monday - Friday
|
||||
start: '8:00',
|
||||
end: '18:00',
|
||||
},
|
||||
locale: TAPi18n.getLanguage(),
|
||||
events(start, end, timezone, callback) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
const events = [];
|
||||
currentBoard.cardsInInterval(start.toDate(), end.toDate()).forEach(function(card){
|
||||
events.push({
|
||||
id: card._id,
|
||||
title: card.title,
|
||||
start: card.startAt,
|
||||
end: card.endAt,
|
||||
allDay: Math.abs(card.endAt.getTime() - card.startAt.getTime()) / 1000 === 24*3600,
|
||||
url: FlowRouter.url('card', {
|
||||
boardId: currentBoard._id,
|
||||
slug: currentBoard.slug,
|
||||
cardId: card._id,
|
||||
}),
|
||||
});
|
||||
});
|
||||
callback(events);
|
||||
},
|
||||
eventResize(event, delta, revertFunc) {
|
||||
let isOk = false;
|
||||
const card = Cards.findOne(event.id);
|
||||
|
||||
if (card) {
|
||||
card.setEnd(event.end.toDate());
|
||||
isOk = true;
|
||||
}
|
||||
if (!isOk) {
|
||||
revertFunc();
|
||||
}
|
||||
},
|
||||
eventDrop(event, delta, revertFunc) {
|
||||
let isOk = false;
|
||||
const card = Cards.findOne(event.id);
|
||||
if (card) {
|
||||
// TODO: add a flag for allDay events
|
||||
if (!event.allDay) {
|
||||
card.setStart(event.start.toDate());
|
||||
card.setEnd(event.end.toDate());
|
||||
isOk = true;
|
||||
}
|
||||
}
|
||||
if (!isOk) {
|
||||
revertFunc();
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
}).register('calendarView');
|
||||
@@ -15,12 +15,13 @@ position()
|
||||
|
||||
.board-wrapper
|
||||
position: cover
|
||||
overflow-y: hidden;
|
||||
overflow-x: hidden
|
||||
overflow-y: hidden
|
||||
|
||||
.board-canvas
|
||||
position: cover
|
||||
transition: margin .1s
|
||||
overflow-y: auto;
|
||||
overflow-y: auto
|
||||
|
||||
&.is-sibling-sidebar-open
|
||||
margin-right: 248px
|
||||
|
||||
@@ -2,7 +2,8 @@ template(name="boardHeaderBar")
|
||||
h1.header-board-menu
|
||||
with currentBoard
|
||||
a(class="{{#if currentUser.isBoardAdmin}}js-edit-board-title{{else}}is-disabled{{/if}}")
|
||||
= title
|
||||
+viewer
|
||||
= title
|
||||
|
||||
.board-header-btns.left
|
||||
unless isMiniScreen
|
||||
@@ -71,7 +72,7 @@ template(name="boardHeaderBar")
|
||||
title="{{_ 'log-in'}}")
|
||||
i.fa.fa-sign-in
|
||||
span {{_ 'log-in'}}
|
||||
|
||||
|
||||
if isSandstorm
|
||||
if currentUser
|
||||
a.board-header-btn.js-open-archived-board
|
||||
@@ -94,7 +95,7 @@ template(name="boardHeaderBar")
|
||||
a.board-header-btn.js-toggle-board-view(
|
||||
title="{{_ 'board-view'}}")
|
||||
i.fa.fa-th-large
|
||||
span {{_ currentBoard.view}}
|
||||
span {{_ currentUser.profile.boardView}}
|
||||
|
||||
if canModifyBoard
|
||||
a.board-header-btn.js-multiselection-activate(
|
||||
@@ -112,6 +113,7 @@ template(name="boardHeaderBar")
|
||||
|
||||
template(name="boardMenuPopup")
|
||||
ul.pop-over-list
|
||||
li: a.js-custom-fields {{_ 'custom-fields'}}
|
||||
li: a.js-open-archives {{_ 'archived-items'}}
|
||||
if currentUser.isBoardAdmin
|
||||
li: a.js-change-board-color {{_ 'board-change-color'}}
|
||||
@@ -128,11 +130,18 @@ template(name="boardMenuPopup")
|
||||
li: a(href="{{exportUrl}}", download="{{exportFilename}}") {{_ 'export-board'}}
|
||||
li: a.js-archive-board {{_ 'archive-board'}}
|
||||
li: a.js-outgoing-webhooks {{_ 'outgoing-webhooks'}}
|
||||
hr
|
||||
ul.pop-over-list
|
||||
li: a.js-subtask-settings {{_ 'subtask-settings'}}
|
||||
|
||||
if isSandstorm
|
||||
hr
|
||||
ul.pop-over-list
|
||||
li: a(href="{{exportUrl}}", download="{{exportFilename}}") {{_ 'export-board'}}
|
||||
li: a.js-import-board {{_ 'import-board-c'}}
|
||||
hr
|
||||
ul.pop-over-list
|
||||
li: a.js-subtask-settings {{_ 'subtask-settings'}}
|
||||
|
||||
template(name="boardVisibilityList")
|
||||
ul.pop-over-list
|
||||
@@ -191,6 +200,56 @@ template(name="boardChangeColorPopup")
|
||||
if isSelected
|
||||
i.fa.fa-check
|
||||
|
||||
template(name="boardSubtaskSettingsPopup")
|
||||
form.board-subtask-settings
|
||||
h3 {{_ 'show-parent-in-minicard'}}
|
||||
a#prefix-with-full-path.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'prefix-with-full-path'}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if $eq presentParentTask 'prefix-with-full-path'}}is-checked{{/if}}")
|
||||
span {{_ 'prefix-with-full-path'}}
|
||||
a#prefix-with-parent.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'prefix-with-parent'}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if $eq presentParentTask 'prefix-with-parent'}}is-checked{{/if}}")
|
||||
span {{_ 'prefix-with-parent'}}
|
||||
a#subtext-with-full-path.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'subtext-with-full-path'}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if $eq presentParentTask 'subtext-with-full-path'}}is-checked{{/if}}")
|
||||
span {{_ 'subtext-with-full-path'}}
|
||||
a#subtext-with-parent.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'subtext-with-parent'}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if $eq presentParentTask 'subtext-with-parent'}}is-checked{{/if}}")
|
||||
span {{_ 'subtext-with-parent'}}
|
||||
a#no-parent.flex.js-field-show-parent-in-minicard(class="{{#if $eq presentParentTask 'no-parent'}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if $eq presentParentTask 'no-parent'}}is-checked{{/if}}")
|
||||
span {{_ 'no-parent'}}
|
||||
div
|
||||
hr
|
||||
|
||||
div.check-div
|
||||
a.flex.js-field-has-subtasks(class="{{#if allowsSubtasks}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if allowsSubtasks}}is-checked{{/if}}")
|
||||
span {{_ 'show-subtasks-field'}}
|
||||
|
||||
label
|
||||
| {{_ 'deposit-subtasks-board'}}
|
||||
select.js-field-deposit-board(disabled="{{#unless allowsSubtasks}}disabled{{/unless}}")
|
||||
each boards
|
||||
if isBoardSelected
|
||||
option(value=_id selected="selected") {{title}}
|
||||
else
|
||||
option(value=_id) {{title}}
|
||||
if isNullBoardSelected
|
||||
option(value='null' selected="selected") {{_ 'custom-field-dropdown-none'}}
|
||||
else
|
||||
option(value='null') {{_ 'custom-field-dropdown-none'}}
|
||||
div
|
||||
hr
|
||||
|
||||
label
|
||||
| {{_ 'deposit-subtasks-list'}}
|
||||
select.js-field-deposit-list(disabled="{{#unless hasLists}}disabled{{/unless}}")
|
||||
each lists
|
||||
if isListSelected
|
||||
option(value=_id selected="selected") {{title}}
|
||||
else
|
||||
option(value=_id) {{title}}
|
||||
|
||||
template(name="createBoard")
|
||||
form
|
||||
label
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
Template.boardMenuPopup.events({
|
||||
'click .js-rename-board': Popup.open('boardChangeTitle'),
|
||||
'click .js-custom-fields'() {
|
||||
Sidebar.setView('customFields');
|
||||
Popup.close();
|
||||
},
|
||||
'click .js-open-archives'() {
|
||||
Sidebar.setView('archives');
|
||||
Popup.close();
|
||||
@@ -13,8 +17,15 @@ Template.boardMenuPopup.events({
|
||||
// confirm that the board was successfully archived.
|
||||
FlowRouter.go('home');
|
||||
}),
|
||||
'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
Popup.close();
|
||||
Boards.remove(currentBoard._id);
|
||||
FlowRouter.go('home');
|
||||
}),
|
||||
'click .js-outgoing-webhooks': Popup.open('outgoingWebhooks'),
|
||||
'click .js-import-board': Popup.open('chooseBoardSource'),
|
||||
'click .js-subtask-settings': Popup.open('boardSubtaskSettings'),
|
||||
});
|
||||
|
||||
Template.boardMenuPopup.helpers({
|
||||
@@ -77,19 +88,13 @@ BlazeComponent.extendComponent({
|
||||
Modal.open('archivedBoards');
|
||||
},
|
||||
'click .js-toggle-board-view'() {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
if (currentBoard.view === 'board-view-swimlanes') {
|
||||
Boards.update(currentBoard._id, {
|
||||
$set: {
|
||||
view: 'board-view-lists',
|
||||
},
|
||||
});
|
||||
} else if (currentBoard.view === 'board-view-lists') {
|
||||
Boards.update(currentBoard._id, {
|
||||
$set: {
|
||||
view: 'board-view-swimlanes',
|
||||
},
|
||||
});
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser.profile.boardView === 'board-view-swimlanes') {
|
||||
currentUser.setBoardView('board-view-cal');
|
||||
} else if (currentUser.profile.boardView === 'board-view-lists') {
|
||||
currentUser.setBoardView('board-view-swimlanes');
|
||||
} else if (currentUser.profile.boardView === 'board-view-cal') {
|
||||
currentUser.setBoardView('board-view-lists');
|
||||
}
|
||||
},
|
||||
'click .js-open-filter-view'() {
|
||||
@@ -149,6 +154,102 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
}).register('boardChangeColorPopup');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
},
|
||||
|
||||
allowsSubtasks() {
|
||||
return this.currentBoard.allowsSubtasks;
|
||||
},
|
||||
|
||||
isBoardSelected() {
|
||||
return this.currentBoard.subtasksDefaultBoardId === this.currentData()._id;
|
||||
},
|
||||
|
||||
isNullBoardSelected() {
|
||||
return (this.currentBoard.subtasksDefaultBoardId === null) || (this.currentBoard.subtasksDefaultBoardId === undefined);
|
||||
},
|
||||
|
||||
boards() {
|
||||
return Boards.find({
|
||||
archived: false,
|
||||
'members.userId': Meteor.userId(),
|
||||
}, {
|
||||
sort: ['title'],
|
||||
});
|
||||
},
|
||||
|
||||
lists() {
|
||||
return Lists.find({
|
||||
boardId: this.currentBoard._id,
|
||||
archived: false,
|
||||
}, {
|
||||
sort: ['title'],
|
||||
});
|
||||
},
|
||||
|
||||
hasLists() {
|
||||
return this.lists().count() > 0;
|
||||
},
|
||||
|
||||
isListSelected() {
|
||||
return this.currentBoard.subtasksDefaultBoardId === this.currentData()._id;
|
||||
},
|
||||
|
||||
presentParentTask() {
|
||||
let result = this.currentBoard.presentParentTask;
|
||||
if ((result === null) || (result === undefined)) {
|
||||
result = 'no-parent';
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'click .js-field-has-subtasks'(evt) {
|
||||
evt.preventDefault();
|
||||
this.currentBoard.allowsSubtasks = !this.currentBoard.allowsSubtasks;
|
||||
this.currentBoard.setAllowsSubtasks(this.currentBoard.allowsSubtasks);
|
||||
$('.js-field-has-subtasks .materialCheckBox').toggleClass('is-checked', this.currentBoard.allowsSubtasks);
|
||||
$('.js-field-has-subtasks').toggleClass('is-checked', this.currentBoard.allowsSubtasks);
|
||||
$('.js-field-deposit-board').prop('disabled', !this.currentBoard.allowsSubtasks);
|
||||
},
|
||||
'change .js-field-deposit-board'(evt) {
|
||||
let value = evt.target.value;
|
||||
if (value === 'null') {
|
||||
value = null;
|
||||
}
|
||||
this.currentBoard.setSubtasksDefaultBoardId(value);
|
||||
evt.preventDefault();
|
||||
},
|
||||
'change .js-field-deposit-list'(evt) {
|
||||
this.currentBoard.setSubtasksDefaultListId(evt.target.value);
|
||||
evt.preventDefault();
|
||||
},
|
||||
'click .js-field-show-parent-in-minicard'(evt) {
|
||||
const value = evt.target.id || $(evt.target).parent()[0].id || $(evt.target).parent()[0].parent()[0].id;
|
||||
const options = [
|
||||
'prefix-with-full-path',
|
||||
'prefix-with-parent',
|
||||
'subtext-with-full-path',
|
||||
'subtext-with-parent',
|
||||
'no-parent'];
|
||||
options.forEach(function(element) {
|
||||
if (element !== value) {
|
||||
$(`#${element} .materialCheckBox`).toggleClass('is-checked', false);
|
||||
$(`#${element}`).toggleClass('is-checked', false);
|
||||
}
|
||||
});
|
||||
$(`#${value} .materialCheckBox`).toggleClass('is-checked', true);
|
||||
$(`#${value}`).toggleClass('is-checked', true);
|
||||
this.currentBoard.setPresentParentTask(value);
|
||||
evt.preventDefault();
|
||||
},
|
||||
}];
|
||||
},
|
||||
}).register('boardSubtaskSettingsPopup');
|
||||
|
||||
const CreateBoard = BlazeComponent.extendComponent({
|
||||
template() {
|
||||
return 'createBoard';
|
||||
|
||||
@@ -1,3 +1,22 @@
|
||||
.integration-form
|
||||
padding: 5px
|
||||
border-bottom: 1px solid #ccc
|
||||
|
||||
.flex
|
||||
display: -webkit-box
|
||||
display: -moz-box
|
||||
display: -webkit-flex
|
||||
display: -moz-flex
|
||||
display: -ms-flexbox
|
||||
display: flex
|
||||
|
||||
.option
|
||||
@extends .flex
|
||||
-webkit-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
background: #fff;
|
||||
text-decoration: none;
|
||||
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.2);
|
||||
box-shadow: 0 1px 2px rgba(0,0,0,0.2);
|
||||
margin-top: 5px;
|
||||
padding: 5px;
|
||||
@@ -44,9 +44,9 @@ $spaceBetweenTiles = 16px
|
||||
line-height: 22px
|
||||
|
||||
.board-list-item-desc
|
||||
color: rgba(255, 255, 255, .5)
|
||||
color: #fff
|
||||
display: block
|
||||
font-size: 10px
|
||||
font-size: 14px
|
||||
font-weight: 400
|
||||
line-height: 18px
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
template(name="cardCustomFieldsPopup")
|
||||
ul.pop-over-list
|
||||
each board.customFields
|
||||
li.item(class="")
|
||||
a.name.js-select-field(href="#")
|
||||
span.full-name
|
||||
= name
|
||||
if hasCustomField
|
||||
i.fa.fa-check
|
||||
hr
|
||||
a.quiet-button.full.js-settings
|
||||
i.fa.fa-cog
|
||||
span {{_ 'settings'}}
|
||||
|
||||
template(name="cardCustomField")
|
||||
+Template.dynamic(template=getTemplate)
|
||||
|
||||
template(name="cardCustomField-text")
|
||||
if canModifyCard
|
||||
+inlinedForm(classNames="js-card-customfield-text")
|
||||
+editor(autofocus=true)
|
||||
= value
|
||||
.edit-controls.clearfix
|
||||
button.primary(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
else
|
||||
a.js-open-inlined-form
|
||||
if value
|
||||
+viewer
|
||||
= value
|
||||
else
|
||||
| {{_ 'edit'}}
|
||||
|
||||
template(name="cardCustomField-number")
|
||||
if canModifyCard
|
||||
+inlinedForm(classNames="js-card-customfield-number")
|
||||
input(type="number" value=data.value)
|
||||
.edit-controls.clearfix
|
||||
button.primary(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
else
|
||||
a.js-open-inlined-form
|
||||
if value
|
||||
= value
|
||||
else
|
||||
| {{_ 'edit'}}
|
||||
|
||||
template(name="cardCustomField-date")
|
||||
if canModifyCard
|
||||
a.js-edit-date(title="{{showTitle}}" class="{{classes}}")
|
||||
if value
|
||||
div.card-date
|
||||
time(datetime="{{showISODate}}")
|
||||
| {{showDate}}
|
||||
else
|
||||
| {{_ 'edit'}}
|
||||
|
||||
template(name="cardCustomField-dropdown")
|
||||
if canModifyCard
|
||||
+inlinedForm(classNames="js-card-customfield-dropdown")
|
||||
select.inline
|
||||
each items
|
||||
if($eq data.value this._id)
|
||||
option(value=_id selected="selected") {{name}}
|
||||
else
|
||||
option(value=_id) {{name}}
|
||||
.edit-controls.clearfix
|
||||
button.primary(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
else
|
||||
a.js-open-inlined-form
|
||||
if value
|
||||
+viewer
|
||||
= selectedItem
|
||||
else
|
||||
| {{_ 'edit'}}
|
||||
@@ -0,0 +1,179 @@
|
||||
Template.cardCustomFieldsPopup.helpers({
|
||||
hasCustomField() {
|
||||
const card = Cards.findOne(Session.get('currentCard'));
|
||||
const customFieldId = this._id;
|
||||
return card.customFieldIndex(customFieldId) > -1;
|
||||
},
|
||||
});
|
||||
|
||||
Template.cardCustomFieldsPopup.events({
|
||||
'click .js-select-field'(evt) {
|
||||
const card = Cards.findOne(Session.get('currentCard'));
|
||||
const customFieldId = this._id;
|
||||
card.toggleCustomField(customFieldId);
|
||||
evt.preventDefault();
|
||||
},
|
||||
'click .js-settings'(evt) {
|
||||
EscapeActions.executeUpTo('detailsPane');
|
||||
Sidebar.setView('customFields');
|
||||
evt.preventDefault();
|
||||
},
|
||||
});
|
||||
|
||||
// cardCustomField
|
||||
const CardCustomField = BlazeComponent.extendComponent({
|
||||
|
||||
getTemplate() {
|
||||
return `cardCustomField-${this.data().definition.type}`;
|
||||
},
|
||||
|
||||
onCreated() {
|
||||
const self = this;
|
||||
self.card = Cards.findOne(Session.get('currentCard'));
|
||||
self.customFieldId = this.data()._id;
|
||||
},
|
||||
|
||||
canModifyCard() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
},
|
||||
});
|
||||
CardCustomField.register('cardCustomField');
|
||||
|
||||
// cardCustomField-text
|
||||
(class extends CardCustomField {
|
||||
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
}
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'submit .js-card-customfield-text'(evt) {
|
||||
evt.preventDefault();
|
||||
const value = this.currentComponent().getValue();
|
||||
this.card.setCustomField(this.customFieldId, value);
|
||||
},
|
||||
}];
|
||||
}
|
||||
|
||||
}).register('cardCustomField-text');
|
||||
|
||||
// cardCustomField-number
|
||||
(class extends CardCustomField {
|
||||
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
}
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'submit .js-card-customfield-number'(evt) {
|
||||
evt.preventDefault();
|
||||
const value = parseInt(this.find('input').value, 10);
|
||||
this.card.setCustomField(this.customFieldId, value);
|
||||
},
|
||||
}];
|
||||
}
|
||||
|
||||
}).register('cardCustomField-number');
|
||||
|
||||
// cardCustomField-date
|
||||
(class extends CardCustomField {
|
||||
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
const self = this;
|
||||
self.date = ReactiveVar();
|
||||
self.now = ReactiveVar(moment());
|
||||
window.setInterval(() => {
|
||||
self.now.set(moment());
|
||||
}, 60000);
|
||||
|
||||
self.autorun(() => {
|
||||
self.date.set(moment(self.data().value));
|
||||
});
|
||||
}
|
||||
|
||||
showDate() {
|
||||
// this will start working once mquandalle:moment
|
||||
// is updated to at least moment.js 2.10.5
|
||||
// until then, the date is displayed in the "L" format
|
||||
return this.date.get().calendar(null, {
|
||||
sameElse: 'llll',
|
||||
});
|
||||
}
|
||||
|
||||
showISODate() {
|
||||
return this.date.get().toISOString();
|
||||
}
|
||||
|
||||
classes() {
|
||||
if (this.date.get().isBefore(this.now.get(), 'minute') &&
|
||||
this.now.get().isBefore(this.data().value)) {
|
||||
return 'current';
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
showTitle() {
|
||||
return `${TAPi18n.__('card-start-on')} ${this.date.get().format('LLLL')}`;
|
||||
}
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'click .js-edit-date': Popup.open('cardCustomField-date'),
|
||||
}];
|
||||
}
|
||||
|
||||
}).register('cardCustomField-date');
|
||||
|
||||
// cardCustomField-datePopup
|
||||
(class extends DatePicker {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
const self = this;
|
||||
self.card = Cards.findOne(Session.get('currentCard'));
|
||||
self.customFieldId = this.data()._id;
|
||||
this.data().value && this.date.set(moment(this.data().value));
|
||||
}
|
||||
|
||||
_storeDate(date) {
|
||||
this.card.setCustomField(this.customFieldId, date);
|
||||
}
|
||||
|
||||
_deleteDate() {
|
||||
this.card.setCustomField(this.customFieldId, '');
|
||||
}
|
||||
}).register('cardCustomField-datePopup');
|
||||
|
||||
// cardCustomField-dropdown
|
||||
(class extends CardCustomField {
|
||||
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
this._items = this.data().definition.settings.dropdownItems;
|
||||
this.items = this._items.slice(0);
|
||||
this.items.unshift({
|
||||
_id: '',
|
||||
name: TAPi18n.__('custom-field-dropdown-none'),
|
||||
});
|
||||
}
|
||||
|
||||
selectedItem() {
|
||||
const selected = this._items.find((item) => {
|
||||
return item._id === this.data().value;
|
||||
});
|
||||
return (selected) ? selected.name : TAPi18n.__('custom-field-dropdown-unknown');
|
||||
}
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'submit .js-card-customfield-dropdown'(evt) {
|
||||
evt.preventDefault();
|
||||
const value = this.find('select').value;
|
||||
this.card.setCustomField(this.customFieldId, value);
|
||||
},
|
||||
}];
|
||||
}
|
||||
|
||||
}).register('cardCustomField-dropdown');
|
||||
@@ -1,19 +1,3 @@
|
||||
template(name="editCardDate")
|
||||
.edit-card-date
|
||||
form.edit-date
|
||||
.fields
|
||||
.left
|
||||
label(for="date") {{_ 'date'}}
|
||||
input.js-date-field#date(type="text" name="date" value=showDate placeholder=dateFormat autofocus)
|
||||
.right
|
||||
label(for="time") {{_ 'time'}}
|
||||
input.js-time-field#time(type="text" name="time" value=showTime placeholder=timeFormat)
|
||||
.js-datepicker
|
||||
if error.get
|
||||
.warning {{_ error.get}}
|
||||
button.primary.wide.left.js-submit-date(type="submit") {{_ 'save'}}
|
||||
button.js-delete-date.negate.wide.right.js-delete-date {{_ 'delete'}}
|
||||
|
||||
template(name="dateBadge")
|
||||
if canModifyCard
|
||||
a.js-edit-date.card-date(title="{{showTitle}}" class="{{classes}}")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Edit start & due dates
|
||||
const EditCardDate = BlazeComponent.extendComponent({
|
||||
// Edit received, start, due & end dates
|
||||
BlazeComponent.extendComponent({
|
||||
template() {
|
||||
return 'editCardDate';
|
||||
},
|
||||
@@ -92,13 +92,37 @@ Template.dateBadge.helpers({
|
||||
},
|
||||
});
|
||||
|
||||
// editCardReceivedDatePopup
|
||||
(class extends DatePicker {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
this.data().receivedAt && this.date.set(moment(this.data().receivedAt));
|
||||
}
|
||||
|
||||
_storeDate(date) {
|
||||
this.card.setReceived(date);
|
||||
}
|
||||
|
||||
_deleteDate() {
|
||||
this.card.unsetReceived();
|
||||
}
|
||||
}).register('editCardReceivedDatePopup');
|
||||
|
||||
|
||||
// editCardStartDatePopup
|
||||
(class extends EditCardDate {
|
||||
(class extends DatePicker {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
this.data().startAt && this.date.set(moment(this.data().startAt));
|
||||
}
|
||||
|
||||
onRendered() {
|
||||
super.onRendered();
|
||||
if (moment.isDate(this.card.receivedAt)) {
|
||||
this.$('.js-datepicker').datepicker('setStartDate', this.card.receivedAt);
|
||||
}
|
||||
}
|
||||
|
||||
_storeDate(date) {
|
||||
this.card.setStart(date);
|
||||
}
|
||||
@@ -109,7 +133,7 @@ Template.dateBadge.helpers({
|
||||
}).register('editCardStartDatePopup');
|
||||
|
||||
// editCardDueDatePopup
|
||||
(class extends EditCardDate {
|
||||
(class extends DatePicker {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
this.data().dueAt && this.date.set(moment(this.data().dueAt));
|
||||
@@ -131,8 +155,31 @@ Template.dateBadge.helpers({
|
||||
}
|
||||
}).register('editCardDueDatePopup');
|
||||
|
||||
// editCardEndDatePopup
|
||||
(class extends DatePicker {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
this.data().endAt && this.date.set(moment(this.data().endAt));
|
||||
}
|
||||
|
||||
// Display start & due dates
|
||||
onRendered() {
|
||||
super.onRendered();
|
||||
if (moment.isDate(this.card.startAt)) {
|
||||
this.$('.js-datepicker').datepicker('setStartDate', this.card.startAt);
|
||||
}
|
||||
}
|
||||
|
||||
_storeDate(date) {
|
||||
this.card.setEnd(date);
|
||||
}
|
||||
|
||||
_deleteDate() {
|
||||
this.card.unsetEnd();
|
||||
}
|
||||
}).register('editCardEndDatePopup');
|
||||
|
||||
|
||||
// Display received, start, due & end dates
|
||||
const CardDate = BlazeComponent.extendComponent({
|
||||
template() {
|
||||
return 'dateBadge';
|
||||
@@ -161,6 +208,43 @@ const CardDate = BlazeComponent.extendComponent({
|
||||
},
|
||||
});
|
||||
|
||||
class CardReceivedDate extends CardDate {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
const self = this;
|
||||
self.autorun(() => {
|
||||
self.date.set(moment(self.data().receivedAt));
|
||||
});
|
||||
}
|
||||
|
||||
classes() {
|
||||
let classes = 'received-date ';
|
||||
const dueAt = this.data().dueAt;
|
||||
const endAt = this.data().endAt;
|
||||
const startAt = this.data().startAt;
|
||||
const theDate = this.date.get();
|
||||
// if dueAt, endAt and startAt exist & are > receivedAt, receivedAt doesn't need to be flagged
|
||||
if (((startAt) && (theDate.isAfter(dueAt))) ||
|
||||
((endAt) && (theDate.isAfter(endAt))) ||
|
||||
((dueAt) && (theDate.isAfter(dueAt))))
|
||||
classes += 'long-overdue';
|
||||
else
|
||||
classes += 'current';
|
||||
return classes;
|
||||
}
|
||||
|
||||
showTitle() {
|
||||
return `${TAPi18n.__('card-received-on')} ${this.date.get().format('LLLL')}`;
|
||||
}
|
||||
|
||||
events() {
|
||||
return super.events().concat({
|
||||
'click .js-edit-date': Popup.open('editCardReceivedDate'),
|
||||
});
|
||||
}
|
||||
}
|
||||
CardReceivedDate.register('cardReceivedDate');
|
||||
|
||||
class CardStartDate extends CardDate {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
@@ -172,10 +256,18 @@ class CardStartDate extends CardDate {
|
||||
|
||||
classes() {
|
||||
let classes = 'start-date' + ' ';
|
||||
if (this.date.get().isBefore(this.now.get(), 'minute') &&
|
||||
this.now.get().isBefore(this.data().dueAt)) {
|
||||
const dueAt = this.data().dueAt;
|
||||
const endAt = this.data().endAt;
|
||||
const theDate = this.date.get();
|
||||
const now = this.now.get();
|
||||
// if dueAt or endAt exist & are > startAt, startAt doesn't need to be flagged
|
||||
if (((endAt) && (theDate.isAfter(endAt))) ||
|
||||
((dueAt) && (theDate.isAfter(dueAt))))
|
||||
classes += 'long-overdue';
|
||||
else if (theDate.isBefore(now, 'minute'))
|
||||
classes += 'almost-due';
|
||||
else
|
||||
classes += 'current';
|
||||
}
|
||||
return classes;
|
||||
}
|
||||
|
||||
@@ -202,11 +294,21 @@ class CardDueDate extends CardDate {
|
||||
|
||||
classes() {
|
||||
let classes = 'due-date' + ' ';
|
||||
if (this.now.get().diff(this.date.get(), 'days') >= 2)
|
||||
|
||||
const endAt = this.data().endAt;
|
||||
const theDate = this.date.get();
|
||||
const now = this.now.get();
|
||||
// if the due date is after the end date, green - done early
|
||||
if ((endAt) && (theDate.isAfter(endAt)))
|
||||
classes += 'current';
|
||||
// if there is an end date, don't need to flag the due date
|
||||
else if (endAt)
|
||||
classes += '';
|
||||
else if (now.diff(theDate, 'days') >= 2)
|
||||
classes += 'long-overdue';
|
||||
else if (this.now.get().diff(this.date.get(), 'minute') >= 0)
|
||||
else if (now.diff(theDate, 'minute') >= 0)
|
||||
classes += 'due';
|
||||
else if (this.now.get().diff(this.date.get(), 'days') >= -1)
|
||||
else if (now.diff(theDate, 'days') >= -1)
|
||||
classes += 'almost-due';
|
||||
return classes;
|
||||
}
|
||||
@@ -223,6 +325,45 @@ class CardDueDate extends CardDate {
|
||||
}
|
||||
CardDueDate.register('cardDueDate');
|
||||
|
||||
class CardEndDate extends CardDate {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
const self = this;
|
||||
self.autorun(() => {
|
||||
self.date.set(moment(self.data().endAt));
|
||||
});
|
||||
}
|
||||
|
||||
classes() {
|
||||
let classes = 'end-date' + ' ';
|
||||
const dueAt = this.data.dueAt;
|
||||
const theDate = this.date.get();
|
||||
// if dueAt exists & is after endAt, endAt doesn't need to be flagged
|
||||
if ((dueAt) && (theDate.isAfter(dueAt, 'minute')))
|
||||
classes += 'long-overdue';
|
||||
else
|
||||
classes += 'current';
|
||||
return classes;
|
||||
}
|
||||
|
||||
showTitle() {
|
||||
return `${TAPi18n.__('card-end-on')} ${this.date.get().format('LLLL')}`;
|
||||
}
|
||||
|
||||
events() {
|
||||
return super.events().concat({
|
||||
'click .js-edit-date': Popup.open('editCardEndDate'),
|
||||
});
|
||||
}
|
||||
}
|
||||
CardEndDate.register('cardEndDate');
|
||||
|
||||
(class extends CardReceivedDate {
|
||||
showDate() {
|
||||
return this.date.get().format('l');
|
||||
}
|
||||
}).register('minicardReceivedDate');
|
||||
|
||||
(class extends CardStartDate {
|
||||
showDate() {
|
||||
return this.date.get().format('l');
|
||||
@@ -234,3 +375,9 @@ CardDueDate.register('cardDueDate');
|
||||
return this.date.get().format('l');
|
||||
}
|
||||
}).register('minicardDueDate');
|
||||
|
||||
(class extends CardEndDate {
|
||||
showDate() {
|
||||
return this.date.get().format('l');
|
||||
}
|
||||
}).register('minicardEndDate');
|
||||
@@ -1,22 +1,3 @@
|
||||
.edit-card-date
|
||||
.fields
|
||||
.left
|
||||
width: 56%
|
||||
.right
|
||||
width: 38%
|
||||
.datepicker
|
||||
width: 100%
|
||||
table
|
||||
width: 100%
|
||||
border: none
|
||||
border-spacing: 0
|
||||
border-collapse: collapse
|
||||
thead
|
||||
background: none
|
||||
td, th
|
||||
box-sizing: border-box
|
||||
|
||||
|
||||
.card-date
|
||||
display: block
|
||||
border-radius: 4px
|
||||
@@ -49,12 +30,22 @@
|
||||
&:hover, &.is-active
|
||||
background-color: darken(#fd5d47, 7)
|
||||
|
||||
&.end-date
|
||||
time
|
||||
&::before
|
||||
content: "\f253" // symbol: fa-hourglass-end
|
||||
|
||||
&.due-date
|
||||
time
|
||||
&::before
|
||||
content: "\f090" // symbol: fa-sign-in
|
||||
|
||||
&.start-date
|
||||
time
|
||||
&::before
|
||||
content: "\f251" // symbol: fa-hourglass-start
|
||||
|
||||
&.received-date
|
||||
time
|
||||
&::before
|
||||
content: "\f08b" // symbol: fa-sign-out
|
||||
|
||||
@@ -13,10 +13,45 @@ template(name="cardDetails")
|
||||
= title
|
||||
if isWatching
|
||||
i.fa.fa-eye.card-details-watch
|
||||
.card-details-path
|
||||
each parentList
|
||||
| >
|
||||
a.js-parent-card(href=linkForCard) {{title}}
|
||||
// else
|
||||
{{_ 'top-level-card'}}
|
||||
|
||||
if archived
|
||||
p.warning {{_ 'card-archived'}}
|
||||
|
||||
.card-details-items
|
||||
.card-details-item.card-details-item-received
|
||||
h3.card-details-item-title {{_ 'card-received'}}
|
||||
if receivedAt
|
||||
+cardReceivedDate
|
||||
else
|
||||
a.js-received-date {{_ 'add'}}
|
||||
|
||||
.card-details-item.card-details-item-start
|
||||
h3.card-details-item-title {{_ 'card-start'}}
|
||||
if startAt
|
||||
+cardStartDate
|
||||
else
|
||||
a.js-start-date {{_ 'add'}}
|
||||
|
||||
.card-details-item.card-details-item-end
|
||||
h3.card-details-item-title {{_ 'card-end'}}
|
||||
if endAt
|
||||
+cardEndDate
|
||||
else
|
||||
a.js-end-date {{_ 'add'}}
|
||||
|
||||
.card-details-item.card-details-item-due
|
||||
h3.card-details-item-title {{_ 'card-due'}}
|
||||
if dueAt
|
||||
+cardDueDate
|
||||
else
|
||||
a.js-due-date {{_ 'add'}}
|
||||
|
||||
.card-details-items
|
||||
.card-details-item.card-details-item-members
|
||||
h3.card-details-item-title {{_ 'members'}}
|
||||
@@ -36,15 +71,12 @@ template(name="cardDetails")
|
||||
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
|
||||
i.fa.fa-plus
|
||||
|
||||
if startAt
|
||||
.card-details-item.card-details-item-start
|
||||
h3.card-details-item-title {{_ 'card-start'}}
|
||||
+cardStartDate
|
||||
|
||||
if dueAt
|
||||
.card-details-item.card-details-item-due
|
||||
h3.card-details-item-title {{_ 'card-due'}}
|
||||
+cardDueDate
|
||||
.card-details-items
|
||||
each customFieldsWD
|
||||
.card-details-item.card-details-item-customfield
|
||||
h3.card-details-item-title
|
||||
= definition.name
|
||||
+cardCustomField
|
||||
|
||||
.card-details-items
|
||||
if spentTime
|
||||
@@ -82,11 +114,48 @@ template(name="cardDetails")
|
||||
+viewer
|
||||
= description
|
||||
|
||||
.card-details-items
|
||||
.card-details-item.card-details-item-name
|
||||
h3.card-details-item-title {{_ 'requested-by'}}
|
||||
if canModifyCard
|
||||
+inlinedForm(classNames="js-card-details-requester")
|
||||
+editCardRequesterForm
|
||||
else
|
||||
a.js-open-inlined-form
|
||||
if requestedBy
|
||||
+viewer
|
||||
= requestedBy
|
||||
else
|
||||
| {{_ 'add'}}
|
||||
else if requestedBy
|
||||
+viewer
|
||||
= requestedBy
|
||||
|
||||
.card-details-item.card-details-item-name
|
||||
h3.card-details-item-title {{_ 'assigned-by'}}
|
||||
if canModifyCard
|
||||
+inlinedForm(classNames="js-card-details-assigner")
|
||||
+editCardAssignerForm
|
||||
else
|
||||
a.js-open-inlined-form
|
||||
if assignedBy
|
||||
+viewer
|
||||
= assignedBy
|
||||
else
|
||||
| {{_ 'add'}}
|
||||
else if requestedBy
|
||||
+viewer
|
||||
= assignedBy
|
||||
|
||||
hr
|
||||
+checklists(cardId = _id)
|
||||
|
||||
if currentBoard.allowsSubtasks
|
||||
hr
|
||||
+subtasks(cardId = _id)
|
||||
|
||||
hr
|
||||
h2
|
||||
h3
|
||||
i.fa.fa-paperclip
|
||||
| {{_ 'attachments'}}
|
||||
|
||||
@@ -94,7 +163,7 @@ template(name="cardDetails")
|
||||
|
||||
hr
|
||||
.activity-title
|
||||
h2 {{ _ 'activity'}}
|
||||
h3 {{ _ 'activity'}}
|
||||
if currentUser.isBoardMember
|
||||
.material-toggle-switch
|
||||
span.toggle-switch-title {{_ 'hide-system-messages'}}
|
||||
@@ -115,6 +184,18 @@ template(name="editCardTitleForm")
|
||||
button.primary.confirm.js-submit-edit-card-title-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
|
||||
template(name="editCardRequesterForm")
|
||||
input.js-edit-card-requester(type='text' autofocus value=requestedBy)
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-submit-edit-card-requester-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
|
||||
template(name="editCardAssignerForm")
|
||||
input.js-edit-card-assigner(type='text' autofocus value=assignedBy)
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-submit-edit-card-assigner-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
|
||||
template(name="cardDetailsActionsPopup")
|
||||
ul.pop-over-list
|
||||
li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}}
|
||||
@@ -124,8 +205,11 @@ template(name="cardDetailsActionsPopup")
|
||||
li: a.js-members {{_ 'card-edit-members'}}
|
||||
li: a.js-labels {{_ 'card-edit-labels'}}
|
||||
li: a.js-attachments {{_ 'card-edit-attachments'}}
|
||||
li: a.js-custom-fields {{_ 'card-edit-custom-fields'}}
|
||||
li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
|
||||
li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
|
||||
li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
|
||||
li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
|
||||
li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}}
|
||||
hr
|
||||
ul.pop-over-list
|
||||
@@ -141,29 +225,19 @@ template(name="cardDetailsActionsPopup")
|
||||
li: a.js-more {{_ 'cardMorePopup-title'}}
|
||||
|
||||
template(name="moveCardPopup")
|
||||
if isSandstorm
|
||||
+boardLists
|
||||
else
|
||||
+boardsAndLists
|
||||
+boardsAndLists
|
||||
|
||||
template(name="copyCardPopup")
|
||||
label(for='copy-card-title') {{_ 'title'}}:
|
||||
textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus)
|
||||
= title
|
||||
if isSandstorm
|
||||
+boardLists
|
||||
else
|
||||
+boardsAndLists
|
||||
|
||||
+boardsAndLists
|
||||
|
||||
template(name="copyChecklistToManyCardsPopup")
|
||||
label(for='copy-checklist-cards-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}:
|
||||
textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus)
|
||||
| {{_ 'copyChecklistToManyCardsPopup-format'}}
|
||||
if isSandstorm
|
||||
+boardLists
|
||||
else
|
||||
+boardsAndLists
|
||||
+boardsAndLists
|
||||
|
||||
template(name="boardsAndLists")
|
||||
label {{_ 'boards'}}:
|
||||
@@ -209,10 +283,37 @@ template(name="cardMorePopup")
|
||||
button.js-copy-card-link-to-clipboard(class="btn") {{_ 'copy-card-link-to-clipboard'}}
|
||||
span.clearfix
|
||||
br
|
||||
h2 {{_ 'change-card-parent'}}
|
||||
label {{_ 'source-board'}}:
|
||||
select.js-field-parent-board
|
||||
each boards
|
||||
if isParentBoard
|
||||
option(value="{{_id}}" selected) {{title}}
|
||||
else
|
||||
option(value="{{_id}}") {{title}}
|
||||
if isTopLevel
|
||||
option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
|
||||
else
|
||||
option(value="none") {{_ 'custom-field-dropdown-none'}}
|
||||
|
||||
label {{_ 'parent-card'}}:
|
||||
select.js-field-parent-card
|
||||
if isTopLevel
|
||||
option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
|
||||
else
|
||||
each cards
|
||||
if isParentCard
|
||||
option(value="{{_id}}" selected) {{title}}
|
||||
else
|
||||
option(value="{{_id}}") {{title}}
|
||||
option(value="none") {{_ 'custom-field-dropdown-none'}}
|
||||
br
|
||||
| {{_ 'added'}}
|
||||
span.date(title=card.createdAt) {{ moment createdAt 'LLL' }}
|
||||
a.js-delete(title="{{_ 'card-delete-notice'}}") {{_ 'delete'}}
|
||||
|
||||
|
||||
|
||||
template(name="cardDeletePopup")
|
||||
p {{_ "card-delete-pop"}}
|
||||
unless archived
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const subManager = new SubsManager();
|
||||
const { calculateIndexData, enableClickOnTouch } = Utils;
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
mixins() {
|
||||
@@ -19,9 +20,14 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
onCreated() {
|
||||
this.currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
this.isLoaded = new ReactiveVar(false);
|
||||
this.parentComponent().parentComponent().showOverlay.set(true);
|
||||
this.parentComponent().parentComponent().mouseHasEnterCardDetails = false;
|
||||
const boardBody = this.parentComponent().parentComponent();
|
||||
//in Miniview parent is Board, not BoardBody.
|
||||
if (boardBody !== null) {
|
||||
boardBody.showOverlay.set(true);
|
||||
boardBody.mouseHasEnterCardDetails = false;
|
||||
}
|
||||
this.calculateNextPeak();
|
||||
|
||||
Meteor.subscribe('unsaved-edits');
|
||||
@@ -43,7 +49,8 @@ BlazeComponent.extendComponent({
|
||||
scrollParentContainer() {
|
||||
const cardPanelWidth = 510;
|
||||
const bodyBoardComponent = this.parentComponent().parentComponent();
|
||||
|
||||
//On Mobile View Parent is Board, Not Board Body. I cant see how this funciton should work then.
|
||||
if (bodyBoardComponent === null) return;
|
||||
const $cardView = this.$(this.firstNode());
|
||||
const $cardContainer = bodyBoardComponent.$('.js-swimlanes');
|
||||
const cardContainerScroll = $cardContainer.scrollLeft();
|
||||
@@ -64,12 +71,128 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
},
|
||||
|
||||
presentParentTask() {
|
||||
let result = this.currentBoard.presentParentTask;
|
||||
if ((result === null) || (result === undefined)) {
|
||||
result = 'no-parent';
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
linkForCard() {
|
||||
const card = this.currentData();
|
||||
let result = '#';
|
||||
if (card) {
|
||||
const board = Boards.findOne(card.boardId);
|
||||
if (board) {
|
||||
result = FlowRouter.url('card', {
|
||||
boardId: card.boardId,
|
||||
slug: board.slug,
|
||||
cardId: card._id,
|
||||
});
|
||||
}
|
||||
}
|
||||
return result;
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
if (!Utils.isMiniScreen()) this.scrollParentContainer();
|
||||
const $checklistsDom = this.$('.card-checklist-items');
|
||||
|
||||
$checklistsDom.sortable({
|
||||
tolerance: 'pointer',
|
||||
helper: 'clone',
|
||||
handle: '.checklist-title',
|
||||
items: '.js-checklist',
|
||||
placeholder: 'checklist placeholder',
|
||||
distance: 7,
|
||||
start(evt, ui) {
|
||||
ui.placeholder.height(ui.helper.height());
|
||||
EscapeActions.executeUpTo('popup-close');
|
||||
},
|
||||
stop(evt, ui) {
|
||||
let prevChecklist = ui.item.prev('.js-checklist').get(0);
|
||||
if (prevChecklist) {
|
||||
prevChecklist = Blaze.getData(prevChecklist).checklist;
|
||||
}
|
||||
let nextChecklist = ui.item.next('.js-checklist').get(0);
|
||||
if (nextChecklist) {
|
||||
nextChecklist = Blaze.getData(nextChecklist).checklist;
|
||||
}
|
||||
const sortIndex = calculateIndexData(prevChecklist, nextChecklist, 1);
|
||||
|
||||
$checklistsDom.sortable('cancel');
|
||||
const checklist = Blaze.getData(ui.item.get(0)).checklist;
|
||||
|
||||
Checklists.update(checklist._id, {
|
||||
$set: {
|
||||
sort: sortIndex.base,
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
// ugly touch event hotfix
|
||||
enableClickOnTouch('.card-checklist-items .js-checklist');
|
||||
|
||||
const $subtasksDom = this.$('.card-subtasks-items');
|
||||
|
||||
$subtasksDom.sortable({
|
||||
tolerance: 'pointer',
|
||||
helper: 'clone',
|
||||
handle: '.subtask-title',
|
||||
items: '.js-subtasks',
|
||||
placeholder: 'subtasks placeholder',
|
||||
distance: 7,
|
||||
start(evt, ui) {
|
||||
ui.placeholder.height(ui.helper.height());
|
||||
EscapeActions.executeUpTo('popup-close');
|
||||
},
|
||||
stop(evt, ui) {
|
||||
let prevChecklist = ui.item.prev('.js-subtasks').get(0);
|
||||
if (prevChecklist) {
|
||||
prevChecklist = Blaze.getData(prevChecklist).subtask;
|
||||
}
|
||||
let nextChecklist = ui.item.next('.js-subtasks').get(0);
|
||||
if (nextChecklist) {
|
||||
nextChecklist = Blaze.getData(nextChecklist).subtask;
|
||||
}
|
||||
const sortIndex = calculateIndexData(prevChecklist, nextChecklist, 1);
|
||||
|
||||
$subtasksDom.sortable('cancel');
|
||||
const subtask = Blaze.getData(ui.item.get(0)).subtask;
|
||||
|
||||
Subtasks.update(subtask._id, {
|
||||
$set: {
|
||||
subtaskSort: sortIndex.base,
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
// ugly touch event hotfix
|
||||
enableClickOnTouch('.card-subtasks-items .js-subtasks');
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember();
|
||||
}
|
||||
|
||||
// Disable sorting if the current user is not a board member
|
||||
this.autorun(() => {
|
||||
if ($checklistsDom.data('sortable')) {
|
||||
$checklistsDom.sortable('option', 'disabled', !userIsMember());
|
||||
}
|
||||
if ($subtasksDom.data('sortable')) {
|
||||
$subtasksDom.sortable('option', 'disabled', !userIsMember());
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
onDestroyed() {
|
||||
this.parentComponent().parentComponent().showOverlay.set(false);
|
||||
const parentComponent = this.parentComponent().parentComponent();
|
||||
//on mobile view parent is Board, not board body.
|
||||
if (parentComponent === null) return;
|
||||
parentComponent.showOverlay.set(false);
|
||||
},
|
||||
|
||||
events() {
|
||||
@@ -100,12 +223,33 @@ BlazeComponent.extendComponent({
|
||||
this.data().setTitle(title);
|
||||
}
|
||||
},
|
||||
'submit .js-card-details-assigner'(evt) {
|
||||
evt.preventDefault();
|
||||
const assigner = this.currentComponent().getValue().trim();
|
||||
if (assigner) {
|
||||
this.data().setAssignedBy(assigner);
|
||||
}
|
||||
},
|
||||
'submit .js-card-details-requester'(evt) {
|
||||
evt.preventDefault();
|
||||
const requester = this.currentComponent().getValue().trim();
|
||||
if (requester) {
|
||||
this.data().setRequestedBy(requester);
|
||||
}
|
||||
},
|
||||
'click .js-member': Popup.open('cardMember'),
|
||||
'click .js-add-members': Popup.open('cardMembers'),
|
||||
'click .js-add-labels': Popup.open('cardLabels'),
|
||||
'click .js-received-date': Popup.open('editCardReceivedDate'),
|
||||
'click .js-start-date': Popup.open('editCardStartDate'),
|
||||
'click .js-due-date': Popup.open('editCardDueDate'),
|
||||
'click .js-end-date': Popup.open('editCardEndDate'),
|
||||
'mouseenter .js-card-details' () {
|
||||
this.parentComponent().parentComponent().showOverlay.set(true);
|
||||
this.parentComponent().parentComponent().mouseHasEnterCardDetails = true;
|
||||
const parentComponent = this.parentComponent().parentComponent();
|
||||
//on mobile view parent is Board, not BoardBody.
|
||||
if (parentComponent === null) return;
|
||||
parentComponent.showOverlay.set(true);
|
||||
parentComponent.mouseHasEnterCardDetails = true;
|
||||
},
|
||||
'click #toggleButton'() {
|
||||
Meteor.call('toggleSystemMessages');
|
||||
@@ -165,8 +309,11 @@ Template.cardDetailsActionsPopup.events({
|
||||
'click .js-members': Popup.open('cardMembers'),
|
||||
'click .js-labels': Popup.open('cardLabels'),
|
||||
'click .js-attachments': Popup.open('cardAttachments'),
|
||||
'click .js-custom-fields': Popup.open('cardCustomFields'),
|
||||
'click .js-received-date': Popup.open('editCardReceivedDate'),
|
||||
'click .js-start-date': Popup.open('editCardStartDate'),
|
||||
'click .js-due-date': Popup.open('editCardDueDate'),
|
||||
'click .js-end-date': Popup.open('editCardEndDate'),
|
||||
'click .js-spent-time': Popup.open('editCardSpentTime'),
|
||||
'click .js-move-card': Popup.open('moveCard'),
|
||||
'click .js-copy-card': Popup.open('copyCard'),
|
||||
@@ -210,6 +357,32 @@ Template.editCardTitleForm.events({
|
||||
},
|
||||
});
|
||||
|
||||
Template.editCardRequesterForm.onRendered(function() {
|
||||
autosize(this.$('.js-edit-card-requester'));
|
||||
});
|
||||
|
||||
Template.editCardRequesterForm.events({
|
||||
'keydown .js-edit-card-requester'(evt) {
|
||||
// If enter key was pressed, submit the data
|
||||
if (evt.keyCode === 13) {
|
||||
$('.js-submit-edit-card-requester-form').click();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
Template.editCardAssignerForm.onRendered(function() {
|
||||
autosize(this.$('.js-edit-card-assigner'));
|
||||
});
|
||||
|
||||
Template.editCardAssignerForm.events({
|
||||
'keydown .js-edit-card-assigner'(evt) {
|
||||
// If enter key was pressed, submit the data
|
||||
if (evt.keyCode === 13) {
|
||||
$('.js-submit-edit-card-assigner-form').click();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
Template.moveCardPopup.events({
|
||||
'click .js-done' () {
|
||||
// XXX We should *not* get the currentCard from the global state, but
|
||||
@@ -223,7 +396,6 @@ Template.moveCardPopup.events({
|
||||
Popup.close();
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
subManager.subscribe('board', Session.get('currentBoard'));
|
||||
@@ -260,6 +432,21 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
}).register('boardsAndLists');
|
||||
|
||||
|
||||
function cloneCheckList(_id, checklist) {
|
||||
'use strict';
|
||||
const checklistId = checklist._id;
|
||||
checklist.cardId = _id;
|
||||
checklist._id = null;
|
||||
const newChecklistId = Checklists.insert(checklist);
|
||||
ChecklistItems.find({checklistId}).forEach(function(item) {
|
||||
item._id = null;
|
||||
item.checklistId = newChecklistId;
|
||||
item.cardId = _id;
|
||||
ChecklistItems.insert(item);
|
||||
});
|
||||
}
|
||||
|
||||
Template.copyCardPopup.events({
|
||||
'click .js-done'() {
|
||||
const card = Cards.findOne(Session.get('currentCard'));
|
||||
@@ -288,12 +475,18 @@ Template.copyCardPopup.events({
|
||||
|
||||
// copy checklists
|
||||
let cursor = Checklists.find({cardId: oldId});
|
||||
cursor.forEach(function() {
|
||||
cloneCheckList(_id, arguments[0]);
|
||||
});
|
||||
|
||||
// copy subtasks
|
||||
cursor = Cards.find({parentId: oldId});
|
||||
cursor.forEach(function() {
|
||||
'use strict';
|
||||
const checklist = arguments[0];
|
||||
checklist.cardId = _id;
|
||||
checklist._id = null;
|
||||
Checklists.insert(checklist);
|
||||
const subtask = arguments[0];
|
||||
subtask.parentId = _id;
|
||||
subtask._id = null;
|
||||
/* const newSubtaskId = */ Cards.insert(subtask);
|
||||
});
|
||||
|
||||
// copy card comments
|
||||
@@ -311,17 +504,20 @@ Template.copyCardPopup.events({
|
||||
});
|
||||
|
||||
Template.copyChecklistToManyCardsPopup.events({
|
||||
'click .js-select-list' (evt) {
|
||||
'click .js-done' () {
|
||||
const card = Cards.findOne(Session.get('currentCard'));
|
||||
const oldId = card._id;
|
||||
card._id = null;
|
||||
card.listId = this._id;
|
||||
const list = Lists.findOne(card.listId);
|
||||
card.boardId = list.boardId;
|
||||
const textarea = $(evt.currentTarget).parents('.content').find('textarea');
|
||||
const lSelect = $('.js-select-lists')[0];
|
||||
card.listId = lSelect.options[lSelect.selectedIndex].value;
|
||||
const slSelect = $('.js-select-swimlanes')[0];
|
||||
card.swimlaneId = slSelect.options[slSelect.selectedIndex].value;
|
||||
const bSelect = $('.js-select-boards')[0];
|
||||
card.boardId = bSelect.options[bSelect.selectedIndex].value;
|
||||
const textarea = $('#copy-card-title');
|
||||
const titleEntry = textarea.val().trim();
|
||||
// insert new card to the bottom of new list
|
||||
card.sort = Lists.findOne(this._id).cards().count();
|
||||
card.sort = Lists.findOne(card.listId).cards().count();
|
||||
|
||||
if (titleEntry) {
|
||||
const titleList = JSON.parse(titleEntry);
|
||||
@@ -339,12 +535,18 @@ Template.copyChecklistToManyCardsPopup.events({
|
||||
|
||||
// copy checklists
|
||||
let cursor = Checklists.find({cardId: oldId});
|
||||
cursor.forEach(function() {
|
||||
cloneCheckList(_id, arguments[0]);
|
||||
});
|
||||
|
||||
// copy subtasks
|
||||
cursor = Cards.find({parentId: oldId});
|
||||
cursor.forEach(function() {
|
||||
'use strict';
|
||||
const checklist = arguments[0];
|
||||
checklist.cardId = _id;
|
||||
checklist._id = null;
|
||||
Checklists.insert(checklist);
|
||||
const subtask = arguments[0];
|
||||
subtask.parentId = _id;
|
||||
subtask._id = null;
|
||||
/* const newSubtaskId = */ Cards.insert(subtask);
|
||||
});
|
||||
|
||||
// copy card comments
|
||||
@@ -362,36 +564,119 @@ Template.copyChecklistToManyCardsPopup.events({
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
Template.cardMorePopup.events({
|
||||
'click .js-copy-card-link-to-clipboard' () {
|
||||
// Clipboard code from:
|
||||
// https://stackoverflow.com/questions/6300213/copy-selected-text-to-the-clipboard-without-using-flash-must-be-cross-browser
|
||||
const StringToCopyElement = document.getElementById('cardURL');
|
||||
StringToCopyElement.select();
|
||||
if (document.execCommand('copy')) {
|
||||
StringToCopyElement.blur();
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.currentCard = this.currentData();
|
||||
this.parentCard = this.currentCard.parentCard();
|
||||
if (this.parentCard) {
|
||||
this.parentBoard = this.parentCard.board();
|
||||
} else {
|
||||
document.getElementById('cardURL').selectionStart = 0;
|
||||
document.getElementById('cardURL').selectionEnd = 999;
|
||||
document.execCommand('copy');
|
||||
if (window.getSelection) {
|
||||
if (window.getSelection().empty) { // Chrome
|
||||
window.getSelection().empty();
|
||||
} else if (window.getSelection().removeAllRanges) { // Firefox
|
||||
window.getSelection().removeAllRanges();
|
||||
}
|
||||
} else if (document.selection) { // IE?
|
||||
document.selection.empty();
|
||||
}
|
||||
this.parentBoard = null;
|
||||
}
|
||||
},
|
||||
'click .js-delete': Popup.afterConfirm('cardDelete', function () {
|
||||
Popup.close();
|
||||
Cards.remove(this._id);
|
||||
Utils.goBoardId(this.boardId);
|
||||
}),
|
||||
});
|
||||
|
||||
boards() {
|
||||
const boards = Boards.find({
|
||||
archived: false,
|
||||
'members.userId': Meteor.userId(),
|
||||
}, {
|
||||
sort: ['title'],
|
||||
});
|
||||
return boards;
|
||||
},
|
||||
|
||||
cards() {
|
||||
if (this.parentBoard) {
|
||||
return this.parentBoard.cards();
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
|
||||
isParentBoard() {
|
||||
const board = this.currentData();
|
||||
if (this.parentBoard) {
|
||||
return board._id === this.parentBoard;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
isParentCard() {
|
||||
const card = this.currentData();
|
||||
if (this.parentCard) {
|
||||
return card._id === this.parentCard;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
setParentCardId(cardId) {
|
||||
if (cardId === 'null') {
|
||||
cardId = null;
|
||||
this.parentCard = null;
|
||||
} else {
|
||||
this.parentCard = Cards.findOne(cardId);
|
||||
}
|
||||
this.currentCard.setParentId(cardId);
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'click .js-copy-card-link-to-clipboard' () {
|
||||
// Clipboard code from:
|
||||
// https://stackoverflow.com/questions/6300213/copy-selected-text-to-the-clipboard-without-using-flash-must-be-cross-browser
|
||||
const StringToCopyElement = document.getElementById('cardURL');
|
||||
StringToCopyElement.select();
|
||||
if (document.execCommand('copy')) {
|
||||
StringToCopyElement.blur();
|
||||
} else {
|
||||
document.getElementById('cardURL').selectionStart = 0;
|
||||
document.getElementById('cardURL').selectionEnd = 999;
|
||||
document.execCommand('copy');
|
||||
if (window.getSelection) {
|
||||
if (window.getSelection().empty) { // Chrome
|
||||
window.getSelection().empty();
|
||||
} else if (window.getSelection().removeAllRanges) { // Firefox
|
||||
window.getSelection().removeAllRanges();
|
||||
}
|
||||
} else if (document.selection) { // IE?
|
||||
document.selection.empty();
|
||||
}
|
||||
}
|
||||
},
|
||||
'click .js-delete': Popup.afterConfirm('cardDelete', function () {
|
||||
Popup.close();
|
||||
Cards.remove(this._id);
|
||||
Utils.goBoardId(this.boardId);
|
||||
}),
|
||||
'change .js-field-parent-board'(evt) {
|
||||
const selection = $(evt.currentTarget).val();
|
||||
const list = $('.js-field-parent-card');
|
||||
list.empty();
|
||||
if (selection === 'none') {
|
||||
this.parentBoard = null;
|
||||
list.prop('disabled', true);
|
||||
} else {
|
||||
this.parentBoard = Boards.findOne(selection);
|
||||
this.parentBoard.cards().forEach(function(card) {
|
||||
list.append(
|
||||
$('<option></option>').val(card._id).html(card.title)
|
||||
);
|
||||
});
|
||||
list.prop('disabled', false);
|
||||
}
|
||||
list.append(
|
||||
`<option value='none' selected='selected'>${TAPi18n.__('custom-field-dropdown-none')}</option>`
|
||||
);
|
||||
this.setParentCardId('null');
|
||||
},
|
||||
'change .js-field-parent-card'(evt) {
|
||||
const selection = $(evt.currentTarget).val();
|
||||
this.setParentCardId(selection);
|
||||
},
|
||||
}];
|
||||
},
|
||||
}).register('cardMorePopup');
|
||||
|
||||
|
||||
// Close the card details pane by pressing escape
|
||||
EscapeActions.register('detailsPane',
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
flex-shrink: 0
|
||||
flex-basis: 470px
|
||||
will-change: flex-basis
|
||||
overflow: hidden
|
||||
overflow-y: scroll
|
||||
overflow-x: hidden
|
||||
background: darken(white, 3%)
|
||||
border-radius: bottom 3px
|
||||
z-index: 20 !important
|
||||
@@ -69,6 +70,7 @@
|
||||
|
||||
.card-details-items
|
||||
display: flex
|
||||
flex-wrap: wrap
|
||||
margin: 15px 0
|
||||
|
||||
.card-details-item
|
||||
@@ -77,14 +79,18 @@
|
||||
margin-right: 0
|
||||
&.card-details-item-labels,
|
||||
&.card-details-item-members,
|
||||
&.card-details-item-received,
|
||||
&.card-details-item-start,
|
||||
&.card-details-item-due
|
||||
width: 50%
|
||||
flex-shrink: 1
|
||||
&.card-details-item-due,
|
||||
&.card-details-item-end,
|
||||
&.card-details-item-customfield,
|
||||
&.card-details-item-name
|
||||
max-width: 50%
|
||||
flex-grow: 1
|
||||
|
||||
.card-details-item-title
|
||||
font-size: 14px
|
||||
color: darken(white, 45%)
|
||||
font-size: 16px
|
||||
color: #000
|
||||
|
||||
.card-label
|
||||
padding-top: 5px
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
template(name="checklists")
|
||||
h2 {{_ 'checklists'}}
|
||||
h3 {{_ 'checklists'}}
|
||||
if toggleDeleteDialog.get
|
||||
.board-overlay#card-details-overlay
|
||||
+checklistDeleteDialog(checklist = checklistToDelete)
|
||||
@@ -18,24 +18,24 @@ template(name="checklists")
|
||||
| {{_ 'add-checklist'}}...
|
||||
|
||||
template(name="checklistDetail")
|
||||
+inlinedForm(classNames="js-edit-checklist-title" checklist = checklist)
|
||||
+editChecklistItemForm(checklist = checklist)
|
||||
else
|
||||
.checklist-title
|
||||
.checkbox.fa.fa-check-square-o
|
||||
if canModifyCard
|
||||
a.js-delete-checklist.toggle-delete-checklist-dialog {{_ "delete"}}...
|
||||
.js-checklist.checklist
|
||||
+inlinedForm(classNames="js-edit-checklist-title" checklist = checklist)
|
||||
+editChecklistItemForm(checklist = checklist)
|
||||
else
|
||||
.checklist-title
|
||||
span
|
||||
if canModifyCard
|
||||
a.js-delete-checklist.toggle-delete-checklist-dialog {{_ "delete"}}...
|
||||
|
||||
span.checklist-stat(class="{{#if checklist.isFinished}}is-finished{{/if}}") {{checklist.finishedCount}}/{{checklist.itemCount}}
|
||||
if canModifyCard
|
||||
h2.title.js-open-inlined-form.is-editable
|
||||
+viewer
|
||||
= checklist.title
|
||||
else
|
||||
h2.title
|
||||
+viewer
|
||||
if canModifyCard
|
||||
h2.title.js-open-inlined-form.is-editable
|
||||
+viewer
|
||||
= checklist.title
|
||||
+checklistItems(checklist = checklist)
|
||||
else
|
||||
h2.title
|
||||
+viewer
|
||||
= checklist.title
|
||||
+checklistItems(checklist = checklist)
|
||||
|
||||
template(name="checklistDeleteDialog")
|
||||
.js-confirm-checklist-delete
|
||||
@@ -70,11 +70,11 @@ template(name="editChecklistItemForm")
|
||||
|
||||
template(name="checklistItems")
|
||||
.checklist-items.js-checklist-items
|
||||
each item in checklist.getItemsSorted
|
||||
each item in checklist.items
|
||||
+inlinedForm(classNames="js-edit-checklist-item" item = item checklist = checklist)
|
||||
+editChecklistItemForm(type = 'item' item = item checklist = checklist)
|
||||
else
|
||||
+itemDetail(item = item checklist = checklist)
|
||||
+checklistItemDetail(item = item checklist = checklist)
|
||||
if canModifyCard
|
||||
+inlinedForm(autoclose=false classNames="js-add-checklist-item" checklist = checklist)
|
||||
+addChecklistItemForm
|
||||
@@ -83,8 +83,8 @@ template(name="checklistItems")
|
||||
i.fa.fa-plus
|
||||
| {{_ 'add-checklist-item'}}...
|
||||
|
||||
template(name='itemDetail')
|
||||
.item.js-checklist-item
|
||||
template(name='checklistItemDetail')
|
||||
.js-checklist-item.checklist-item
|
||||
if canModifyCard
|
||||
.check-box.materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
.item-title.js-open-inlined-form.is-editable(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
const { calculateIndexData, enableClickOnTouch } = Utils;
|
||||
|
||||
function initSorting(items) {
|
||||
items.sortable({
|
||||
tolerance: 'pointer',
|
||||
helper: 'clone',
|
||||
items: '.js-checklist-item:not(.placeholder)',
|
||||
axis: 'y',
|
||||
connectWith: '.js-checklist-items',
|
||||
appendTo: '.board-canvas',
|
||||
distance: 7,
|
||||
placeholder: 'placeholder',
|
||||
placeholder: 'checklist-item placeholder',
|
||||
scroll: false,
|
||||
start(evt, ui) {
|
||||
ui.placeholder.height(ui.helper.height());
|
||||
@@ -13,57 +16,57 @@ function initSorting(items) {
|
||||
},
|
||||
stop(evt, ui) {
|
||||
const parent = ui.item.parents('.js-checklist-items');
|
||||
const orderedItems = [];
|
||||
parent.find('.js-checklist-item').each(function(i, item) {
|
||||
const checklistItem = Blaze.getData(item).item;
|
||||
orderedItems.push(checklistItem._id);
|
||||
});
|
||||
items.sortable('cancel');
|
||||
const formerParent = ui.item.parents('.js-checklist-items');
|
||||
const checklist = Blaze.getData(parent.get(0)).checklist;
|
||||
const oldChecklist = Blaze.getData(formerParent.get(0)).checklist;
|
||||
if (oldChecklist._id !== checklist._id) {
|
||||
const currentItem = Blaze.getData(ui.item.get(0)).item;
|
||||
for (let i = 0; i < orderedItems.length; i++) {
|
||||
const itemId = orderedItems[i];
|
||||
if (itemId !== currentItem._id) continue;
|
||||
const newItem = {
|
||||
_id: checklist.getNewItemId(),
|
||||
title: currentItem.title,
|
||||
sort: i,
|
||||
isFinished: currentItem.isFinished,
|
||||
};
|
||||
checklist.addFullItem(newItem);
|
||||
orderedItems[i] = currentItem._id;
|
||||
oldChecklist.removeItem(itemId);
|
||||
}
|
||||
} else {
|
||||
checklist.sortItems(orderedItems);
|
||||
const checklistId = Blaze.getData(parent.get(0)).checklist._id;
|
||||
let prevItem = ui.item.prev('.js-checklist-item').get(0);
|
||||
if (prevItem) {
|
||||
prevItem = Blaze.getData(prevItem).item;
|
||||
}
|
||||
let nextItem = ui.item.next('.js-checklist-item').get(0);
|
||||
if (nextItem) {
|
||||
nextItem = Blaze.getData(nextItem).item;
|
||||
}
|
||||
const nItems = 1;
|
||||
const sortIndex = calculateIndexData(prevItem, nextItem, nItems);
|
||||
const checklistDomElement = ui.item.get(0);
|
||||
const checklistData = Blaze.getData(checklistDomElement);
|
||||
const checklistItem = checklistData.item;
|
||||
|
||||
items.sortable('cancel');
|
||||
|
||||
checklistItem.move(checklistId, sortIndex.base);
|
||||
},
|
||||
});
|
||||
|
||||
// ugly touch event hotfix
|
||||
enableClickOnTouch('.js-checklist-item:not(.placeholder)');
|
||||
}
|
||||
|
||||
Template.checklists.onRendered(function () {
|
||||
const self = BlazeComponent.getComponentForElement(this.firstNode);
|
||||
self.itemsDom = this.$('.card-checklist-items');
|
||||
initSorting(self.itemsDom);
|
||||
self.itemsDom.mousedown(function(evt) {
|
||||
evt.stopPropagation();
|
||||
});
|
||||
BlazeComponent.extendComponent({
|
||||
onRendered() {
|
||||
const self = this;
|
||||
self.itemsDom = this.$('.js-checklist-items');
|
||||
initSorting(self.itemsDom);
|
||||
self.itemsDom.mousedown(function(evt) {
|
||||
evt.stopPropagation();
|
||||
});
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember();
|
||||
}
|
||||
|
||||
// Disable sorting if the current user is not a board member
|
||||
self.autorun(() => {
|
||||
const $itemsDom = $(self.itemsDom);
|
||||
if ($itemsDom.data('sortable')) {
|
||||
$(self.itemsDom).sortable('option', 'disabled', !userIsMember());
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Disable sorting if the current user is not a board member
|
||||
self.autorun(() => {
|
||||
const $itemsDom = $(self.itemsDom);
|
||||
if ($itemsDom.data('sortable')) {
|
||||
$(self.itemsDom).sortable('option', 'disabled', !userIsMember());
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
canModifyCard() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
},
|
||||
}).register('checklistDetail');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
|
||||
@@ -95,7 +98,12 @@ BlazeComponent.extendComponent({
|
||||
const checklist = this.currentData().checklist;
|
||||
|
||||
if (title) {
|
||||
checklist.addItem(title);
|
||||
ChecklistItems.insert({
|
||||
title,
|
||||
checklistId: checklist._id,
|
||||
cardId: checklist.cardId,
|
||||
sort: checklist.itemCount(),
|
||||
});
|
||||
}
|
||||
// We keep the form opened, empty it.
|
||||
textarea.value = '';
|
||||
@@ -118,7 +126,7 @@ BlazeComponent.extendComponent({
|
||||
const checklist = this.currentData().checklist;
|
||||
const item = this.currentData().item;
|
||||
if (checklist && item && item._id) {
|
||||
checklist.removeItem(item._id);
|
||||
ChecklistItems.remove(item._id);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -135,9 +143,8 @@ BlazeComponent.extendComponent({
|
||||
|
||||
const textarea = this.find('textarea.js-edit-checklist-item');
|
||||
const title = textarea.value.trim();
|
||||
const itemId = this.currentData().item._id;
|
||||
const checklist = this.currentData().checklist;
|
||||
checklist.editItem(itemId, title);
|
||||
const item = this.currentData().item;
|
||||
item.setTitle(title);
|
||||
},
|
||||
|
||||
onCreated() {
|
||||
@@ -200,7 +207,7 @@ Template.checklistDeleteDialog.onDestroyed(() => {
|
||||
$cardDetails.animate( { scrollTop: this.scrollState.position });
|
||||
});
|
||||
|
||||
Template.itemDetail.helpers({
|
||||
Template.checklistItemDetail.helpers({
|
||||
canModifyCard() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
},
|
||||
@@ -211,12 +218,12 @@ BlazeComponent.extendComponent({
|
||||
const checklist = this.currentData().checklist;
|
||||
const item = this.currentData().item;
|
||||
if (checklist && item && item._id) {
|
||||
checklist.toggleItem(item._id);
|
||||
item.toggleItem();
|
||||
}
|
||||
},
|
||||
events() {
|
||||
return [{
|
||||
'click .item .check-box': this.toggleItem,
|
||||
'click .js-checklist-item .check-box': this.toggleItem,
|
||||
}];
|
||||
},
|
||||
}).register('itemDetail');
|
||||
}).register('checklistItemDetail');
|
||||
@@ -26,7 +26,7 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item
|
||||
|
||||
.title
|
||||
font-size: 18px
|
||||
line-height: 30px
|
||||
line-height: 25px
|
||||
|
||||
.checklist-stat
|
||||
margin: 0 0.5em
|
||||
@@ -78,34 +78,62 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item
|
||||
bottom: -600px
|
||||
right: 0
|
||||
|
||||
.checklist-items
|
||||
.checklist
|
||||
background: darken(white, 3%)
|
||||
|
||||
&.placeholder
|
||||
background: darken(white, 20%)
|
||||
border-radius: 2px
|
||||
|
||||
&.ui-sortable-helper
|
||||
box-shadow: -2px 2px 8px rgba(0, 0, 0, .3),
|
||||
0 0 1px rgba(0, 0, 0, .5)
|
||||
transform: rotate(4deg)
|
||||
cursor: grabbing
|
||||
|
||||
|
||||
.checklist-item
|
||||
margin: 0 0 0 0.1em
|
||||
line-height: 18px
|
||||
font-size: 1.1em
|
||||
margin-top: 3px
|
||||
display: flex
|
||||
background: darken(white, 3%)
|
||||
|
||||
&.placeholder
|
||||
background: darken(white, 20%)
|
||||
border-radius: 2px
|
||||
|
||||
&.ui-sortable-helper
|
||||
box-shadow: -2px 2px 8px rgba(0, 0, 0, .3),
|
||||
0 0 1px rgba(0, 0, 0, .5)
|
||||
transform: rotate(4deg)
|
||||
cursor: grabbing
|
||||
|
||||
&:hover
|
||||
background-color: darken(white, 8%)
|
||||
|
||||
.check-box
|
||||
margin: 0.1em 0 0 0;
|
||||
&.is-checked
|
||||
border-bottom: 2px solid #3cb500
|
||||
border-right: 2px solid #3cb500
|
||||
|
||||
.item-title
|
||||
flex: 1
|
||||
padding-left: 10px;
|
||||
&.is-checked
|
||||
color: #8c8c8c
|
||||
font-style: italic
|
||||
& .viewer
|
||||
p
|
||||
margin-bottom: 2px
|
||||
|
||||
.js-delete-checklist-item
|
||||
margin: 0 0 0.5em 1.33em
|
||||
@extends .delete-text
|
||||
padding: 12px 0 0 0
|
||||
|
||||
.item
|
||||
line-height: 25px
|
||||
font-size: 1.1em
|
||||
margin-top: 3px
|
||||
display: flex
|
||||
&:hover
|
||||
background-color: darken(white, 8%)
|
||||
|
||||
.check-box
|
||||
margin-top: 5px
|
||||
&.is-checked
|
||||
border-bottom: 2px solid #3cb500
|
||||
border-right: 2px solid #3cb500
|
||||
|
||||
.item-title
|
||||
flex: 1
|
||||
padding-left: 10px;
|
||||
&.is-checked
|
||||
color: #8c8c8c
|
||||
font-style: italic
|
||||
|
||||
.js-delete-checklist-item
|
||||
@extends .delete-text
|
||||
padding: 12px 0 0 0
|
||||
|
||||
.add-checklist-item
|
||||
padding-top: 0.5em
|
||||
display: inline-block
|
||||
.add-checklist-item
|
||||
margin: 0.2em 0 0.5em 1.33em
|
||||
display: inline-block
|
||||
@@ -3,7 +3,7 @@
|
||||
// XXX Use .board-widget-labels as a flexbox container
|
||||
.card-label
|
||||
border-radius: 4px
|
||||
color: white
|
||||
color: white //Default white text, in select cases, changed to black to improve contrast between label colour and text
|
||||
display: inline-block
|
||||
font-weight: 700
|
||||
font-size: 13px
|
||||
@@ -48,9 +48,11 @@
|
||||
|
||||
.card-label-yellow
|
||||
background-color: #fad900
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-orange
|
||||
background-color: #ff9f19
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-red
|
||||
background-color: #eb4646
|
||||
@@ -63,6 +65,7 @@
|
||||
|
||||
.card-label-pink
|
||||
background-color: #ff78cb
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-sky
|
||||
background-color: #00c2e0
|
||||
@@ -72,6 +75,55 @@
|
||||
|
||||
.card-label-lime
|
||||
background-color: #51e898
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-silver
|
||||
background-color: #c0c0c0
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-peachpuff
|
||||
background-color: #ffdab9
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-crimson
|
||||
background-color: #dc143c
|
||||
|
||||
.card-label-plum
|
||||
background-color: #dda0dd
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-darkgreen
|
||||
background-color: #006400
|
||||
|
||||
.card-label-slateblue
|
||||
background-color: #6a5acd
|
||||
|
||||
.card-label-magenta
|
||||
background-color: #ff00ff
|
||||
|
||||
.card-label-gold
|
||||
background-color: #ffd700
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-navy
|
||||
background-color: #000080
|
||||
|
||||
.card-label-gray
|
||||
background-color: #808080
|
||||
|
||||
.card-label-saddlebrown
|
||||
background-color: #8b4513
|
||||
|
||||
.card-label-paleturquoise
|
||||
background-color: #afeeee
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-mistyrose
|
||||
background-color: #ffe4e1
|
||||
color: #000000 //Black text for better visibility
|
||||
|
||||
.card-label-indigo
|
||||
background-color: #4b0082
|
||||
|
||||
.edit-label,
|
||||
.create-label
|
||||
|
||||
@@ -7,23 +7,57 @@ template(name="minicard")
|
||||
each labels
|
||||
.minicard-label(class="card-label-{{color}}" title="{{name}}")
|
||||
.minicard-title
|
||||
if $eq 'prefix-with-full-path' currentBoard.presentParentTask
|
||||
.parent-prefix
|
||||
| {{ parentString ' > ' }}
|
||||
if $eq 'prefix-with-parent' currentBoard.presentParentTask
|
||||
.parent-prefix
|
||||
| {{ parentCardName }}
|
||||
+viewer
|
||||
= title
|
||||
| {{ title }}
|
||||
if $eq 'subtext-with-full-path' currentBoard.presentParentTask
|
||||
.parent-subtext
|
||||
| {{ parentString ' > ' }}
|
||||
if $eq 'subtext-with-parent' currentBoard.presentParentTask
|
||||
.parent-subtext
|
||||
| {{ parentCardName }}
|
||||
|
||||
.dates
|
||||
if receivedAt
|
||||
unless startAt
|
||||
unless dueAt
|
||||
unless endAt
|
||||
.date
|
||||
+minicardReceivedDate
|
||||
if startAt
|
||||
.date
|
||||
+minicardStartDate
|
||||
if dueAt
|
||||
unless endAt
|
||||
.date
|
||||
+minicardDueDate
|
||||
if endAt
|
||||
.date
|
||||
+minicardDueDate
|
||||
+minicardEndDate
|
||||
if spentTime
|
||||
.date
|
||||
+cardSpentTime
|
||||
|
||||
.minicard-custom-fields
|
||||
each customFieldsWD
|
||||
if definition.showOnCard
|
||||
.minicard-custom-field
|
||||
.minicard-custom-field-item
|
||||
= definition.name
|
||||
.minicard-custom-field-item
|
||||
+viewer
|
||||
= trueValue
|
||||
|
||||
if members
|
||||
.minicard-members.js-minicard-members
|
||||
each members
|
||||
+userAvatar(userId=this)
|
||||
|
||||
.badges
|
||||
if comments.count
|
||||
.badge(title="{{_ 'card-comments-title' comments.count }}")
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
&.placeholder
|
||||
background: darken(white, 20%)
|
||||
border-radius: 2px
|
||||
border-radius: 9px
|
||||
|
||||
&.ui-sortable-helper
|
||||
cursor: grabbing
|
||||
@@ -77,6 +77,13 @@
|
||||
height: @width
|
||||
border-radius: 2px
|
||||
margin-left: 3px
|
||||
.minicard-custom-fields
|
||||
display:block;
|
||||
.minicard-custom-field
|
||||
display:flex;
|
||||
.minicard-custom-field-item
|
||||
max-width:50%;
|
||||
flex-grow:1;
|
||||
.minicard-title
|
||||
p:last-child
|
||||
margin-bottom: 0
|
||||
@@ -155,6 +162,13 @@
|
||||
margin-bottom: 20px
|
||||
overflow-y: auto
|
||||
|
||||
.parent-prefix
|
||||
color: darken(white, 30%)
|
||||
font-size: 0.9em
|
||||
.parent-subtext
|
||||
color: darken(white, 30%)
|
||||
font-size: 0.9em
|
||||
|
||||
@media screen and (max-width: 800px)
|
||||
.minicard
|
||||
.is-selected &
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
template(name="subtasks")
|
||||
h3 {{_ 'subtasks'}}
|
||||
if toggleDeleteDialog.get
|
||||
.board-overlay#card-details-overlay
|
||||
+subtaskDeleteDialog(subtask = subtaskToDelete)
|
||||
|
||||
|
||||
.card-subtasks-items
|
||||
each subtask in currentCard.subtasks
|
||||
+subtaskDetail(subtask = subtask)
|
||||
|
||||
if canModifyCard
|
||||
+inlinedForm(autoclose=false classNames="js-add-subtask" cardId = cardId)
|
||||
+addSubtaskItemForm
|
||||
else
|
||||
a.js-open-inlined-form
|
||||
i.fa.fa-plus
|
||||
| {{_ 'add-subtask'}}...
|
||||
|
||||
template(name="subtaskDetail")
|
||||
.js-subtasks.subtask
|
||||
+inlinedForm(classNames="js-edit-subtask-title" subtask = subtask)
|
||||
+editSubtaskItemForm(subtask = subtask)
|
||||
else
|
||||
.subtask-title
|
||||
span
|
||||
a.js-view-subtask(title="{{ subtask.title }}") {{_ "view-it"}}
|
||||
if canModifyCard
|
||||
a.js-delete-subtask.toggle-delete-subtask-dialog {{_ "delete"}}...
|
||||
|
||||
if canModifyCard
|
||||
h2.title.js-open-inlined-form.is-editable
|
||||
+viewer
|
||||
= subtask.title
|
||||
else
|
||||
h2.title
|
||||
+viewer
|
||||
= subtask.title
|
||||
|
||||
template(name="subtaskDeleteDialog")
|
||||
.js-confirm-subtask-delete
|
||||
p
|
||||
i(class="fa fa-exclamation-triangle" aria-hidden="true")
|
||||
p
|
||||
| {{_ 'confirm-subtask-delete-dialog'}}
|
||||
span {{subtask.title}}
|
||||
| ?
|
||||
.js-subtask-delete-buttons
|
||||
button.confirm-subtask-delete(type="button") {{_ 'delete'}}
|
||||
button.toggle-delete-subtask-dialog(type="button") {{_ 'cancel'}}
|
||||
|
||||
template(name="addSubtaskItemForm")
|
||||
textarea.js-add-subtask-item(rows='1' autofocus)
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-submit-add-subtask-item-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
|
||||
template(name="editSubtaskItemForm")
|
||||
textarea.js-edit-subtask-item(rows='1' autofocus)
|
||||
if $eq type 'item'
|
||||
= item.title
|
||||
else
|
||||
= subtask.title
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-submit-edit-subtask-item-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
span(title=createdAt) {{ moment createdAt }}
|
||||
if canModifyCard
|
||||
a.js-delete-subtask-item {{_ "delete"}}...
|
||||
|
||||
template(name="subtasksItems")
|
||||
.subtasks-items.js-subtasks-items
|
||||
each item in subtasks.items
|
||||
+inlinedForm(classNames="js-edit-subtask-item" item = item subtasks = subtasks)
|
||||
+editSubtaskItemForm(type = 'item' item = item subtasks = subtasks)
|
||||
else
|
||||
+subtaskItemDetail(item = item subtasks = subtasks)
|
||||
if canModifyCard
|
||||
+inlinedForm(autoclose=false classNames="js-add-subtask-item" subtasks = subtasks)
|
||||
+addSubtaskItemForm
|
||||
else
|
||||
a.add-subtask-item.js-open-inlined-form
|
||||
i.fa.fa-plus
|
||||
| {{_ 'add-subtask-item'}}...
|
||||
|
||||
template(name='subtaskItemDetail')
|
||||
.js-subtasks-item.subtasks-item
|
||||
if canModifyCard
|
||||
.check-box.materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
.item-title.js-open-inlined-form.is-editable(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
+viewer
|
||||
= item.title
|
||||
else
|
||||
.materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
.item-title(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
+viewer
|
||||
= item.title
|
||||
@@ -0,0 +1,145 @@
|
||||
BlazeComponent.extendComponent({
|
||||
canModifyCard() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
},
|
||||
}).register('subtaskDetail');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
|
||||
addSubtask(event) {
|
||||
event.preventDefault();
|
||||
const textarea = this.find('textarea.js-add-subtask-item');
|
||||
const title = textarea.value.trim();
|
||||
const cardId = this.currentData().cardId;
|
||||
const card = Cards.findOne(cardId);
|
||||
const sortIndex = -1;
|
||||
const crtBoard = Boards.findOne(card.boardId);
|
||||
const targetBoard = crtBoard.getDefaultSubtasksBoard();
|
||||
const listId = targetBoard.getDefaultSubtasksListId();
|
||||
const swimlaneId = targetBoard.getDefaultSwimline()._id;
|
||||
|
||||
if (title) {
|
||||
const _id = Cards.insert({
|
||||
title,
|
||||
parentId: cardId,
|
||||
members: [],
|
||||
labelIds: [],
|
||||
customFields: [],
|
||||
listId,
|
||||
boardId: targetBoard._id,
|
||||
sort: sortIndex,
|
||||
swimlaneId,
|
||||
});
|
||||
|
||||
// In case the filter is active we need to add the newly inserted card in
|
||||
// the list of exceptions -- cards that are not filtered. Otherwise the
|
||||
// card will disappear instantly.
|
||||
// See https://github.com/wekan/wekan/issues/80
|
||||
Filter.addException(_id);
|
||||
|
||||
|
||||
setTimeout(() => {
|
||||
this.$('.add-subtask-item').last().click();
|
||||
}, 100);
|
||||
}
|
||||
textarea.value = '';
|
||||
textarea.focus();
|
||||
},
|
||||
|
||||
canModifyCard() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
},
|
||||
|
||||
deleteSubtask() {
|
||||
const subtask = this.currentData().subtask;
|
||||
if (subtask && subtask._id) {
|
||||
subtask.archive();
|
||||
this.toggleDeleteDialog.set(false);
|
||||
}
|
||||
},
|
||||
|
||||
editSubtask(event) {
|
||||
event.preventDefault();
|
||||
const textarea = this.find('textarea.js-edit-subtask-item');
|
||||
const title = textarea.value.trim();
|
||||
const subtask = this.currentData().subtask;
|
||||
subtask.setTitle(title);
|
||||
},
|
||||
|
||||
onCreated() {
|
||||
this.toggleDeleteDialog = new ReactiveVar(false);
|
||||
this.subtaskToDelete = null; //Store data context to pass to subtaskDeleteDialog template
|
||||
},
|
||||
|
||||
pressKey(event) {
|
||||
//If user press enter key inside a form, submit it
|
||||
//Unless the user is also holding down the 'shift' key
|
||||
if (event.keyCode === 13 && !event.shiftKey) {
|
||||
event.preventDefault();
|
||||
const $form = $(event.currentTarget).closest('form');
|
||||
$form.find('button[type=submit]').click();
|
||||
}
|
||||
},
|
||||
|
||||
events() {
|
||||
const events = {
|
||||
'click .toggle-delete-subtask-dialog'(event) {
|
||||
if($(event.target).hasClass('js-delete-subtask')){
|
||||
this.subtaskToDelete = this.currentData().subtask; //Store data context
|
||||
}
|
||||
this.toggleDeleteDialog.set(!this.toggleDeleteDialog.get());
|
||||
},
|
||||
'click .js-view-subtask'(event) {
|
||||
if($(event.target).hasClass('js-view-subtask')){
|
||||
const subtask = this.currentData().subtask;
|
||||
const board = subtask.board();
|
||||
FlowRouter.go('card', {
|
||||
boardId: board._id,
|
||||
slug: board.slug,
|
||||
cardId: subtask._id,
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
return [{
|
||||
...events,
|
||||
'submit .js-add-subtask': this.addSubtask,
|
||||
'submit .js-edit-subtask-title': this.editSubtask,
|
||||
'click .confirm-subtask-delete': this.deleteSubtask,
|
||||
keydown: this.pressKey,
|
||||
}];
|
||||
},
|
||||
}).register('subtasks');
|
||||
|
||||
Template.subtaskDeleteDialog.onCreated(() => {
|
||||
const $cardDetails = this.$('.card-details');
|
||||
this.scrollState = { position: $cardDetails.scrollTop(), //save current scroll position
|
||||
top: false, //required for smooth scroll animation
|
||||
};
|
||||
//Callback's purpose is to only prevent scrolling after animation is complete
|
||||
$cardDetails.animate({ scrollTop: 0 }, 500, () => { this.scrollState.top = true; });
|
||||
|
||||
//Prevent scrolling while dialog is open
|
||||
$cardDetails.on('scroll', () => {
|
||||
if(this.scrollState.top) { //If it's already in position, keep it there. Otherwise let animation scroll
|
||||
$cardDetails.scrollTop(0);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Template.subtaskDeleteDialog.onDestroyed(() => {
|
||||
const $cardDetails = this.$('.card-details');
|
||||
$cardDetails.off('scroll'); //Reactivate scrolling
|
||||
$cardDetails.animate( { scrollTop: this.scrollState.position });
|
||||
});
|
||||
|
||||
Template.subtaskItemDetail.helpers({
|
||||
canModifyCard() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
// ...
|
||||
}).register('subtaskItemDetail');
|
||||
@@ -0,0 +1,142 @@
|
||||
.js-add-subtask
|
||||
color: #8c8c8c
|
||||
|
||||
textarea.js-add-subtask-item, textarea.js-edit-subtask-item
|
||||
overflow: hidden
|
||||
word-wrap: break-word
|
||||
resize: none
|
||||
height: 34px
|
||||
|
||||
.delete-text
|
||||
color: #8c8c8c
|
||||
text-decoration: underline
|
||||
word-wrap: break-word
|
||||
float: right
|
||||
padding-top: 6px
|
||||
&:hover
|
||||
color: inherit
|
||||
|
||||
.subtask-title
|
||||
.checkbox
|
||||
float: left
|
||||
width: 30px
|
||||
height 30px
|
||||
font-size: 18px
|
||||
line-height: 30px
|
||||
|
||||
.title
|
||||
font-size: 18px
|
||||
line-height: 25px
|
||||
|
||||
.subtasks-stat
|
||||
margin: 0 0.5em
|
||||
float: right
|
||||
padding-top: 6px
|
||||
&.is-finished
|
||||
color: #3cb500
|
||||
|
||||
.js-delete-subtask
|
||||
@extends .delete-text
|
||||
margin: 0 0.5em
|
||||
|
||||
.js-view-subtask
|
||||
@extends .delete-text
|
||||
|
||||
.js-confirm-subtask-delete
|
||||
background-color: darken(white, 3%)
|
||||
position: absolute
|
||||
float: left;
|
||||
width: 60%
|
||||
margin-top: 0
|
||||
margin-left: 13%
|
||||
padding-bottom: 2%
|
||||
padding-left: 3%
|
||||
padding-right: 3%
|
||||
z-index: 17
|
||||
border-radius: 3px
|
||||
|
||||
p
|
||||
position: relative
|
||||
margin-top: 3%
|
||||
width: 100%
|
||||
text-align: center
|
||||
span
|
||||
font-weight: bold
|
||||
|
||||
i
|
||||
font-size: 2em
|
||||
|
||||
.js-subtask-delete-buttons
|
||||
position: relative
|
||||
padding: left 2% right 2%
|
||||
.confirm-subtask-delete
|
||||
margin-left: 12%
|
||||
float: left
|
||||
.toggle-delete-subtask-dialog
|
||||
margin-right: 12%
|
||||
float: right
|
||||
|
||||
#card-details-overlay
|
||||
top: 0
|
||||
bottom: -600px
|
||||
right: 0
|
||||
|
||||
.subtasks
|
||||
background: darken(white, 3%)
|
||||
|
||||
&.placeholder
|
||||
background: darken(white, 20%)
|
||||
border-radius: 2px
|
||||
|
||||
&.ui-sortable-helper
|
||||
box-shadow: -2px 2px 8px rgba(0, 0, 0, .3),
|
||||
0 0 1px rgba(0, 0, 0, .5)
|
||||
transform: rotate(4deg)
|
||||
cursor: grabbing
|
||||
|
||||
|
||||
.subtasks-item
|
||||
margin: 0 0 0 0.1em
|
||||
line-height: 18px
|
||||
font-size: 1.1em
|
||||
margin-top: 3px
|
||||
display: flex
|
||||
background: darken(white, 3%)
|
||||
|
||||
&.placeholder
|
||||
background: darken(white, 20%)
|
||||
border-radius: 2px
|
||||
|
||||
&.ui-sortable-helper
|
||||
box-shadow: -2px 2px 8px rgba(0, 0, 0, .3),
|
||||
0 0 1px rgba(0, 0, 0, .5)
|
||||
transform: rotate(4deg)
|
||||
cursor: grabbing
|
||||
|
||||
&:hover
|
||||
background-color: darken(white, 8%)
|
||||
|
||||
.check-box
|
||||
margin: 0.1em 0 0 0;
|
||||
&.is-checked
|
||||
border-bottom: 2px solid #3cb500
|
||||
border-right: 2px solid #3cb500
|
||||
|
||||
.item-title
|
||||
flex: 1
|
||||
padding-left: 10px;
|
||||
&.is-checked
|
||||
color: #8c8c8c
|
||||
font-style: italic
|
||||
& .viewer
|
||||
p
|
||||
margin-bottom: 2px
|
||||
|
||||
.js-delete-subtask-item
|
||||
margin: 0 0 0.5em 1.33em
|
||||
@extends .delete-text
|
||||
padding: 12px 0 0 0
|
||||
|
||||
.add-subtask-item
|
||||
margin: 0.2em 0 0.5em 1.33em
|
||||
display: inline-block
|
||||
@@ -0,0 +1,15 @@
|
||||
template(name="datepicker")
|
||||
.datepicker-container
|
||||
form.edit-date
|
||||
.fields
|
||||
.left
|
||||
label(for="date") {{_ 'date'}}
|
||||
input.js-date-field#date(type="text" name="date" value=showDate placeholder=dateFormat autofocus)
|
||||
.right
|
||||
label(for="time") {{_ 'time'}}
|
||||
input.js-time-field#time(type="text" name="time" value=showTime placeholder=timeFormat)
|
||||
.js-datepicker
|
||||
if error.get
|
||||
.warning {{_ error.get}}
|
||||
button.primary.wide.left.js-submit-date(type="submit") {{_ 'save'}}
|
||||
button.js-delete-date.negate.wide.right.js-delete-date {{_ 'delete'}}
|
||||
@@ -0,0 +1,17 @@
|
||||
.datepicker-container
|
||||
.fields
|
||||
.left
|
||||
width: 56%
|
||||
.right
|
||||
width: 38%
|
||||
.datepicker
|
||||
width: 100%
|
||||
table
|
||||
width: 100%
|
||||
border: none
|
||||
border-spacing: 0
|
||||
border-collapse: collapse
|
||||
thead
|
||||
background: none
|
||||
td, th
|
||||
box-sizing: border-box
|
||||
@@ -85,6 +85,9 @@ select
|
||||
width: 256px
|
||||
margin-bottom: 8px
|
||||
|
||||
&.inline
|
||||
width: 100%
|
||||
|
||||
option[disabled]
|
||||
color: #8c8c8c
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const { calculateIndex } = Utils;
|
||||
const { calculateIndex, enableClickOnTouch } = Utils;
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
// Proxy
|
||||
@@ -83,6 +83,9 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
});
|
||||
|
||||
// ugly touch event hotfix
|
||||
enableClickOnTouch(itemsSelector);
|
||||
|
||||
// Disable drag-dropping if the current user is not a board member or is comment only
|
||||
this.autorun(() => {
|
||||
$cards.sortable('option', 'disabled', !userIsMember());
|
||||
|
||||
@@ -35,22 +35,24 @@ BlazeComponent.extendComponent({
|
||||
|
||||
const members = formComponent.members.get();
|
||||
const labelIds = formComponent.labels.get();
|
||||
const customFields = formComponent.customFields.get();
|
||||
|
||||
const boardId = this.data().board()._id;
|
||||
const board = Boards.findOne(boardId);
|
||||
const boardId = this.data().board();
|
||||
let swimlaneId = '';
|
||||
if (board.view === 'board-view-swimlanes')
|
||||
const boardView = Meteor.user().profile.boardView;
|
||||
if (boardView === 'board-view-swimlanes')
|
||||
swimlaneId = this.parentComponent().parentComponent().data()._id;
|
||||
else
|
||||
swimlaneId = Swimlanes.findOne({boardId})._id;
|
||||
else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal'))
|
||||
swimlaneId = boardId.getDefaultSwimline()._id;
|
||||
|
||||
if (title) {
|
||||
const _id = Cards.insert({
|
||||
title,
|
||||
members,
|
||||
labelIds,
|
||||
customFields,
|
||||
listId: this.data()._id,
|
||||
boardId: this.data().board()._id,
|
||||
boardId: boardId._id,
|
||||
sort: sortIndex,
|
||||
swimlaneId,
|
||||
});
|
||||
@@ -106,8 +108,8 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
idOrNull(swimlaneId) {
|
||||
const board = Boards.findOne(Session.get('currentBoard'));
|
||||
if (board.view === 'board-view-swimlanes')
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser.profile.boardView === 'board-view-swimlanes')
|
||||
return swimlaneId;
|
||||
return undefined;
|
||||
},
|
||||
@@ -146,11 +148,13 @@ BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.labels = new ReactiveVar([]);
|
||||
this.members = new ReactiveVar([]);
|
||||
this.customFields = new ReactiveVar([]);
|
||||
},
|
||||
|
||||
reset() {
|
||||
this.labels.set([]);
|
||||
this.members.set([]);
|
||||
this.customFields.set([]);
|
||||
},
|
||||
|
||||
getLabels() {
|
||||
|
||||
@@ -16,8 +16,8 @@ template(name="listHeader")
|
||||
|
||||
if showCardsCountForList cards.count
|
||||
= cards.count
|
||||
span.lowercase
|
||||
| {{_ 'cards'}}
|
||||
span
|
||||
| {{_ 'cards-count'}}
|
||||
if isMiniScreen
|
||||
if currentList
|
||||
if isWatching
|
||||
|
||||
@@ -28,14 +28,15 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
showCardsCountForList(count) {
|
||||
return count > this.limitToShowCardsCount();
|
||||
const limit = this.limitToShowCardsCount();
|
||||
return limit > 0 && count > limit;
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'click .js-open-list-menu': Popup.open('listAction'),
|
||||
'click .js-add-card' () {
|
||||
const listDom = document.getElementById(`js-list-${this.currentData()._id}`);
|
||||
'click .js-add-card' (evt) {
|
||||
const listDom = $(evt.target).parents(`#js-list-${this.currentData()._id}`)[0];
|
||||
const listComponent = BlazeComponent.getComponentForElement(listDom);
|
||||
listComponent.openForm({
|
||||
position: 'top',
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
BlazeComponent.extendComponent({
|
||||
currentCardIsInThisList(listId, swimlaneId) {
|
||||
const currentCard = Cards.findOne(Session.get('currentCard'));
|
||||
const currentBoardId = Session.get('currentBoard');
|
||||
const board = Boards.findOne(currentBoardId);
|
||||
if (board.view === 'board-view-lists')
|
||||
return currentCard && currentCard.listId === listId;
|
||||
else if (board.view === 'board-view-swimlanes')
|
||||
return currentCard && currentCard.listId === listId && currentCard.swimlaneId === swimlaneId;
|
||||
else
|
||||
return false;
|
||||
},
|
||||
}).register('listsGroup');
|
||||
@@ -29,13 +29,12 @@
|
||||
font-size: 0.9em
|
||||
margin-right: 10px
|
||||
|
||||
|
||||
.wekan-logo
|
||||
display: block
|
||||
margin: 3px auto 0
|
||||
margin: 3px auto auto
|
||||
width: 97px
|
||||
opacity: 0.6
|
||||
transition: opacity 0.15s
|
||||
float: right
|
||||
|
||||
&:hover
|
||||
opacity: 0.9
|
||||
@@ -219,7 +218,7 @@
|
||||
position: absolute
|
||||
right: 0px
|
||||
padding: 10px
|
||||
margin: -10px
|
||||
margin: -10px 0 -10px -10px
|
||||
|
||||
.announcement,
|
||||
.offline-warning
|
||||
|
||||
@@ -17,6 +17,9 @@ template(name="userFormsLayout")
|
||||
img(src="{{pathFor '/wekan-logo.png'}}" alt="Wekan")
|
||||
section.auth-dialog
|
||||
+Template.dynamic(template=content)
|
||||
if isCas
|
||||
.at-form
|
||||
button#cas(class='at-btn submit' type='submit') {{casSignInLabel}}
|
||||
div.at-form-lang
|
||||
select.select-lang.js-userform-set-language
|
||||
each languages
|
||||
|
||||
@@ -39,6 +39,16 @@ Template.userFormsLayout.helpers({
|
||||
const curLang = T9n.getLanguage() || 'en';
|
||||
return t9nTag === curLang;
|
||||
},
|
||||
|
||||
isCas() {
|
||||
return Meteor.settings.public &&
|
||||
Meteor.settings.public.cas &&
|
||||
Meteor.settings.public.cas.loginUrl;
|
||||
},
|
||||
|
||||
casSignInLabel() {
|
||||
return TAPi18n.__('casSignIn', {}, T9n.getLanguage() || 'en');
|
||||
},
|
||||
});
|
||||
|
||||
Template.userFormsLayout.events({
|
||||
@@ -47,6 +57,13 @@ Template.userFormsLayout.events({
|
||||
T9n.setLanguage(i18nTagToT9n(i18nTag));
|
||||
evt.preventDefault();
|
||||
},
|
||||
'click button#cas'() {
|
||||
Meteor.loginWithCas(function() {
|
||||
if (FlowRouter.getRouteName() === 'atSignIn') {
|
||||
FlowRouter.go('/');
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
Template.defaultLayout.events({
|
||||
|
||||
@@ -33,6 +33,9 @@ $popupWidth = 300px
|
||||
textarea
|
||||
height: 72px
|
||||
|
||||
form a span
|
||||
padding: 0 0.5rem
|
||||
|
||||
.header
|
||||
height: 36px
|
||||
position: relative
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
const { isTouchDevice } = Utils;
|
||||
|
||||
Mixins.PerfectScrollbar = BlazeComponent.extendComponent({
|
||||
onRendered() {
|
||||
const component = this.mixinParent();
|
||||
const domElement = component.find('.js-perfect-scrollbar');
|
||||
Ps.initialize(domElement);
|
||||
if (!isTouchDevice()) {
|
||||
const component = this.mixinParent();
|
||||
const domElement = component.find('.js-perfect-scrollbar');
|
||||
Ps.initialize(domElement);
|
||||
|
||||
// XXX We should create an event map to be consistent with other components
|
||||
// but since BlazeComponent doesn't merge Mixins events transparently I
|
||||
// prefered to use a jQuery event (which is what an event map ends up doing)
|
||||
component.$(domElement).on('mouseenter', () => Ps.update(domElement));
|
||||
// XXX We should create an event map to be consistent with other components
|
||||
// but since BlazeComponent doesn't merge Mixins events transparently I
|
||||
// prefered to use a jQuery event (which is what an event map ends up doing)
|
||||
component.$(domElement).on('mouseenter', () => Ps.update(domElement));
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -1,6 +1,13 @@
|
||||
Template.invitationCode.onRendered(() => {
|
||||
const setting = Settings.findOne();
|
||||
if (setting || setting.disableRegistration) {
|
||||
$('#invitationcode').hide();
|
||||
}
|
||||
Template.invitationCode.onRendered(function() {
|
||||
Meteor.subscribe('setting', {
|
||||
onReady() {
|
||||
const setting = Settings.findOne();
|
||||
|
||||
if (!setting || !setting.disableRegistration) {
|
||||
$('#invitationcode').hide();
|
||||
}
|
||||
|
||||
return this.stop();
|
||||
},
|
||||
});
|
||||
});
|
||||
@@ -2,9 +2,9 @@
|
||||
overflow: scroll;
|
||||
|
||||
table
|
||||
font-family: arial, sans-serif;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
color: #000;
|
||||
|
||||
td, th
|
||||
border: 1px solid #d2d0d0;
|
||||
|
||||
@@ -55,52 +55,26 @@ template(name="general")
|
||||
|
||||
template(name='email')
|
||||
ul#email-setting.setting-detail
|
||||
li.smtp-form
|
||||
.title {{_ 'smtp-host'}}
|
||||
.description {{_ 'smtp-host-description'}}
|
||||
.form-group
|
||||
input.form-control#mail-server-host(type="text", placeholder="smtp.domain.com" value="{{currentSetting.mailServer.host}}")
|
||||
li.smtp-form
|
||||
.title {{_ 'smtp-port'}}
|
||||
.description {{_ 'smtp-port-description'}}
|
||||
.form-group
|
||||
input.form-control#mail-server-port(type="text", placeholder="25" value="{{currentSetting.mailServer.port}}")
|
||||
li.smtp-form
|
||||
.title {{_ 'smtp-username'}}
|
||||
.form-group
|
||||
input.form-control#mail-server-username(type="text", placeholder="{{_ 'username'}}" value="{{currentSetting.mailServer.username}}")
|
||||
li.smtp-form
|
||||
.title {{_ 'smtp-password'}}
|
||||
.form-group
|
||||
input.form-control#mail-server-password(type="text", placeholder="{{_ 'password'}}" value="{{currentSetting.mailServer.password}}")
|
||||
li.smtp-form
|
||||
.title {{_ 'smtp-tls'}}
|
||||
.form-group
|
||||
a.flex.js-toggle-tls
|
||||
.materialCheckBox#mail-server-tls(class="{{#if currentSetting.mailServer.enableTLS}}is-checked{{/if}}")
|
||||
|
||||
span {{_ 'smtp-tls-description'}}
|
||||
|
||||
li.smtp-form
|
||||
.title {{_ 'send-from'}}
|
||||
.form-group
|
||||
input.form-control#mail-server-from(type="email", placeholder="no-reply@domain.com" value="{{currentSetting.mailServer.from}}")
|
||||
|
||||
li
|
||||
button.js-save.primary {{_ 'save'}}
|
||||
|
||||
li
|
||||
button.js-send-smtp-test-email.primary {{_ 'send-smtp-test'}}
|
||||
|
||||
template(name='accountSettings')
|
||||
ul#account-setting.setting-detail
|
||||
li.smtp-form
|
||||
li.accounts-form
|
||||
.title {{_ 'accounts-allowEmailChange'}}
|
||||
.form-group.flex
|
||||
input.form-control#accounts-allowEmailChange(type="radio" name="allowEmailChange" value="true" checked="{{#if allowEmailChange}}checked{{/if}}")
|
||||
span {{_ 'yes'}}
|
||||
input.form-control#accounts-allowEmailChange(type="radio" name="allowEmailChange" value="false" checked="{{#unless allowEmailChange}}checked{{/unless}}")
|
||||
span {{_ 'no'}}
|
||||
li
|
||||
li.accounts-form
|
||||
.title {{_ 'accounts-allowUserNameChange'}}
|
||||
.form-group.flex
|
||||
input.form-control#accounts-allowUserNameChange(type="radio" name="allowUserNameChange" value="true" checked="{{#if allowUserNameChange}}checked{{/if}}")
|
||||
span {{_ 'yes'}}
|
||||
input.form-control#accounts-allowUserNameChange(type="radio" name="allowUserNameChange" value="false" checked="{{#unless allowUserNameChange}}checked{{/unless}}")
|
||||
span {{_ 'no'}}
|
||||
li
|
||||
button.js-accounts-save.primary {{_ 'save'}}
|
||||
|
||||
|
||||
@@ -20,18 +20,18 @@ BlazeComponent.extendComponent({
|
||||
setLoading(w) {
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
/*
|
||||
checkField(selector) {
|
||||
const value = $(selector).val();
|
||||
if(!value || value.trim() === ''){
|
||||
if (!value || value.trim() === '') {
|
||||
$(selector).parents('li.smtp-form').addClass('has-error');
|
||||
throw Error('blank field');
|
||||
} else {
|
||||
return value;
|
||||
}
|
||||
},
|
||||
|
||||
currentSetting(){
|
||||
*/
|
||||
currentSetting() {
|
||||
return Settings.findOne();
|
||||
},
|
||||
|
||||
@@ -44,23 +44,25 @@ BlazeComponent.extendComponent({
|
||||
sort: ['title'],
|
||||
});
|
||||
},
|
||||
toggleRegistration(){
|
||||
toggleRegistration() {
|
||||
this.setLoading(true);
|
||||
const registrationClosed = this.currentSetting().disableRegistration;
|
||||
Settings.update(Settings.findOne()._id, {$set:{disableRegistration: !registrationClosed}});
|
||||
Settings.update(Settings.findOne()._id, {$set: {disableRegistration: !registrationClosed}});
|
||||
this.setLoading(false);
|
||||
if(registrationClosed){
|
||||
if (registrationClosed) {
|
||||
$('.invite-people').slideUp();
|
||||
}else{
|
||||
} else {
|
||||
$('.invite-people').slideDown();
|
||||
}
|
||||
},
|
||||
toggleTLS(){
|
||||
/*
|
||||
toggleTLS() {
|
||||
$('#mail-server-tls').toggleClass('is-checked');
|
||||
},
|
||||
switchMenu(event){
|
||||
*/
|
||||
switchMenu(event) {
|
||||
const target = $(event.target);
|
||||
if(!target.hasClass('active')){
|
||||
if (!target.hasClass('active')) {
|
||||
$('.side-menu li.active').removeClass('active');
|
||||
target.parent().addClass('active');
|
||||
const targetID = target.data('id');
|
||||
@@ -71,9 +73,9 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
},
|
||||
|
||||
checkBoard(event){
|
||||
checkBoard(event) {
|
||||
let target = $(event.target);
|
||||
if(!target.hasClass('js-toggle-board-choose')){
|
||||
if (!target.hasClass('js-toggle-board-choose')) {
|
||||
target = target.parent();
|
||||
}
|
||||
const checkboxId = target.attr('id');
|
||||
@@ -81,7 +83,7 @@ BlazeComponent.extendComponent({
|
||||
$(`#${checkboxId}`).toggleClass('is-checked');
|
||||
},
|
||||
|
||||
inviteThroughEmail(){
|
||||
inviteThroughEmail() {
|
||||
const emails = $('#email-to-invite').val().trim().split('\n').join(',').split(',');
|
||||
const boardsToInvite = [];
|
||||
$('.js-toggle-board-choose .materialCheckBox.is-checked').each(function () {
|
||||
@@ -99,24 +101,30 @@ BlazeComponent.extendComponent({
|
||||
// if (!err) {
|
||||
// TODO - show more info to user
|
||||
// }
|
||||
|
||||
this.setLoading(false);
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
saveMailServerInfo(){
|
||||
/*
|
||||
saveMailServerInfo() {
|
||||
this.setLoading(true);
|
||||
$('li').removeClass('has-error');
|
||||
|
||||
try{
|
||||
try {
|
||||
const host = this.checkField('#mail-server-host');
|
||||
const port = this.checkField('#mail-server-port');
|
||||
const username = $('#mail-server-username').val().trim();
|
||||
const password = $('#mail-server-password').val().trim();
|
||||
const from = this.checkField('#mail-server-from');
|
||||
const tls = $('#mail-server-tls.is-checked').length > 0;
|
||||
Settings.update(Settings.findOne()._id, {$set:{'mailServer.host':host, 'mailServer.port': port, 'mailServer.username': username,
|
||||
'mailServer.password': password, 'mailServer.enableTLS': tls, 'mailServer.from': from}});
|
||||
Settings.update(Settings.findOne()._id, {
|
||||
$set: {
|
||||
'mailServer.host': host, 'mailServer.port': port, 'mailServer.username': username,
|
||||
'mailServer.password': password, 'mailServer.enableTLS': tls, 'mailServer.from': from,
|
||||
},
|
||||
});
|
||||
} catch (e) {
|
||||
return;
|
||||
} finally {
|
||||
@@ -124,7 +132,7 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
*/
|
||||
sendSMTPTestEmail() {
|
||||
Meteor.call('sendSMTPTestEmail', (err, ret) => {
|
||||
if (!err && ret) { /* eslint-disable no-console */
|
||||
@@ -136,38 +144,51 @@ BlazeComponent.extendComponent({
|
||||
const message = `${TAPi18n.__(err.error)}\n${reason}`;
|
||||
console.log(message, err);
|
||||
alert(message);
|
||||
} /* eslint-enable no-console */
|
||||
}
|
||||
/* eslint-enable no-console */
|
||||
});
|
||||
},
|
||||
|
||||
events(){
|
||||
events() {
|
||||
return [{
|
||||
'click a.js-toggle-registration': this.toggleRegistration,
|
||||
/*
|
||||
'click a.js-toggle-tls': this.toggleTLS,
|
||||
*/
|
||||
'click a.js-setting-menu': this.switchMenu,
|
||||
'click a.js-toggle-board-choose': this.checkBoard,
|
||||
'click button.js-email-invite': this.inviteThroughEmail,
|
||||
/*
|
||||
'click button.js-save': this.saveMailServerInfo,
|
||||
*/
|
||||
'click button.js-send-smtp-test-email': this.sendSMTPTestEmail,
|
||||
}];
|
||||
},
|
||||
}).register('setting');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
saveAllowEmailChange() {
|
||||
|
||||
saveAccountsChange() {
|
||||
const allowEmailChange = ($('input[name=allowEmailChange]:checked').val() === 'true');
|
||||
const allowUserNameChange = ($('input[name=allowUserNameChange]:checked').val() === 'true');
|
||||
AccountSettings.update('accounts-allowEmailChange', {
|
||||
$set: { 'booleanValue': allowEmailChange },
|
||||
$set: {'booleanValue': allowEmailChange},
|
||||
});
|
||||
AccountSettings.update('accounts-allowUserNameChange', {
|
||||
$set: {'booleanValue': allowUserNameChange},
|
||||
});
|
||||
},
|
||||
|
||||
allowEmailChange() {
|
||||
return AccountSettings.findOne('accounts-allowEmailChange').booleanValue;
|
||||
},
|
||||
allowUserNameChange() {
|
||||
return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'click button.js-accounts-save': this.saveAllowEmailChange,
|
||||
'click button.js-accounts-save': this.saveAccountsChange,
|
||||
}];
|
||||
},
|
||||
}).register('accountSettings');
|
||||
@@ -181,27 +202,27 @@ BlazeComponent.extendComponent({
|
||||
this.loading.set(w);
|
||||
},
|
||||
|
||||
currentSetting(){
|
||||
currentSetting() {
|
||||
return Announcements.findOne();
|
||||
},
|
||||
|
||||
saveMessage() {
|
||||
const message = $('#admin-announcement').val().trim();
|
||||
Announcements.update(Announcements.findOne()._id, {
|
||||
$set: { 'body': message },
|
||||
$set: {'body': message},
|
||||
});
|
||||
},
|
||||
|
||||
toggleActive(){
|
||||
toggleActive() {
|
||||
this.setLoading(true);
|
||||
const isActive = this.currentSetting().enabled;
|
||||
Announcements.update(Announcements.findOne()._id, {
|
||||
$set:{ 'enabled': !isActive},
|
||||
$set: {'enabled': !isActive},
|
||||
});
|
||||
this.setLoading(false);
|
||||
if(isActive){
|
||||
if (isActive) {
|
||||
$('.admin-announcement').slideUp();
|
||||
}else{
|
||||
} else {
|
||||
$('.admin-announcement').slideDown();
|
||||
}
|
||||
},
|
||||
|
||||
@@ -22,4 +22,4 @@
|
||||
+ span
|
||||
display: inline-block
|
||||
margin-top: 1px
|
||||
margin-right: 10px
|
||||
margin-right: 10px
|
||||
@@ -6,6 +6,7 @@ const viewTitles = {
|
||||
filter: 'filter-cards',
|
||||
search: 'search-cards',
|
||||
multiselection: 'multi-selection',
|
||||
customFields: 'custom-fields',
|
||||
archives: 'archives',
|
||||
};
|
||||
|
||||
|
||||
@@ -45,28 +45,45 @@
|
||||
display: flex
|
||||
flex-direction: column
|
||||
|
||||
li > a
|
||||
display: flex
|
||||
height: 30px
|
||||
margin: 0
|
||||
padding: 4px
|
||||
border-radius: 3px
|
||||
align-items: center
|
||||
li
|
||||
& > a
|
||||
display: flex
|
||||
height: 30px
|
||||
margin: 0
|
||||
padding: 4px
|
||||
border-radius: 3px
|
||||
align-items: center
|
||||
|
||||
&:hover
|
||||
&, i, .quiet
|
||||
color white
|
||||
&:hover
|
||||
&, i, .quiet
|
||||
color white
|
||||
|
||||
.member, .card-label
|
||||
margin-right: 7px
|
||||
margin-top: 5px
|
||||
.member, .card-label
|
||||
margin-right: 7px
|
||||
margin-top: 5px
|
||||
|
||||
.sidebar-list-item-description
|
||||
flex: 1
|
||||
overflow: ellipsis
|
||||
.minicard-edit-button
|
||||
float: right
|
||||
padding: 8px
|
||||
border-radius: 3px
|
||||
|
||||
.fa.fa-check
|
||||
margin: 0 4px
|
||||
.sidebar-list-item-description
|
||||
flex: 1
|
||||
overflow: ellipsis
|
||||
|
||||
.fa.fa-check
|
||||
margin: 0 4px
|
||||
|
||||
.minicard
|
||||
padding: 6px 8px 4px
|
||||
|
||||
.minicard-edit-button
|
||||
float: right
|
||||
padding: 4px
|
||||
border-radius: 3px
|
||||
|
||||
&:hover
|
||||
background: #dbdbdb
|
||||
|
||||
.sidebar-btn
|
||||
display: block
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
template(name="customFieldsSidebar")
|
||||
ul.sidebar-list
|
||||
each customFields
|
||||
li
|
||||
div.minicard-wrapper.js-minicard
|
||||
div.minicard
|
||||
a.fa.fa-pencil.js-edit-custom-field.minicard-edit-button
|
||||
div.minicard-title
|
||||
| {{ name }} ({{ type }})
|
||||
|
||||
if currentUser.isBoardMember
|
||||
hr
|
||||
a.sidebar-btn.js-open-create-custom-field
|
||||
i.fa.fa-plus
|
||||
span {{_ 'createCustomField'}}
|
||||
|
||||
template(name="createCustomFieldPopup")
|
||||
form
|
||||
label
|
||||
| {{_ 'name'}}
|
||||
unless _id
|
||||
input.js-field-name(type="text" autofocus)
|
||||
else
|
||||
input.js-field-name(type="text" value=name)
|
||||
|
||||
label
|
||||
| {{_ 'type'}}
|
||||
select.js-field-type(disabled="{{#if _id}}disabled{{/if}}")
|
||||
each types
|
||||
if selected
|
||||
option(value=value selected="selected") {{name}}
|
||||
else
|
||||
option(value=value) {{name}}
|
||||
div.js-field-settings.js-field-settings-dropdown(class="{{#if isTypeNotSelected 'dropdown'}}hide{{/if}}")
|
||||
label
|
||||
| {{_ 'custom-field-dropdown-options'}}
|
||||
each dropdownItems.get
|
||||
input.js-dropdown-item(type="text" value=name placeholder="")
|
||||
input.js-dropdown-item.last(type="text" value="" placeholder="{{_ 'custom-field-dropdown-options-placeholder'}}")
|
||||
a.flex.js-field-show-on-card(class="{{#if showOnCard}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if showOnCard}}is-checked{{/if}}")
|
||||
|
||||
span {{_ 'show-field-on-card'}}
|
||||
button.primary.wide.left(type="button")
|
||||
| {{_ 'save'}}
|
||||
if _id
|
||||
button.negate.wide.right.js-delete-custom-field(type="button")
|
||||
| {{_ 'delete'}}
|
||||
|
||||
template(name="deleteCustomFieldPopup")
|
||||
p {{_ "custom-field-delete-pop"}}
|
||||
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
|
||||
@@ -0,0 +1,131 @@
|
||||
BlazeComponent.extendComponent({
|
||||
|
||||
customFields() {
|
||||
return CustomFields.find({
|
||||
boardId: Session.get('currentBoard'),
|
||||
});
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'click .js-open-create-custom-field': Popup.open('createCustomField'),
|
||||
'click .js-edit-custom-field': Popup.open('editCustomField'),
|
||||
}];
|
||||
},
|
||||
|
||||
}).register('customFieldsSidebar');
|
||||
|
||||
const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
||||
|
||||
_types: ['text', 'number', 'date', 'dropdown'],
|
||||
|
||||
onCreated() {
|
||||
this.type = new ReactiveVar((this.data().type) ? this.data().type : this._types[0]);
|
||||
this.dropdownItems = new ReactiveVar((this.data().settings && this.data().settings.dropdownItems) ? this.data().settings.dropdownItems : []);
|
||||
},
|
||||
|
||||
types() {
|
||||
const currentType = this.data().type;
|
||||
return this._types.
|
||||
map((type) => {return {
|
||||
value: type,
|
||||
name: TAPi18n.__(`custom-field-${type}`),
|
||||
selected: type === currentType,
|
||||
};});
|
||||
},
|
||||
|
||||
isTypeNotSelected(type) {
|
||||
return this.type.get() !== type;
|
||||
},
|
||||
|
||||
getDropdownItems() {
|
||||
const items = this.dropdownItems.get();
|
||||
Array.from(this.findAll('.js-field-settings-dropdown input')).forEach((el, index) => {
|
||||
//console.log('each item!', index, el.value);
|
||||
if (!items[index]) items[index] = {
|
||||
_id: Random.id(6),
|
||||
};
|
||||
items[index].name = el.value.trim();
|
||||
});
|
||||
return items;
|
||||
},
|
||||
|
||||
getSettings() {
|
||||
const settings = {};
|
||||
switch (this.type.get()) {
|
||||
case 'dropdown': {
|
||||
const dropdownItems = this.getDropdownItems().filter((item) => !!item.name.trim());
|
||||
settings.dropdownItems = dropdownItems;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return settings;
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'change .js-field-type'(evt) {
|
||||
const value = evt.target.value;
|
||||
this.type.set(value);
|
||||
},
|
||||
'keydown .js-dropdown-item.last'(evt) {
|
||||
if (evt.target.value.trim() && evt.keyCode === 13) {
|
||||
const items = this.getDropdownItems();
|
||||
this.dropdownItems.set(items);
|
||||
evt.target.value = '';
|
||||
}
|
||||
},
|
||||
'click .js-field-show-on-card'(evt) {
|
||||
let $target = $(evt.target);
|
||||
if(!$target.hasClass('js-field-show-on-card')){
|
||||
$target = $target.parent();
|
||||
}
|
||||
$target.find('.materialCheckBox').toggleClass('is-checked');
|
||||
$target.toggleClass('is-checked');
|
||||
},
|
||||
'click .primary'(evt) {
|
||||
evt.preventDefault();
|
||||
|
||||
const data = {
|
||||
boardId: Session.get('currentBoard'),
|
||||
name: this.find('.js-field-name').value.trim(),
|
||||
type: this.type.get(),
|
||||
settings: this.getSettings(),
|
||||
showOnCard: this.find('.js-field-show-on-card.is-checked') !== null,
|
||||
};
|
||||
|
||||
// insert or update
|
||||
if (!this.data()._id) {
|
||||
CustomFields.insert(data);
|
||||
} else {
|
||||
CustomFields.update(this.data()._id, {$set: data});
|
||||
}
|
||||
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-delete-custom-field': Popup.afterConfirm('deleteCustomField', function() {
|
||||
const customFieldId = this._id;
|
||||
CustomFields.remove(customFieldId);
|
||||
Popup.close();
|
||||
}),
|
||||
}];
|
||||
},
|
||||
|
||||
});
|
||||
CreateCustomFieldPopup.register('createCustomFieldPopup');
|
||||
|
||||
(class extends CreateCustomFieldPopup {
|
||||
|
||||
template() {
|
||||
return 'createCustomFieldPopup';
|
||||
}
|
||||
|
||||
}).register('editCustomFieldPopup');
|
||||
|
||||
/*Template.deleteCustomFieldPopup.events({
|
||||
'submit'(evt) {
|
||||
const customFieldId = this._id;
|
||||
CustomFields.remove(customFieldId);
|
||||
Popup.close();
|
||||
}
|
||||
});*/
|
||||
@@ -40,6 +40,25 @@ template(name="filterSidebar")
|
||||
| (<span class="username">{{ username }}</span>)
|
||||
if Filter.members.isSelected _id
|
||||
i.fa.fa-check
|
||||
hr
|
||||
ul.sidebar-list
|
||||
li(class="{{#if Filter.customFields.isSelected undefined}}active{{/if}}")
|
||||
a.name.js-toggle-custom-fields-filter
|
||||
span.sidebar-list-item-description
|
||||
| {{_ 'filter-no-custom-fields'}}
|
||||
if Filter.customFields.isSelected undefined
|
||||
i.fa.fa-check
|
||||
each currentBoard.customFields
|
||||
li(class="{{#if Filter.customFields.isSelected _id}}active{{/if}}")
|
||||
a.name.js-toggle-custom-fields-filter
|
||||
span.sidebar-list-item-description
|
||||
| {{ name }}
|
||||
if Filter.customFields.isSelected _id
|
||||
i.fa.fa-check
|
||||
hr
|
||||
span {{_ 'advanced-filter-label'}}
|
||||
input.js-field-advanced-filter(type="text")
|
||||
span {{_ 'advanced-filter-description'}}
|
||||
if Filter.isActive
|
||||
hr
|
||||
a.sidebar-btn.js-clear-all
|
||||
|
||||
@@ -11,6 +11,16 @@ BlazeComponent.extendComponent({
|
||||
Filter.members.toggle(this.currentData()._id);
|
||||
Filter.resetExceptions();
|
||||
},
|
||||
'click .js-toggle-custom-fields-filter'(evt) {
|
||||
evt.preventDefault();
|
||||
Filter.customFields.toggle(this.currentData()._id);
|
||||
Filter.resetExceptions();
|
||||
},
|
||||
'change .js-field-advanced-filter'(evt) {
|
||||
evt.preventDefault();
|
||||
Filter.advanced.set(this.find('.js-field-advanced-filter').value.trim());
|
||||
Filter.resetExceptions();
|
||||
},
|
||||
'click .js-clear-all'(evt) {
|
||||
evt.preventDefault();
|
||||
Filter.reset();
|
||||
|
||||
@@ -1,4 +1,88 @@
|
||||
const { calculateIndex } = Utils;
|
||||
const { calculateIndex, enableClickOnTouch } = Utils;
|
||||
|
||||
function currentCardIsInThisList(listId, swimlaneId) {
|
||||
const currentCard = Cards.findOne(Session.get('currentCard'));
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser.profile.boardView === 'board-view-lists')
|
||||
return currentCard && currentCard.listId === listId;
|
||||
else if (currentUser.profile.boardView === 'board-view-swimlanes')
|
||||
return currentCard && currentCard.listId === listId && currentCard.swimlaneId === swimlaneId;
|
||||
else if (currentUser.profile.boardView === 'board-view-cal')
|
||||
return currentCard;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
function initSortable(boardComponent, $listsDom) {
|
||||
// We want to animate the card details window closing. We rely on CSS
|
||||
// transition for the actual animation.
|
||||
$listsDom._uihooks = {
|
||||
removeElement(node) {
|
||||
const removeNode = _.once(() => {
|
||||
node.parentNode.removeChild(node);
|
||||
});
|
||||
if ($(node).hasClass('js-card-details')) {
|
||||
$(node).css({
|
||||
flexBasis: 0,
|
||||
padding: 0,
|
||||
});
|
||||
$listsDom.one(CSSEvents.transitionend, removeNode);
|
||||
} else {
|
||||
removeNode();
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
$listsDom.sortable({
|
||||
tolerance: 'pointer',
|
||||
helper: 'clone',
|
||||
handle: '.js-list-header',
|
||||
items: '.js-list:not(.js-list-composer)',
|
||||
placeholder: 'list placeholder',
|
||||
distance: 7,
|
||||
start(evt, ui) {
|
||||
ui.placeholder.height(ui.helper.height());
|
||||
EscapeActions.executeUpTo('popup-close');
|
||||
boardComponent.setIsDragging(true);
|
||||
},
|
||||
stop(evt, ui) {
|
||||
// To attribute the new index number, we need to get the DOM element
|
||||
// of the previous and the following card -- if any.
|
||||
const prevListDom = ui.item.prev('.js-list').get(0);
|
||||
const nextListDom = ui.item.next('.js-list').get(0);
|
||||
const sortIndex = calculateIndex(prevListDom, nextListDom, 1);
|
||||
|
||||
$listsDom.sortable('cancel');
|
||||
const listDomElement = ui.item.get(0);
|
||||
const list = Blaze.getData(listDomElement);
|
||||
|
||||
Lists.update(list._id, {
|
||||
$set: {
|
||||
sort: sortIndex.base,
|
||||
},
|
||||
});
|
||||
|
||||
boardComponent.setIsDragging(false);
|
||||
},
|
||||
});
|
||||
|
||||
// ugly touch event hotfix
|
||||
enableClickOnTouch('.js-list:not(.js-list-composer)');
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
}
|
||||
|
||||
// Disable drag-dropping while in multi-selection mode, or if the current user
|
||||
// is not a board member
|
||||
boardComponent.autorun(() => {
|
||||
const $listDom = $listsDom;
|
||||
if ($listDom.data('sortable')) {
|
||||
$listsDom.sortable('option', 'disabled',
|
||||
MultiSelection.isActive() || !userIsMember());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onRendered() {
|
||||
@@ -9,71 +93,7 @@ BlazeComponent.extendComponent({
|
||||
boardComponent.scrollLeft();
|
||||
}
|
||||
|
||||
// We want to animate the card details window closing. We rely on CSS
|
||||
// transition for the actual animation.
|
||||
$listsDom._uihooks = {
|
||||
removeElement(node) {
|
||||
const removeNode = _.once(() => {
|
||||
node.parentNode.removeChild(node);
|
||||
});
|
||||
if ($(node).hasClass('js-card-details')) {
|
||||
$(node).css({
|
||||
flexBasis: 0,
|
||||
padding: 0,
|
||||
});
|
||||
$listsDom.one(CSSEvents.transitionend, removeNode);
|
||||
} else {
|
||||
removeNode();
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
$listsDom.sortable({
|
||||
tolerance: 'pointer',
|
||||
helper: 'clone',
|
||||
handle: '.js-list-header',
|
||||
items: '.js-list:not(.js-list-composer)',
|
||||
placeholder: 'list placeholder',
|
||||
distance: 7,
|
||||
start(evt, ui) {
|
||||
ui.placeholder.height(ui.helper.height());
|
||||
EscapeActions.executeUpTo('popup-close');
|
||||
boardComponent.setIsDragging(true);
|
||||
},
|
||||
stop(evt, ui) {
|
||||
// To attribute the new index number, we need to get the DOM element
|
||||
// of the previous and the following card -- if any.
|
||||
const prevListDom = ui.item.prev('.js-list').get(0);
|
||||
const nextListDom = ui.item.next('.js-list').get(0);
|
||||
const sortIndex = calculateIndex(prevListDom, nextListDom, 1);
|
||||
|
||||
$listsDom.sortable('cancel');
|
||||
const listDomElement = ui.item.get(0);
|
||||
const list = Blaze.getData(listDomElement);
|
||||
|
||||
Lists.update(list._id, {
|
||||
$set: {
|
||||
sort: sortIndex.base,
|
||||
},
|
||||
});
|
||||
|
||||
boardComponent.setIsDragging(false);
|
||||
},
|
||||
});
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
}
|
||||
|
||||
// Disable drag-dropping while in multi-selection mode, or if the current user
|
||||
// is not a board member
|
||||
boardComponent.autorun(() => {
|
||||
const $listDom = $listsDom;
|
||||
if ($listDom.data('sortable')) {
|
||||
$listsDom.sortable('option', 'disabled',
|
||||
MultiSelection.isActive() || !userIsMember());
|
||||
}
|
||||
});
|
||||
initSortable(boardComponent, $listsDom);
|
||||
},
|
||||
onCreated() {
|
||||
this.draggingActive = new ReactiveVar(false);
|
||||
@@ -87,15 +107,7 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
currentCardIsInThisList(listId, swimlaneId) {
|
||||
const currentCard = Cards.findOne(Session.get('currentCard'));
|
||||
const currentBoardId = Session.get('currentBoard');
|
||||
const board = Boards.findOne(currentBoardId);
|
||||
if (board.view === 'board-view-lists')
|
||||
return currentCard && currentCard.listId === listId;
|
||||
else if (board.view === 'board-view-swimlanes')
|
||||
return currentCard && currentCard.listId === listId && currentCard.swimlaneId === swimlaneId;
|
||||
else
|
||||
return false;
|
||||
return currentCardIsInThisList(listId, swimlaneId);
|
||||
},
|
||||
|
||||
events() {
|
||||
@@ -210,3 +222,19 @@ Template.swimlane.helpers({
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
currentCardIsInThisList(listId, swimlaneId) {
|
||||
return currentCardIsInThisList(listId, swimlaneId);
|
||||
},
|
||||
onRendered() {
|
||||
const boardComponent = this.parentComponent();
|
||||
const $listsDom = this.$('.js-lists');
|
||||
|
||||
if (!Session.get('currentCard')) {
|
||||
boardComponent.scrollLeft();
|
||||
}
|
||||
|
||||
initSortable(boardComponent, $listsDom);
|
||||
},
|
||||
}).register('listsGroup');
|
||||
@@ -39,7 +39,7 @@
|
||||
margin-top: 50px;
|
||||
font-weight: bold;
|
||||
min-height: 9px;
|
||||
min-width: 30px;
|
||||
width: 50px;
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
@@ -33,7 +33,10 @@ template(name="editProfilePopup")
|
||||
| {{_ 'username'}}
|
||||
span.error.hide.username-taken
|
||||
| {{_ 'error-username-taken'}}
|
||||
input.js-profile-username(type="text" value=username)
|
||||
if allowUserNameChange
|
||||
input.js-profile-username(type="text" value=username)
|
||||
else
|
||||
input.js-profile-username(type="text" value=username readonly)
|
||||
label
|
||||
| {{_ 'initials'}}
|
||||
input.js-profile-initials(type="text" value=profile.initials)
|
||||
@@ -86,5 +89,5 @@ template(name="changeSettingsPopup")
|
||||
li
|
||||
label.bold
|
||||
| {{_ 'show-cards-minimum-count'}}
|
||||
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="1" max="99" onkeydown="return false")
|
||||
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
|
||||
input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}")
|
||||
@@ -24,6 +24,9 @@ Template.editProfilePopup.helpers({
|
||||
allowEmailChange() {
|
||||
return AccountSettings.findOne('accounts-allowEmailChange').booleanValue;
|
||||
},
|
||||
allowUserNameChange() {
|
||||
return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
|
||||
},
|
||||
});
|
||||
|
||||
Template.editProfilePopup.events({
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
DatePicker = BlazeComponent.extendComponent({
|
||||
template() {
|
||||
return 'datepicker';
|
||||
},
|
||||
|
||||
onCreated() {
|
||||
this.error = new ReactiveVar('');
|
||||
this.card = this.data();
|
||||
this.date = new ReactiveVar(moment.invalid());
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
const $picker = this.$('.js-datepicker').datepicker({
|
||||
todayHighlight: true,
|
||||
todayBtn: 'linked',
|
||||
language: TAPi18n.getLanguage(),
|
||||
}).on('changeDate', function(evt) {
|
||||
this.find('#date').value = moment(evt.date).format('L');
|
||||
this.error.set('');
|
||||
this.find('#time').focus();
|
||||
}.bind(this));
|
||||
|
||||
if (this.date.get().isValid()) {
|
||||
$picker.datepicker('update', this.date.get().toDate());
|
||||
}
|
||||
},
|
||||
|
||||
showDate() {
|
||||
if (this.date.get().isValid())
|
||||
return this.date.get().format('L');
|
||||
return '';
|
||||
},
|
||||
showTime() {
|
||||
if (this.date.get().isValid())
|
||||
return this.date.get().format('LT');
|
||||
return '';
|
||||
},
|
||||
dateFormat() {
|
||||
return moment.localeData().longDateFormat('L');
|
||||
},
|
||||
timeFormat() {
|
||||
return moment.localeData().longDateFormat('LT');
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'keyup .js-date-field'() {
|
||||
// parse for localized date format in strict mode
|
||||
const dateMoment = moment(this.find('#date').value, 'L', true);
|
||||
if (dateMoment.isValid()) {
|
||||
this.error.set('');
|
||||
this.$('.js-datepicker').datepicker('update', dateMoment.toDate());
|
||||
}
|
||||
},
|
||||
'keyup .js-time-field'() {
|
||||
// parse for localized time format in strict mode
|
||||
const dateMoment = moment(this.find('#time').value, 'LT', true);
|
||||
if (dateMoment.isValid()) {
|
||||
this.error.set('');
|
||||
}
|
||||
},
|
||||
'submit .edit-date'(evt) {
|
||||
evt.preventDefault();
|
||||
|
||||
// if no time was given, init with 12:00
|
||||
const time = evt.target.time.value || moment(new Date().setHours(12, 0, 0)).format('LT');
|
||||
|
||||
const dateString = `${evt.target.date.value} ${time}`;
|
||||
const newDate = moment(dateString, 'L LT', true);
|
||||
if (newDate.isValid()) {
|
||||
this._storeDate(newDate.toDate());
|
||||
Popup.close();
|
||||
}
|
||||
else {
|
||||
this.error.set('invalid-date');
|
||||
evt.target.date.focus();
|
||||
}
|
||||
},
|
||||
'click .js-delete-date'(evt) {
|
||||
evt.preventDefault();
|
||||
this._deleteDate();
|
||||
Popup.close();
|
||||
},
|
||||
}];
|
||||
},
|
||||
});
|
||||
+349
-10
@@ -10,10 +10,13 @@ function showFilterSidebar() {
|
||||
|
||||
// Use a "set" filter for a field that is a set of documents uniquely
|
||||
// identified. For instance `{ labels: ['labelA', 'labelC', 'labelD'] }`.
|
||||
// use "subField" for searching inside object Fields.
|
||||
// For instance '{ 'customFields._id': ['field1','field2']} (subField would be: _id)
|
||||
class SetFilter {
|
||||
constructor() {
|
||||
constructor(subField = '') {
|
||||
this._dep = new Tracker.Dependency();
|
||||
this._selectedElements = [];
|
||||
this.subField = subField;
|
||||
}
|
||||
|
||||
isSelected(val) {
|
||||
@@ -76,6 +79,329 @@ class SetFilter {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Advanced filter forms a MongoSelector from a users String.
|
||||
// Build by: Ignatz 19.05.2018 (github feuerball11)
|
||||
class AdvancedFilter {
|
||||
constructor() {
|
||||
this._dep = new Tracker.Dependency();
|
||||
this._filter = '';
|
||||
this._lastValide = {};
|
||||
}
|
||||
|
||||
set(str) {
|
||||
this._filter = str;
|
||||
this._dep.changed();
|
||||
}
|
||||
|
||||
reset() {
|
||||
this._filter = '';
|
||||
this._lastValide = {};
|
||||
this._dep.changed();
|
||||
}
|
||||
|
||||
_isActive() {
|
||||
this._dep.depend();
|
||||
return this._filter !== '';
|
||||
}
|
||||
|
||||
_filterToCommands() {
|
||||
const commands = [];
|
||||
let current = '';
|
||||
let string = false;
|
||||
let regex = false;
|
||||
let wasString = false;
|
||||
let ignore = false;
|
||||
for (let i = 0; i < this._filter.length; i++) {
|
||||
const char = this._filter.charAt(i);
|
||||
if (ignore) {
|
||||
ignore = false;
|
||||
current += char;
|
||||
continue;
|
||||
}
|
||||
if (char === '/'){
|
||||
string = !string;
|
||||
if (string) regex = true;
|
||||
current += char;
|
||||
continue;
|
||||
}
|
||||
if (char === '\'') {
|
||||
string = !string;
|
||||
if (string) wasString = true;
|
||||
continue;
|
||||
}
|
||||
if (char === '\\' && !string) {
|
||||
ignore = true;
|
||||
continue;
|
||||
}
|
||||
if (char === ' ' && !string) {
|
||||
commands.push({ 'cmd': current, 'string': wasString, regex});
|
||||
wasString = false;
|
||||
current = '';
|
||||
continue;
|
||||
}
|
||||
current += char;
|
||||
}
|
||||
if (current !== '') {
|
||||
commands.push({ 'cmd': current, 'string': wasString, regex});
|
||||
}
|
||||
return commands;
|
||||
}
|
||||
|
||||
_fieldNameToId(field) {
|
||||
const found = CustomFields.findOne({ 'name': field });
|
||||
return found._id;
|
||||
}
|
||||
|
||||
_fieldValueToId(field, value)
|
||||
{
|
||||
const found = CustomFields.findOne({ 'name': field });
|
||||
if (found.settings.dropdownItems && found.settings.dropdownItems.length > 0)
|
||||
{
|
||||
for (let i = 0; i < found.settings.dropdownItems.length; i++)
|
||||
{
|
||||
if (found.settings.dropdownItems[i].name === value)
|
||||
{
|
||||
return found.settings.dropdownItems[i]._id;
|
||||
}
|
||||
}
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
_arrayToSelector(commands) {
|
||||
try {
|
||||
//let changed = false;
|
||||
this._processSubCommands(commands);
|
||||
}
|
||||
catch (e) { return this._lastValide; }
|
||||
this._lastValide = { $or: commands };
|
||||
return { $or: commands };
|
||||
}
|
||||
|
||||
_processSubCommands(commands) {
|
||||
const subcommands = [];
|
||||
let level = 0;
|
||||
let start = -1;
|
||||
for (let i = 0; i < commands.length; i++) {
|
||||
if (commands[i].cmd) {
|
||||
switch (commands[i].cmd) {
|
||||
case '(':
|
||||
{
|
||||
level++;
|
||||
if (start === -1) start = i;
|
||||
continue;
|
||||
}
|
||||
case ')':
|
||||
{
|
||||
level--;
|
||||
commands.splice(i, 1);
|
||||
i--;
|
||||
continue;
|
||||
}
|
||||
default:
|
||||
{
|
||||
if (level > 0) {
|
||||
subcommands.push(commands[i]);
|
||||
commands.splice(i, 1);
|
||||
i--;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (start !== -1) {
|
||||
this._processSubCommands(subcommands);
|
||||
if (subcommands.length === 1)
|
||||
commands.splice(start, 0, subcommands[0]);
|
||||
else
|
||||
commands.splice(start, 0, subcommands);
|
||||
}
|
||||
this._processConditions(commands);
|
||||
this._processLogicalOperators(commands);
|
||||
}
|
||||
|
||||
_processConditions(commands) {
|
||||
for (let i = 0; i < commands.length; i++) {
|
||||
if (!commands[i].string && commands[i].cmd) {
|
||||
switch (commands[i].cmd) {
|
||||
case '=':
|
||||
case '==':
|
||||
case '===':
|
||||
{
|
||||
const field = commands[i - 1].cmd;
|
||||
const str = commands[i + 1].cmd;
|
||||
if (commands[i + 1].regex)
|
||||
{
|
||||
const match = str.match(new RegExp('^/(.*?)/([gimy]*)$'));
|
||||
let regex = null;
|
||||
if (match.length > 2)
|
||||
regex = new RegExp(match[1], match[2]);
|
||||
else
|
||||
regex = new RegExp(match[1]);
|
||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': regex };
|
||||
}
|
||||
else
|
||||
{
|
||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': {$in: [this._fieldValueToId(field, str), parseInt(str, 10)]} };
|
||||
}
|
||||
commands.splice(i - 1, 1);
|
||||
commands.splice(i, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
case '!=':
|
||||
case '!==':
|
||||
{
|
||||
const field = commands[i - 1].cmd;
|
||||
const str = commands[i + 1].cmd;
|
||||
if (commands[i + 1].regex)
|
||||
{
|
||||
const match = str.match(new RegExp('^/(.*?)/([gimy]*)$'));
|
||||
let regex = null;
|
||||
if (match.length > 2)
|
||||
regex = new RegExp(match[1], match[2]);
|
||||
else
|
||||
regex = new RegExp(match[1]);
|
||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $not: regex } };
|
||||
}
|
||||
else
|
||||
{
|
||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $not: {$in: [this._fieldValueToId(field, str), parseInt(str, 10)]} } };
|
||||
}
|
||||
commands.splice(i - 1, 1);
|
||||
commands.splice(i, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
case '>':
|
||||
case 'gt':
|
||||
case 'Gt':
|
||||
case 'GT':
|
||||
{
|
||||
const field = commands[i - 1].cmd;
|
||||
const str = commands[i + 1].cmd;
|
||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $gt: parseInt(str, 10) } };
|
||||
commands.splice(i - 1, 1);
|
||||
commands.splice(i, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
case '>=':
|
||||
case '>==':
|
||||
case 'gte':
|
||||
case 'Gte':
|
||||
case 'GTE':
|
||||
{
|
||||
const field = commands[i - 1].cmd;
|
||||
const str = commands[i + 1].cmd;
|
||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $gte: parseInt(str, 10) } };
|
||||
commands.splice(i - 1, 1);
|
||||
commands.splice(i, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
case '<':
|
||||
case 'lt':
|
||||
case 'Lt':
|
||||
case 'LT':
|
||||
{
|
||||
const field = commands[i - 1].cmd;
|
||||
const str = commands[i + 1].cmd;
|
||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $lt: parseInt(str, 10) } };
|
||||
commands.splice(i - 1, 1);
|
||||
commands.splice(i, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
case '<=':
|
||||
case '<==':
|
||||
case 'lte':
|
||||
case 'Lte':
|
||||
case 'LTE':
|
||||
{
|
||||
const field = commands[i - 1].cmd;
|
||||
const str = commands[i + 1].cmd;
|
||||
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $lte: parseInt(str, 10) } };
|
||||
commands.splice(i - 1, 1);
|
||||
commands.splice(i, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_processLogicalOperators(commands) {
|
||||
for (let i = 0; i < commands.length; i++) {
|
||||
if (!commands[i].string && commands[i].cmd) {
|
||||
switch (commands[i].cmd) {
|
||||
case 'or':
|
||||
case 'Or':
|
||||
case 'OR':
|
||||
case '|':
|
||||
case '||':
|
||||
{
|
||||
const op1 = commands[i - 1];
|
||||
const op2 = commands[i + 1];
|
||||
commands[i] = { $or: [op1, op2] };
|
||||
commands.splice(i - 1, 1);
|
||||
commands.splice(i, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
case 'and':
|
||||
case 'And':
|
||||
case 'AND':
|
||||
case '&':
|
||||
case '&&':
|
||||
{
|
||||
const op1 = commands[i - 1];
|
||||
const op2 = commands[i + 1];
|
||||
commands[i] = { $and: [op1, op2] };
|
||||
commands.splice(i - 1, 1);
|
||||
commands.splice(i, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
|
||||
case 'not':
|
||||
case 'Not':
|
||||
case 'NOT':
|
||||
case '!':
|
||||
{
|
||||
const op1 = commands[i + 1];
|
||||
commands[i] = { $not: op1 };
|
||||
commands.splice(i + 1, 1);
|
||||
//changed = true;
|
||||
i--;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_getMongoSelector() {
|
||||
this._dep.depend();
|
||||
const commands = this._filterToCommands();
|
||||
return this._arrayToSelector(commands);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// The global Filter object.
|
||||
// XXX It would be possible to re-write this object more elegantly, and removing
|
||||
// the need to provide a list of `_fields`. We also should move methods into the
|
||||
@@ -86,8 +412,10 @@ Filter = {
|
||||
// before changing the schema.
|
||||
labelIds: new SetFilter(),
|
||||
members: new SetFilter(),
|
||||
customFields: new SetFilter('_id'),
|
||||
advanced: new AdvancedFilter(),
|
||||
|
||||
_fields: ['labelIds', 'members'],
|
||||
_fields: ['labelIds', 'members', 'customFields'],
|
||||
|
||||
// We don't filter cards that have been added after the last filter change. To
|
||||
// implement this we keep the id of these cards in this `_exceptions` fields
|
||||
@@ -98,7 +426,7 @@ Filter = {
|
||||
isActive() {
|
||||
return _.any(this._fields, (fieldName) => {
|
||||
return this[fieldName]._isActive();
|
||||
});
|
||||
}) || this.advanced._isActive();
|
||||
},
|
||||
|
||||
_getMongoSelector() {
|
||||
@@ -111,7 +439,12 @@ Filter = {
|
||||
this._fields.forEach((fieldName) => {
|
||||
const filter = this[fieldName];
|
||||
if (filter._isActive()) {
|
||||
filterSelector[fieldName] = filter._getMongoSelector();
|
||||
if (filter.subField !== '') {
|
||||
filterSelector[`${fieldName}.${filter.subField}`] = filter._getMongoSelector();
|
||||
}
|
||||
else {
|
||||
filterSelector[fieldName] = filter._getMongoSelector();
|
||||
}
|
||||
emptySelector[fieldName] = filter._getEmptySelector();
|
||||
if (emptySelector[fieldName] !== null) {
|
||||
includeEmptySelectors = true;
|
||||
@@ -119,13 +452,18 @@ Filter = {
|
||||
}
|
||||
});
|
||||
|
||||
const exceptionsSelector = {_id: {$in: this._exceptions}};
|
||||
const exceptionsSelector = { _id: { $in: this._exceptions } };
|
||||
this._exceptionsDep.depend();
|
||||
|
||||
if (includeEmptySelectors)
|
||||
return {$or: [filterSelector, exceptionsSelector, emptySelector]};
|
||||
else
|
||||
return {$or: [filterSelector, exceptionsSelector]};
|
||||
const selectors = [exceptionsSelector];
|
||||
|
||||
if (_.any(this._fields, (fieldName) => {
|
||||
return this[fieldName]._isActive();
|
||||
})) selectors.push(filterSelector);
|
||||
if (includeEmptySelectors) selectors.push(emptySelector);
|
||||
if (this.advanced._isActive()) selectors.push(this.advanced._getMongoSelector());
|
||||
|
||||
return { $or: selectors };
|
||||
},
|
||||
|
||||
mongoSelector(additionalSelector) {
|
||||
@@ -133,7 +471,7 @@ Filter = {
|
||||
if (_.isUndefined(additionalSelector))
|
||||
return filterSelector;
|
||||
else
|
||||
return {$and: [filterSelector, additionalSelector]};
|
||||
return { $and: [filterSelector, additionalSelector] };
|
||||
},
|
||||
|
||||
reset() {
|
||||
@@ -141,6 +479,7 @@ Filter = {
|
||||
const filter = this[fieldName];
|
||||
filter.reset();
|
||||
});
|
||||
this.advanced.reset();
|
||||
this.resetExceptions();
|
||||
},
|
||||
|
||||
|
||||
@@ -75,6 +75,16 @@ InlinedForm = BlazeComponent.extendComponent({
|
||||
EscapeActions.register('inlinedForm',
|
||||
() => { currentlyOpenedForm.get().close(); },
|
||||
() => { return currentlyOpenedForm.get() !== null; }, {
|
||||
noClickEscapeOn: '.js-inlined-form',
|
||||
enabledOnClick: false,
|
||||
}
|
||||
);
|
||||
|
||||
// submit on click outside
|
||||
document.addEventListener('click', function(evt) {
|
||||
const openedForm = currentlyOpenedForm.get();
|
||||
const isClickOutside = $(evt.target).closest('.js-inlined-form').length === 0;
|
||||
if (openedForm && isClickOutside) {
|
||||
$('.js-inlined-form button[type=submit]').click();
|
||||
openedForm.close();
|
||||
}
|
||||
}, true);
|
||||
@@ -33,6 +33,37 @@ Utils = {
|
||||
return $(window).width() <= 800;
|
||||
},
|
||||
|
||||
calculateIndexData(prevData, nextData, nItems = 1) {
|
||||
let base, increment;
|
||||
// If we drop the card to an empty column
|
||||
if (!prevData && !nextData) {
|
||||
base = 0;
|
||||
increment = 1;
|
||||
// If we drop the card in the first position
|
||||
} else if (!prevData) {
|
||||
base = nextData.sort - 1;
|
||||
increment = -1;
|
||||
// If we drop the card in the last position
|
||||
} else if (!nextData) {
|
||||
base = prevData.sort + 1;
|
||||
increment = 1;
|
||||
}
|
||||
// In the general case take the average of the previous and next element
|
||||
// sort indexes.
|
||||
else {
|
||||
const prevSortIndex = prevData.sort;
|
||||
const nextSortIndex = nextData.sort;
|
||||
increment = (nextSortIndex - prevSortIndex) / (nItems + 1);
|
||||
base = prevSortIndex + increment;
|
||||
}
|
||||
// XXX Return a generator that yield values instead of a base with a
|
||||
// increment number.
|
||||
return {
|
||||
base,
|
||||
increment,
|
||||
};
|
||||
},
|
||||
|
||||
// Determine the new sort index
|
||||
calculateIndex(prevCardDomElement, nextCardDomElement, nCards = 1) {
|
||||
let base, increment;
|
||||
@@ -64,6 +95,100 @@ Utils = {
|
||||
increment,
|
||||
};
|
||||
},
|
||||
|
||||
// Detect touch device
|
||||
isTouchDevice() {
|
||||
const isTouchable = (() => {
|
||||
const prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');
|
||||
const mq = function(query) {
|
||||
return window.matchMedia(query).matches;
|
||||
};
|
||||
|
||||
if (('ontouchstart' in window) || window.DocumentTouch && document instanceof window.DocumentTouch) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// include the 'heartz' as a way to have a non matching MQ to help terminate the join
|
||||
// https://git.io/vznFH
|
||||
const query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');
|
||||
return mq(query);
|
||||
})();
|
||||
Utils.isTouchDevice = () => isTouchable;
|
||||
return isTouchable;
|
||||
},
|
||||
|
||||
calculateTouchDistance(touchA, touchB) {
|
||||
return Math.sqrt(
|
||||
Math.pow(touchA.screenX - touchB.screenX, 2) +
|
||||
Math.pow(touchA.screenY - touchB.screenY, 2)
|
||||
);
|
||||
},
|
||||
|
||||
enableClickOnTouch(selector) {
|
||||
let touchStart = null;
|
||||
let lastTouch = null;
|
||||
|
||||
$(document).on('touchstart', selector, function(e) {
|
||||
touchStart = e.originalEvent.touches[0];
|
||||
});
|
||||
$(document).on('touchmove', selector, function(e) {
|
||||
const touches = e.originalEvent.touches;
|
||||
lastTouch = touches[touches.length - 1];
|
||||
});
|
||||
$(document).on('touchend', selector, function(e) {
|
||||
if (touchStart && lastTouch && Utils.calculateTouchDistance(touchStart, lastTouch) <= 20) {
|
||||
e.preventDefault();
|
||||
const clickEvent = document.createEvent('MouseEvents');
|
||||
clickEvent.initEvent('click', true, true);
|
||||
e.target.dispatchEvent(clickEvent);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
setMatomo(data){
|
||||
window._paq = window._paq || [];
|
||||
window._paq.push(['setDoNotTrack', data.doNotTrack]);
|
||||
if (data.withUserName){
|
||||
window._paq.push(['setUserId', Meteor.user().username]);
|
||||
}
|
||||
window._paq.push(['trackPageView']);
|
||||
window._paq.push(['enableLinkTracking']);
|
||||
|
||||
(function() {
|
||||
window._paq.push(['setTrackerUrl', `${data.address}piwik.php`]);
|
||||
window._paq.push(['setSiteId', data.siteId]);
|
||||
|
||||
const script = document.createElement('script');
|
||||
Object.assign(script, {
|
||||
id: 'scriptMatomo',
|
||||
type: 'text/javascript',
|
||||
async: 'true',
|
||||
defer: 'true',
|
||||
src: `${data.address}piwik.js`,
|
||||
});
|
||||
|
||||
const s = document.getElementsByTagName('script')[0];
|
||||
s.parentNode.insertBefore(script, s);
|
||||
})();
|
||||
|
||||
Session.set('matomo', true);
|
||||
},
|
||||
|
||||
manageMatomo() {
|
||||
const matomo = Session.get('matomo');
|
||||
if (matomo === undefined){
|
||||
Meteor.call('getMatomoConf', (err, data) => {
|
||||
if (err && err.error[0] === 'var-not-exist'){
|
||||
Session.set('matomo', false); // siteId || address server not defined
|
||||
}
|
||||
if (!err){
|
||||
Utils.setMatomo(data);
|
||||
}
|
||||
});
|
||||
} else if (matomo) {
|
||||
window._paq.push(['trackPageView']);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
// A simple tracker dependency that we invalidate every time the window is
|
||||
|
||||
@@ -14,6 +14,8 @@ FlowRouter.route('/', {
|
||||
Filter.reset();
|
||||
EscapeActions.executeAll();
|
||||
|
||||
Utils.manageMatomo();
|
||||
|
||||
BlazeLayout.render('defaultLayout', {
|
||||
headerBar: 'boardListHeaderBar',
|
||||
content: 'boardList',
|
||||
@@ -38,6 +40,8 @@ FlowRouter.route('/b/:id/:slug', {
|
||||
EscapeActions.executeUpTo('popup-close');
|
||||
}
|
||||
|
||||
Utils.manageMatomo();
|
||||
|
||||
BlazeLayout.render('defaultLayout', {
|
||||
headerBar: 'boardHeaderBar',
|
||||
content: 'board',
|
||||
@@ -53,6 +57,8 @@ FlowRouter.route('/b/:boardId/:slug/:cardId', {
|
||||
Session.set('currentBoard', params.boardId);
|
||||
Session.set('currentCard', params.cardId);
|
||||
|
||||
Utils.manageMatomo();
|
||||
|
||||
BlazeLayout.render('defaultLayout', {
|
||||
headerBar: 'boardHeaderBar',
|
||||
content: 'board',
|
||||
|
||||
+15
-3
@@ -3,7 +3,7 @@ version: '2'
|
||||
services:
|
||||
|
||||
wekandb:
|
||||
image: mongo:3.2.18
|
||||
image: mongo:3.2.20
|
||||
container_name: wekan-db
|
||||
restart: always
|
||||
command: mongod --smallfiles --oplogSize 128
|
||||
@@ -16,7 +16,7 @@ services:
|
||||
- wekan-db-dump:/dump
|
||||
|
||||
wekan:
|
||||
image: wekanteam/wekan:latest
|
||||
image: quay.io/wekan/wekan
|
||||
container_name: wekan-app
|
||||
restart: always
|
||||
networks:
|
||||
@@ -33,10 +33,22 @@ services:
|
||||
- METEOR_EDGE=${METEOR_EDGE}
|
||||
- USE_EDGE=${USE_EDGE}
|
||||
ports:
|
||||
- 80:80
|
||||
- 80:8080
|
||||
environment:
|
||||
- MONGO_URL=mongodb://wekandb:27017/wekan
|
||||
- ROOT_URL=http://localhost
|
||||
# Wekan Export Board works when WITH_API='true'.
|
||||
# If you disable Wekan API with 'false', Export Board does not work.
|
||||
- WITH_API=true
|
||||
# Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
# The address of the server where Matomo is hosted:
|
||||
# - MATOMO_ADDRESS='https://example.com/matomo'
|
||||
# The value of the site ID given in Matomo server for Wekan
|
||||
# - MATOMO_SITE_ID='123456789'
|
||||
# The option do not track which enables users to not be tracked by matomo"
|
||||
# - MATOMO_DO_NOT_TRACK='false'
|
||||
# The option that allows matomo to retrieve the username:
|
||||
# - MATOMO_WITH_USERNAME='true'
|
||||
depends_on:
|
||||
- wekandb
|
||||
|
||||
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "اقبلboard",
|
||||
"act-activity-notify": "[Wekan] اشعار عن نشاط",
|
||||
"act-addAttachment": "ربط __attachment__ الى __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "علق على __comment__ : __card__",
|
||||
"act-createBoard": "احدث __board__",
|
||||
"act-createCard": "اضاف __card__ الى __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "اضاف __list__ الى __board__",
|
||||
"act-addBoardMember": "اضاف __member__ الى __board__",
|
||||
"act-archivedBoard": "قام بأرشفة __board__",
|
||||
"act-archivedCard": "قام بأرشفة __card__",
|
||||
"act-archivedList": "قام بأرشفة __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "إستورد __board__",
|
||||
"act-importCard": "إستورد __card__",
|
||||
"act-importList": "إستورد __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "الأنشطة",
|
||||
"activity": "النشاط",
|
||||
"activity-added": "تمت إضافة %s ل %s",
|
||||
"activity-archived": "إلى الأرشيف %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "إرفاق %s ل %s",
|
||||
"activity-created": "أنشأ %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "استبعاد %s عن %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "حذف %s إلى %s",
|
||||
"activity-sent": "إرسال %s إلى %s",
|
||||
"activity-unjoined": "غادر %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "أضاف قائمة تحقق إلى %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "أضف",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "إضافة لوحة",
|
||||
"add-card": "إضافة بطاقة",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "إضافة قائمة تدقيق",
|
||||
"add-checklist-item": "إضافة عنصر إلى قائمة التحقق",
|
||||
"add-cover": "إضافة غلاف",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other بطاقات",
|
||||
"apply": "طبق",
|
||||
"app-is-offline": "يتمّ تحميل ويكان، يرجى الانتظار. سيؤدي تحديث الصفحة إلى فقدان البيانات. إذا لم يتم تحميل ويكان، يرجى التحقق من أن خادم ويكان لم يتوقف. ",
|
||||
"archive": "أرشيف",
|
||||
"archive-all": "أرشيف الكل",
|
||||
"archive-board": "أرشيف اللوحة",
|
||||
"archive-card": "أرشيف البطاقة",
|
||||
"archive-list": "قائمة الأرشيفات",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "أرشف المُحدّد",
|
||||
"archiveBoardPopup-title": "أرشيف اللوحة ؟",
|
||||
"archived-items": "عناصر مؤرشفة",
|
||||
"archived-boards": "لوحات مؤرشفة",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "استعادة اللوحة",
|
||||
"no-archived-boards": "لا توجد لوحات مؤرشفة.",
|
||||
"archives": "أرشيفات",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "تعيين عضو",
|
||||
"attached": "أُرفق)",
|
||||
"attachment": "مرفق",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "قائمة اللوحة",
|
||||
"boards": "لوحات",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "القائمات",
|
||||
"bucket-example": "مثل « todo list » على سبيل المثال",
|
||||
"cancel": "إلغاء",
|
||||
"card-archived": "هذه البطاقة أُرشفت.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "%s تعليقات لهذه البطاقة",
|
||||
"card-delete-notice": "هذا حذف أبديّ . سوف تفقد كل الإجراءات المنوطة بهذه البطاقة",
|
||||
"card-delete-pop": "سيتم إزالة جميع الإجراءات من تبعات النشاط، وأنك لن تكون قادرا على إعادة فتح البطاقة. لا يوجد التراجع.",
|
||||
"card-delete-suggest-archive": "يمكنك أرشفة بطاقة لحذفها من اللوحة والمحافظة على النشاط.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "مستحق",
|
||||
"card-due-on": "مستحق في",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "تعديل المرفقات",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "تعديل العلامات",
|
||||
"card-edit-members": "تعديل الأعضاء",
|
||||
"card-labels-title": "تعديل علامات البطاقة.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "بداية",
|
||||
"card-start-on": "يبدأ في",
|
||||
"cardAttachmentsPopup-title": "إرفاق من",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "حذف البطاقة ?",
|
||||
"cardDetailsActionsPopup-title": "إجراءات على البطاقة",
|
||||
"cardLabelsPopup-title": "علامات",
|
||||
"cardMembersPopup-title": "أعضاء",
|
||||
"cardMorePopup-title": "المزيد",
|
||||
"cards": "بطاقات",
|
||||
"cards-count": "بطاقات",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Change",
|
||||
"change-avatar": "تعديل الصورة الشخصية",
|
||||
"change-password": "تغيير كلمة المرور",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "تغيير كلمة المرور",
|
||||
"changePermissionsPopup-title": "تعديل الصلاحيات",
|
||||
"changeSettingsPopup-title": "تغيير الاعدادات",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "قوائم التّدقيق",
|
||||
"click-to-star": "اضغط لإضافة اللوحة للمفضلة.",
|
||||
"click-to-unstar": "اضغط لحذف اللوحة من المفضلة.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "غلق",
|
||||
"close-board": "غلق اللوحة",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "black",
|
||||
"color-blue": "blue",
|
||||
"color-green": "green",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "التعليق فقط",
|
||||
"comment-only-desc": "يمكن التعليق على بطاقات فقط.",
|
||||
"computer": "حاسوب",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "نسخ رابط البطاقة إلى الحافظة",
|
||||
"copyCardPopup-title": "نسخ البطاقة",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "إنشاء لوحة",
|
||||
"chooseBoardSourcePopup-title": "استيراد لوحة",
|
||||
"createLabelPopup-title": "إنشاء علامة",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "الحالي",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "تاريخ",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "تاريخ",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "صورة شخصية افتراضية",
|
||||
"delete": "حذف",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "حذف العلامة ?",
|
||||
"description": "وصف",
|
||||
"disambiguateMultiLabelPopup-title": "تحديد الإجراء على العلامة",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "تغيير تاريخ البدء",
|
||||
"editCardDueDatePopup-title": "تغيير تاريخ الاستحقاق",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "تعديل العلامة",
|
||||
"editNotificationPopup-title": "تصحيح الإشعار",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "مسح التصفية",
|
||||
"filter-no-label": "لا يوجد ملصق",
|
||||
"filter-no-member": "ليس هناك أي عضو",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "التصفية تشتغل",
|
||||
"filter-on-desc": "أنت بصدد تصفية بطاقات هذه اللوحة. اضغط هنا لتعديل التصفية.",
|
||||
"filter-to-selection": "تصفية بالتحديد",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "الإسم الكامل",
|
||||
"header-logo-title": "الرجوع إلى صفحة اللوحات",
|
||||
"hide-system-messages": "إخفاء رسائل النظام",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "مغادرة اللوحة ؟",
|
||||
"link-card": "ربط هذه البطاقة",
|
||||
"list-archive-cards": "أرضفت بطاقات هذه القائمة",
|
||||
"list-archive-cards-pop": "سيقتضي هذا أرشفة جميع بطاقات هذه القائمة. لمشاهدة أرشيف البطاقات أو إعادتها إلى اللوحة، اضغط على -القائمة- ثم - أرشيف العناصر-",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "نقل بطاقات هذه القائمة",
|
||||
"list-select-cards": "تحديد بطاقات هذه القائمة",
|
||||
"listActionPopup-title": "قائمة الإجراءات",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "المزيد",
|
||||
"link-list": "رابط إلى هذه القائمة",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "يمكنك أرشفة قائمة لحذفها من اللوحة والمحافظة على النشاط.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "القائمات",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "تسجيل الخروج",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "لوحاتي",
|
||||
"name": "اسم",
|
||||
"no-archived-cards": "لا توجد بطاقات مؤرشفة.",
|
||||
"no-archived-lists": "لا توجد قوائم مؤرشفة.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "لا توجد نتائج",
|
||||
"normal": "عادي",
|
||||
"normal-desc": "يمكن مشاهدة و تعديل البطاقات. لا يمكن تغيير إعدادات الضبط.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "عنوان",
|
||||
"tracking": "تتبع",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "إلغاء تعيين العضو",
|
||||
"unsaved-description": "لديك وصف غير محفوظ",
|
||||
"unwatch": "غير مُشاهد",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "تم رفع الصورة الشخصية",
|
||||
"username": "اسم المستخدم",
|
||||
"view-it": "شاهدها",
|
||||
"warn-list-archived": "انتبه : هذه البطاقة في أرشيف القائمات",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "مُشاهد",
|
||||
"watching": "مشاهدة",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "الساعات",
|
||||
"minutes": "الدقائق",
|
||||
"seconds": "الثواني",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "نعم",
|
||||
"no": "لا",
|
||||
"accounts": "الحسابات",
|
||||
"accounts-allowEmailChange": "السماح بتغيير البريد الإلكتروني",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+170
-107
@@ -1,51 +1,56 @@
|
||||
{
|
||||
"accept": "Accept",
|
||||
"act-activity-notify": "[Wekan] Известия за дейности",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addAttachment": "прикачи __attachment__ към __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "добави списък със задачи __checklist__ към __card__",
|
||||
"act-addChecklistItem": "добави __checklistItem__ към списък със задачи __checklist__ в __card__",
|
||||
"act-addComment": "Коментира в __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
"act-joinMember": "added __member__ to __card__",
|
||||
"act-moveCard": "moved __card__ from __oldList__ to __list__",
|
||||
"act-removeBoardMember": "removed __member__ from __board__",
|
||||
"act-restoredCard": "restored __card__ to __board__",
|
||||
"act-unjoinMember": "removed __member__ from __card__",
|
||||
"act-createBoard": "създаде __board__",
|
||||
"act-createCard": "добави __card__ към __list__",
|
||||
"act-createCustomField": "създаде собствено поле __customField__",
|
||||
"act-createList": "добави __list__ към __board__",
|
||||
"act-addBoardMember": "добави __member__ към __board__",
|
||||
"act-archivedBoard": "__board__ беше преместен в Кошчето",
|
||||
"act-archivedCard": "__card__ беше преместена в Кошчето",
|
||||
"act-archivedList": "__list__ беше преместен в Кошчето",
|
||||
"act-archivedSwimlane": "__swimlane__ беше преместен в Кошчето",
|
||||
"act-importBoard": "импортира __board__",
|
||||
"act-importCard": "импортира __card__",
|
||||
"act-importList": "импортира __list__",
|
||||
"act-joinMember": "добави __member__ към __card__",
|
||||
"act-moveCard": "премести __card__ от __oldList__ в __list__",
|
||||
"act-removeBoardMember": "премахна __member__ от __board__",
|
||||
"act-restoredCard": "възстанови __card__ в __board__",
|
||||
"act-unjoinMember": "премахна __member__ от __card__",
|
||||
"act-withBoardTitle": "[Wekan] __board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Actions",
|
||||
"activities": "Действия",
|
||||
"activity": "Дейности",
|
||||
"activity-added": "добави %s към %s",
|
||||
"activity-archived": "архивира %s",
|
||||
"activity-archived": "премести %s в Кошчето",
|
||||
"activity-attached": "прикачи %s към %s",
|
||||
"activity-created": "създаде %s",
|
||||
"activity-customfield-created": "създаде собствено поле %s",
|
||||
"activity-excluded": "изключи %s от %s",
|
||||
"activity-imported": "импортира %s в/във %s от %s",
|
||||
"activity-imported-board": "импортира %s от %s",
|
||||
"activity-joined": "joined %s",
|
||||
"activity-joined": "се присъедини към %s",
|
||||
"activity-moved": "премести %s от %s в/във %s",
|
||||
"activity-on": "на %s",
|
||||
"activity-removed": "премахна %s от %s",
|
||||
"activity-sent": "изпрати %s до %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-unjoined": "вече не е част от %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "добави списък със задачи към %s",
|
||||
"activity-checklist-item-added": "добави точка към '%s' в/във %s",
|
||||
"add": "Добави",
|
||||
"add-attachment": "Добави прикачен файл",
|
||||
"add-board": "Добави дъска",
|
||||
"add-board": "Добави Табло",
|
||||
"add-card": "Добави карта",
|
||||
"add-swimlane": "Добави коридор",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Добави списък със задачи",
|
||||
"add-checklist-item": "Добави точка към списъка със задачи",
|
||||
"add-cover": "Добави корица",
|
||||
@@ -58,73 +63,79 @@
|
||||
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
|
||||
"admin-announcement": "Съобщение",
|
||||
"admin-announcement-active": "Active System-Wide Announcement",
|
||||
"admin-announcement-title": "Announcement from Administrator",
|
||||
"all-boards": "Всички дъски",
|
||||
"and-n-other-card": "And __count__ other card",
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"admin-announcement-title": "Съобщение от администратора",
|
||||
"all-boards": "Всички табла",
|
||||
"and-n-other-card": "И __count__ друга карта",
|
||||
"and-n-other-card_plural": "И __count__ други карти",
|
||||
"apply": "Приложи",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Архив",
|
||||
"archive-all": "Архивирай всички",
|
||||
"archive-board": "Архивирай дъската",
|
||||
"archive-card": "Архивирай картата",
|
||||
"archive-list": "Архивирай списъка",
|
||||
"archive-swimlane": "Архивирай коридора",
|
||||
"archive-selection": "Archive selection",
|
||||
"archiveBoardPopup-title": "Archive Board?",
|
||||
"archived-items": "Archived Items",
|
||||
"archived-boards": "Archived Boards",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Архиви",
|
||||
"assign-member": "Assign member",
|
||||
"app-is-offline": "Wekan зарежда, моля изчакайте! Презареждането на страницата може да доведе до загуба на данни. Ако Wekan не се зареди, моля проверете дали сървъра му работи.",
|
||||
"archive": "Премести в Кошчето",
|
||||
"archive-all": "Премести всички в Кошчето",
|
||||
"archive-board": "Премести Таблото в Кошчето",
|
||||
"archive-card": "Премести Картата в Кошчето",
|
||||
"archive-list": "Премести Списъка в Кошчето",
|
||||
"archive-swimlane": "Премести Коридора в Кошчето",
|
||||
"archive-selection": "Премести избраните в Кошчето",
|
||||
"archiveBoardPopup-title": "Сигурни ли сте, че искате да преместите Таблото в Кошчето?",
|
||||
"archived-items": "Кошче",
|
||||
"archived-boards": "Табла в Кошчето",
|
||||
"restore-board": "Възстанови Таблото",
|
||||
"no-archived-boards": "Няма Табла в Кошчето.",
|
||||
"archives": "Кошче",
|
||||
"assign-member": "Възложи на член от екипа",
|
||||
"attached": "прикачен",
|
||||
"attachment": "Прикаченн файл",
|
||||
"attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.",
|
||||
"attachment-delete-pop": "Изтриването на прикачен файл е завинаги. Няма как да бъде възстановен.",
|
||||
"attachmentDeletePopup-title": "Желаете ли да изтриете прикачения файл?",
|
||||
"attachments": "Прикачени файлове",
|
||||
"auto-watch": "Автоматично наблюдаване на дъските, когато са създадени",
|
||||
"auto-watch": "Автоматично наблюдаване на таблата, когато са създадени",
|
||||
"avatar-too-big": "Аватарът е прекалено голям (максимум 70KB)",
|
||||
"back": "Назад",
|
||||
"board-change-color": "Промени цвета",
|
||||
"board-nb-stars": "%s звезди",
|
||||
"board-not-found": "Board not found",
|
||||
"board-not-found": "Таблото не е намерено",
|
||||
"board-private-info": "This board will be <strong>private</strong>.",
|
||||
"board-public-info": "This board will be <strong>public</strong>.",
|
||||
"boardChangeColorPopup-title": "Change Board Background",
|
||||
"boardChangeTitlePopup-title": "Rename Board",
|
||||
"boardChangeTitlePopup-title": "Промени името на Таблото",
|
||||
"boardChangeVisibilityPopup-title": "Change Visibility",
|
||||
"boardChangeWatchPopup-title": "Промени наблюдаването",
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Дъски",
|
||||
"boardMenuPopup-title": "Меню на Таблото",
|
||||
"boards": "Табла",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Коридори",
|
||||
"board-view-lists": "Списъци",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "Тази карта е архивирана",
|
||||
"card-archived": "Картата е преместена в Кошчето.",
|
||||
"card-comments-title": "Тази карта има %s коментар.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Готова за",
|
||||
"card-due-on": "Готова за",
|
||||
"card-spent": "Изработено време",
|
||||
"card-edit-attachments": "Промени прикачените файлове",
|
||||
"card-edit-custom-fields": "Промени собствените полета",
|
||||
"card-edit-labels": "Промени етикетите",
|
||||
"card-edit-members": "Промени членовете",
|
||||
"card-labels-title": "Променете етикетите за тази карта",
|
||||
"card-members-title": "Add or remove members of the board from the card.",
|
||||
"card-labels-title": "Промени етикетите за картата.",
|
||||
"card-members-title": "Добави или премахни членове на Таблото от тази карта.",
|
||||
"card-start": "Начало",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"card-start-on": "Започва на",
|
||||
"cardAttachmentsPopup-title": "Прикачи от",
|
||||
"cardCustomField-datePopup-title": "Промени датата",
|
||||
"cardCustomFieldsPopup-title": "Промени собствените полета",
|
||||
"cardDeletePopup-title": "Желаете да изтриете картата?",
|
||||
"cardDetailsActionsPopup-title": "Опции",
|
||||
"cardLabelsPopup-title": "Етикети",
|
||||
"cardMembersPopup-title": "Членове",
|
||||
"cardMorePopup-title": "Още",
|
||||
"cards": "Карти",
|
||||
"change": "Change",
|
||||
"cards-count": "Карти",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Промени",
|
||||
"change-avatar": "Промени аватара",
|
||||
"change-password": "Промени паролата",
|
||||
"change-permissions": "Change permissions",
|
||||
@@ -134,63 +145,80 @@
|
||||
"changePasswordPopup-title": "Промени паролата",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Промяна на настройките",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Списъци със задачи",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Натиснете, за да премахнете тази дъска от любими.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"color-black": "black",
|
||||
"color-blue": "blue",
|
||||
"color-green": "green",
|
||||
"color-lime": "lime",
|
||||
"color-orange": "orange",
|
||||
"color-pink": "pink",
|
||||
"color-purple": "purple",
|
||||
"color-red": "red",
|
||||
"color-sky": "sky",
|
||||
"color-yellow": "yellow",
|
||||
"click-to-unstar": "Натиснете, за да премахнете това табло от любими.",
|
||||
"clipboard": "Клипборда или с драг & дроп",
|
||||
"close": "Затвори",
|
||||
"close-board": "Затвори Таблото",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "черно",
|
||||
"color-blue": "синьо",
|
||||
"color-green": "зелено",
|
||||
"color-lime": "лайм",
|
||||
"color-orange": "оранжево",
|
||||
"color-pink": "розово",
|
||||
"color-purple": "пурпурно",
|
||||
"color-red": "червено",
|
||||
"color-sky": "светло синьо",
|
||||
"color-yellow": "жълто",
|
||||
"comment": "Коментирай",
|
||||
"comment-placeholder": "Напиши коментар",
|
||||
"comment-only": "Само коментар",
|
||||
"comment-only-desc": "Може да коментира само в карти.",
|
||||
"computer": "Computer",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"computer": "Компютър",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Копирай връзката на картата в клипборда",
|
||||
"copyCardPopup-title": "Копирай картата",
|
||||
"copyChecklistToManyCardsPopup-title": "Копирай шаблона за чеклисти в много карти",
|
||||
"copyChecklistToManyCardsPopup-title": "Копирай чеклисти в други карти",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"create": "Create",
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Чекбокс",
|
||||
"custom-field-date": "Дата",
|
||||
"custom-field-dropdown": "Падащо меню",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Номер",
|
||||
"custom-field-text": "Текст",
|
||||
"custom-fields": "Собствени полета",
|
||||
"date": "Дата",
|
||||
"decline": "Decline",
|
||||
"decline": "Отказ",
|
||||
"default-avatar": "Основен аватар",
|
||||
"delete": "Изтрий",
|
||||
"deleteCustomFieldPopup-title": "Изтриване на Собственото поле?",
|
||||
"deleteLabelPopup-title": "Желаете да изтриете етикета?",
|
||||
"description": "Описание",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
|
||||
"discard": "Discard",
|
||||
"done": "Done",
|
||||
"discard": "Отказ",
|
||||
"done": "Готово",
|
||||
"download": "Сваляне",
|
||||
"edit": "Промени",
|
||||
"edit-avatar": "Промени аватара",
|
||||
"edit-profile": "Промяна на профила",
|
||||
"edit-wip-limit": "Промени WIP лимита",
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"soft-wip-limit": "\"Мек\" WIP лимит",
|
||||
"editCardStartDatePopup-title": "Промени началната дата",
|
||||
"editCardDueDatePopup-title": "Промени датата за готовност",
|
||||
"editCustomFieldPopup-title": "Промени Полето",
|
||||
"editCardSpentTimePopup-title": "Промени изработеното време",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editLabelPopup-title": "Промяна на Етикета",
|
||||
"editNotificationPopup-title": "Промени известията",
|
||||
"editProfilePopup-title": "Промяна на профила",
|
||||
"email": "Имейл",
|
||||
"email-enrollAccount-subject": "An account created for you on __siteName__",
|
||||
"email-enrollAccount-subject": "Ваш профил беше създаден на __siteName__",
|
||||
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"email-fail": "Неуспешно изпращане на имейла",
|
||||
"email-fail-text": "Възникна грешка при изпращането на имейла",
|
||||
@@ -203,7 +231,7 @@
|
||||
"email-sent": "Имейлът е изпратен",
|
||||
"email-verifyEmail-subject": "Verify your email address on __siteName__",
|
||||
"email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"enable-wip-limit": "Enable WIP Limit",
|
||||
"enable-wip-limit": "Включи WIP лимита",
|
||||
"error-board-doesNotExist": "This board does not exist",
|
||||
"error-board-notAdmin": "You need to be admin of this board to do that",
|
||||
"error-board-notAMember": "You need to be a member of this board to do that",
|
||||
@@ -219,16 +247,19 @@
|
||||
"filter": "Филтър",
|
||||
"filter-cards": "Филтрирай картите",
|
||||
"filter-clear": "Премахване на филтрите",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-label": "без етикет",
|
||||
"filter-no-member": "без член",
|
||||
"filter-no-custom-fields": "Няма Собствени полета",
|
||||
"filter-on": "Има приложени филтри",
|
||||
"filter-on-desc": "В момента филтрирате картите в тази дъска. Моля, натиснете тук, за да промените филтъра.",
|
||||
"filter-on-desc": "В момента филтрирате картите в това табло. Моля, натиснете тук, за да промените филтъра.",
|
||||
"filter-to-selection": "Филтрирай избраните",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Име",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Скриване на системните съобщения",
|
||||
"headerBarCreateBoardPopup-title": "Create Board",
|
||||
"home": "Home",
|
||||
"home": "Начало",
|
||||
"import": "Import",
|
||||
"import-board": "import board",
|
||||
"import-board-c": "Import board",
|
||||
@@ -244,13 +275,13 @@
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
|
||||
"import-show-user-mapping": "Review members mapping",
|
||||
"import-user-select": "Pick the Wekan user you want to use as this member",
|
||||
"importMapMembersAddPopup-title": "Select Wekan member",
|
||||
"importMapMembersAddPopup-title": "Избери Wekan член",
|
||||
"info": "Версия",
|
||||
"initials": "Инициали",
|
||||
"invalid-date": "Невалидна дата",
|
||||
"invalid-time": "Невалиден час",
|
||||
"invalid-user": "Невалиден потребител",
|
||||
"joined": "joined",
|
||||
"joined": "присъедини ",
|
||||
"just-invited": "You are just invited to this board",
|
||||
"keyboard-shortcuts": "Keyboard shortcuts",
|
||||
"label-create": "Създай етикет",
|
||||
@@ -263,17 +294,17 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Връзка към тази карта",
|
||||
"list-archive-cards": "Архивирай всички карти в този списък",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Премести всички карти от този списък в Кошчето",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Премести всички карти в този списък",
|
||||
"list-select-cards": "Избери всички карти в този списък",
|
||||
"listActionPopup-title": "List Actions",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"listImportCardPopup-title": "Import a Trello card",
|
||||
"listImportCardPopup-title": "Импорт на карта от Trello",
|
||||
"listMorePopup-title": "Още",
|
||||
"link-list": "Връзка към този списък",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "Можете да преместите списък в Кошчето, за да го премахнете от Таблото и запазите активността.",
|
||||
"lists": "Списъци",
|
||||
"swimlanes": "Коридори",
|
||||
"log-out": "Изход",
|
||||
@@ -291,17 +322,17 @@
|
||||
"multi-selection-on": "Множественият избор е приложен",
|
||||
"muted": "Muted",
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "Моите дъски",
|
||||
"my-boards": "Моите табла",
|
||||
"name": "Име",
|
||||
"no-archived-cards": "No archived cards.",
|
||||
"no-archived-lists": "No archived lists.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "Няма карти в Кошчето.",
|
||||
"no-archived-lists": "Няма списъци в Кошчето.",
|
||||
"no-archived-swimlanes": "Няма коридори в Кошчето.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
"not-accepted-yet": "Invitation not accepted yet",
|
||||
"notify-participate": "Получавате информация за всички карти, в които сте отбелязани или сте създали",
|
||||
"notify-watch": "Получавате информация за всички дъски, списъци и карти, които наблюдавате",
|
||||
"notify-watch": "Получавате информация за всички табла, списъци и карти, които наблюдавате",
|
||||
"optional": "optional",
|
||||
"or": "or",
|
||||
"page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
|
||||
@@ -322,12 +353,12 @@
|
||||
"remove-from-board": "Remove from Board",
|
||||
"remove-label": "Remove Label",
|
||||
"listDeletePopup-title": "Желаете да изтриете списъка?",
|
||||
"remove-member": "Remove Member",
|
||||
"remove-member-from-card": "Remove from Card",
|
||||
"remove-member": "Премахни член",
|
||||
"remove-member-from-card": "Премахни от картата",
|
||||
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
|
||||
"removeMemberPopup-title": "Remove Member?",
|
||||
"rename": "Rename",
|
||||
"rename-board": "Rename Board",
|
||||
"rename-board": "Промени името на Таблото",
|
||||
"restore": "Възстанови",
|
||||
"save": "Запази",
|
||||
"search": "Търсене",
|
||||
@@ -335,8 +366,8 @@
|
||||
"search-example": "Text to search for?",
|
||||
"select-color": "Избери цвят",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
"shortcut-assign-self": "Assign yourself to current card",
|
||||
"setWipLimitPopup-title": "Въведи WIP лимит",
|
||||
"shortcut-assign-self": "Добави себе си към тази карта",
|
||||
"shortcut-autocomplete-emoji": "Autocomplete emoji",
|
||||
"shortcut-autocomplete-members": "Autocomplete members",
|
||||
"shortcut-clear-filters": "Изчистване на всички филтри",
|
||||
@@ -350,12 +381,12 @@
|
||||
"sidebar-close": "Close Sidebar",
|
||||
"signupPopup-title": "Create an Account",
|
||||
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
|
||||
"starred-boards": "Любими дъски",
|
||||
"starred-boards-description": "Любимите дъски се показват в началото на списъка Ви.",
|
||||
"starred-boards": "Любими табла",
|
||||
"starred-boards-description": "Любимите табла се показват в началото на списъка Ви.",
|
||||
"subscribe": "Subscribe",
|
||||
"team": "Team",
|
||||
"this-board": "this board",
|
||||
"this-card": "тази карта",
|
||||
"this-card": "картата",
|
||||
"spent-time-hours": "Изработено време (часа)",
|
||||
"overtime-hours": "Оувъртайм (часа)",
|
||||
"overtime": "Оувъртайм",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Title",
|
||||
"tracking": "Следене",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Спри наблюдаването",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Качихте аватар",
|
||||
"username": "Потребителско име",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an archived list",
|
||||
"warn-list-archived": "внимание: тази карта е в списък, който е в Кошчето",
|
||||
"watch": "Наблюдавай",
|
||||
"watching": "Наблюдава",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -382,9 +414,9 @@
|
||||
"welcome-list1": "Basics",
|
||||
"welcome-list2": "Advanced",
|
||||
"what-to-do": "What do you want to do?",
|
||||
"wipLimitErrorPopup-title": "Invalid WIP Limit",
|
||||
"wipLimitErrorPopup-title": "Невалиден WIP лимит",
|
||||
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Моля, преместете някои от задачите от този списък или въведете по-висок WIP лимит.",
|
||||
"admin-panel": "Администраторски панел",
|
||||
"settings": "Настройки",
|
||||
"people": "Хора",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "часа",
|
||||
"minutes": "минути",
|
||||
"seconds": "секунди",
|
||||
"show-field-on-card": "Покажи това поле в картата",
|
||||
"yes": "Да",
|
||||
"no": "Не",
|
||||
"accounts": "Профили",
|
||||
"accounts-allowEmailChange": "Разреши промяна на имейла",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Създаден на",
|
||||
"verified": "Потвърден",
|
||||
"active": "Активен"
|
||||
"active": "Активен",
|
||||
"card-received": "Получена",
|
||||
"card-received-on": "Получена на",
|
||||
"card-end": "Завършена",
|
||||
"card-end-on": "Завършена на",
|
||||
"editCardReceivedDatePopup-title": "Промени датата на получаване",
|
||||
"editCardEndDatePopup-title": "Промени датата на завършване",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Asantiñ",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "commented on __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Oberiantizoù",
|
||||
"activity": "Oberiantiz",
|
||||
"activity-added": "%s ouzhpennet da %s",
|
||||
"activity-archived": "%s diellaouet",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "%s liammet ouzh %s",
|
||||
"activity-created": "%s krouet",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "%s enporzhiet eus %s da %s",
|
||||
"activity-imported-board": "%s enporzhiet da %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Ouzhpenn",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Ouzphenn ur golo",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apply",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Archive",
|
||||
"archive-all": "Archive All",
|
||||
"archive-board": "Archive Board",
|
||||
"archive-card": "Archive Card",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Archive selection",
|
||||
"archiveBoardPopup-title": "Archive Board?",
|
||||
"archived-items": "Archived Items",
|
||||
"archived-boards": "Archived Boards",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Archives",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Lists",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "This card is archived.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edit labels",
|
||||
"card-edit-members": "Edit members",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Diverkañ ar gartenn ?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Labels",
|
||||
"cardMembersPopup-title": "Izili",
|
||||
"cardMorePopup-title": "Muioc’h",
|
||||
"cards": "Kartennoù",
|
||||
"cards-count": "Kartennoù",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Kemmañ ger-tremen",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Kemmañ ger-tremen",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Change Settings",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "du",
|
||||
"color-blue": "glas",
|
||||
"color-green": "gwer",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Computer",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Date",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Diverkañ",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Change start date",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Full Name",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Archive all cards in this list",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"listActionPopup-title": "List Actions",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Muioc’h",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Lists",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Log Out",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Name",
|
||||
"no-archived-cards": "No archived cards.",
|
||||
"no-archived-lists": "No archived lists.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Title",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Username",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an archived list",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Watch",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Accepta",
|
||||
"act-activity-notify": "[Wekan] Notificació d'activitat",
|
||||
"act-addAttachment": "adjuntat __attachment__ a __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "afegida la checklist _checklist__ a __card__",
|
||||
"act-addChecklistItem": "afegit __checklistItem__ a la checklist __checklist__ on __card__",
|
||||
"act-addComment": "comentat a __card__: __comment__",
|
||||
"act-createBoard": "creat __board__",
|
||||
"act-createCard": "afegit/da __card__ a __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "afegit/da __list__ a __board__",
|
||||
"act-addBoardMember": "afegit/da __member__ a __board__",
|
||||
"act-archivedBoard": "__board__ arxivat",
|
||||
"act-archivedCard": "__card__ arxivat/da",
|
||||
"act-archivedList": "__list__ arxivat/da",
|
||||
"act-archivedSwimlane": "arxivada __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "__board__ importat",
|
||||
"act-importCard": "__card__ importat",
|
||||
"act-importList": "__list__ importat",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Activitats",
|
||||
"activity": "Activitat",
|
||||
"activity-added": "ha afegit %s a %s",
|
||||
"activity-archived": "ha arxivat %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "ha adjuntat %s a %s",
|
||||
"activity-created": "ha creat %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "ha exclòs %s de %s",
|
||||
"activity-imported": "importat %s dins %s des de %s",
|
||||
"activity-imported-board": "importat %s des de %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "ha eliminat %s de %s",
|
||||
"activity-sent": "ha enviat %s %s",
|
||||
"activity-unjoined": "desassignat %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "Checklist afegida a %s",
|
||||
"activity-checklist-item-added": "afegida entrada de checklist de '%s' a %s",
|
||||
"add": "Afegeix",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Afegeix Tauler",
|
||||
"add-card": "Afegeix fitxa",
|
||||
"add-swimlane": "Afegix Carril de Natació",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Afegeix checklist",
|
||||
"add-checklist-item": "Afegeix un ítem",
|
||||
"add-cover": "Afegeix coberta",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Aplica",
|
||||
"app-is-offline": "Wekan s'està carregant, esperau si us plau. Refrescar la pàgina causarà la pérdua de les dades. Si Wekan no carrega, verificau que el servei de Wekan no estigui aturat",
|
||||
"archive": "Desa",
|
||||
"archive-all": "Desa Tot",
|
||||
"archive-board": "Arxiva tauler",
|
||||
"archive-card": "Arxiva fitxa",
|
||||
"archive-list": "Arxiva llista",
|
||||
"archive-swimlane": "Arxiva Carril de Natació",
|
||||
"archive-selection": "Arxiva selecció",
|
||||
"archiveBoardPopup-title": "Arxivar el tauler?",
|
||||
"archived-items": "Elements arxivats",
|
||||
"archived-boards": "Taulers Arxivats",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restaura Tauler",
|
||||
"no-archived-boards": "Taulers no arxivats",
|
||||
"archives": "Arxivats",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assignar membre",
|
||||
"attached": "adjuntat",
|
||||
"attachment": "Adjunt",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Menú del tauler",
|
||||
"boards": "Taulers",
|
||||
"board-view": "Visió del tauler",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Carrils de Natació",
|
||||
"board-view-lists": "Llistes",
|
||||
"bucket-example": "Igual que “Bucket List”, per exemple",
|
||||
"cancel": "Cancel·la",
|
||||
"card-archived": "Aquesta fitxa està arxivada.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "Aquesta fitxa té %s comentaris.",
|
||||
"card-delete-notice": "L'esborrat és permanent. Perdreu totes les accions associades a aquesta fitxa.",
|
||||
"card-delete-pop": "Totes les accions s'eliminaran de l'activitat i no podreu tornar a obrir la fitxa. No es pot desfer.",
|
||||
"card-delete-suggest-archive": "Podeu arxivar una fitxa per extreure-la del tauler i preservar l'activitat.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Finalitza",
|
||||
"card-due-on": "Finalitza a",
|
||||
"card-spent": "Temps Dedicat",
|
||||
"card-edit-attachments": "Edita arxius adjunts",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edita etiquetes",
|
||||
"card-edit-members": "Edita membres",
|
||||
"card-labels-title": "Canvia les etiquetes de la fitxa",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Comença",
|
||||
"card-start-on": "Comença a",
|
||||
"cardAttachmentsPopup-title": "Adjunta des de",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Esborrar fitxa?",
|
||||
"cardDetailsActionsPopup-title": "Accions de fitxes",
|
||||
"cardLabelsPopup-title": "Etiquetes",
|
||||
"cardMembersPopup-title": "Membres",
|
||||
"cardMorePopup-title": "Més",
|
||||
"cards": "Fitxes",
|
||||
"cards-count": "Fitxes",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Canvia",
|
||||
"change-avatar": "Canvia Avatar",
|
||||
"change-password": "Canvia la clau",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Canvia la contrasenya",
|
||||
"changePermissionsPopup-title": "Canvia permisos",
|
||||
"changeSettingsPopup-title": "Canvia configuració",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Fes clic per destacar aquest tauler.",
|
||||
"click-to-unstar": "Fes clic per deixar de destacar aquest tauler.",
|
||||
"clipboard": "Portaretalls o estirar i amollar",
|
||||
"close": "Tanca",
|
||||
"close-board": "Tanca tauler",
|
||||
"close-board-pop": "Podràs restaurar el tauler, seleccionant \"Arxivats\" de la finistra principal",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "negre",
|
||||
"color-blue": "blau",
|
||||
"color-green": "verd",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Només comentaris",
|
||||
"comment-only-desc": "Només pots fer comentaris a les fitxes",
|
||||
"computer": "Ordinador",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copia l'enllaç de la ftixa al porta-retalls",
|
||||
"copyCardPopup-title": "Copia la fitxa",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Crea tauler",
|
||||
"chooseBoardSourcePopup-title": "Importa Tauler",
|
||||
"createLabelPopup-title": "Crea etiqueta",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "Actual",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Data",
|
||||
"decline": "Declina",
|
||||
"default-avatar": "Avatar per defecte",
|
||||
"delete": "Esborra",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Esborra etiqueta",
|
||||
"description": "Descripció",
|
||||
"disambiguateMultiLabelPopup-title": "Desfe l'ambigüitat en les etiquetes",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Canvia data d'inici",
|
||||
"editCardDueDatePopup-title": "Canvia data de finalització",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Canvia temps dedicat",
|
||||
"editLabelPopup-title": "Canvia etiqueta",
|
||||
"editNotificationPopup-title": "Edita la notificació",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Elimina filtre",
|
||||
"filter-no-label": "Sense etiqueta",
|
||||
"filter-no-member": "Sense membres",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filtra per",
|
||||
"filter-on-desc": "Estau filtrant fitxes en aquest tauler. Feu clic aquí per editar el filtre.",
|
||||
"filter-to-selection": "Filtra selecció",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Nom complet",
|
||||
"header-logo-title": "Torna a la teva pàgina de taulers",
|
||||
"hide-system-messages": "Oculta missatges del sistema",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "De debò voleu abandonar __boardTitle__? Se us eliminarà de totes les fitxes d'aquest tauler.",
|
||||
"leaveBoardPopup-title": "Abandonar Tauler?",
|
||||
"link-card": "Enllaç a aquesta fitxa",
|
||||
"list-archive-cards": "Arxiva totes les fitxes d'aquesta llista",
|
||||
"list-archive-cards-pop": "Això eliminarà totes les fitxes d'aquesta llista del tauler. Per veure les fitxes arxivades i recuperar-les en el tauler, feu clic a \" Menú \"/ \" Articles Arxivat \".",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Mou totes les fitxes d'aquesta llista",
|
||||
"list-select-cards": "Selecciona totes les fitxes d'aquesta llista",
|
||||
"listActionPopup-title": "Accions de la llista",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Més",
|
||||
"link-list": "Enllaça a aquesta llista",
|
||||
"list-delete-pop": "Totes les accions seran esborrades de la llista d'activitats i no serà possible recuperar la llista",
|
||||
"list-delete-suggest-archive": "Pots arxivar una llista per eliminar-la del tauler i preservar la seva activitat",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Llistes",
|
||||
"swimlanes": "Carrils de Natació",
|
||||
"log-out": "Finalitza la sessió",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "No seràs notificat dels canvis en aquest tauler",
|
||||
"my-boards": "Els meus taulers",
|
||||
"name": "Nom",
|
||||
"no-archived-cards": "No hi ha fitxes arxivades.",
|
||||
"no-archived-lists": "No hi ha llistes arxivades.",
|
||||
"no-archived-swimlanes": "Cap Carril de Natació arxivat",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "Sense resultats",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Podeu veure i editar fitxes. No podeu canviar la configuració.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Títol",
|
||||
"tracking": "En seguiment",
|
||||
"tracking-info": "Seràs notificat per cada canvi a aquelles fitxes de les que n'eres creador o membre",
|
||||
"type": "Type",
|
||||
"unassign-member": "Desassignar membre",
|
||||
"unsaved-description": "Tens una descripció sense desar.",
|
||||
"unwatch": "Suprimeix observació",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Avatar actualitzat",
|
||||
"username": "Nom d'Usuari",
|
||||
"view-it": "Vist",
|
||||
"warn-list-archived": "Avís: aquesta fitxa està en una llista arxivada",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Observa",
|
||||
"watching": "En observació",
|
||||
"watching-info": "Seràs notificat de cada canvi en aquest tauler",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "hores",
|
||||
"minutes": "minuts",
|
||||
"seconds": "segons",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Si",
|
||||
"no": "No",
|
||||
"accounts": "Comptes",
|
||||
"accounts-allowEmailChange": "Permet modificar correu electrònic",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Creat ",
|
||||
"verified": "Verificat",
|
||||
"active": "Actiu"
|
||||
"active": "Actiu",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+194
-131
@@ -2,17 +2,19 @@
|
||||
"accept": "Přijmout",
|
||||
"act-activity-notify": "[Wekan] Notifikace aktivit",
|
||||
"act-addAttachment": "přiložen __attachment__ do __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "přidán checklist __checklist__ do __card__",
|
||||
"act-addChecklistItem": "přidán __checklistItem__ do checklistu __checklist__ v __card__",
|
||||
"act-addComment": "komentář k __card__: __comment__",
|
||||
"act-createBoard": "přidání __board__",
|
||||
"act-createCard": "přidání __card__ do __list__",
|
||||
"act-createCustomField": "vytvořeno vlastní pole __customField__",
|
||||
"act-createList": "přidání __list__ do __board__",
|
||||
"act-addBoardMember": "přidání __member__ do __board__",
|
||||
"act-archivedBoard": "archivace __board__",
|
||||
"act-archivedCard": "archivace __card__",
|
||||
"act-archivedList": "archivace __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ bylo přesunuto do koše",
|
||||
"act-archivedCard": "__card__ bylo přesunuto do koše",
|
||||
"act-archivedList": "__list__ bylo přesunuto do koše",
|
||||
"act-archivedSwimlane": "__swimlane__ bylo přesunuto do koše",
|
||||
"act-importBoard": "import __board__",
|
||||
"act-importCard": "import __card__",
|
||||
"act-importList": "import __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Aktivity",
|
||||
"activity": "Aktivita",
|
||||
"activity-added": "%s přidáno k %s",
|
||||
"activity-archived": "%s archivováno",
|
||||
"activity-archived": "%s bylo přesunuto do koše",
|
||||
"activity-attached": "přiloženo %s k %s",
|
||||
"activity-created": "%s vytvořeno",
|
||||
"activity-customfield-created": "vytvořeno vlastní pole %s",
|
||||
"activity-excluded": "%s vyjmuto z %s",
|
||||
"activity-imported": "importován %s do %s z %s",
|
||||
"activity-imported-board": "importován %s z %s",
|
||||
@@ -39,13 +42,15 @@
|
||||
"activity-removed": "odstraněn %s z %s",
|
||||
"activity-sent": "%s posláno na %s",
|
||||
"activity-unjoined": "odpojen %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "přidán checklist do %s",
|
||||
"activity-checklist-item-added": "přidána položka checklist do '%s' v %s",
|
||||
"add": "Přidat",
|
||||
"add-attachment": "Přidat přílohu",
|
||||
"add-board": "Přidat tablo",
|
||||
"add-card": "Přidat kartu",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-swimlane": "Přidat Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Přidat zaškrtávací seznam",
|
||||
"add-checklist-item": "Přidat položku do zaškrtávacího seznamu",
|
||||
"add-cover": "Přidat obal",
|
||||
@@ -56,27 +61,27 @@
|
||||
"addMemberPopup-title": "Členové",
|
||||
"admin": "Administrátor",
|
||||
"admin-desc": "Může zobrazovat a upravovat karty, mazat členy a měnit nastavení tabla.",
|
||||
"admin-announcement": "Announcement",
|
||||
"admin-announcement-active": "Active System-Wide Announcement",
|
||||
"admin-announcement-title": "Announcement from Administrator",
|
||||
"admin-announcement": "Oznámení",
|
||||
"admin-announcement-active": "Aktivní oznámení v celém systému",
|
||||
"admin-announcement-title": "Oznámení od administrátora",
|
||||
"all-boards": "Všechna tabla",
|
||||
"and-n-other-card": "A __count__ další karta(y)",
|
||||
"and-n-other-card_plural": "A __count__ dalších karet",
|
||||
"apply": "Použít",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Archiv",
|
||||
"archive-all": "Archivovat vše",
|
||||
"archive-board": "Archivovat tablo",
|
||||
"archive-card": "Archivovat kartu",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Archivovat výběr",
|
||||
"archiveBoardPopup-title": "Archivovat tablo?",
|
||||
"archived-items": "Archivované položky",
|
||||
"archived-boards": "Archivaná tabla",
|
||||
"app-is-offline": "Wekan se načítá, prosím čekejte. Obnovení stránky způsobí ztrátu dat. Pokud se Wekan nenačte, zkontrolujte prosím, jestli se server s Wekanem nezastavil.",
|
||||
"archive": "Přesunout do koše",
|
||||
"archive-all": "Přesunout všechno do koše",
|
||||
"archive-board": "Přesunout tablo do koše",
|
||||
"archive-card": "Přesunout kartu do koše",
|
||||
"archive-list": "Přesunout seznam do koše",
|
||||
"archive-swimlane": "Přesunout swimlane do koše",
|
||||
"archive-selection": "Přesunout výběr do koše",
|
||||
"archiveBoardPopup-title": "Chcete přesunout tablo do koše?",
|
||||
"archived-items": "Koš",
|
||||
"archived-boards": "Tabla v koši",
|
||||
"restore-board": "Obnovit tablo",
|
||||
"no-archived-boards": "Žádná archivovaná tabla",
|
||||
"archives": "Archivy",
|
||||
"no-archived-boards": "Žádná tabla v koši",
|
||||
"archives": "Koš",
|
||||
"assign-member": "Přiřadit člena",
|
||||
"attached": "přiloženo",
|
||||
"attachment": "Příloha",
|
||||
@@ -94,23 +99,25 @@
|
||||
"boardChangeColorPopup-title": "Změnit pozadí tabla",
|
||||
"boardChangeTitlePopup-title": "Přejmenovat tablo",
|
||||
"boardChangeVisibilityPopup-title": "Upravit viditelnost",
|
||||
"boardChangeWatchPopup-title": "Change Watch",
|
||||
"boardChangeWatchPopup-title": "Změnit sledování",
|
||||
"boardMenuPopup-title": "Menu tabla",
|
||||
"boards": "Tabla",
|
||||
"board-view": "Board View",
|
||||
"board-view": "Náhled tabla",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Seznamy",
|
||||
"bucket-example": "Například \"Než mě odvedou\"",
|
||||
"cancel": "Zrušit",
|
||||
"card-archived": "Tato karta je archivována.",
|
||||
"card-archived": "Karta byla přesunuta do koše.",
|
||||
"card-comments-title": "Tato karta má %s komentářů.",
|
||||
"card-delete-notice": "Smazání je trvalé. Přijdete o všechny akce asociované s touto kartou.",
|
||||
"card-delete-pop": "Všechny akce budou odstraněny z kanálu aktivity a nebude možné kartu znovu otevřít. Toto nelze vrátit zpět.",
|
||||
"card-delete-suggest-archive": "Kartu můžete archivovat a tím ji odstranit z tabla a přitom zachovat aktivity.",
|
||||
"card-delete-suggest-archive": "Kartu můžete přesunout do koše a tím ji odstranit z tabla a přitom zachovat aktivity.",
|
||||
"card-due": "Termín",
|
||||
"card-due-on": "Do",
|
||||
"card-spent": "Spent Time",
|
||||
"card-spent": "Strávený čas",
|
||||
"card-edit-attachments": "Upravit přílohy",
|
||||
"card-edit-custom-fields": "Upravit vlastní pole",
|
||||
"card-edit-labels": "Upravit štítky",
|
||||
"card-edit-members": "Upravit členy",
|
||||
"card-labels-title": "Změnit štítky karty.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Začít dne",
|
||||
"cardAttachmentsPopup-title": "Přiložit formulář",
|
||||
"cardCustomField-datePopup-title": "Změnit datum",
|
||||
"cardCustomFieldsPopup-title": "Upravit vlastní pole",
|
||||
"cardDeletePopup-title": "Smazat kartu?",
|
||||
"cardDetailsActionsPopup-title": "Akce karty",
|
||||
"cardLabelsPopup-title": "Štítky",
|
||||
"cardMembersPopup-title": "Členové",
|
||||
"cardMorePopup-title": "Více",
|
||||
"cards": "Karty",
|
||||
"cards-count": "Karty",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Změnit",
|
||||
"change-avatar": "Změnit avatar",
|
||||
"change-password": "Změnit heslo",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Změnit heslo",
|
||||
"changePermissionsPopup-title": "Změnit oprávnění",
|
||||
"changeSettingsPopup-title": "Změnit nastavení",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklisty",
|
||||
"click-to-star": "Kliknutím přidat hvězdičku tomuto tablu.",
|
||||
"click-to-unstar": "Kliknutím odebrat hvězdičku tomuto tablu.",
|
||||
"clipboard": "Schránka nebo potáhnout a pustit",
|
||||
"close": "Zavřít",
|
||||
"close-board": "Zavřít tablo",
|
||||
"close-board-pop": "Budete moci obnovit tablo kliknutím na tlačítko \"Archivy\" v hlavním menu.",
|
||||
"close-board-pop": "Kliknutím na tlačítko \"Recyklovat\" budete moci obnovit tablo z koše.",
|
||||
"color-black": "černá",
|
||||
"color-blue": "modrá",
|
||||
"color-green": "zelená",
|
||||
@@ -153,24 +165,39 @@
|
||||
"color-yellow": "žlutá",
|
||||
"comment": "Komentář",
|
||||
"comment-placeholder": "Text komentáře",
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"comment-only": "Pouze komentáře",
|
||||
"comment-only-desc": "Může přidávat komentáře pouze do karet.",
|
||||
"computer": "Počítač",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Kopírovat adresu karty do mezipaměti",
|
||||
"copyCardPopup-title": "Kopírovat kartu",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"copyChecklistToManyCardsPopup-title": "Kopírovat checklist do více karet",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Názvy a popisy cílové karty v tomto formátu JSON",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Nadpis první karty\", \"description\":\"Popis druhé karty\"}, {\"title\":\"Nadpis druhé karty\",\"description\":\"Popis druhé karty\"},{\"title\":\"Nadpis poslední kary\",\"description\":\"Popis poslední karty\"} ]",
|
||||
"create": "Vytvořit",
|
||||
"createBoardPopup-title": "Vytvořit tablo",
|
||||
"chooseBoardSourcePopup-title": "Importovat tablo",
|
||||
"createLabelPopup-title": "Vytvořit štítek",
|
||||
"createCustomField": "Vytvořit pole",
|
||||
"createCustomFieldPopup-title": "Vytvořit pole",
|
||||
"current": "Aktuální",
|
||||
"date": "Date",
|
||||
"custom-field-delete-pop": "Nelze vrátit zpět. Toto odebere toto vlastní pole ze všech karet a zničí jeho historii.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Rozbalovací seznam",
|
||||
"custom-field-dropdown-none": "(prázdné)",
|
||||
"custom-field-dropdown-options": "Seznam možností",
|
||||
"custom-field-dropdown-options-placeholder": "Stiskněte enter pro přidání více možností",
|
||||
"custom-field-dropdown-unknown": "(neznámé)",
|
||||
"custom-field-number": "Číslo",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Vlastní pole",
|
||||
"date": "Datum",
|
||||
"decline": "Zamítnout",
|
||||
"default-avatar": "Výchozí avatar",
|
||||
"delete": "Smazat",
|
||||
"deleteCustomFieldPopup-title": "Smazat vlastní pole",
|
||||
"deleteLabelPopup-title": "Smazat štítek?",
|
||||
"description": "Popis",
|
||||
"disambiguateMultiLabelPopup-title": "Dvojznačný štítek akce",
|
||||
@@ -181,11 +208,12 @@
|
||||
"edit": "Upravit",
|
||||
"edit-avatar": "Změnit avatar",
|
||||
"edit-profile": "Upravit profil",
|
||||
"edit-wip-limit": "Edit WIP Limit",
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"edit-wip-limit": "Upravit WIP Limit",
|
||||
"soft-wip-limit": "Mírný WIP limit",
|
||||
"editCardStartDatePopup-title": "Změnit datum startu úkolu",
|
||||
"editCardDueDatePopup-title": "Změnit datum dokončení úkolu",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editCustomFieldPopup-title": "Upravit pole",
|
||||
"editCardSpentTimePopup-title": "Změnit strávený čas",
|
||||
"editLabelPopup-title": "Změnit štítek",
|
||||
"editNotificationPopup-title": "Změnit notifikace",
|
||||
"editProfilePopup-title": "Upravit profil",
|
||||
@@ -193,7 +221,7 @@
|
||||
"email-enrollAccount-subject": "Byl vytvořen účet na __siteName__",
|
||||
"email-enrollAccount-text": "Ahoj __user__,\n\nMůžeš začít používat službu kliknutím na odkaz níže.\n\n__url__\n\nDěkujeme.",
|
||||
"email-fail": "Odeslání emailu selhalo",
|
||||
"email-fail-text": "Error trying to send email",
|
||||
"email-fail-text": "Chyba při pokusu o odeslání emailu",
|
||||
"email-invalid": "Neplatný email",
|
||||
"email-invite": "Pozvat pomocí emailu",
|
||||
"email-invite-subject": "__inviter__ odeslal pozvánku",
|
||||
@@ -203,7 +231,7 @@
|
||||
"email-sent": "Email byl odeslán",
|
||||
"email-verifyEmail-subject": "Ověř svou emailovou adresu na",
|
||||
"email-verifyEmail-text": "Ahoj __user__,\n\nPro ověření emailové adresy klikni na odkaz níže.\n\n__url__\n\nDěkujeme.",
|
||||
"enable-wip-limit": "Enable WIP Limit",
|
||||
"enable-wip-limit": "Povolit WIP Limit",
|
||||
"error-board-doesNotExist": "Toto tablo neexistuje",
|
||||
"error-board-notAdmin": "K provedení změny musíš být administrátor tohoto tabla",
|
||||
"error-board-notAMember": "K provedení změny musíš být členem tohoto tabla",
|
||||
@@ -213,43 +241,46 @@
|
||||
"error-user-doesNotExist": "Tento uživatel neexistuje",
|
||||
"error-user-notAllowSelf": "Nemůžeš pozvat sám sebe",
|
||||
"error-user-notCreated": "Tento uživatel není vytvořen",
|
||||
"error-username-taken": "This username is already taken",
|
||||
"error-email-taken": "Email has already been taken",
|
||||
"error-username-taken": "Toto uživatelské jméno již existuje",
|
||||
"error-email-taken": "Tento email byl již použit",
|
||||
"export-board": "Exportovat tablo",
|
||||
"filter": "Filtr",
|
||||
"filter-cards": "Filtrovat karty",
|
||||
"filter-clear": "Vyčistit filtr",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-label": "Žádný štítek",
|
||||
"filter-no-member": "Žádný člen",
|
||||
"filter-no-custom-fields": "Žádné vlastní pole",
|
||||
"filter-on": "Filtr je zapnut",
|
||||
"filter-on-desc": "Filtrujete karty tohoto tabla. Pro úpravu filtru klikni sem.",
|
||||
"filter-to-selection": "Filtrovat výběr",
|
||||
"advanced-filter-label": "Pokročilý filtr",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Celé jméno",
|
||||
"header-logo-title": "Jit zpět na stránku s tably.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
"hide-system-messages": "Skrýt systémové zprávy",
|
||||
"headerBarCreateBoardPopup-title": "Vytvořit tablo",
|
||||
"home": "Domů",
|
||||
"import": "Import",
|
||||
"import-board": "import board",
|
||||
"import-board": "Importovat tablo",
|
||||
"import-board-c": "Importovat tablo",
|
||||
"import-board-title-trello": "Import board from Trello",
|
||||
"import-board-title-wekan": "Import board from Wekan",
|
||||
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
|
||||
"from-trello": "From Trello",
|
||||
"from-wekan": "From Wekan",
|
||||
"import-board-title-wekan": "Importovat tablo z Wekanu",
|
||||
"import-sandstorm-warning": "Importované tablo spaže všechny existující data v tablu a nahradí je importovaným tablem.",
|
||||
"from-trello": "Z Trella",
|
||||
"from-wekan": "Z Wekanu",
|
||||
"import-board-instruction-trello": "Na svém Trello tablu, otevři 'Menu', pak 'More', 'Print and Export', 'Export JSON', a zkopíruj výsledný text",
|
||||
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
|
||||
"import-board-instruction-wekan": "Ve vašem Wekan tablu jděte do 'Menu', klikněte na 'Exportovat tablo' a zkopírujte text ze staženého souboru.",
|
||||
"import-json-placeholder": "Sem vlož validní JSON data",
|
||||
"import-map-members": "Map members",
|
||||
"import-map-members": "Mapovat členy",
|
||||
"import-members-map": "Toto importované tablo obsahuje několik členů. Namapuj členy z importu na uživatelské účty Wekan.",
|
||||
"import-show-user-mapping": "Zkontrolovat namapování členů",
|
||||
"import-user-select": "Vyber uživatele Wekan, kterého chceš použít pro tohoto člena",
|
||||
"importMapMembersAddPopup-title": "Select Wekan member",
|
||||
"info": "Version",
|
||||
"importMapMembersAddPopup-title": "Vybrat Wekan uživatele",
|
||||
"info": "Verze",
|
||||
"initials": "Iniciály",
|
||||
"invalid-date": "Invalid date",
|
||||
"invalid-time": "Invalid time",
|
||||
"invalid-user": "Invalid user",
|
||||
"invalid-date": "Neplatné datum",
|
||||
"invalid-time": "Neplatný čas",
|
||||
"invalid-user": "Neplatný uživatel",
|
||||
"joined": "spojeno",
|
||||
"just-invited": "Právě jsi byl pozván(a) do tohoto tabla",
|
||||
"keyboard-shortcuts": "Klávesové zkratky",
|
||||
@@ -260,20 +291,20 @@
|
||||
"language": "Jazyk",
|
||||
"last-admin-desc": "Nelze změnit role, protože musí existovat alespoň jeden administrátor.",
|
||||
"leave-board": "Opustit tablo",
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"leave-board-pop": "Opravdu chcete opustit tablo __boardTitle__? Odstraníte se tím i ze všech karet v tomto tablu.",
|
||||
"leaveBoardPopup-title": "Opustit tablo?",
|
||||
"link-card": "Odkázat na tuto kartu",
|
||||
"list-archive-cards": "Archivovat všechny karty na tomto seznamu",
|
||||
"list-archive-cards-pop": "Toto odstraní z tabla všechny karty z tohoto seznamu. Pro zobrazení archivovaných karet a jejich opětovné obnovení, klikni v \"Menu\" > \"Archivované položky\".",
|
||||
"list-archive-cards": "Přesunout všechny karty v tomto seznamu do koše",
|
||||
"list-archive-cards-pop": "Toto odstraní z tabla všechny karty z tohoto seznamu. Pro zobrazení karet v koši a jejich opětovné obnovení, klikni v \"Menu\" > \"Archivované položky\".",
|
||||
"list-move-cards": "Přesunout všechny karty v tomto seznamu",
|
||||
"list-select-cards": "Vybrat všechny karty v tomto seznamu",
|
||||
"listActionPopup-title": "Vypsat akce",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"swimlaneActionPopup-title": "Akce swimlane",
|
||||
"listImportCardPopup-title": "Importovat Trello kartu",
|
||||
"listMorePopup-title": "Více",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"link-list": "Odkaz na tento seznam",
|
||||
"list-delete-pop": "Všechny akce budou odstraněny z kanálu aktivity a nebude možné kartu obnovit. Toto nelze vrátit zpět.",
|
||||
"list-delete-suggest-archive": "Kartu můžete přesunout do koše a tím ji odstranit z tabla a přitom zachovat aktivity.",
|
||||
"lists": "Seznamy",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Odhlásit",
|
||||
@@ -284,31 +315,31 @@
|
||||
"menu": "Menu",
|
||||
"move-selection": "Přesunout výběr",
|
||||
"moveCardPopup-title": "Přesunout kartu",
|
||||
"moveCardToBottom-title": "Move to Bottom",
|
||||
"moveCardToTop-title": "Move to Top",
|
||||
"moveCardToBottom-title": "Přesunout dolu",
|
||||
"moveCardToTop-title": "Přesunout nahoru",
|
||||
"moveSelectionPopup-title": "Přesunout výběr",
|
||||
"multi-selection": "Multi-výběr",
|
||||
"multi-selection-on": "Multi-výběr je zapnut",
|
||||
"muted": "Muted",
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"muted": "Umlčeno",
|
||||
"muted-info": "Nikdy nedostanete oznámení o změně v tomto tablu.",
|
||||
"my-boards": "Moje tabla",
|
||||
"name": "Jméno",
|
||||
"no-archived-cards": "Žádné archivované karty.",
|
||||
"no-archived-lists": "Žádné archivované seznamy.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "Žádné karty v koši",
|
||||
"no-archived-lists": "Žádné seznamy v koši",
|
||||
"no-archived-swimlanes": "Žádné swimlane v koši",
|
||||
"no-results": "Žádné výsledky",
|
||||
"normal": "Normální",
|
||||
"normal-desc": "Může zobrazovat a upravovat karty. Nemůže měnit nastavení.",
|
||||
"not-accepted-yet": "Pozvánka ještě nebyla přijmuta",
|
||||
"notify-participate": "Receive updates to any cards you participate as creater or member",
|
||||
"notify-watch": "Receive updates to any boards, lists, or cards you’re watching",
|
||||
"notify-participate": "Dostane aktualizace do všech karet, ve kterých se účastní jako tvůrce nebo člen",
|
||||
"notify-watch": "Dostane aktualitace to všech tabel, seznamů nebo karet, které sledujete",
|
||||
"optional": "volitelný",
|
||||
"or": "nebo",
|
||||
"page-maybe-private": "Tato stránka může být soukromá. Můžete ji zobrazit po <a href='%s'>přihlášení</a>.",
|
||||
"page-not-found": "Stránka nenalezena.",
|
||||
"password": "Heslo",
|
||||
"paste-or-dragdrop": "vložit, nebo přetáhnout a pustit soubor obrázku (pouze obrázek)",
|
||||
"participating": "Participating",
|
||||
"participating": "Zúčastnění",
|
||||
"preview": "Náhled",
|
||||
"previewAttachedImagePopup-title": "Náhled",
|
||||
"previewClipboardImagePopup-title": "Náhled",
|
||||
@@ -320,8 +351,8 @@
|
||||
"quick-access-description": "Pro přidání odkazu do této lišty označ tablo hvězdičkou.",
|
||||
"remove-cover": "Odstranit obal",
|
||||
"remove-from-board": "Odstranit z tabla",
|
||||
"remove-label": "Remove Label",
|
||||
"listDeletePopup-title": "Delete List ?",
|
||||
"remove-label": "Odstranit štítek",
|
||||
"listDeletePopup-title": "Smazat seznam?",
|
||||
"remove-member": "Odebrat uživatele",
|
||||
"remove-member-from-card": "Odstranit z karty",
|
||||
"remove-member-pop": "Odstranit __name__ (__username__) z __boardTitle__? Uživatel bude odebrán ze všech karet na tomto tablu. Na tuto skutečnost bude upozorněn.",
|
||||
@@ -331,13 +362,13 @@
|
||||
"restore": "Obnovit",
|
||||
"save": "Uložit",
|
||||
"search": "Hledat",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"select-color": "Select Color",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
"search-cards": "Hledat nadpisy a popisy karet v tomto tablu",
|
||||
"search-example": "Hledaný text",
|
||||
"select-color": "Vybrat barvu",
|
||||
"set-wip-limit-value": "Nastaví limit pro maximální počet úkolů v seznamu.",
|
||||
"setWipLimitPopup-title": "Nastavit WIP Limit",
|
||||
"shortcut-assign-self": "Přiřadit sebe k aktuální kartě",
|
||||
"shortcut-autocomplete-emoji": "Autocomplete emoji",
|
||||
"shortcut-autocomplete-emoji": "Automatické dokončování emoji",
|
||||
"shortcut-autocomplete-members": "Automatický výběr uživatel",
|
||||
"shortcut-clear-filters": "Vyčistit všechny filtry",
|
||||
"shortcut-close-dialog": "Zavřít dialog",
|
||||
@@ -345,9 +376,9 @@
|
||||
"shortcut-show-shortcuts": "Otevřít tento seznam odkazů",
|
||||
"shortcut-toggle-filterbar": "Přepnout lištu filtrování",
|
||||
"shortcut-toggle-sidebar": "Přepnout lištu tabla",
|
||||
"show-cards-minimum-count": "Show cards count if list contains more than",
|
||||
"sidebar-open": "Open Sidebar",
|
||||
"sidebar-close": "Close Sidebar",
|
||||
"show-cards-minimum-count": "Zobrazit počet karet pokud seznam obsahuje více než ",
|
||||
"sidebar-open": "Otevřít boční panel",
|
||||
"sidebar-close": "Zavřít boční panel",
|
||||
"signupPopup-title": "Vytvořit účet",
|
||||
"star-board-title": "Kliknutím přidat tablu hvězdičku. Poté bude zobrazeno navrchu seznamu.",
|
||||
"starred-boards": "Tabla s hvězdičkou",
|
||||
@@ -356,64 +387,65 @@
|
||||
"team": "Tým",
|
||||
"this-board": "toto tablo",
|
||||
"this-card": "tuto kartu",
|
||||
"spent-time-hours": "Spent time (hours)",
|
||||
"overtime-hours": "Overtime (hours)",
|
||||
"overtime": "Overtime",
|
||||
"has-overtime-cards": "Has overtime cards",
|
||||
"has-spenttime-cards": "Has spent time cards",
|
||||
"time": "Time",
|
||||
"spent-time-hours": "Strávený čas (hodiny)",
|
||||
"overtime-hours": "Přesčas (hodiny)",
|
||||
"overtime": "Přesčas",
|
||||
"has-overtime-cards": "Obsahuje karty s přesčasy",
|
||||
"has-spenttime-cards": "Obsahuje karty se stráveným časem",
|
||||
"time": "Čas",
|
||||
"title": "Název",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"tracking": "Pozorující",
|
||||
"tracking-info": "Budete informováni o všech změnách v kartách, u kterých jste tvůrce nebo člen.",
|
||||
"type": "Typ",
|
||||
"unassign-member": "Vyřadit člena",
|
||||
"unsaved-description": "Popis neni uložen.",
|
||||
"unwatch": "Unwatch",
|
||||
"unwatch": "Přestat sledovat",
|
||||
"upload": "Nahrát",
|
||||
"upload-avatar": "Nahrát avatar",
|
||||
"uploaded-avatar": "Avatar nahrán",
|
||||
"username": "Uživatelské jméno",
|
||||
"view-it": "Zobrazit",
|
||||
"warn-list-archived": "varování: tato karta je v archivovaném seznamu",
|
||||
"watch": "Watch",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
"welcome-board": "Welcome Board",
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-list1": "Basics",
|
||||
"welcome-list2": "Advanced",
|
||||
"warn-list-archived": "varování: tuto kartu obsahuje seznam v koši",
|
||||
"watch": "Sledovat",
|
||||
"watching": "Sledující",
|
||||
"watching-info": "Bude vám oznámena každá změna v tomto tablu",
|
||||
"welcome-board": "Uvítací tablo",
|
||||
"welcome-swimlane": "Milník 1",
|
||||
"welcome-list1": "Základní",
|
||||
"welcome-list2": "Pokročilé",
|
||||
"what-to-do": "Co chcete dělat?",
|
||||
"wipLimitErrorPopup-title": "Invalid WIP Limit",
|
||||
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
|
||||
"admin-panel": "Admin Panel",
|
||||
"wipLimitErrorPopup-title": "Neplatný WIP Limit",
|
||||
"wipLimitErrorPopup-dialog-pt1": "Počet úkolů v tomto seznamu je vyšší než definovaný WIP limit.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Přesuňte prosím některé úkoly mimo tento seznam, nebo nastavte vyšší WIP limit.",
|
||||
"admin-panel": "Administrátorský panel",
|
||||
"settings": "Nastavení",
|
||||
"people": "Lidé",
|
||||
"registration": "Registrace",
|
||||
"disable-self-registration": "Disable Self-Registration",
|
||||
"disable-self-registration": "Vypnout svévolnou registraci",
|
||||
"invite": "Pozvánka",
|
||||
"invite-people": "Invite People",
|
||||
"to-boards": "To board(s)",
|
||||
"invite-people": "Pozvat lidi",
|
||||
"to-boards": "Do tabel",
|
||||
"email-addresses": "Emailové adresy",
|
||||
"smtp-host-description": "The address of the SMTP server that handles your emails.",
|
||||
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
|
||||
"smtp-tls-description": "Enable TLS support for SMTP server",
|
||||
"smtp-host-description": "Adresa SMTP serveru, který zpracovává vaše emaily.",
|
||||
"smtp-port-description": "Port, který používá Váš SMTP server pro odchozí emaily.",
|
||||
"smtp-tls-description": "Zapnout TLS podporu pro SMTP server",
|
||||
"smtp-host": "SMTP Host",
|
||||
"smtp-port": "SMTP Port",
|
||||
"smtp-username": "Uživatelské jméno",
|
||||
"smtp-password": "Heslo",
|
||||
"smtp-tls": "TLS support",
|
||||
"smtp-tls": "podpora TLS",
|
||||
"send-from": "Od",
|
||||
"send-smtp-test": "Send a test email to yourself",
|
||||
"invitation-code": "Invitation Code",
|
||||
"send-smtp-test": "Poslat si zkušební email.",
|
||||
"invitation-code": "Kód pozvánky",
|
||||
"email-invite-register-subject": "__inviter__ odeslal pozvánku",
|
||||
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
|
||||
"email-smtp-test-subject": "SMTP Test Email From Wekan",
|
||||
"email-smtp-test-text": "You have successfully sent an email",
|
||||
"error-invitation-code-not-exist": "Invitation code doesn't exist",
|
||||
"email-invite-register-text": "Ahoj __user__,\n\n__inviter__ tě přizval ke spolupráci ve Wekanu.\n\nNásleduj prosím odkaz níže:\n\n__url__\n\nKód Tvé pozvánky je: __icode__\n\nDěkujeme.",
|
||||
"email-smtp-test-subject": "SMTP Testovací email z Wekanu",
|
||||
"email-smtp-test-text": "Email byl úspěšně odeslán",
|
||||
"error-invitation-code-not-exist": "Kód pozvánky neexistuje.",
|
||||
"error-notAuthorized": "Nejste autorizován k prohlížení této stránky.",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"outgoing-webhooks": "Odchozí Webhooky",
|
||||
"outgoingWebhooksPopup-title": "Odchozí Webhooky",
|
||||
"new-outgoing-webhook": "Nové odchozí Webhooky",
|
||||
"no-name": "(Neznámé)",
|
||||
"Wekan_version": "Wekan verze",
|
||||
"Node_version": "Node verze",
|
||||
@@ -421,19 +453,50 @@
|
||||
"OS_Cpus": "OS Počet CPU",
|
||||
"OS_Freemem": "OS Volná paměť",
|
||||
"OS_Loadavg": "OS Průměrná zátěž systém",
|
||||
"OS_Platform": "OS Platform",
|
||||
"OS_Release": "OS Release",
|
||||
"OS_Platform": "Platforma OS",
|
||||
"OS_Release": "Verze OS",
|
||||
"OS_Totalmem": "OS Celková paměť",
|
||||
"OS_Type": "OS Type",
|
||||
"OS_Type": "Typ OS",
|
||||
"OS_Uptime": "OS Doba běhu systému",
|
||||
"hours": "hodin",
|
||||
"minutes": "minut",
|
||||
"seconds": "sekund",
|
||||
"show-field-on-card": "Ukázat toto pole na kartě",
|
||||
"yes": "Ano",
|
||||
"no": "Ne",
|
||||
"accounts": "Účty",
|
||||
"accounts-allowEmailChange": "Povolit změnu Emailu",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"accounts-allowUserNameChange": "Povolit změnu uživatelského jména",
|
||||
"createdAt": "Vytvořeno v",
|
||||
"verified": "Ověřen",
|
||||
"active": "Aktivní",
|
||||
"card-received": "Přijato",
|
||||
"card-received-on": "Přijaté v",
|
||||
"card-end": "Konec",
|
||||
"card-end-on": "Končí v",
|
||||
"editCardReceivedDatePopup-title": "Změnit datum přijetí",
|
||||
"editCardEndDatePopup-title": "Změnit datum konce",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Smazat tablo?",
|
||||
"delete-board": "Smazat tablo",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+109
-46
@@ -2,17 +2,19 @@
|
||||
"accept": "Akzeptieren",
|
||||
"act-activity-notify": "[Wekan] Aktivitätsbenachrichtigung",
|
||||
"act-addAttachment": "hat __attachment__ an __card__ angehängt",
|
||||
"act-addChecklist": "hat die Checklist __checklist__ zu __card__ hinzugefügt",
|
||||
"act-addSubtask": "hat die Teilaufgabe __checklist__ zu __card__ hinzugefügt",
|
||||
"act-addChecklist": "hat die Checkliste __checklist__ zu __card__ hinzugefügt",
|
||||
"act-addChecklistItem": "hat __checklistItem__ zur Checkliste __checklist__ in __card__ hinzugefügt",
|
||||
"act-addComment": "hat __card__ kommentiert: __comment__",
|
||||
"act-createBoard": "hat __board__ erstellt",
|
||||
"act-createCard": "hat __card__ zu __list__ hinzugefügt",
|
||||
"act-createCustomField": "benutzerdefiniertes Feld __customField__ angelegt",
|
||||
"act-createList": "hat __list__ zu __board__ hinzugefügt",
|
||||
"act-addBoardMember": "hat __member__ zu __board__ hinzugefügt",
|
||||
"act-archivedBoard": "hat __board__ archiviert",
|
||||
"act-archivedCard": "hat __card__ archiviert",
|
||||
"act-archivedList": "hat __list__ archiviert",
|
||||
"act-archivedSwimlane": "__swimlane__ wurde archiviert",
|
||||
"act-archivedBoard": "__board__ in den Papierkorb verschoben",
|
||||
"act-archivedCard": "__card__ in den Papierkorb verschoben",
|
||||
"act-archivedList": "__list__ in den Papierkorb verschoben",
|
||||
"act-archivedSwimlane": "__swimlane__ in den Papierkorb verschoben",
|
||||
"act-importBoard": "hat __board__ importiert",
|
||||
"act-importCard": "hat __card__ importiert",
|
||||
"act-importList": "hat __list__ importiert",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Aktivitäten",
|
||||
"activity": "Aktivität",
|
||||
"activity-added": "hat %s zu %s hinzugefügt",
|
||||
"activity-archived": "hat %s archiviert",
|
||||
"activity-archived": "hat %s in den Papierkorb verschoben",
|
||||
"activity-attached": "hat %s an %s angehängt",
|
||||
"activity-created": "hat %s erstellt",
|
||||
"activity-customfield-created": "hat das benutzerdefinierte Feld %s erstellt",
|
||||
"activity-excluded": "hat %s von %s ausgeschlossen",
|
||||
"activity-imported": "hat %s in %s von %s importiert",
|
||||
"activity-imported-board": "hat %s von %s importiert",
|
||||
@@ -39,15 +42,17 @@
|
||||
"activity-removed": "hat %s von %s entfernt",
|
||||
"activity-sent": "hat %s an %s gesendet",
|
||||
"activity-unjoined": "hat %s verlassen",
|
||||
"activity-subtask-added": "Teilaufgabe zu %s hinzugefügt",
|
||||
"activity-checklist-added": "hat eine Checkliste zu %s hinzugefügt",
|
||||
"activity-checklist-item-added": "hat einen Punkt zur Checkliste '%s' in %s hinzugefügt",
|
||||
"activity-checklist-item-added": "hat eine Checklistenposition zu '%s' in %s hinzugefügt",
|
||||
"add": "Hinzufügen",
|
||||
"add-attachment": "Datei anhängen",
|
||||
"add-board": "neues Board",
|
||||
"add-card": "Karte hinzufügen",
|
||||
"add-swimlane": "Swimlane hinzufügen",
|
||||
"add-subtask": "Teilaufgabe hinzufügen",
|
||||
"add-checklist": "Checkliste hinzufügen",
|
||||
"add-checklist-item": "Punkt zu einer Checkliste hinzufügen",
|
||||
"add-checklist-item": "Position zu einer Checkliste hinzufügen",
|
||||
"add-cover": "Cover hinzufügen",
|
||||
"add-label": "Label hinzufügen",
|
||||
"add-list": "Liste hinzufügen",
|
||||
@@ -57,30 +62,30 @@
|
||||
"admin": "Admin",
|
||||
"admin-desc": "Kann Karten anzeigen und bearbeiten, Mitglieder entfernen und Boardeinstellungen ändern.",
|
||||
"admin-announcement": "Ankündigung",
|
||||
"admin-announcement-active": "Aktive, systemweite Ankündigungen",
|
||||
"admin-announcement-active": "Aktive systemweite Ankündigungen",
|
||||
"admin-announcement-title": "Ankündigung des Administrators",
|
||||
"all-boards": "Alle Boards",
|
||||
"and-n-other-card": "und eine andere Karte",
|
||||
"and-n-other-card_plural": "und __count__ andere Karten",
|
||||
"apply": "Übernehmen",
|
||||
"app-is-offline": "Wekan lädt gerade, bitte warten Sie. Wenn Sie die Seite neu laden, gehen nicht übertragene Änderungen verloren. Sollte Wekan nicht geladen werden, überprüfen Sie bitte, ob der Server noch läuft.",
|
||||
"archive": "Archiv",
|
||||
"archive-all": "Alles archivieren",
|
||||
"archive-board": "Board archivieren",
|
||||
"archive-card": "Karte archivieren",
|
||||
"archive-list": "Liste archivieren",
|
||||
"archive-swimlane": "Swimlane archivieren",
|
||||
"archive-selection": "Auswahl archivieren",
|
||||
"archiveBoardPopup-title": "Board archivieren?",
|
||||
"archived-items": "Archivierte Einträge",
|
||||
"archived-boards": "Achivierte Boards",
|
||||
"archive": "In den Papierkorb verschieben",
|
||||
"archive-all": "Alles in den Papierkorb verschieben",
|
||||
"archive-board": "Board in den Papierkorb verschieben",
|
||||
"archive-card": "Karte in den Papierkorb verschieben",
|
||||
"archive-list": "Liste in den Papierkorb verschieben",
|
||||
"archive-swimlane": "Swimlane in den Papierkorb verschieben",
|
||||
"archive-selection": "Auswahl in den Papierkorb verschieben",
|
||||
"archiveBoardPopup-title": "Board in den Papierkorb verschieben?",
|
||||
"archived-items": "Papierkorb",
|
||||
"archived-boards": "Boards im Papierkorb",
|
||||
"restore-board": "Board wiederherstellen",
|
||||
"no-archived-boards": "Keine archivierten Boards",
|
||||
"archives": "Archive",
|
||||
"no-archived-boards": "Keine Boards im Papierkorb.",
|
||||
"archives": "Papierkorb",
|
||||
"assign-member": "Mitglied zuweisen",
|
||||
"attached": "angehängt",
|
||||
"attachment": "Anhang",
|
||||
"attachment-delete-pop": "Das Löschen eines Anhangs kann nicht wieder rückgängig gemacht werden.",
|
||||
"attachment-delete-pop": "Das Löschen eines Anhangs kann nicht rückgängig gemacht werden.",
|
||||
"attachmentDeletePopup-title": "Anhang löschen?",
|
||||
"attachments": "Anhänge",
|
||||
"auto-watch": "Neue Boards nach Erstellung automatisch beobachten",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Boardmenü",
|
||||
"boards": "Boards",
|
||||
"board-view": "Boardansicht",
|
||||
"board-view-cal": "Kalender",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Listen",
|
||||
"bucket-example": "z.B. \"Löffelliste\"",
|
||||
"cancel": "Abbrechen",
|
||||
"card-archived": "Diese Karte wurde archiviert.",
|
||||
"card-archived": "Diese Karte wurde in den Papierkorb verschoben",
|
||||
"card-comments-title": "Diese Karte hat %s Kommentar(e).",
|
||||
"card-delete-notice": "Löschen ist unwiderruflich. Alle Aktionen die dieser Karte zugeordnet sind werden ebenfalls gelöscht.",
|
||||
"card-delete-pop": "Alle Aktionen werden vom Aktivitätsfeed entfernt und die Karte kann nicht mehr geöffnet werden. Das Löschen kann nicht widerrufen werden!",
|
||||
"card-delete-suggest-archive": "Sie können eine Karte archivieren, um sie vom Board zu entfernen und die Aktivitäten zu behalten.",
|
||||
"card-due": "Ende",
|
||||
"card-due-on": "Ende am",
|
||||
"card-delete-notice": "Löschen kann nicht rückgängig gemacht werden. Alle Aktionen, die dieser Karte zugeordnet sind, werden ebenfalls gelöscht.",
|
||||
"card-delete-pop": "Alle Aktionen werden aus dem Aktivitätsfeed entfernt und die Karte kann nicht wiedereröffnet werden. Die Aktion kann nicht rückgängig gemacht werden.",
|
||||
"card-delete-suggest-archive": "Sie können eine Karte in den Papierkorb verschieben, um sie vom Board zu entfernen und die Aktivitäten zu behalten.",
|
||||
"card-due": "Fällig",
|
||||
"card-due-on": "Fällig am",
|
||||
"card-spent": "Aufgewendete Zeit",
|
||||
"card-edit-attachments": "Anhänge ändern",
|
||||
"card-edit-custom-fields": "Benutzerdefinierte Felder editieren",
|
||||
"card-edit-labels": "Labels ändern",
|
||||
"card-edit-members": "Mitglieder ändern",
|
||||
"card-labels-title": "Labels für diese Karte ändern.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Start am",
|
||||
"cardAttachmentsPopup-title": "Anhängen von",
|
||||
"cardCustomField-datePopup-title": "Datum ändern",
|
||||
"cardCustomFieldsPopup-title": "Benutzerdefinierte Felder editieren",
|
||||
"cardDeletePopup-title": "Karte löschen?",
|
||||
"cardDetailsActionsPopup-title": "Kartenaktionen",
|
||||
"cardLabelsPopup-title": "Labels",
|
||||
"cardMembersPopup-title": "Mitglieder",
|
||||
"cardMorePopup-title": "Mehr",
|
||||
"cards": "Karten",
|
||||
"cards-count": "Karten",
|
||||
"casSignIn": "Mit CAS anmelden",
|
||||
"change": "Ändern",
|
||||
"change-avatar": "Profilbild ändern",
|
||||
"change-password": "Passwort ändern",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Passwort ändern",
|
||||
"changePermissionsPopup-title": "Berechtigungen ändern",
|
||||
"changeSettingsPopup-title": "Einstellungen ändern",
|
||||
"subtasks": "Teilaufgaben",
|
||||
"checklists": "Checklisten",
|
||||
"click-to-star": "Klicken Sie, um das Board mit einem Stern zu markieren.",
|
||||
"click-to-unstar": "Klicken Sie, um den Stern vom Board zu entfernen.",
|
||||
"clipboard": "Zwischenablage oder Drag & Drop",
|
||||
"close": "Schließen",
|
||||
"close-board": "Board schließen",
|
||||
"close-board-pop": "Sie können das Board wiederherstellen, indem Sie den \"Archiv\"-Button in der Kopfzeile der Startseite anklicken.",
|
||||
"close-board-pop": "Sie können das Board wiederherstellen, indem Sie die Schaltfläche \"Papierkorb\" in der Kopfzeile der Startseite anklicken.",
|
||||
"color-black": "schwarz",
|
||||
"color-blue": "blau",
|
||||
"color-green": "grün",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Nur kommentierbar",
|
||||
"comment-only-desc": "Kann Karten nur Kommentieren",
|
||||
"computer": "Computer",
|
||||
"confirm-checklist-delete-dialog": "Sind Sie sicher, dass Sie die Checkliste löschen möchten?",
|
||||
"confirm-subtask-delete-dialog": "Wollen Sie die Teilaufgabe wirklich löschen?",
|
||||
"confirm-checklist-delete-dialog": "Wollen Sie die Checkliste wirklich löschen?",
|
||||
"copy-card-link-to-clipboard": "Kopiere Link zur Karte in die Zwischenablage",
|
||||
"copyCardPopup-title": "Karte kopieren",
|
||||
"copyChecklistToManyCardsPopup-title": "Checklistenvorlage in mehrere Karten kopieren",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Board erstellen",
|
||||
"chooseBoardSourcePopup-title": "Board importieren",
|
||||
"createLabelPopup-title": "Label erstellen",
|
||||
"createCustomField": "Feld erstellen",
|
||||
"createCustomFieldPopup-title": "Feld erstellen",
|
||||
"current": "aktuell",
|
||||
"custom-field-delete-pop": "Dies wird das Feld aus allen Karten entfernen und den dazugehörigen Verlauf löschen. Die Aktion kann nicht rückgängig gemacht werden.",
|
||||
"custom-field-checkbox": "Kontrollkästchen",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Dropdownliste",
|
||||
"custom-field-dropdown-none": "(keiner)",
|
||||
"custom-field-dropdown-options": "Listenoptionen",
|
||||
"custom-field-dropdown-options-placeholder": "Drücken Sie die Eingabetaste, um weitere Optionen hinzuzufügen",
|
||||
"custom-field-dropdown-unknown": "(unbekannt)",
|
||||
"custom-field-number": "Zahl",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Benutzerdefinierte Felder",
|
||||
"date": "Datum",
|
||||
"decline": "Ablehnen",
|
||||
"default-avatar": "Standard Profilbild",
|
||||
"delete": "Löschen",
|
||||
"deleteCustomFieldPopup-title": "Benutzerdefiniertes Feld löschen?",
|
||||
"deleteLabelPopup-title": "Label löschen?",
|
||||
"description": "Beschreibung",
|
||||
"disambiguateMultiLabelPopup-title": "Labels vereinheitlichen",
|
||||
@@ -184,7 +211,8 @@
|
||||
"edit-wip-limit": "WIP-Limit bearbeiten",
|
||||
"soft-wip-limit": "Soft WIP-Limit",
|
||||
"editCardStartDatePopup-title": "Startdatum ändern",
|
||||
"editCardDueDatePopup-title": "Enddatum ändern",
|
||||
"editCardDueDatePopup-title": "Fälligkeitsdatum ändern",
|
||||
"editCustomFieldPopup-title": "Feld bearbeiten",
|
||||
"editCardSpentTimePopup-title": "Aufgewendete Zeit ändern",
|
||||
"editLabelPopup-title": "Label ändern",
|
||||
"editNotificationPopup-title": "Benachrichtigung ändern",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Filter entfernen",
|
||||
"filter-no-label": "Kein Label",
|
||||
"filter-no-member": "Kein Mitglied",
|
||||
"filter-no-custom-fields": "Keine benutzerdefinierten Felder",
|
||||
"filter-on": "Filter ist aktiv",
|
||||
"filter-on-desc": "Sie filtern die Karten in diesem Board. Klicken Sie, um den Filter zu bearbeiten.",
|
||||
"filter-to-selection": "Ergebnisse auswählen",
|
||||
"advanced-filter-label": "Erweiterter Filter",
|
||||
"advanced-filter-description": "Der erweiterte Filter erlaubt die Eingabe von Zeichenfolgen, die folgende Operatoren enthalten: == != <= >= && || ( ). Ein Leerzeichen wird als Trennzeichen zwischen den Operatoren verwendet. Sie können nach allen benutzerdefinierten Feldern filtern, indem Sie deren Namen und Werte eingeben. Zum Beispiel: Feld1 == Wert1. Hinweis: Wenn Felder oder Werte Leerzeichen enthalten, müssen Sie sie in einfache Anführungszeichen setzen. Zum Beispiel: 'Feld 1' == 'Wert 1'. Um einzelne Steuerzeichen (' \\/) zu überspringen, können Sie \\ verwenden. Zum Beispiel: Feld1 == Ich bin\\'s. Sie können außerdem mehrere Bedingungen kombinieren. Zum Beispiel: F1 == W1 || F1 == W2. Normalerweise werden alle Operatoren von links nach rechts interpretiert. Sie können die Reihenfolge ändern, indem Sie Klammern setzen. Zum Beispiel: F1 == W1 && ( F2 == W2 || F2 == W3 ). Sie können Textfelder auch mithilfe regulärer Ausdrücke durchsuchen: F1 == /Tes.*/i",
|
||||
"fullname": "Vollständiger Name",
|
||||
"header-logo-title": "Zurück zur Board Seite.",
|
||||
"hide-system-messages": "Systemmeldungen ausblenden",
|
||||
@@ -255,7 +286,7 @@
|
||||
"keyboard-shortcuts": "Tastaturkürzel",
|
||||
"label-create": "Label erstellen",
|
||||
"label-default": "%s Label (Standard)",
|
||||
"label-delete-pop": "Diese Aktion ist unwiderruflich. Das Label wird von allen Karten entfernt und seine Historie wird gelöscht.",
|
||||
"label-delete-pop": "Aktion kann nicht rückgängig gemacht werden. Das Label wird von allen Karten entfernt und seine Historie gelöscht.",
|
||||
"labels": "Labels",
|
||||
"language": "Sprache",
|
||||
"last-admin-desc": "Sie können keine Rollen ändern, weil es mindestens einen Administrator geben muss.",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Sind Sie sicher, dass Sie __boardTitle__ verlassen möchten? Sie werden von allen Karten in diesem Board entfernt.",
|
||||
"leaveBoardPopup-title": "Board verlassen?",
|
||||
"link-card": "Link zu dieser Karte",
|
||||
"list-archive-cards": "Alle Karten in dieser Liste archivieren",
|
||||
"list-archive-cards-pop": "Alle Karten von dieser Liste werden vom Board entfernt. Um archivierte Karten anzuzeigen und wiederherzustellen, klicken Sie auf \"Menü\" > \"Archivierte Einträge\".",
|
||||
"list-archive-cards": "Alle Karten dieser Liste in den Papierkorb verschieben",
|
||||
"list-archive-cards-pop": "Alle Karten dieser Liste werden vom Board entfernt. Um Karten im Papierkorb anzuzeigen und wiederherzustellen, klicken Sie auf \"Menü\" > \"Papierkorb\".",
|
||||
"list-move-cards": "Alle Karten in dieser Liste verschieben",
|
||||
"list-select-cards": "Alle Karten in dieser Liste auswählen",
|
||||
"listActionPopup-title": "Listenaktionen",
|
||||
@@ -272,8 +303,8 @@
|
||||
"listImportCardPopup-title": "Eine Trello-Karte importieren",
|
||||
"listMorePopup-title": "Mehr",
|
||||
"link-list": "Link zu dieser Liste",
|
||||
"list-delete-pop": "Alle Aktionen werden aus dem Verlauf gelöscht. Die Liste kann nicht wiederhergestellt werden.",
|
||||
"list-delete-suggest-archive": "Listen können archiviert werden, um sie aus dem Board zu entfernen und den Verlauf zu erhalten.",
|
||||
"list-delete-pop": "Alle Aktionen werden aus dem Verlauf gelöscht und die Liste kann nicht wiederhergestellt werden.",
|
||||
"list-delete-suggest-archive": "Listen können in den Papierkorb verschoben werden, um sie aus dem Board zu entfernen und die Aktivitäten zu behalten.",
|
||||
"lists": "Listen",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Ausloggen",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "Sie werden nicht über Änderungen auf diesem Board benachrichtigt",
|
||||
"my-boards": "Meine Boards",
|
||||
"name": "Name",
|
||||
"no-archived-cards": "Keine archivierten Karten.",
|
||||
"no-archived-lists": "Keine archivierten Listen.",
|
||||
"no-archived-swimlanes": "Keine archivierten Swimlanes",
|
||||
"no-archived-cards": "Keine Karten im Papierkorb.",
|
||||
"no-archived-lists": "Keine Listen im Papierkorb.",
|
||||
"no-archived-swimlanes": "Keine Swimlanes im Papierkorb.",
|
||||
"no-results": "Keine Ergebnisse",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Kann Karten anzeigen und bearbeiten, aber keine Einstellungen ändern.",
|
||||
@@ -354,17 +385,18 @@
|
||||
"starred-boards-description": "Markierte Boards erscheinen oben in ihrer Boardliste.",
|
||||
"subscribe": "Abonnieren",
|
||||
"team": "Team",
|
||||
"this-board": "dieses Board",
|
||||
"this-board": "diesem Board",
|
||||
"this-card": "diese Karte",
|
||||
"spent-time-hours": "Aufgewendete Zeit (Stunden)",
|
||||
"overtime-hours": "Überzeit (Stunden)",
|
||||
"overtime": "Überzeit",
|
||||
"has-overtime-cards": "Hat Karten mit Überzeit",
|
||||
"overtime-hours": "Mehrarbeit (Stunden)",
|
||||
"overtime": "Mehrarbeit",
|
||||
"has-overtime-cards": "Hat Karten mit Mehrarbeit",
|
||||
"has-spenttime-cards": "Hat Karten mit aufgewendeten Zeiten",
|
||||
"time": "Zeit",
|
||||
"title": "Titel",
|
||||
"tracking": "Folgen",
|
||||
"tracking-info": "Sie werden über alle Änderungen an Karten benachrichtigt, an denen Sie als Ersteller oder Mitglied beteiligt sind.",
|
||||
"type": "Typ",
|
||||
"unassign-member": "Mitglied entfernen",
|
||||
"unsaved-description": "Sie haben eine nicht gespeicherte Änderung.",
|
||||
"unwatch": "Beobachtung entfernen",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Profilbild hochgeladen",
|
||||
"username": "Benutzername",
|
||||
"view-it": "Ansehen",
|
||||
"warn-list-archived": "Warnung: Diese Karte befindet sich in einer archivierten Liste",
|
||||
"warn-list-archived": "Warnung: Diese Karte befindet sich in einer Liste im Papierkorb!",
|
||||
"watch": "Beobachten",
|
||||
"watching": "Beobachten",
|
||||
"watching-info": "Sie werden über alle Änderungen in diesem Board benachrichtigt",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "Stunden",
|
||||
"minutes": "Minuten",
|
||||
"seconds": "Sekunden",
|
||||
"show-field-on-card": "Zeige dieses Feld auf der Karte",
|
||||
"yes": "Ja",
|
||||
"no": "Nein",
|
||||
"accounts": "Konten",
|
||||
"accounts-allowEmailChange": "Ändern der E-Mailadresse zulassen",
|
||||
"accounts-allowEmailChange": "Ändern der E-Mailadresse erlauben",
|
||||
"accounts-allowUserNameChange": "Ändern des Benutzernamens erlauben",
|
||||
"createdAt": "Erstellt am",
|
||||
"verified": "Geprüft",
|
||||
"active": "Aktiv"
|
||||
"active": "Aktiv",
|
||||
"card-received": "Empfangen",
|
||||
"card-received-on": "Empfangen am",
|
||||
"card-end": "Ende",
|
||||
"card-end-on": "Endet am",
|
||||
"editCardReceivedDatePopup-title": "Empfangsdatum ändern",
|
||||
"editCardEndDatePopup-title": "Enddatum ändern",
|
||||
"assigned-by": "Zugewiesen von",
|
||||
"requested-by": "Angefordert von",
|
||||
"board-delete-notice": "Löschen kann nicht rückgängig gemacht werden. Sie werden alle Listen, Karten und Aktionen, die mit diesem Board verbunden sind, verlieren.",
|
||||
"delete-board-confirm-popup": "Alle Listen, Karten, Labels und Akivitäten werden gelöscht und Sie können die Inhalte des Boards nicht wiederherstellen! Die Aktion kann nicht rückgängig gemacht werden.",
|
||||
"boardDeletePopup-title": "Board löschen?",
|
||||
"delete-board": "Board löschen",
|
||||
"default-subtasks-board": "Teilaufgabe für __board__ Board",
|
||||
"default": "Standard",
|
||||
"queue": "Warteschlange",
|
||||
"subtask-settings": "Einstellungen für Teilaufgaben",
|
||||
"boardSubtaskSettingsPopup-title": "Boardeinstellungen für Teilaufgaben",
|
||||
"show-subtasks-field": "Karten können Teilaufgaben haben",
|
||||
"deposit-subtasks-board": "Teilaufgaben in diesem Board ablegen:",
|
||||
"deposit-subtasks-list": "Zielliste für hier abgelegte Teilaufgaben:",
|
||||
"show-parent-in-minicard": "Übergeordnetes Element auf Minikarte anzeigen:",
|
||||
"prefix-with-full-path": "Vollständiger Pfad über Titel",
|
||||
"prefix-with-parent": "Über Titel",
|
||||
"subtext-with-full-path": "Vollständiger Pfad unter Titel",
|
||||
"subtext-with-parent": "Unter Titel",
|
||||
"change-card-parent": "Übergeordnete Karte ändern",
|
||||
"parent-card": "Übergeordnete Karte",
|
||||
"source-board": "Quellboard",
|
||||
"no-parent": "Nicht anzeigen"
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Accept",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "commented on __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Activities",
|
||||
"activity": "Activity",
|
||||
"activity-added": "added %s to %s",
|
||||
"activity-archived": "archived %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "created %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Προσθήκη",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Προσθήκη Κάρτας",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Εφαρμογή",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Archive",
|
||||
"archive-all": "Archive All",
|
||||
"archive-board": "Archive Board",
|
||||
"archive-card": "Archive Card",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Archive selection",
|
||||
"archiveBoardPopup-title": "Archive Board?",
|
||||
"archived-items": "Archived Items",
|
||||
"archived-boards": "Archived Boards",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Archives",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Λίστες",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Ακύρωση",
|
||||
"card-archived": "This card is archived.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Έως",
|
||||
"card-due-on": "Έως τις",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edit labels",
|
||||
"card-edit-members": "Edit members",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Διαγραφή Κάρτας;",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Ετικέτες",
|
||||
"cardMembersPopup-title": "Μέλοι",
|
||||
"cardMorePopup-title": "Περισσότερα",
|
||||
"cards": "Κάρτες",
|
||||
"cards-count": "Κάρτες",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Αλλαγή",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Αλλαγή Κωδικού",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Αλλαγή Κωδικού",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Αλλαγή Ρυθμίσεων",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Κλείσιμο",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "μαύρο",
|
||||
"color-blue": "μπλε",
|
||||
"color-green": "πράσινο",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Υπολογιστής",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Ημερομηνία",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Ημερομηνία",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Διαγραφή",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Change start date",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "Κανένα μέλος",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Πλήρες Όνομα",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Archive all cards in this list",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"listActionPopup-title": "List Actions",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Περισσότερα",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Λίστες",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Αποσύνδεση",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Όνομα",
|
||||
"no-archived-cards": "No archived cards.",
|
||||
"no-archived-lists": "No archived lists.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "Κανένα αποτέλεσμα",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Τίτλος",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Όνομα Χρήστη",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an archived list",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Watch",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "ώρες",
|
||||
"minutes": "λεπτά",
|
||||
"seconds": "δευτερόλεπτα",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Ναι",
|
||||
"no": "Όχι",
|
||||
"accounts": "Λογαριασμοί",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+94
-31
@@ -2,17 +2,19 @@
|
||||
"accept": "Accept",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached _ attachment _ to _ card _",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "commented on __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Activities",
|
||||
"activity": "Activity",
|
||||
"activity-added": "added %s to %s",
|
||||
"activity-archived": "archived %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "created %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Add",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apply",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Archive",
|
||||
"archive-all": "Archive All",
|
||||
"archive-board": "Archive Board",
|
||||
"archive-card": "Archive Card",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Archive selection",
|
||||
"archiveBoardPopup-title": "Archive Board?",
|
||||
"archived-items": "Archived Items",
|
||||
"archived-boards": "Archived Boards",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Archives",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -86,7 +91,7 @@
|
||||
"auto-watch": "Automatically watch boards when they are created",
|
||||
"avatar-too-big": "The avatar is too large (70KB max)",
|
||||
"back": "Back",
|
||||
"board-change-color": "Change color",
|
||||
"board-change-color": "Change colour",
|
||||
"board-nb-stars": "%s stars",
|
||||
"board-not-found": "Board not found",
|
||||
"board-private-info": "This board will be <strong>private</strong>.",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Lists",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "This card is archived.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edit labels",
|
||||
"card-edit-members": "Edit members",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Delete Card?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Labels",
|
||||
"cardMembersPopup-title": "Members",
|
||||
"cardMorePopup-title": "More",
|
||||
"cards": "Cards",
|
||||
"cards-count": "Cards",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Change Password",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Change Settings",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "black",
|
||||
"color-blue": "blue",
|
||||
"color-green": "green",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Computer",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Date",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Delete",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Change start date",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Full Name",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Archive all cards in this list",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"listActionPopup-title": "List Actions",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "More",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve its activity.",
|
||||
"lists": "Lists",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Log Out",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Name",
|
||||
"no-archived-cards": "No archived cards.",
|
||||
"no-archived-lists": "No archived lists.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
@@ -333,7 +364,7 @@
|
||||
"search": "Search",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"select-color": "Select Color",
|
||||
"select-color": "Select Colour",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
"shortcut-assign-self": "Assign yourself to current card",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Title",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Username",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an archived list",
|
||||
"warn-list-archived": "warning: this card is in a list in the Recycle Bin",
|
||||
"watch": "Watch",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any changes in this board",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+93
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Accept",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "commented on __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Activities",
|
||||
"activity": "Activity",
|
||||
"activity-added": "added %s to %s",
|
||||
"activity-archived": "archived %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "created %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Add",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apply",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Archive",
|
||||
"archive-all": "Archive All",
|
||||
"archive-board": "Archive Board",
|
||||
"archive-card": "Archive Card",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Archive selection",
|
||||
"archiveBoardPopup-title": "Archive Board?",
|
||||
"archived-items": "Archived Items",
|
||||
"archived-boards": "Archived Boards",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Archives",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Lists",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "This card is archived.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edit labels",
|
||||
"card-edit-members": "Edit members",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Delete Card?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Labels",
|
||||
"cardMembersPopup-title": "Members",
|
||||
"cardMorePopup-title": "More",
|
||||
"cards": "Cards",
|
||||
"cards-count": "Cards",
|
||||
"casSignIn" : "Sign In with CAS",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Change Password",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Change Settings",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "black",
|
||||
"color-blue": "blue",
|
||||
"color-green": "green",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Computer",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Date",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Delete",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Change start date",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Full Name",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Archive all cards in this list",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"listActionPopup-title": "List Actions",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "More",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Lists",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Log Out",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Name",
|
||||
"no-archived-cards": "No archived cards.",
|
||||
"no-archived-lists": "No archived lists.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Title",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Username",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an archived list",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Watch",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -429,11 +461,43 @@
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Akcepti",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "commented on __card__: __comment__",
|
||||
"act-createBoard": "Kreiis __board__",
|
||||
"act-createCard": "Aldonis __card__ al __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "Aldonis __card__ al __board__",
|
||||
"act-addBoardMember": "Aldonis __member__ al __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Aktivaĵoj",
|
||||
"activity": "Aktivaĵo",
|
||||
"activity-added": "Aldonis %s al %s",
|
||||
"activity-archived": "archived %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "Kreiis %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "Sendis %s al %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Aldoni",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apliki",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Arkivi",
|
||||
"archive-all": "Arkivi ĉion",
|
||||
"archive-board": "Archive Board",
|
||||
"archive-card": "Arkivi karton",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Arkivi elekton",
|
||||
"archiveBoardPopup-title": "Archive Board?",
|
||||
"archived-items": "Archived Items",
|
||||
"archived-boards": "Archived Boards",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Arkivoj",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Listoj",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "Karto arkivita",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Redakti etikedojn",
|
||||
"card-edit-members": "Redakti membrojn",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Komenco",
|
||||
"card-start-on": "Komencas je la",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Delete Card?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Etikedoj",
|
||||
"cardMembersPopup-title": "Membroj",
|
||||
"cardMorePopup-title": "Pli",
|
||||
"cards": "Kartoj",
|
||||
"cards-count": "Kartoj",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Ŝanĝi",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Ŝangi pasvorton",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Ŝangi pasvorton",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Ŝanĝi agordojn",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Fermi",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "nigra",
|
||||
"color-blue": "blua",
|
||||
"color-green": "verda",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Komputilo",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Krei tavolon",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Dato",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Dato",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Delete",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Redakti komencdaton",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Ŝanĝi etikedon",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "Nenia etikedo",
|
||||
"filter-no-member": "Nenia membro",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Full Name",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Ligi al ĉitiu karto",
|
||||
"list-archive-cards": "Archive all cards in this list",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Movu ĉiujn kartojn en tiu listo.",
|
||||
"list-select-cards": "Elektu ĉiujn kartojn en tiu listo.",
|
||||
"listActionPopup-title": "List Actions",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Pli",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Listoj",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Elsaluti",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Nomo",
|
||||
"no-archived-cards": "No archived cards.",
|
||||
"no-archived-lists": "No archived lists.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "Neniaj rezultoj",
|
||||
"normal": "Normala",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Titolo",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Uzantnomo",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an archived list",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Rigardi",
|
||||
"watching": "Rigardante",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+105
-42
@@ -2,17 +2,19 @@
|
||||
"accept": "Aceptar",
|
||||
"act-activity-notify": "[Wekan] Notificación de Actividad",
|
||||
"act-addAttachment": "adjunto __attachment__ a __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "lista de ítems __checklist__ agregada a __card__",
|
||||
"act-addChecklistItem": " __checklistItem__ agregada a lista de ítems __checklist__ en __card__",
|
||||
"act-addComment": "comentado en __card__: __comment__",
|
||||
"act-createBoard": "__board__ creado",
|
||||
"act-createCard": "agregada __card__ a __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "agregada __list__ a __board__",
|
||||
"act-addBoardMember": "agregado __member__ a __board__",
|
||||
"act-archivedBoard": "__board__ archivado",
|
||||
"act-archivedCard": "__card__ archivada",
|
||||
"act-archivedList": "__list__ archivada",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ movido a Papelera de Reciclaje",
|
||||
"act-archivedCard": "__card__ movido a Papelera de Reciclaje",
|
||||
"act-archivedList": "__list__ movido a Papelera de Reciclaje",
|
||||
"act-archivedSwimlane": "__swimlane__ movido a Papelera de Reciclaje",
|
||||
"act-importBoard": "__board__ importado",
|
||||
"act-importCard": "__card__ importada",
|
||||
"act-importList": "__list__ importada",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Actividades",
|
||||
"activity": "Actividad",
|
||||
"activity-added": "agregadas %s a %s",
|
||||
"activity-archived": "archivadas %s",
|
||||
"activity-archived": "%s movido a Papelera de Reciclaje",
|
||||
"activity-attached": "adjuntadas %s a %s",
|
||||
"activity-created": "creadas %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluidas %s de %s",
|
||||
"activity-imported": "importadas %s en %s de %s",
|
||||
"activity-imported-board": "importadas %s de %s",
|
||||
@@ -39,13 +42,15 @@
|
||||
"activity-removed": "eliminadas %s de %s",
|
||||
"activity-sent": "enviadas %s a %s",
|
||||
"activity-unjoined": "separadas %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "agregada lista de tareas a %s",
|
||||
"activity-checklist-item-added": "agregado item de lista de tareas a '%s' en %s",
|
||||
"add": "Agregar",
|
||||
"add-attachment": "Agregar Adjunto",
|
||||
"add-board": "Agregar Tablero",
|
||||
"add-card": "Agregar Tarjeta",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-swimlane": "Agregar Calle",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Agregar Lista de Tareas",
|
||||
"add-checklist-item": "Agregar ítem a lista de tareas",
|
||||
"add-cover": "Agregar Portadas",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "Y __count__ otras tarjetas",
|
||||
"apply": "Aplicar",
|
||||
"app-is-offline": "Wekan está cargándose, por favor espere. Refrescar la página va a causar pérdida de datos. Si Wekan no se carga, por favor revise que el servidor de Wekan no se haya detenido.",
|
||||
"archive": "Archivar",
|
||||
"archive-all": "Archivar Todo",
|
||||
"archive-board": "Archivar Tablero",
|
||||
"archive-card": "Archivar Tarjeta",
|
||||
"archive-list": "Archivar Lista",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Archivar selección",
|
||||
"archiveBoardPopup-title": "Archivar Tablero?",
|
||||
"archived-items": "Items Archivados",
|
||||
"archived-boards": "Tableros Archivados",
|
||||
"archive": "Mover a Papelera de Reciclaje",
|
||||
"archive-all": "Mover Todo a la Papelera de Reciclaje",
|
||||
"archive-board": "Mover Tablero a la Papelera de Reciclaje",
|
||||
"archive-card": "Mover Tarjeta a la Papelera de Reciclaje",
|
||||
"archive-list": "Mover Lista a la Papelera de Reciclaje",
|
||||
"archive-swimlane": "Mover Calle a la Papelera de Reciclaje",
|
||||
"archive-selection": "Mover selección a la Papelera de Reciclaje",
|
||||
"archiveBoardPopup-title": "¿Mover Tablero a la Papelera de Reciclaje?",
|
||||
"archived-items": "Papelera de Reciclaje",
|
||||
"archived-boards": "Tableros en la Papelera de Reciclaje",
|
||||
"restore-board": "Restaurar Tablero",
|
||||
"no-archived-boards": "Tableros no archivados.",
|
||||
"archives": "Archivos",
|
||||
"no-archived-boards": "No hay tableros en la Papelera de Reciclaje",
|
||||
"archives": "Papelera de Reciclaje",
|
||||
"assign-member": "Asignar miembro",
|
||||
"attached": "adjunto(s)",
|
||||
"attachment": "Adjunto",
|
||||
@@ -97,20 +102,22 @@
|
||||
"boardChangeWatchPopup-title": "Alternar Seguimiento",
|
||||
"boardMenuPopup-title": "Menú del Tablero",
|
||||
"boards": "Tableros",
|
||||
"board-view": "Board View",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view": "Vista de Tablero",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Calles",
|
||||
"board-view-lists": "Listas",
|
||||
"bucket-example": "Como \"Lista de Contenedores\" por ejemplo",
|
||||
"cancel": "Cancelar",
|
||||
"card-archived": "Esta tarjeta está archivada",
|
||||
"card-archived": "Esta tarjeta es movida a la Papelera de Reciclaje",
|
||||
"card-comments-title": "Esta tarjeta tiene %s comentario.",
|
||||
"card-delete-notice": "Borrar es permanente. Perderás todas las acciones asociadas con esta tarjeta.",
|
||||
"card-delete-pop": "Todas las acciones van a ser eliminadas del agregador de actividad y no podrás re-abrir la tarjeta. No hay deshacer.",
|
||||
"card-delete-suggest-archive": "Tu puedes archivar una tarjeta para removerla del tablero y preservar la actividad.",
|
||||
"card-delete-suggest-archive": "Tu puedes mover una tarjeta a la Papelera de Reciclaje para removerla del tablero y preservar la actividad.",
|
||||
"card-due": "Vence",
|
||||
"card-due-on": "Vence en",
|
||||
"card-spent": "Tiempo Empleado",
|
||||
"card-edit-attachments": "Editar adjuntos",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Editar etiquetas",
|
||||
"card-edit-members": "Editar miembros",
|
||||
"card-labels-title": "Cambiar las etiquetas de la tarjeta.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Empieza",
|
||||
"card-start-on": "Empieza el",
|
||||
"cardAttachmentsPopup-title": "Adjuntar De",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "¿Borrar Tarjeta?",
|
||||
"cardDetailsActionsPopup-title": "Acciones de la Tarjeta",
|
||||
"cardLabelsPopup-title": "Etiquetas",
|
||||
"cardMembersPopup-title": "Miembros",
|
||||
"cardMorePopup-title": "Mas",
|
||||
"cards": "Tarjetas",
|
||||
"cards-count": "Tarjetas",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Cambiar",
|
||||
"change-avatar": "Cambiar Avatar",
|
||||
"change-password": "Cambiar Contraseña",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Cambiar Contraseña",
|
||||
"changePermissionsPopup-title": "Cambiar Permisos",
|
||||
"changeSettingsPopup-title": "Cambiar Opciones",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Listas de ítems",
|
||||
"click-to-star": "Clickeá para darle una estrella a este tablero.",
|
||||
"click-to-unstar": "Clickeá para sacarle la estrella al tablero.",
|
||||
"clipboard": "Portapapeles o arrastrar y soltar",
|
||||
"close": "Cerrar",
|
||||
"close-board": "Cerrar Tablero",
|
||||
"close-board-pop": "Podrás restaurar el tablero apretando el botón \"Archivos\" del encabezado en inicio.",
|
||||
"close-board-pop": "Podrás restaurar el tablero apretando el botón \"Papelera de Reciclaje\" del encabezado en inicio.",
|
||||
"color-black": "negro",
|
||||
"color-blue": "azul",
|
||||
"color-green": "verde",
|
||||
@@ -156,21 +168,36 @@
|
||||
"comment-only": "Comentar solamente",
|
||||
"comment-only-desc": "Puede comentar en tarjetas solamente.",
|
||||
"computer": "Computadora",
|
||||
"confirm-checklist-delete-dialog": "¿Estás segur@ que querés borrar la lista de ítems?",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copiar enlace a tarjeta en el portapapeles",
|
||||
"copyCardPopup-title": "Copiar Tarjeta",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"copyChecklistToManyCardsPopup-title": "Copiar Plantilla Checklist a Muchas Tarjetas",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Títulos y Descripciones de la Tarjeta Destino en este formato JSON",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Título de primera tarjeta\", \"description\":\"Descripción de primera tarjeta\"}, {\"title\":\"Título de segunda tarjeta\",\"description\":\"Descripción de segunda tarjeta\"},{\"title\":\"Título de última tarjeta\",\"description\":\"Descripción de última tarjeta\"} ]",
|
||||
"create": "Crear",
|
||||
"createBoardPopup-title": "Crear Tablero",
|
||||
"chooseBoardSourcePopup-title": "Importar tablero",
|
||||
"createLabelPopup-title": "Crear Etiqueta",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "actual",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Fecha",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Fecha",
|
||||
"decline": "Rechazar",
|
||||
"default-avatar": "Avatar por defecto",
|
||||
"delete": "Borrar",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "¿Borrar Etiqueta?",
|
||||
"description": "Descripción",
|
||||
"disambiguateMultiLabelPopup-title": "Desambiguación de Acción de Etiqueta",
|
||||
@@ -185,9 +212,10 @@
|
||||
"soft-wip-limit": "Límite TEP suave",
|
||||
"editCardStartDatePopup-title": "Cambiar fecha de inicio",
|
||||
"editCardDueDatePopup-title": "Cambiar fecha de vencimiento",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Cambiar tiempo empleado",
|
||||
"editLabelPopup-title": "Cambiar Etiqueta",
|
||||
"editNotificationPopup-title": "Editar Notificació",
|
||||
"editNotificationPopup-title": "Editar Notificación",
|
||||
"editProfilePopup-title": "Editar Perfil",
|
||||
"email": "Email",
|
||||
"email-enrollAccount-subject": "Una cuenta creada para vos en __siteName__",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Sacar filtro",
|
||||
"filter-no-label": "Sin etiqueta",
|
||||
"filter-no-member": "No es miembro",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "El filtro está activado",
|
||||
"filter-on-desc": "Estás filtrando cartas en este tablero. Clickeá acá para editar el filtro.",
|
||||
"filter-to-selection": "Filtrar en la selección",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Nombre Completo",
|
||||
"header-logo-title": "Retroceder a tu página de tableros.",
|
||||
"hide-system-messages": "Esconder mensajes del sistema",
|
||||
@@ -263,19 +294,19 @@
|
||||
"leave-board-pop": "¿Estás seguro que querés dejar __boardTitle__? Vas a salir de todas las tarjetas en este tablero.",
|
||||
"leaveBoardPopup-title": "¿Dejar Tablero?",
|
||||
"link-card": "Enlace a esta tarjeta",
|
||||
"list-archive-cards": "Archivar todas las tarjetas en esta lista",
|
||||
"list-archive-cards-pop": "Esto va a eliminar las tarjetas en esta lista del tablero. Para ver tarjetas archivadas y traerlas de vuelta al tablero, clickeá \"Menú\" > \"Items Archivados\".",
|
||||
"list-archive-cards": "Mover todas las tarjetas en esta lista a la Papelera de Reciclaje",
|
||||
"list-archive-cards-pop": "Esto va a remover las tarjetas en esta lista del tablero. Para ver tarjetas en la Papelera de Reciclaje y traerlas de vuelta al tablero, clickeá \"Menú\" > \"Papelera de Reciclaje\".",
|
||||
"list-move-cards": "Mueve todas las tarjetas en esta lista",
|
||||
"list-select-cards": "Selecciona todas las tarjetas en esta lista",
|
||||
"listActionPopup-title": "Listar Acciones",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"swimlaneActionPopup-title": "Acciones de la Calle",
|
||||
"listImportCardPopup-title": "Importar una tarjeta Trello",
|
||||
"listMorePopup-title": "Mas",
|
||||
"link-list": "Enlace a esta lista",
|
||||
"list-delete-pop": "Todas las acciones van a ser eliminadas del agregador de actividad y no podás recuperar la lista. No se puede deshacer.",
|
||||
"list-delete-suggest-archive": "Podés archivar la lista para eliminarla del tablero y preservar la actividad.",
|
||||
"list-delete-suggest-archive": "Podés mover la lista a la Papelera de Reciclaje para remvoerla del tablero y preservar la actividad.",
|
||||
"lists": "Listas",
|
||||
"swimlanes": "Swimlanes",
|
||||
"swimlanes": "Calles",
|
||||
"log-out": "Salir",
|
||||
"log-in": "Entrar",
|
||||
"loginPopup-title": "Entrar",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "No serás notificado de ningún cambio en este tablero",
|
||||
"my-boards": "Mis Tableros",
|
||||
"name": "Nombre",
|
||||
"no-archived-cards": "No hay tarjetas archivadas.",
|
||||
"no-archived-lists": "No hay listas archivadas.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No hay tarjetas en la Papelera de Reciclaje",
|
||||
"no-archived-lists": "No hay listas en la Papelera de Reciclaje",
|
||||
"no-archived-swimlanes": "No hay calles en la Papelera de Reciclaje",
|
||||
"no-results": "No hay resultados",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Puede ver y editar tarjetas. No puede cambiar opciones.",
|
||||
@@ -331,8 +362,8 @@
|
||||
"restore": "Restaurar",
|
||||
"save": "Grabar",
|
||||
"search": "Buscar",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"search-cards": "Buscar en títulos y descripciones de tarjeta en este tablero",
|
||||
"search-example": "¿Texto a buscar?",
|
||||
"select-color": "Seleccionar Color",
|
||||
"set-wip-limit-value": "Fijar un límite para el número máximo de tareas en esta lista",
|
||||
"setWipLimitPopup-title": "Establecer Límite TEP",
|
||||
@@ -360,11 +391,12 @@
|
||||
"overtime-hours": "Sobretiempo (horas)",
|
||||
"overtime": "Sobretiempo",
|
||||
"has-overtime-cards": "Tiene tarjetas con sobretiempo",
|
||||
"has-spenttime-cards": "Has spent time cards",
|
||||
"has-spenttime-cards": "Ha gastado tarjetas de tiempo",
|
||||
"time": "Hora",
|
||||
"title": "Título",
|
||||
"tracking": "Seguimiento",
|
||||
"tracking-info": "Serás notificado de cualquier cambio a aquellas tarjetas en las que seas creador o miembro.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Desasignar miembro",
|
||||
"unsaved-description": "Tienes una descripción sin guardar.",
|
||||
"unwatch": "Dejar de seguir",
|
||||
@@ -373,12 +405,12 @@
|
||||
"uploaded-avatar": "Cargado un avatar",
|
||||
"username": "Nombre de usuario",
|
||||
"view-it": "Verlo",
|
||||
"warn-list-archived": "cuidado; esta tarjeta está en una lista archivada",
|
||||
"warn-list-archived": "cuidado; esta tarjeta está en la Papelera de Reciclaje",
|
||||
"watch": "Seguir",
|
||||
"watching": "Siguiendo",
|
||||
"watching-info": "Serás notificado de cualquier cambio en este tablero",
|
||||
"welcome-board": "Tablero de Bienvenida",
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-swimlane": "Hito 1",
|
||||
"welcome-list1": "Básicos",
|
||||
"welcome-list2": "Avanzado",
|
||||
"what-to-do": "¿Qué querés hacer?",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "horas",
|
||||
"minutes": "minutos",
|
||||
"seconds": "segundos",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Si",
|
||||
"no": "No",
|
||||
"accounts": "Cuentas",
|
||||
"accounts-allowEmailChange": "Permitir Cambio de Email",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Creado en",
|
||||
"verified": "Verificado",
|
||||
"active": "Activo"
|
||||
"active": "Activo",
|
||||
"card-received": "Recibido",
|
||||
"card-received-on": "Recibido en",
|
||||
"card-end": "Termino",
|
||||
"card-end-on": "Termina en",
|
||||
"editCardReceivedDatePopup-title": "Cambiar fecha de recepción",
|
||||
"editCardEndDatePopup-title": "Cambiar fecha de término",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+123
-60
@@ -2,34 +2,37 @@
|
||||
"accept": "Aceptar",
|
||||
"act-activity-notify": "[Wekan] Notificación de actividad",
|
||||
"act-addAttachment": "ha adjuntado __attachment__ a __card__",
|
||||
"act-addSubtask": "ha añadido la subtarea __checklist__ a __card__",
|
||||
"act-addChecklist": "ha añadido la lista de verificación __checklist__ a __card__",
|
||||
"act-addChecklistItem": "ha añadido __checklistItem__ a la lista de verificación __checklist__ en __card__",
|
||||
"act-addComment": "ha comentado en __card__: __comment__",
|
||||
"act-createBoard": "ha creado __board__",
|
||||
"act-createCard": "ha añadido __card__ a __list__",
|
||||
"act-createCustomField": "creado el campo personalizado __customField__",
|
||||
"act-createList": "ha añadido __list__ a __board__",
|
||||
"act-addBoardMember": "ha añadido a __member__ a __board__",
|
||||
"act-archivedBoard": "ha archivado __board__",
|
||||
"act-archivedCard": "ha archivado __card__",
|
||||
"act-archivedList": "ha archivado __list__",
|
||||
"act-archivedSwimlane": "ha archivado __swimlane__",
|
||||
"act-archivedBoard": "__board__ se ha enviado a la papelera de reciclaje",
|
||||
"act-archivedCard": "__card__ se ha enviado a la papelera de reciclaje",
|
||||
"act-archivedList": "__list__ se ha enviado a la papelera de reciclaje",
|
||||
"act-archivedSwimlane": "__swimlane__ se ha enviado a la papelera de reciclaje",
|
||||
"act-importBoard": "ha importado __board__",
|
||||
"act-importCard": "ha importado __card__",
|
||||
"act-importList": "ha importado __list__",
|
||||
"act-joinMember": "ha añadido a __member__ a __card__",
|
||||
"act-moveCard": "ha movido __card__ desde __oldList__ a __list__",
|
||||
"act-removeBoardMember": "ha desvinculado a __member__ de __board__",
|
||||
"act-removeBoardMember": "ha eliminado a __member__ de __board__",
|
||||
"act-restoredCard": "ha restaurado __card__ en __board__",
|
||||
"act-unjoinMember": "ha desvinculado a __member__ de __card__",
|
||||
"act-unjoinMember": "ha eliminado a __member__ de __card__",
|
||||
"act-withBoardTitle": "[Wekan] __board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Acciones",
|
||||
"activities": "Actividades",
|
||||
"activity": "Actividad",
|
||||
"activity-added": "ha añadido %s a %s",
|
||||
"activity-archived": "ha archivado %s",
|
||||
"activity-archived": "%s se ha enviado a la papelera de reciclaje",
|
||||
"activity-attached": "ha adjuntado %s a %s",
|
||||
"activity-created": "ha creado %s",
|
||||
"activity-customfield-created": "creado el campo personalizado %s",
|
||||
"activity-excluded": "ha excluido %s de %s",
|
||||
"activity-imported": "ha importado %s a %s desde %s",
|
||||
"activity-imported-board": "ha importado %s desde %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "ha eliminado %s de %s",
|
||||
"activity-sent": "ha enviado %s a %s",
|
||||
"activity-unjoined": "se ha desvinculado de %s",
|
||||
"activity-subtask-added": "ha añadido la subtarea a %s",
|
||||
"activity-checklist-added": "ha añadido una lista de verificación a %s",
|
||||
"activity-checklist-item-added": "ha añadido el elemento de la lista de verificación a '%s' en %s",
|
||||
"add": "Añadir",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Añadir tablero",
|
||||
"add-card": "Añadir una tarjeta",
|
||||
"add-swimlane": "Añadir un carril de flujo",
|
||||
"add-subtask": "Añadir subtarea",
|
||||
"add-checklist": "Añadir una lista de verificación",
|
||||
"add-checklist-item": "Añadir un elemento a la lista de verificación",
|
||||
"add-cover": "Añadir portada",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "y otras __count__ tarjetas",
|
||||
"apply": "Aplicar",
|
||||
"app-is-offline": "Wekan se está cargando, por favor espere. Actualizar la página provocará la pérdida de datos. Si Wekan no se carga, por favor verifique que el servidor de Wekan no está detenido.",
|
||||
"archive": "Archivar",
|
||||
"archive-all": "Archivar todo",
|
||||
"archive-board": "Archivar el tablero",
|
||||
"archive-card": "Archivar la tarjeta",
|
||||
"archive-list": "Archivar la lista",
|
||||
"archive-swimlane": "Archivar el carril de flujo",
|
||||
"archive-selection": "Archivar la selección",
|
||||
"archiveBoardPopup-title": "¿Archivar el tablero?",
|
||||
"archived-items": "Elementos archivados",
|
||||
"archived-boards": "Tableros archivados",
|
||||
"archive": "Enviar a la papelera de reciclaje",
|
||||
"archive-all": "Enviar todo a la papelera de reciclaje",
|
||||
"archive-board": "Enviar el tablero a la papelera de reciclaje",
|
||||
"archive-card": "Enviar la tarjeta a la papelera de reciclaje",
|
||||
"archive-list": "Enviar la lista a la papelera de reciclaje",
|
||||
"archive-swimlane": "Enviar el carril de flujo a la papelera de reciclaje",
|
||||
"archive-selection": "Enviar la selección a la papelera de reciclaje",
|
||||
"archiveBoardPopup-title": "Enviar el tablero a la papelera de reciclaje",
|
||||
"archived-items": "Papelera de reciclaje",
|
||||
"archived-boards": "Tableros en la papelera de reciclaje",
|
||||
"restore-board": "Restaurar el tablero",
|
||||
"no-archived-boards": "No hay tableros archivados.",
|
||||
"archives": "Archivos",
|
||||
"no-archived-boards": "No hay tableros en la papelera de reciclaje",
|
||||
"archives": "Papelera de reciclaje",
|
||||
"assign-member": "Asignar miembros",
|
||||
"attached": "adjuntado",
|
||||
"attachment": "Adjunto",
|
||||
@@ -97,33 +102,39 @@
|
||||
"boardChangeWatchPopup-title": "Cambiar vigilancia",
|
||||
"boardMenuPopup-title": "Menú del tablero",
|
||||
"boards": "Tableros",
|
||||
"board-view": "Vista de tablero",
|
||||
"board-view-swimlanes": "Carriles de flujo",
|
||||
"board-view": "Vista del tablero",
|
||||
"board-view-cal": "Calendario",
|
||||
"board-view-swimlanes": "Carriles",
|
||||
"board-view-lists": "Listas",
|
||||
"bucket-example": "Como “Cosas por hacer” por ejemplo",
|
||||
"cancel": "Cancelar",
|
||||
"card-archived": "Esta tarjeta está ahora archivada.",
|
||||
"card-archived": "Esta tarjeta se ha enviado a la papelera de reciclaje.",
|
||||
"card-comments-title": "Esta tarjeta tiene %s comentarios.",
|
||||
"card-delete-notice": "la eliminación es permanente. Perderás todas las acciones asociadas a esta tarjeta.",
|
||||
"card-delete-pop": "Se eliminarán todas las acciones del historial de actividades y no se podrá volver a abrir la tarjeta. Esta acción no puede deshacerse.",
|
||||
"card-delete-suggest-archive": "Puede archivar una tarjeta para eliminarla del tablero y conservar la actividad.",
|
||||
"card-due": "Finalizar",
|
||||
"card-delete-suggest-archive": "Puedes enviar una tarjeta a la papelera de reciclaje para eliminarla del tablero y conservar la actividad.",
|
||||
"card-due": "Vence",
|
||||
"card-due-on": "Vence el",
|
||||
"card-spent": "Tiempo consumido",
|
||||
"card-edit-attachments": "Editar los adjuntos",
|
||||
"card-edit-custom-fields": "Editar los campos personalizados",
|
||||
"card-edit-labels": "Editar las etiquetas",
|
||||
"card-edit-members": "Editar los miembros",
|
||||
"card-labels-title": "Cambia las etiquetas de la tarjeta",
|
||||
"card-members-title": "Añadir o eliminar miembros del tablero desde la tarjeta.",
|
||||
"card-start": "Empezar",
|
||||
"card-start-on": "Empieza el",
|
||||
"card-start": "Comienza",
|
||||
"card-start-on": "Comienza el",
|
||||
"cardAttachmentsPopup-title": "Adjuntar desde",
|
||||
"cardCustomField-datePopup-title": "Cambiar la fecha",
|
||||
"cardCustomFieldsPopup-title": "Editar los campos personalizados",
|
||||
"cardDeletePopup-title": "¿Eliminar la tarjeta?",
|
||||
"cardDetailsActionsPopup-title": "Acciones de la tarjeta",
|
||||
"cardLabelsPopup-title": "Etiquetas",
|
||||
"cardMembersPopup-title": "Miembros",
|
||||
"cardMorePopup-title": "Más",
|
||||
"cards": "Tarjetas",
|
||||
"cards-count": "Tarjetas",
|
||||
"casSignIn": "Iniciar sesión con CAS",
|
||||
"change": "Cambiar",
|
||||
"change-avatar": "Cambiar el avatar",
|
||||
"change-password": "Cambiar la contraseña",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Cambiar la contraseña",
|
||||
"changePermissionsPopup-title": "Cambiar los permisos",
|
||||
"changeSettingsPopup-title": "Cambiar las preferencias",
|
||||
"subtasks": "Subtareas",
|
||||
"checklists": "Lista de verificación",
|
||||
"click-to-star": "Haz clic para destacar este tablero.",
|
||||
"click-to-unstar": "Haz clic para dejar de destacar este tablero.",
|
||||
"clipboard": "el portapapeles o con arrastrar y soltar",
|
||||
"close": "Cerrar",
|
||||
"close-board": "Cerrar el tablero",
|
||||
"close-board-pop": "Podrá restaurar el tablero haciendo clic en el botón 'Archivos' en el encabezado al inicio.",
|
||||
"close-board-pop": "Podrás restaurar el tablero haciendo clic en el botón \"Papelera de reciclaje\" en la cabecera.",
|
||||
"color-black": "negra",
|
||||
"color-blue": "azul",
|
||||
"color-green": "verde",
|
||||
@@ -154,37 +166,53 @@
|
||||
"comment": "Comentar",
|
||||
"comment-placeholder": "Escribir comentario",
|
||||
"comment-only": "Sólo comentarios",
|
||||
"comment-only-desc": "Solo se puede comentar en las tarjetas.",
|
||||
"comment-only-desc": "Solo puedes comentar en las tarjetas.",
|
||||
"computer": "el ordenador",
|
||||
"confirm-checklist-delete-dialog": "¿Seguro que desea eliminar la lista de verificación?",
|
||||
"confirm-subtask-delete-dialog": "¿Seguro que quieres eliminar la subtarea?",
|
||||
"confirm-checklist-delete-dialog": "¿Seguro que quieres eliminar la lista de verificación?",
|
||||
"copy-card-link-to-clipboard": "Copiar el enlace de la tarjeta al portapapeles",
|
||||
"copyCardPopup-title": "Copiar la tarjeta",
|
||||
"copyChecklistToManyCardsPopup-title": "Copiar la plantilla de la lista de verificación en varias tarjetas.",
|
||||
"copyChecklistToManyCardsPopup-title": "Copiar la plantilla de la lista de verificación en varias tarjetas",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Títulos y descripciones de las tarjetas de destino en formato JSON",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Título de la primera tarjeta\", \"description\":\"Descripción de la primera tarjeta\"}, {\"title\":\"Título de la segunda tarjeta\",\"description\":\"Descripción de la segunda tarjeta\"},{\"title\":\"Título de la última tarjeta\",\"description\":\"Descripción de la última tarjeta\"} ]",
|
||||
"create": "Crear",
|
||||
"createBoardPopup-title": "Crear tablero",
|
||||
"chooseBoardSourcePopup-title": "Importar un tablero",
|
||||
"createLabelPopup-title": "Crear etiqueta",
|
||||
"createCustomField": "Crear un campo",
|
||||
"createCustomFieldPopup-title": "Crear un campo",
|
||||
"current": "actual",
|
||||
"custom-field-delete-pop": "Se eliminará este campo personalizado de todas las tarjetas y se destruirá su historial. Esta acción no puede deshacerse.",
|
||||
"custom-field-checkbox": "Casilla de verificación",
|
||||
"custom-field-date": "Fecha",
|
||||
"custom-field-dropdown": "Lista desplegable",
|
||||
"custom-field-dropdown-none": "(nada)",
|
||||
"custom-field-dropdown-options": "Opciones de la lista",
|
||||
"custom-field-dropdown-options-placeholder": "Pulsa Intro para añadir más opciones",
|
||||
"custom-field-dropdown-unknown": "(desconocido)",
|
||||
"custom-field-number": "Número",
|
||||
"custom-field-text": "Texto",
|
||||
"custom-fields": "Campos personalizados",
|
||||
"date": "Fecha",
|
||||
"decline": "Declinar",
|
||||
"default-avatar": "Avatar por defecto",
|
||||
"delete": "Eliminar",
|
||||
"deleteCustomFieldPopup-title": "¿Borrar el campo personalizado?",
|
||||
"deleteLabelPopup-title": "¿Eliminar la etiqueta?",
|
||||
"description": "Descripción",
|
||||
"disambiguateMultiLabelPopup-title": "Desambiguar la acción de etiqueta",
|
||||
"disambiguateMultiMemberPopup-title": "Desambiguar la acción de miembro",
|
||||
"discard": "Descartar",
|
||||
"discard": "Descartarla",
|
||||
"done": "Hecho",
|
||||
"download": "Descargar",
|
||||
"edit": "Editar",
|
||||
"edit-avatar": "Cambiar el avatar",
|
||||
"edit-profile": "Editar el perfil",
|
||||
"edit-wip-limit": "Cambiar el límite del TEP",
|
||||
"soft-wip-limit": "Límite del TEP flexible",
|
||||
"editCardStartDatePopup-title": "Cambiar la fecha de inicio",
|
||||
"edit-wip-limit": "Cambiar el límite del trabajo en proceso",
|
||||
"soft-wip-limit": "Límite del trabajo en proceso flexible",
|
||||
"editCardStartDatePopup-title": "Cambiar la fecha de comienzo",
|
||||
"editCardDueDatePopup-title": "Cambiar la fecha de vencimiento",
|
||||
"editCustomFieldPopup-title": "Editar el campo",
|
||||
"editCardSpentTimePopup-title": "Cambiar el tiempo consumido",
|
||||
"editLabelPopup-title": "Cambiar la etiqueta",
|
||||
"editNotificationPopup-title": "Editar las notificaciones",
|
||||
@@ -203,7 +231,7 @@
|
||||
"email-sent": "Correo enviado",
|
||||
"email-verifyEmail-subject": "Verifica tu dirección de correo en __siteName__",
|
||||
"email-verifyEmail-text": "Hola __user__,\n\nPara verificar tu cuenta de correo electrónico, haz clic en el siguiente enlace.\n\n__url__\n\nGracias.",
|
||||
"enable-wip-limit": "Activar el límite del TEP",
|
||||
"enable-wip-limit": "Activar el límite del trabajo en proceso",
|
||||
"error-board-doesNotExist": "El tablero no existe",
|
||||
"error-board-notAdmin": "Es necesario ser administrador de este tablero para hacer eso",
|
||||
"error-board-notAMember": "Es necesario ser miembro de este tablero para hacer eso",
|
||||
@@ -216,14 +244,17 @@
|
||||
"error-username-taken": "Este nombre de usuario ya está en uso",
|
||||
"error-email-taken": "Esta dirección de correo ya está en uso",
|
||||
"export-board": "Exportar el tablero",
|
||||
"filter": "Filtro",
|
||||
"filter": "Filtrar",
|
||||
"filter-cards": "Filtrar tarjetas",
|
||||
"filter-clear": "Limpiar filtro",
|
||||
"filter-clear": "Limpiar el filtro",
|
||||
"filter-no-label": "Sin etiqueta",
|
||||
"filter-no-member": "Sin miembro",
|
||||
"filter-on": "Filtro activado",
|
||||
"filter-no-custom-fields": "Sin campos personalizados",
|
||||
"filter-on": "Filtrado activado",
|
||||
"filter-on-desc": "Estás filtrando tarjetas en este tablero. Haz clic aquí para editar el filtro.",
|
||||
"filter-to-selection": "Filtrar la selección",
|
||||
"advanced-filter-label": "Filtrado avanzado",
|
||||
"advanced-filter-description": "El filtrado avanzado permite escribir una cadena que contiene los siguientes operadores: == != <= >= && || ( ) Se utiliza un espacio como separador entre los operadores. Se pueden filtrar todos los campos personalizados escribiendo sus nombres y valores. Por ejemplo: Campo1 == Valor1. Nota: Si los campos o valores contienen espacios, deben encapsularse entre comillas simples. Por ejemplo: 'Campo 1' == 'Valor 1'. Para omitir los caracteres de control único (' \\/), se usa \\. Por ejemplo: Campo1 = I\\'m. También se pueden combinar múltiples condiciones. Por ejemplo: C1 == V1 || C1 == V2. Normalmente todos los operadores se interpretan de izquierda a derecha. Se puede cambiar el orden colocando paréntesis. Por ejemplo: C1 == V1 && ( C2 == V2 || C2 == V3 ). También se puede buscar en campos de texto usando expresiones regulares: C1 == /Tes.*/i",
|
||||
"fullname": "Nombre completo",
|
||||
"header-logo-title": "Volver a tu página de tableros",
|
||||
"hide-system-messages": "Ocultar las notificaciones de actividad",
|
||||
@@ -238,7 +269,7 @@
|
||||
"from-trello": "Desde Trello",
|
||||
"from-wekan": "Desde Wekan",
|
||||
"import-board-instruction-trello": "En tu tablero de Trello, ve a 'Menú', luego 'Más' > 'Imprimir y exportar' > 'Exportar JSON', y copia el texto resultante.",
|
||||
"import-board-instruction-wekan": "En tu tablero Wekan, ve a 'Menú', luego 'Exportar el tablero', y copia el texto del fichero descargado.",
|
||||
"import-board-instruction-wekan": "En tu tablero de Wekan, ve a 'Menú del tablero', luego 'Exportar el tablero', y copia aquí el texto del fichero descargado.",
|
||||
"import-json-placeholder": "Pega tus datos JSON válidos aquí",
|
||||
"import-map-members": "Mapa de miembros",
|
||||
"import-members-map": "El tablero importado tiene algunos miembros. Por favor mapea los miembros que deseas importar a los usuarios de Wekan",
|
||||
@@ -255,31 +286,31 @@
|
||||
"keyboard-shortcuts": "Atajos de teclado",
|
||||
"label-create": "Crear una etiqueta",
|
||||
"label-default": "etiqueta %s (por defecto)",
|
||||
"label-delete-pop": "Esto eliminará esta etiqueta de todas las tarjetas y destruirá su historial. Esta acción no puede deshacerse.",
|
||||
"label-delete-pop": "Se eliminará esta etiqueta de todas las tarjetas y se destruirá su historial. Esta acción no puede deshacerse.",
|
||||
"labels": "Etiquetas",
|
||||
"language": "Cambiar el idioma",
|
||||
"last-admin-desc": "No puedes cambiar roles porque debe haber al menos un administrador.",
|
||||
"leave-board": "Abandonar el tablero",
|
||||
"leave-board-pop": "¿Seguro que quieres abandonar __boardTitle__? Serás desvinculado de todas las tarjetas en este tablero.",
|
||||
"leaveBoardPopup-title": "¿Abandonar el tablero?",
|
||||
"link-card": "Enlace a esta tarjeta",
|
||||
"list-archive-cards": "Archivar todas las tarjetas de esta lista",
|
||||
"list-archive-cards-pop": "Esto eliminara todas las tarjetas de esta lista del tablero. Para ver las tarjetas archivadas y recuperarlas en el tablero, haz clic en 'Menú' > 'Elementos archivados'.",
|
||||
"link-card": "Enlazar a esta tarjeta",
|
||||
"list-archive-cards": "Enviar todas las tarjetas de esta lista a la papelera de reciclaje",
|
||||
"list-archive-cards-pop": "Esto eliminará todas las tarjetas de esta lista del tablero. Para ver las tarjetas en la papelera de reciclaje y devolverlas al tablero, haga clic en \"Menú\" > \"Papelera de reciclaje\".",
|
||||
"list-move-cards": "Mover todas las tarjetas de esta lista",
|
||||
"list-select-cards": "Seleccionar todas las tarjetas de esta lista",
|
||||
"listActionPopup-title": "Acciones de la lista",
|
||||
"swimlaneActionPopup-title": "Acciones del carril de flujo",
|
||||
"listImportCardPopup-title": "Importar una tarjeta de Trello",
|
||||
"listMorePopup-title": "Más",
|
||||
"link-list": "Enlace a esta lista",
|
||||
"link-list": "Enlazar a esta lista",
|
||||
"list-delete-pop": "Todas las acciones serán eliminadas del historial de actividades y no se podrá recuperar la lista. Esta acción no puede deshacerse.",
|
||||
"list-delete-suggest-archive": "Puede archivar una lista para quitarla del tablero y preservar así sus actividades.",
|
||||
"list-delete-suggest-archive": "Puedes enviar una lista a la papelera de reciclaje para eliminarla del tablero y conservar la actividad.",
|
||||
"lists": "Listas",
|
||||
"swimlanes": "Carriles de flujo",
|
||||
"swimlanes": "Carriles",
|
||||
"log-out": "Finalizar la sesión",
|
||||
"log-in": "Iniciar sesión",
|
||||
"loginPopup-title": "Iniciar sesión",
|
||||
"memberMenuPopup-title": "Mis preferencias",
|
||||
"memberMenuPopup-title": "Preferencias de miembro",
|
||||
"members": "Miembros",
|
||||
"menu": "Menú",
|
||||
"move-selection": "Mover la selección",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "No serás notificado de ningún cambio en este tablero",
|
||||
"my-boards": "Mis tableros",
|
||||
"name": "Nombre",
|
||||
"no-archived-cards": "No hay tarjetas archivadas.",
|
||||
"no-archived-lists": "No hay listas archivadas.",
|
||||
"no-archived-swimlanes": "No hay carriles de flujo archivados.",
|
||||
"no-archived-cards": "No hay tarjetas en la papelera de reciclaje",
|
||||
"no-archived-lists": "No hay listas en la papelera de reciclaje",
|
||||
"no-archived-swimlanes": "No hay carriles de flujo en la papelera de reciclaje",
|
||||
"no-results": "Sin resultados",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Puedes ver y editar tarjetas. No puedes cambiar la configuración.",
|
||||
@@ -329,13 +360,13 @@
|
||||
"rename": "Renombrar",
|
||||
"rename-board": "Renombrar el tablero",
|
||||
"restore": "Restaurar",
|
||||
"save": "Guardar",
|
||||
"save": "Añadir",
|
||||
"search": "Buscar",
|
||||
"search-cards": "Buscar entre los títulos y las descripciones de las tarjetas en este tablero.",
|
||||
"search-example": "¿Texto a buscar?",
|
||||
"select-color": "Selecciona un color",
|
||||
"set-wip-limit-value": "Fija un límite para el número máximo de tareas en esta lista.",
|
||||
"setWipLimitPopup-title": "Fijar el límite del TEP",
|
||||
"setWipLimitPopup-title": "Fijar el límite del trabajo en proceso",
|
||||
"shortcut-assign-self": "Asignarte a ti mismo a la tarjeta actual",
|
||||
"shortcut-autocomplete-emoji": "Autocompletar emoji",
|
||||
"shortcut-autocomplete-members": "Autocompletar miembros",
|
||||
@@ -363,17 +394,18 @@
|
||||
"has-spenttime-cards": "Se ha excedido el tiempo de las tarjetas",
|
||||
"time": "Hora",
|
||||
"title": "Título",
|
||||
"tracking": "Seguimiento",
|
||||
"tracking": "Siguiendo",
|
||||
"tracking-info": "Serás notificado de cualquier cambio en las tarjetas en las que participas como creador o miembro.",
|
||||
"type": "Tipo",
|
||||
"unassign-member": "Desvincular al miembro",
|
||||
"unsaved-description": "Tienes una descripción sin guardar.",
|
||||
"unsaved-description": "Tienes una descripción por añadir.",
|
||||
"unwatch": "Dejar de vigilar",
|
||||
"upload": "Cargar",
|
||||
"upload-avatar": "Cargar un avatar",
|
||||
"uploaded-avatar": "Avatar cargado",
|
||||
"username": "Nombre de usuario",
|
||||
"view-it": "Verlo",
|
||||
"warn-list-archived": "advertencia: esta tarjeta está en una lista archivada",
|
||||
"view-it": "Verla",
|
||||
"warn-list-archived": "advertencia: esta tarjeta está en una lista en la papelera de reciclaje",
|
||||
"watch": "Vigilar",
|
||||
"watching": "Vigilando",
|
||||
"watching-info": "Serás notificado de cualquier cambio en este tablero",
|
||||
@@ -382,9 +414,9 @@
|
||||
"welcome-list1": "Básicos",
|
||||
"welcome-list2": "Avanzados",
|
||||
"what-to-do": "¿Qué deseas hacer?",
|
||||
"wipLimitErrorPopup-title": "Límite del TEP no válido",
|
||||
"wipLimitErrorPopup-dialog-pt1": "El número de tareas en esta lista es mayor que el límite del TEP que has definido.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Por favor, mueve algunas tareas fuera de esta lista, o fija un límite del TEP más alto.",
|
||||
"wipLimitErrorPopup-title": "El límite del trabajo en proceso no es válido.",
|
||||
"wipLimitErrorPopup-dialog-pt1": "El número de tareas en esta lista es mayor que el límite del trabajo en proceso que has definido.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Por favor, mueve algunas tareas fuera de esta lista, o fija un límite del trabajo en proceso más alto.",
|
||||
"admin-panel": "Panel del administrador",
|
||||
"settings": "Ajustes",
|
||||
"people": "Personas",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "horas",
|
||||
"minutes": "minutos",
|
||||
"seconds": "segundos",
|
||||
"show-field-on-card": "Mostrar este campo en la tarjeta",
|
||||
"yes": "Sí",
|
||||
"no": "No",
|
||||
"accounts": "Cuentas",
|
||||
"accounts-allowEmailChange": "Permitir cambiar el correo electrónico",
|
||||
"accounts-allowUserNameChange": "Permitir el cambio del nombre de usuario",
|
||||
"createdAt": "Creado en",
|
||||
"verified": "Verificado",
|
||||
"active": "Activo"
|
||||
"active": "Activo",
|
||||
"card-received": "Recibido",
|
||||
"card-received-on": "Recibido el",
|
||||
"card-end": "Finalizado",
|
||||
"card-end-on": "Finalizado el",
|
||||
"editCardReceivedDatePopup-title": "Cambiar la fecha de recepción",
|
||||
"editCardEndDatePopup-title": "Cambiar la fecha de finalización",
|
||||
"assigned-by": "Asignado por",
|
||||
"requested-by": "Solicitado por",
|
||||
"board-delete-notice": "Se eliminarán todas las listas, tarjetas y acciones asociadas a este tablero. Esta acción no puede deshacerse.",
|
||||
"delete-board-confirm-popup": "Se eliminarán todas las listas, tarjetas, etiquetas y actividades, y no podrás recuperar los contenidos del tablero. Esta acción no puede deshacerse.",
|
||||
"boardDeletePopup-title": "¿Borrar el tablero?",
|
||||
"delete-board": "Borrar el tablero",
|
||||
"default-subtasks-board": "Subtareas para el tablero __board__",
|
||||
"default": "Por defecto",
|
||||
"queue": "Cola",
|
||||
"subtask-settings": "Subtareas del tablero",
|
||||
"boardSubtaskSettingsPopup-title": "Configuración de las subtareas del tablero",
|
||||
"show-subtasks-field": "Las tarjetas pueden tener subtareas",
|
||||
"deposit-subtasks-board": "Depositar subtareas en este tablero:",
|
||||
"deposit-subtasks-list": "Lista de destino para subtareas depositadas aquí:",
|
||||
"show-parent-in-minicard": "Mostrar el padre en una minitarjeta:",
|
||||
"prefix-with-full-path": "Prefijo con ruta completa",
|
||||
"prefix-with-parent": "Prefijo con el padre",
|
||||
"subtext-with-full-path": "Subtexto con ruta completa",
|
||||
"subtext-with-parent": "Subtexto con el padre",
|
||||
"change-card-parent": "Cambiar la tarjeta padre",
|
||||
"parent-card": "Tarjeta padre",
|
||||
"source-board": "Tablero de origen",
|
||||
"no-parent": "No mostrar la tarjeta padre"
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Onartu",
|
||||
"act-activity-notify": "[Wekan] Jarduera-jakinarazpena",
|
||||
"act-addAttachment": "__attachment__ __card__ txartelera erantsita",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "gehituta checklist __checklist__ __card__ -ri",
|
||||
"act-addChecklistItem": "gehituta __checklistItem__ checklist __checklist__ on __card__ -ri",
|
||||
"act-addComment": "__card__ txartelean iruzkina: __comment__",
|
||||
"act-createBoard": "__board__ sortuta",
|
||||
"act-createCard": "__card__ __list__ zerrrendara gehituta",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "__list__ __board__ arbelera gehituta",
|
||||
"act-addBoardMember": "__member__ __board__ arbelera gehituta",
|
||||
"act-archivedBoard": "__board__ artxibatuta",
|
||||
"act-archivedCard": "__card__ artxibatuta",
|
||||
"act-archivedList": "__list__ artxibatuta",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "__board__ inportatuta",
|
||||
"act-importCard": "__card__ inportatuta",
|
||||
"act-importList": "__list__ inportatuta",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Jarduerak",
|
||||
"activity": "Jarduera",
|
||||
"activity-added": "%s %s(e)ra gehituta",
|
||||
"activity-archived": "%s artxibatu du",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "%s %s(e)ra erantsita",
|
||||
"activity-created": "%s sortuta",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "%s %s(e)tik kanpo utzita",
|
||||
"activity-imported": "%s inportatuta %s(e)ra %s(e)tik",
|
||||
"activity-imported-board": "%s inportatuta %s(e)tik",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "%s %s(e)tik kenduta",
|
||||
"activity-sent": "%s %s(e)ri bidalita",
|
||||
"activity-unjoined": "%s utzita",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "egiaztaketa zerrenda %s(e)ra gehituta",
|
||||
"activity-checklist-item-added": "egiaztaketa zerrendako elementuak '%s'(e)ra gehituta %s(e)n",
|
||||
"add": "Gehitu",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Gehitu arbela",
|
||||
"add-card": "Gehitu txartela",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Gehitu egiaztaketa zerrenda",
|
||||
"add-checklist-item": "Gehitu elementu bat egiaztaketa zerrendara",
|
||||
"add-cover": "Gehitu azala",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "Eta beste __count__ txartel",
|
||||
"apply": "Aplikatu",
|
||||
"app-is-offline": "Wekan kargatzen ari da, itxaron mesedez. Orria freskatzeak datuen galera ekarriko luke. Wekan kargatzen ez bada, egiaztatu Wekan zerbitzaria gelditu ez dela.",
|
||||
"archive": "Artxibatu",
|
||||
"archive-all": "Artxibatu guztiak",
|
||||
"archive-board": "Artxibatu arbela",
|
||||
"archive-card": "Artxibatu txartela",
|
||||
"archive-list": "Artxibatu zerrenda",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Artxibatu hautaketa",
|
||||
"archiveBoardPopup-title": "Artxibatu arbela?",
|
||||
"archived-items": "Artxibatutako elementuak",
|
||||
"archived-boards": "Artxibatu arbelak",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Berreskuratu arbela",
|
||||
"no-archived-boards": "Ez dago artxibatutako arbelik",
|
||||
"archives": "Artxiboak",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Esleitu kidea",
|
||||
"attached": "erantsita",
|
||||
"attachment": "Eranskina",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Arbelaren menua",
|
||||
"boards": "Arbelak",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Zerrendak",
|
||||
"bucket-example": "Esaterako \"Pertz zerrenda\"",
|
||||
"cancel": "Utzi",
|
||||
"card-archived": "Txartel hau artxibatuta dago.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "Txartel honek iruzkin %s dauka.",
|
||||
"card-delete-notice": "Ezabaketa behin betiko da. Txartel honi lotutako ekintza guztiak galduko dituzu.",
|
||||
"card-delete-pop": "Ekintza guztiak ekintza jariotik kenduko dira eta ezin izango duzu txartela berrireki. Ez dago desegiterik.",
|
||||
"card-delete-suggest-archive": "Txartel bat artxibatu dezakezu arbeletik kendu nahi baduzu bere jarduera gordez.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Epemuga",
|
||||
"card-due-on": "Epemuga",
|
||||
"card-spent": "Erabilitako denbora",
|
||||
"card-edit-attachments": "Editatu eranskinak",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Editatu etiketak",
|
||||
"card-edit-members": "Editatu kideak",
|
||||
"card-labels-title": "Aldatu txartelaren etiketak",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Hasiera",
|
||||
"card-start-on": "Hasiera",
|
||||
"cardAttachmentsPopup-title": "Erantsi hemendik",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Ezabatu txartela?",
|
||||
"cardDetailsActionsPopup-title": "Txartel-ekintzak",
|
||||
"cardLabelsPopup-title": "Etiketak",
|
||||
"cardMembersPopup-title": "Kideak",
|
||||
"cardMorePopup-title": "Gehiago",
|
||||
"cards": "Txartelak",
|
||||
"cards-count": "Txartelak",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Aldatu",
|
||||
"change-avatar": "Aldatu avatarra",
|
||||
"change-password": "Aldatu pasahitza",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Aldatu pasahitza",
|
||||
"changePermissionsPopup-title": "Aldatu baimenak",
|
||||
"changeSettingsPopup-title": "Aldatu ezarpenak",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Egiaztaketa zerrenda",
|
||||
"click-to-star": "Egin klik arbel honi izarra jartzeko",
|
||||
"click-to-unstar": "Egin klik arbel honi izarra kentzeko",
|
||||
"clipboard": "Kopiatu eta itsatsi edo arrastatu eta jaregin",
|
||||
"close": "Itxi",
|
||||
"close-board": "Itxi arbela",
|
||||
"close-board-pop": "Arbela berrezarri ahal izango duzu hasiera orriko goiburuko \"Artxiboak\" botoia sakatuz",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "beltza",
|
||||
"color-blue": "urdina",
|
||||
"color-green": "berdea",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Iruzkinak besterik ez",
|
||||
"comment-only-desc": "Iruzkinak txarteletan soilik egin ditzake",
|
||||
"computer": "Ordenagailua",
|
||||
"confirm-checklist-delete-dialog": "Ziur zaude kontrol-zerrenda ezabatu nahi duzula",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Kopiatu txartela arbelera",
|
||||
"copyCardPopup-title": "Kopiatu txartela",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Sortu arbela",
|
||||
"chooseBoardSourcePopup-title": "Inportatu arbela",
|
||||
"createLabelPopup-title": "Sortu etiketa",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "unekoa",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Data",
|
||||
"decline": "Ukatu",
|
||||
"default-avatar": "Lehenetsitako avatarra",
|
||||
"delete": "Ezabatu",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Ezabatu etiketa?",
|
||||
"description": "Deskripzioa",
|
||||
"disambiguateMultiLabelPopup-title": "Argitu etiketaren ekintza",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "WIP muga malgua",
|
||||
"editCardStartDatePopup-title": "Aldatu hasiera data",
|
||||
"editCardDueDatePopup-title": "Aldatu epemuga data",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Aldatu erabilitako denbora",
|
||||
"editLabelPopup-title": "Aldatu etiketa",
|
||||
"editNotificationPopup-title": "Editatu jakinarazpena",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Garbitu iragazkia",
|
||||
"filter-no-label": "Etiketarik ez",
|
||||
"filter-no-member": "Kiderik ez",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Iragazkia gaituta dago",
|
||||
"filter-on-desc": "Arbel honetako txartela iragazten ari zara. Egin klik hemen iragazkia editatzeko.",
|
||||
"filter-to-selection": "Iragazketa aukerara",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Izen abizenak",
|
||||
"header-logo-title": "Itzuli zure arbelen orrira.",
|
||||
"hide-system-messages": "Ezkutatu sistemako mezuak",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Ziur zaude __boardTitle__ utzi nahi duzula? Arbel honetako txartel guztietatik ezabatua izango zara.",
|
||||
"leaveBoardPopup-title": "Arbela utzi?",
|
||||
"link-card": "Lotura txartel honetara",
|
||||
"list-archive-cards": "Artxibatu zerrendako txartel guztiak",
|
||||
"list-archive-cards-pop": "Honek zerrenda honetako txartel guztiak arbeletik ezabatuko ditu. Artxibatutako txartelak ikusteko eta arbelera berreskuratzeko, zoaz \"Menua > Artxibatutako elementuak\" atalera.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Lekuz aldatu zerrendako txartel guztiak",
|
||||
"list-select-cards": "Aukeratu zerrenda honetako txartel guztiak",
|
||||
"listActionPopup-title": "Zerrendaren ekintzak",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Gehiago",
|
||||
"link-list": "Lotura zerrenda honetara",
|
||||
"list-delete-pop": "Ekintza guztiak ekintza jariotik kenduko dira eta ezin izango duzu zerrenda berreskuratu. Ez dago desegiterik.",
|
||||
"list-delete-suggest-archive": "Zerrenda bat artxibatu dezakezu arbeletik kendu nahi baduzu bere jarduera gordez.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Zerrendak",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Itxi saioa",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "Ez zaizkizu jakinaraziko arbel honi egindako aldaketak",
|
||||
"my-boards": "Nire arbelak",
|
||||
"name": "Izena",
|
||||
"no-archived-cards": "Artxibatutako txartelik ez.",
|
||||
"no-archived-lists": "Artxibatutako zerrendarik ez.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "Emaitzarik ez",
|
||||
"normal": "Arrunta",
|
||||
"normal-desc": "Txartelak ikusi eta editatu ditzake. Ezin ditu ezarpenak aldatu.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Izenburua",
|
||||
"tracking": "Jarraitzen",
|
||||
"tracking-info": "Sortzaile edo kide gisa parte-hartzen duzun txartelei egindako aldaketak jakinaraziko zaizkizu.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Kendu kidea",
|
||||
"unsaved-description": "Gorde gabeko deskripzio bat duzu",
|
||||
"unwatch": "Utzi ikuskatzeari",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Avatar bat igo da",
|
||||
"username": "Erabiltzaile-izena",
|
||||
"view-it": "Ikusi",
|
||||
"warn-list-archived": "abisua: txartel hau artxibatutako zerrenda batean dago",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Ikuskatu",
|
||||
"watching": "Ikuskatzen",
|
||||
"watching-info": "Arbel honi egindako aldaketak jakinaraziko zaizkizu",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "ordu",
|
||||
"minutes": "minutu",
|
||||
"seconds": "segundo",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Bai",
|
||||
"no": "Ez",
|
||||
"accounts": "Kontuak",
|
||||
"accounts-allowEmailChange": "Baimendu e-mail aldaketa",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Noiz sortua",
|
||||
"verified": "Egiaztatuta",
|
||||
"active": "Gaituta"
|
||||
"active": "Gaituta",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+96
-33
@@ -2,17 +2,19 @@
|
||||
"accept": "پذیرش",
|
||||
"act-activity-notify": "[wekan] اطلاع فعالیت",
|
||||
"act-addAttachment": "پیوست __attachment__ به __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "سیاهه __checklist__ به __card__ افزوده شد",
|
||||
"act-addChecklistItem": "__checklistItem__ به سیاهه __checklist__ در __card__ افزوده شد",
|
||||
"act-addComment": "درج نظر برای __card__: __comment__",
|
||||
"act-createBoard": "__board__ ایجاد شد",
|
||||
"act-createCard": "__card__ به __list__ اضافه شد",
|
||||
"act-createCustomField": "فیلد __customField__ ایجاد شد",
|
||||
"act-createList": "__list__ به __board__ اضافه شد",
|
||||
"act-addBoardMember": "__member__ به __board__ اضافه شد",
|
||||
"act-archivedBoard": "__board__ بایگانی شد",
|
||||
"act-archivedCard": "__card__ بایگانی شد",
|
||||
"act-archivedList": "__list__ بایگانی شد",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ به سطل زباله ریخته شد",
|
||||
"act-archivedCard": "__card__ به سطل زباله منتقل شد",
|
||||
"act-archivedList": "__list__ به سطل زباله منتقل شد",
|
||||
"act-archivedSwimlane": "__swimlane__ به سطل زباله منتقل شد",
|
||||
"act-importBoard": "__board__ وارد شده",
|
||||
"act-importCard": "__card__ وارد شده",
|
||||
"act-importList": "__list__ وارد شده",
|
||||
@@ -24,12 +26,13 @@
|
||||
"act-withBoardTitle": "[Wekan] __board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "اعمال",
|
||||
"activities": "فعالیت ها",
|
||||
"activities": "فعالیتها",
|
||||
"activity": "فعالیت",
|
||||
"activity-added": "%s به %s اضافه شد",
|
||||
"activity-archived": "%s بایگانی شد",
|
||||
"activity-archived": "%s به سطل زباله منتقل شد",
|
||||
"activity-attached": "%s به %s پیوست شد",
|
||||
"activity-created": "%s ایجاد شد",
|
||||
"activity-customfield-created": "%s فیلدشخصی ایجاد شد",
|
||||
"activity-excluded": "%s از %s مستثنی گردید",
|
||||
"activity-imported": "%s از %s وارد %s شد",
|
||||
"activity-imported-board": "%s از %s وارد شد",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "%s از %s حذف شد",
|
||||
"activity-sent": "ارسال %s به %s",
|
||||
"activity-unjoined": "قطع اتصال %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "سیاهه به %s اضافه شد",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "افزودن",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "افزودن برد",
|
||||
"add-card": "افزودن کارت",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "افزودن چک لیست",
|
||||
"add-checklist-item": "افزودن مورد به سیاهه",
|
||||
"add-cover": "جلد کردن",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "و __count__ کارت دیگر",
|
||||
"apply": "اعمال",
|
||||
"app-is-offline": "Wekan در حال بارگذاری است. لطفا صبر کنید. نوسازی صفحه، منجر به از دست رفتن دادهها میشود. اگر Wekan بارگذاری نشد، لطفا بررسی کنید که سرور Wekan متوقف نشده باشد.",
|
||||
"archive": "بایگانی",
|
||||
"archive-all": "بایگانی کردن همه",
|
||||
"archive-board": "بایگانی تخته",
|
||||
"archive-card": "بایگانی کارت",
|
||||
"archive-list": "فهرست بایگانی",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "بایگانی موارد انتخاب شده",
|
||||
"archiveBoardPopup-title": "بایگانی تخته؟",
|
||||
"archived-items": "موارد بایگانی شده",
|
||||
"archived-boards": "تختههای بایگانی شده",
|
||||
"archive": "ریختن به سطل زباله",
|
||||
"archive-all": "ریختن همه به سطل زباله",
|
||||
"archive-board": "ریختن تخته به سطل زباله",
|
||||
"archive-card": "ریختن کارت به سطل زباله",
|
||||
"archive-list": "ریختن لیست به سطل زباله",
|
||||
"archive-swimlane": "ریختن مسیرشنا به سطل زباله",
|
||||
"archive-selection": "انتخاب شده ها را به سطل زباله بریز",
|
||||
"archiveBoardPopup-title": "آیا تخته به سطل زباله ریخته شود؟",
|
||||
"archived-items": "سطل زباله",
|
||||
"archived-boards": "تخته هایی که به زباله ریخته شده است",
|
||||
"restore-board": "بازیابی تخته",
|
||||
"no-archived-boards": "تخته بایگانی شده وجود ندارد.",
|
||||
"archives": "بایگانیها",
|
||||
"no-archived-boards": "هیچ تخته ای در سطل زباله وجود ندارد",
|
||||
"archives": "سطل زباله",
|
||||
"assign-member": "تعیین عضو",
|
||||
"attached": "ضمیمه شده",
|
||||
"attachment": "ضمیمه",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "منوی تخته",
|
||||
"boards": "تختهها",
|
||||
"board-view": "نمایش تخته",
|
||||
"board-view-cal": "تقویم",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "فهرستها",
|
||||
"bucket-example": "برای مثال چیزی شبیه \"لیست سبدها\"",
|
||||
"cancel": "انصراف",
|
||||
"card-archived": "این کارت بایگانی شد.",
|
||||
"card-archived": "این کارت به سطل زباله ریخته شده است",
|
||||
"card-comments-title": "این کارت دارای %s نظر است.",
|
||||
"card-delete-notice": "حذف دائمی. تمامی موارد مرتبط با این کارت از بین خواهند رفت.",
|
||||
"card-delete-pop": "همه اقدامات از این پردازه (خوراک) حذف خواهد شد و امکان بازگرداندن کارت وجود نخواهد داشت.",
|
||||
"card-delete-suggest-archive": "شما می توانید یک کارت را با حفظ فعالیت های آن بایگانی کنید.",
|
||||
"card-due": "ناشی از",
|
||||
"card-due-on": "مقتضی بر",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "تا",
|
||||
"card-due-on": "تا",
|
||||
"card-spent": "زمان صرف شده",
|
||||
"card-edit-attachments": "ویرایش ضمائم",
|
||||
"card-edit-custom-fields": "ویرایش فیلدهای شخصی",
|
||||
"card-edit-labels": "ویرایش برچسب",
|
||||
"card-edit-members": "ویرایش اعضا",
|
||||
"card-labels-title": "تغییر برچسب کارت",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "شروع",
|
||||
"card-start-on": "شروع از",
|
||||
"cardAttachmentsPopup-title": "ضمیمه از",
|
||||
"cardCustomField-datePopup-title": "تغییر تاریخ",
|
||||
"cardCustomFieldsPopup-title": "ویرایش فیلدهای شخصی",
|
||||
"cardDeletePopup-title": "آیا می خواهید کارت را حذف کنید؟",
|
||||
"cardDetailsActionsPopup-title": "اعمال کارت",
|
||||
"cardLabelsPopup-title": "برچسب ها",
|
||||
"cardMembersPopup-title": "اعضا",
|
||||
"cardMorePopup-title": "بیشتر",
|
||||
"cards": "کارتها",
|
||||
"cards-count": "کارتها",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "تغییر",
|
||||
"change-avatar": "تغییر تصویر",
|
||||
"change-password": "تغییر کلمه عبور",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "تغییر کلمه عبور",
|
||||
"changePermissionsPopup-title": "تغییر دسترسیها",
|
||||
"changeSettingsPopup-title": "تغییر تنظیمات",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "سیاههها",
|
||||
"click-to-star": "با کلیک کردن ستاره بدهید",
|
||||
"click-to-unstar": "با کلیک کردن ستاره را کم کنید",
|
||||
"clipboard": "ذخیره در حافظه ویا بردار-رهاکن",
|
||||
"close": "بستن",
|
||||
"close-board": "بستن برد",
|
||||
"close-board-pop": "شما می توانید با کلیک بر دکمه \"بایگانی\" از قسمت بالای خانه، تخته را بازآوری نمایید.",
|
||||
"close-board-pop": "شما با کلیک روی دکمه \"سطل زباله\" در قسمت خانه می توانید تخته را بازیابی کنید.",
|
||||
"color-black": "مشکی",
|
||||
"color-blue": "آبی",
|
||||
"color-green": "سبز",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "فقط نظر",
|
||||
"comment-only-desc": "فقط میتواند روی کارتها نظر دهد.",
|
||||
"computer": "رایانه",
|
||||
"confirm-checklist-delete-dialog": "مطمئنید که میخواهید سیاهه را حذف کنید؟",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "مطمئنا چک لیست پاک شود؟",
|
||||
"copy-card-link-to-clipboard": "درج پیوند کارت در حافظه",
|
||||
"copyCardPopup-title": "کپی کارت",
|
||||
"copyChecklistToManyCardsPopup-title": "کپی قالب کارت به کارتهای متعدد",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "ایجاد تخته",
|
||||
"chooseBoardSourcePopup-title": "بارگذاری تخته",
|
||||
"createLabelPopup-title": "ایجاد برچسب",
|
||||
"createCustomField": "ایجاد فیلد",
|
||||
"createCustomFieldPopup-title": "ایجاد فیلد",
|
||||
"current": "جاری",
|
||||
"custom-field-delete-pop": "این اقدام فیلدشخصی را بهمراه تمامی تاریخچه آن از کارت ها پاک می کند و برگشت پذیر نمی باشد",
|
||||
"custom-field-checkbox": "جعبه انتخابی",
|
||||
"custom-field-date": "تاریخ",
|
||||
"custom-field-dropdown": "لیست افتادنی",
|
||||
"custom-field-dropdown-none": "(هیچ)",
|
||||
"custom-field-dropdown-options": "لیست امکانات",
|
||||
"custom-field-dropdown-options-placeholder": "کلید Enter را جهت افزودن امکانات بیشتر فشار دهید",
|
||||
"custom-field-dropdown-unknown": "(ناشناخته)",
|
||||
"custom-field-number": "عدد",
|
||||
"custom-field-text": "متن",
|
||||
"custom-fields": "فیلدهای شخصی",
|
||||
"date": "تاریخ",
|
||||
"decline": "رد",
|
||||
"default-avatar": "تصویر پیش فرض",
|
||||
"delete": "حذف",
|
||||
"deleteCustomFieldPopup-title": "آیا فیلدشخصی پاک شود؟",
|
||||
"deleteLabelPopup-title": "آیا می خواهید برچسب را حذف کنید؟",
|
||||
"description": "توضیحات",
|
||||
"disambiguateMultiLabelPopup-title": "عمل ابهام زدایی از برچسب",
|
||||
@@ -184,7 +211,8 @@
|
||||
"edit-wip-limit": "Edit WIP Limit",
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "تغییر تاریخ آغاز",
|
||||
"editCardDueDatePopup-title": "تغییر تاریخ بدلیل",
|
||||
"editCardDueDatePopup-title": "تغییر تاریخ پایان",
|
||||
"editCustomFieldPopup-title": "ویرایش فیلد",
|
||||
"editCardSpentTimePopup-title": "تغییر زمان صرف شده",
|
||||
"editLabelPopup-title": "تغیر برچسب",
|
||||
"editNotificationPopup-title": "اصلاح اعلان",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "حذف صافی ـFilterـ",
|
||||
"filter-no-label": "بدون برچسب",
|
||||
"filter-no-member": "بدون عضو",
|
||||
"filter-no-custom-fields": "هیچ فیلدشخصی ای وجود ندارد",
|
||||
"filter-on": "صافی ـFilterـ فعال است",
|
||||
"filter-on-desc": "شما صافی ـFilterـ برای کارتهای تخته را روشن کرده اید. جهت ویرایش کلیک نمایید.",
|
||||
"filter-to-selection": "صافی ـFilterـ برای موارد انتخابی",
|
||||
"advanced-filter-label": "صافی پیشرفته",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "نام و نام خانوادگی",
|
||||
"header-logo-title": "بازگشت به صفحه تخته.",
|
||||
"hide-system-messages": "عدم نمایش پیامهای سیستمی",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "ارجاع به این کارت",
|
||||
"list-archive-cards": "بایگانی تمامی کارتهای این لیست",
|
||||
"list-archive-cards-pop": "این اقدام، همه کارت های این لیست از تخته راحذف خواهد کرد. جهت مشاهده کارت های بایگانی و بازگرداندن آنها ، \"Menu\",\"Archived Item\" را کلیک کنید.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "انتقال تمام کارت های این لیست",
|
||||
"list-select-cards": "انتخاب تمام کارت های این لیست",
|
||||
"listActionPopup-title": "لیست اقدامات",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "بیشتر",
|
||||
"link-list": "پیوند به این فهرست",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "با انتقال سیاهه به سطل ذباله میتوانید ضمن حفظ فعالیت، سیاهه را از تخته حذف کنید.",
|
||||
"lists": "لیست ها",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "خروج",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "شما هیچگاه از تغییرات این تخته مطلع نخواهید شد",
|
||||
"my-boards": "تختههای من",
|
||||
"name": "نام",
|
||||
"no-archived-cards": "کارتی در بایگانی نیست",
|
||||
"no-archived-lists": "فهرستی در بایگانی نیست.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "کارتی در سطل ذباله نیست.",
|
||||
"no-archived-lists": "سیاههای در سطل ذباله نیست.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "بدون نتیجه",
|
||||
"normal": "عادی",
|
||||
"normal-desc": "امکان نمایش و تنظیم کارت بدون امکان تغییر تنظیمات",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "عنوان",
|
||||
"tracking": "پیگردی",
|
||||
"tracking-info": "شما از هرگونه تغییر در کارتهایی که بعنوان ایجاد کننده ویا عضو آن هستید، آگاه خواهید شد",
|
||||
"type": "نوع",
|
||||
"unassign-member": "عدم انتصاب کاربر",
|
||||
"unsaved-description": "شما توضیحات ذخیره نشده دارید.",
|
||||
"unwatch": "عدم دیده بانی",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "تصویر ارسال شد",
|
||||
"username": "نام کاربری",
|
||||
"view-it": "مشاهده",
|
||||
"warn-list-archived": "هشدار: این کارت در یک لیست بایگانی شده است",
|
||||
"warn-list-archived": "هشدار: این کارت در سیاههای داخل سطح ذباله است",
|
||||
"watch": "دیده بانی",
|
||||
"watching": "درحال دیده بانی",
|
||||
"watching-info": "شما از هر تغییری دراین تخته آگاه خواهید شد",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "ساعت",
|
||||
"minutes": "دقیقه",
|
||||
"seconds": "ثانیه",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "بله",
|
||||
"no": "خیر",
|
||||
"accounts": "حسابها",
|
||||
"accounts-allowEmailChange": "اجازه تغییر رایانامه",
|
||||
"accounts-allowUserNameChange": "اجازه تغییر نام کاربری",
|
||||
"createdAt": "ساخته شده در",
|
||||
"verified": "معتبر",
|
||||
"active": "فعال"
|
||||
"active": "فعال",
|
||||
"card-received": "رسیده",
|
||||
"card-received-on": "رسیده در",
|
||||
"card-end": "پایان",
|
||||
"card-end-on": "پایان در",
|
||||
"editCardReceivedDatePopup-title": "تغییر تاریخ رسید",
|
||||
"editCardEndDatePopup-title": "تغییر تاریخ پایان",
|
||||
"assigned-by": "محول شده توسط",
|
||||
"requested-by": "تقاضا شده توسط",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "حذف تخته؟",
|
||||
"delete-board": "حذف تخته",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "پیشفرض",
|
||||
"queue": "صف",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+94
-31
@@ -2,17 +2,19 @@
|
||||
"accept": "Hyväksy",
|
||||
"act-activity-notify": "[Wekan] Toimintailmoitus",
|
||||
"act-addAttachment": "liitetty __attachment__ kortille __card__",
|
||||
"act-addSubtask": "lisätty alitehtävä __checklist__ kortille __card__",
|
||||
"act-addChecklist": "lisätty tarkistuslista __checklist__ kortille __card__",
|
||||
"act-addChecklistItem": "lisätty kohta __checklistItem__ tarkistuslistaan __checklist__ kortilla __card__",
|
||||
"act-addComment": "kommentoitu __card__: __comment__",
|
||||
"act-createBoard": "luotu __board__",
|
||||
"act-createCard": "lisätty __card__ listalle __list__",
|
||||
"act-createCustomField": "luotu mukautettu kenttä __customField__",
|
||||
"act-createList": "lisätty __list__ taululle __board__",
|
||||
"act-addBoardMember": "lisätty __member__ taululle __board__",
|
||||
"act-archivedBoard": "arkistoitu __board__",
|
||||
"act-archivedCard": "arkistoitu __card__",
|
||||
"act-archivedList": "arkistoitu __list__",
|
||||
"act-archivedSwimlane": "arkistoitu __swimlane__",
|
||||
"act-archivedBoard": "__board__ siirretty roskakoriin",
|
||||
"act-archivedCard": "__card__ siirretty roskakoriin",
|
||||
"act-archivedList": "__list__ siirretty roskakoriin",
|
||||
"act-archivedSwimlane": "__swimlane__ siirretty roskakoriin",
|
||||
"act-importBoard": "tuotu __board__",
|
||||
"act-importCard": "tuotu __card__",
|
||||
"act-importList": "tuotu __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Toimet",
|
||||
"activity": "Toiminta",
|
||||
"activity-added": "lisätty %s kohteeseen %s",
|
||||
"activity-archived": "arkistoitu %s",
|
||||
"activity-archived": "%s siirretty roskakoriin",
|
||||
"activity-attached": "liitetty %s kohteeseen %s",
|
||||
"activity-created": "luotu %s",
|
||||
"activity-customfield-created": "luotu mukautettu kenttä %s",
|
||||
"activity-excluded": "poistettu %s kohteesta %s",
|
||||
"activity-imported": "tuotu %s kohteeseen %s lähteestä %s",
|
||||
"activity-imported-board": "tuotu %s lähteestä %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "poistettu %s kohteesta %s",
|
||||
"activity-sent": "lähetetty %s kohteeseen %s",
|
||||
"activity-unjoined": "peruttu %s liittyminen",
|
||||
"activity-subtask-added": "lisätty alitehtävä kohteeseen %s",
|
||||
"activity-checklist-added": "lisätty tarkistuslista kortille %s",
|
||||
"activity-checklist-item-added": "lisäsi kohdan tarkistuslistaan '%s' kortilla %s",
|
||||
"add": "Lisää",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Lisää taulu",
|
||||
"add-card": "Lisää kortti",
|
||||
"add-swimlane": "Lisää Swimlane",
|
||||
"add-subtask": "Lisää alitehtävä",
|
||||
"add-checklist": "Lisää tarkistuslista",
|
||||
"add-checklist-item": "Lisää kohta tarkistuslistaan",
|
||||
"add-cover": "Lisää kansi",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "Ja __count__ muuta korttia",
|
||||
"apply": "Käytä",
|
||||
"app-is-offline": "Wekan latautuu, odota. Sivun uudelleenlataus aiheuttaa tietojen menettämisen. Jos Wekan ei lataudu, tarkista että Wekan palvelin ei ole pysähtynyt.",
|
||||
"archive": "Arkistoi",
|
||||
"archive-all": "Arkistoi kaikki",
|
||||
"archive-board": "Arkistoi taulu",
|
||||
"archive-card": "Arkistoi kortti",
|
||||
"archive-list": "Arkistoi lista",
|
||||
"archive-swimlane": "Arkistoi Swimlane",
|
||||
"archive-selection": "Arkistoi valinta",
|
||||
"archiveBoardPopup-title": "Arkistoi taulu?",
|
||||
"archived-items": "Arkistoidut kohteet",
|
||||
"archived-boards": "Arkistoidut taulut",
|
||||
"archive": "Siirrä roskakoriin",
|
||||
"archive-all": "Siirrä kaikki roskakoriin",
|
||||
"archive-board": "Siirrä taulu roskakoriin",
|
||||
"archive-card": "Siirrä kortti roskakoriin",
|
||||
"archive-list": "Siirrä lista roskakoriin",
|
||||
"archive-swimlane": "Siirrä Swimlane roskakoriin",
|
||||
"archive-selection": "Siirrä valinta roskakoriin",
|
||||
"archiveBoardPopup-title": "Siirrä taulu roskakoriin?",
|
||||
"archived-items": "Roskakori",
|
||||
"archived-boards": "Taulut roskakorissa",
|
||||
"restore-board": "Palauta taulu",
|
||||
"no-archived-boards": "Ei arkistoituja tauluja.",
|
||||
"archives": "Arkistot",
|
||||
"no-archived-boards": "Ei tauluja roskakorissa",
|
||||
"archives": "Roskakori",
|
||||
"assign-member": "Valitse jäsen",
|
||||
"attached": "liitetty",
|
||||
"attachment": "Liitetiedosto",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Taulu valikko",
|
||||
"boards": "Taulut",
|
||||
"board-view": "Taulu näkymä",
|
||||
"board-view-cal": "Kalenteri",
|
||||
"board-view-swimlanes": "Swimlanet",
|
||||
"board-view-lists": "Listat",
|
||||
"bucket-example": "Kuten “Laatikko lista” esimerkiksi",
|
||||
"cancel": "Peruuta",
|
||||
"card-archived": "Tämä kortti on arkistoitu.",
|
||||
"card-archived": "Tämä kortti on siirretty roskakoriin.",
|
||||
"card-comments-title": "Tässä kortissa on %s kommenttia.",
|
||||
"card-delete-notice": "Poistaminen on lopullista. Menetät kaikki toimet jotka on liitetty tähän korttiin.",
|
||||
"card-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja et tule pystymään uudelleenavaamaan korttia. Tätä ei voi peruuttaa.",
|
||||
"card-delete-suggest-archive": "Voit arkistoida kortin poistaaksesi sen taululta ja säilyttääksesi toimet.",
|
||||
"card-delete-suggest-archive": "Voit siirtää kortin roskakoriin poistaaksesi sen taululta ja säilyttääksesi toimintalokin.",
|
||||
"card-due": "Erääntyy",
|
||||
"card-due-on": "Erääntyy",
|
||||
"card-spent": "Käytetty aika",
|
||||
"card-edit-attachments": "Muokkaa liitetiedostoja",
|
||||
"card-edit-custom-fields": "Muokkaa mukautettuja kenttiä",
|
||||
"card-edit-labels": "Muokkaa tunnisteita",
|
||||
"card-edit-members": "Muokkaa jäseniä",
|
||||
"card-labels-title": "Muokkaa kortin tunnisteita.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Alkaa",
|
||||
"card-start-on": "Alkaa",
|
||||
"cardAttachmentsPopup-title": "Liitä mistä",
|
||||
"cardCustomField-datePopup-title": "Muokkaa päivää",
|
||||
"cardCustomFieldsPopup-title": "Muokkaa mukautettuja kenttiä",
|
||||
"cardDeletePopup-title": "Poista kortti?",
|
||||
"cardDetailsActionsPopup-title": "Kortti toimet",
|
||||
"cardLabelsPopup-title": "Tunnisteet",
|
||||
"cardMembersPopup-title": "Jäsenet",
|
||||
"cardMorePopup-title": "Lisää",
|
||||
"cards": "Kortit",
|
||||
"cards-count": "korttia",
|
||||
"casSignIn": "CAS kirjautuminen",
|
||||
"change": "Muokkaa",
|
||||
"change-avatar": "Muokkaa profiilikuvaa",
|
||||
"change-password": "Vaihda salasana",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Vaihda salasana",
|
||||
"changePermissionsPopup-title": "Muokkaa oikeuksia",
|
||||
"changeSettingsPopup-title": "Muokkaa asetuksia",
|
||||
"subtasks": "Alitehtävät",
|
||||
"checklists": "Tarkistuslistat",
|
||||
"click-to-star": "Klikkaa merkataksesi tämä taulu tähdellä.",
|
||||
"click-to-unstar": "Klikkaa poistaaksesi tähtimerkintä taululta.",
|
||||
"clipboard": "Leikepöytä tai raahaa ja pudota",
|
||||
"close": "Sulje",
|
||||
"close-board": "Sulje taulu",
|
||||
"close-board-pop": "Voit palauttaa taulun klikkaamalla “Arkistot” painiketta kotiotsikosta.",
|
||||
"close-board-pop": "Voit palauttaa taulun klikkaamalla “Roskakori” painiketta taululistan yläpalkista.",
|
||||
"color-black": "musta",
|
||||
"color-blue": "sininen",
|
||||
"color-green": "vihreä",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Vain kommentointi",
|
||||
"comment-only-desc": "Voi vain kommentoida kortteja",
|
||||
"computer": "Tietokone",
|
||||
"confirm-checklist-delete-dialog": "Haluatko varmasti poistaa tarkistuslistan",
|
||||
"confirm-subtask-delete-dialog": "Oletko varma että haluat poistaa alitehtävän?",
|
||||
"confirm-checklist-delete-dialog": "Oletko varma että haluat poistaa tarkistuslistan?",
|
||||
"copy-card-link-to-clipboard": "Kopioi kortin linkki leikepöydälle",
|
||||
"copyCardPopup-title": "Kopioi kortti",
|
||||
"copyChecklistToManyCardsPopup-title": "Kopioi tarkistuslistan malli monille korteille",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Luo taulu",
|
||||
"chooseBoardSourcePopup-title": "Tuo taulu",
|
||||
"createLabelPopup-title": "Luo tunniste",
|
||||
"createCustomField": "Luo kenttä",
|
||||
"createCustomFieldPopup-title": "Luo kenttä",
|
||||
"current": "nykyinen",
|
||||
"custom-field-delete-pop": "Tätä ei voi peruuttaa. Tämä poistaa tämän mukautetun kentän kaikista korteista ja poistaa sen historian.",
|
||||
"custom-field-checkbox": "Valintaruutu",
|
||||
"custom-field-date": "Päivämäärä",
|
||||
"custom-field-dropdown": "Pudotusvalikko",
|
||||
"custom-field-dropdown-none": "(ei mitään)",
|
||||
"custom-field-dropdown-options": "Luettelon vaihtoehdot",
|
||||
"custom-field-dropdown-options-placeholder": "Paina Enter lisätäksesi lisää vaihtoehtoja",
|
||||
"custom-field-dropdown-unknown": "(tuntematon)",
|
||||
"custom-field-number": "Numero",
|
||||
"custom-field-text": "Teksti",
|
||||
"custom-fields": "Mukautetut kentät",
|
||||
"date": "Päivämäärä",
|
||||
"decline": "Kieltäydy",
|
||||
"default-avatar": "Oletus profiilikuva",
|
||||
"delete": "Poista",
|
||||
"deleteCustomFieldPopup-title": "Poista mukautettu kenttä?",
|
||||
"deleteLabelPopup-title": "Poista tunniste?",
|
||||
"description": "Kuvaus",
|
||||
"disambiguateMultiLabelPopup-title": "Yksikäsitteistä tunniste toiminta",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Pehmeä WIP raja",
|
||||
"editCardStartDatePopup-title": "Muokkaa aloituspäivää",
|
||||
"editCardDueDatePopup-title": "Muokkaa eräpäivää",
|
||||
"editCustomFieldPopup-title": "Muokkaa kenttää",
|
||||
"editCardSpentTimePopup-title": "Muuta käytettyä aikaa",
|
||||
"editLabelPopup-title": "Muokkaa tunnistetta",
|
||||
"editNotificationPopup-title": "Muokkaa ilmoituksia",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Poista suodatin",
|
||||
"filter-no-label": "Ei tunnistetta",
|
||||
"filter-no-member": "Ei jäseniä",
|
||||
"filter-no-custom-fields": "Ei mukautettuja kenttiä",
|
||||
"filter-on": "Suodatus on päällä",
|
||||
"filter-on-desc": "Suodatat kortteja tällä taululla. Klikkaa tästä muokataksesi suodatinta.",
|
||||
"filter-to-selection": "Suodata valintaan",
|
||||
"advanced-filter-label": "Edistynyt suodatin",
|
||||
"advanced-filter-description": "Edistynyt suodatin mahdollistaa merkkijonon, joka sisältää seuraavat operaattorit: == != <= >= && || ( ) Operaattorien välissä käytetään välilyöntiä. Voit suodattaa kaikki mukautetut kentät kirjoittamalla niiden nimet ja arvot. Esimerkiksi: Field1 == Value1. Huom: Jos kentillä tai arvoilla on välilyöntejä, sinun on sijoitettava ne yksittäisiin lainausmerkkeihin. Esimerkki: 'Kenttä 1' == 'Arvo 1'. Voit hypätä yksittäisen kontrollimerkkien (' \\/) yli käyttämällä \\. Esimerkki: Field1 = I\\'m. Voit myös yhdistää useita ehtoja. Esimerkiksi: F1 == V1 || F1 == V2. Yleensä kaikki operaattorit tulkitaan vasemmalta oikealle. Voit muuttaa järjestystä asettamalla sulkuja. Esimerkiksi: F1 == V1 && (F2 == V2 || F2 == V3). Voit myös etsiä tekstikentistä regexillä: F1 == /Tes.*/i",
|
||||
"fullname": "Koko nimi",
|
||||
"header-logo-title": "Palaa taulut sivullesi.",
|
||||
"hide-system-messages": "Piilota järjestelmäviestit",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Haluatko varmasti poistua taululta __boardTitle__? Sinut poistetaan kaikista tämän taulun korteista.",
|
||||
"leaveBoardPopup-title": "Jää pois taululta ?",
|
||||
"link-card": "Linkki tähän korttiin",
|
||||
"list-archive-cards": "Arkistoi kaikki kortit tässä listassa",
|
||||
"list-archive-cards-pop": "Tämä poistaa kaikki tämän listan kortit tältä taululta. Nähdäksesi arkistoidut kortit ja tuodaksesi ne takaisin taululle, klikkaa “Valikko” > “Arkistoidut kohteet”.",
|
||||
"list-archive-cards": "Siirrä kaikki tämän listan kortit roskakoriin",
|
||||
"list-archive-cards-pop": "Tämä poistaa kaikki tämän listan kortit taululta. Nähdäksesi roskakorissa olevat kortit ja tuodaksesi ne takaisin taululle, klikkaa “Valikko” > “Roskakori”.",
|
||||
"list-move-cards": "Siirrä kaikki kortit tässä listassa",
|
||||
"list-select-cards": "Valitse kaikki kortit tässä listassa",
|
||||
"listActionPopup-title": "Listaa toimet",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Lisää",
|
||||
"link-list": "Linkki tähän listaan",
|
||||
"list-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja listan poistaminen on lopullista. Tätä ei pysty peruuttamaan.",
|
||||
"list-delete-suggest-archive": "Voit arkistoida listan jolloin sen voi palauttaa sisältöineen.",
|
||||
"list-delete-suggest-archive": "Voit siirtää listan roskakoriin poistaaksesi sen taululta ja säilyttääksesi toimintalokin.",
|
||||
"lists": "Listat",
|
||||
"swimlanes": "Swimlanet",
|
||||
"log-out": "Kirjaudu ulos",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "Et saa koskaan ilmoituksia tämän taulun muutoksista",
|
||||
"my-boards": "Tauluni",
|
||||
"name": "Nimi",
|
||||
"no-archived-cards": "Ei arkistoituja kortteja.",
|
||||
"no-archived-lists": "Ei arkistoituja listoja.",
|
||||
"no-archived-swimlanes": "Ei arkistoituja swimlaneja.",
|
||||
"no-archived-cards": "Ei kortteja roskakorissa.",
|
||||
"no-archived-lists": "Ei listoja roskakorissa.",
|
||||
"no-archived-swimlanes": "Ei Swimlaneja roskakorissa.",
|
||||
"no-results": "Ei tuloksia",
|
||||
"normal": "Normaali",
|
||||
"normal-desc": "Voi nähdä ja muokata kortteja. Ei voi muokata asetuksia.",
|
||||
@@ -365,15 +396,16 @@
|
||||
"title": "Otsikko",
|
||||
"tracking": "Ilmoitukset",
|
||||
"tracking-info": "Sinulle ilmoitetaan muutoksista korteissa joihin olet osallistunut luojana tai jäsenenä.",
|
||||
"type": "Tyyppi",
|
||||
"unassign-member": "Peru jäsenvalinta",
|
||||
"unsaved-description": "Sinulla on tallentamaton kuvaus.",
|
||||
"unwatch": "Lopeta seuraaminen",
|
||||
"upload": "Lähetä",
|
||||
"upload-avatar": "Lähetä profiilikuva",
|
||||
"uploaded-avatar": "Profiilikuva lähetetty",
|
||||
"username": "Käyttäjänimi",
|
||||
"username": "Käyttäjätunnus",
|
||||
"view-it": "Näytä se",
|
||||
"warn-list-archived": "varoitus: tämä kortti on arkistoitujen listalla",
|
||||
"warn-list-archived": "varoitus: tämä kortti on roskakorissa olevassa listassa",
|
||||
"watch": "Seuraa",
|
||||
"watching": "Seurataan",
|
||||
"watching-info": "Sinulle ilmoitetaan tämän taulun muutoksista",
|
||||
@@ -399,7 +431,7 @@
|
||||
"smtp-tls-description": "Ota käyttöön TLS tuki SMTP palvelimelle",
|
||||
"smtp-host": "SMTP isäntä",
|
||||
"smtp-port": "SMTP portti",
|
||||
"smtp-username": "Käyttäjänimi",
|
||||
"smtp-username": "Käyttäjätunnus",
|
||||
"smtp-password": "Salasana",
|
||||
"smtp-tls": "TLS tuki",
|
||||
"send-from": "Lähettäjä",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "tuntia",
|
||||
"minutes": "minuuttia",
|
||||
"seconds": "sekuntia",
|
||||
"show-field-on-card": "Näytä tämä kenttä kortilla",
|
||||
"yes": "Kyllä",
|
||||
"no": "Ei",
|
||||
"accounts": "Tilit",
|
||||
"accounts-allowEmailChange": "Salli sähköpostiosoitteen muuttaminen",
|
||||
"accounts-allowUserNameChange": "Salli käyttäjätunnuksen muuttaminen",
|
||||
"createdAt": "Luotu",
|
||||
"verified": "Varmistettu",
|
||||
"active": "Aktiivinen"
|
||||
"active": "Aktiivinen",
|
||||
"card-received": "Vastaanotettu",
|
||||
"card-received-on": "Vastaanotettu",
|
||||
"card-end": "Loppuu",
|
||||
"card-end-on": "Loppuu",
|
||||
"editCardReceivedDatePopup-title": "Vaihda vastaanottamispäivää",
|
||||
"editCardEndDatePopup-title": "Vaihda loppumispäivää",
|
||||
"assigned-by": "Tehtävänantaja",
|
||||
"requested-by": "Pyytäjä",
|
||||
"board-delete-notice": "Poistaminen on lopullista. Menetät kaikki listat, kortit ja toimet tällä taululla.",
|
||||
"delete-board-confirm-popup": "Kaikki listat, kortit, tunnisteet ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
|
||||
"boardDeletePopup-title": "Poista taulu?",
|
||||
"delete-board": "Poista taulu",
|
||||
"default-subtasks-board": "Alitehtävät __board__ taululle",
|
||||
"default": "Oletus",
|
||||
"queue": "Jono",
|
||||
"subtask-settings": "Alitehtävä asetukset",
|
||||
"boardSubtaskSettingsPopup-title": "Taulu alitehtävien asetukset",
|
||||
"show-subtasks-field": "Korteilla voi olla alitehtäviä",
|
||||
"deposit-subtasks-board": "Tallenta alitehtävät tälle taululle:",
|
||||
"deposit-subtasks-list": "Laskeutumislista alatehtäville tallennettu tänne:",
|
||||
"show-parent-in-minicard": "Näytä ylätehtävä minikortilla:",
|
||||
"prefix-with-full-path": "Etuliite koko polulla",
|
||||
"prefix-with-parent": "Etuliite ylätehtävällä",
|
||||
"subtext-with-full-path": "Aliteksti koko polulla",
|
||||
"subtext-with-parent": "Aliteksti ylätehtävällä",
|
||||
"change-card-parent": "Muuta kortin ylätehtävää",
|
||||
"parent-card": "Ylätehtävä kortti",
|
||||
"source-board": "Lähdetaulu",
|
||||
"no-parent": "Älä näytä ylätehtävää"
|
||||
}
|
||||
+95
-32
@@ -2,17 +2,19 @@
|
||||
"accept": "Accepter",
|
||||
"act-activity-notify": "[Wekan] Notification d'activité",
|
||||
"act-addAttachment": "a joint __attachment__ à __card__",
|
||||
"act-addSubtask": "a ajouté une sous-tâche __checklist__ à __card__",
|
||||
"act-addChecklist": "a ajouté la checklist __checklist__ à __card__",
|
||||
"act-addChecklistItem": "a ajouté l'élément __checklistItem__ à la checklist __checklist__ de __card__",
|
||||
"act-addComment": "a commenté __card__ : __comment__",
|
||||
"act-createBoard": "a créé __board__",
|
||||
"act-createCard": "a ajouté __card__ à __list__",
|
||||
"act-createCustomField": "a créé le champ personnalisé __customField__",
|
||||
"act-createList": "a ajouté __list__ à __board__",
|
||||
"act-addBoardMember": "a ajouté __member__ à __board__",
|
||||
"act-archivedBoard": "a archivé __board__",
|
||||
"act-archivedCard": "a archivé __card__",
|
||||
"act-archivedList": "a archivé __list__",
|
||||
"act-archivedSwimlane": "a archivé le couloir __swimlane__",
|
||||
"act-archivedBoard": "__board__ a été déplacé vers la corbeille",
|
||||
"act-archivedCard": "__card__ a été déplacée vers la corbeille",
|
||||
"act-archivedList": "__list__ a été déplacée vers la corbeille",
|
||||
"act-archivedSwimlane": "__swimlane__ a été déplacé vers la corbeille",
|
||||
"act-importBoard": "a importé __board__",
|
||||
"act-importCard": "a importé __card__",
|
||||
"act-importList": "a importé __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Activités",
|
||||
"activity": "Activité",
|
||||
"activity-added": "a ajouté %s à %s",
|
||||
"activity-archived": "a archivé %s",
|
||||
"activity-archived": "%s a été déplacé vers la corbeille",
|
||||
"activity-attached": "a attaché %s à %s",
|
||||
"activity-created": "a créé %s",
|
||||
"activity-customfield-created": "a créé le champ personnalisé %s",
|
||||
"activity-excluded": "a exclu %s de %s",
|
||||
"activity-imported": "a importé %s vers %s depuis %s",
|
||||
"activity-imported-board": "a importé %s depuis %s",
|
||||
@@ -39,13 +42,15 @@
|
||||
"activity-removed": "a supprimé %s de %s",
|
||||
"activity-sent": "a envoyé %s vers %s",
|
||||
"activity-unjoined": "a quitté %s",
|
||||
"activity-subtask-added": "a ajouté une sous-tâche à %s",
|
||||
"activity-checklist-added": "a ajouté une checklist à %s",
|
||||
"activity-checklist-item-added": "a ajouté une checklist à '%s' dans %s",
|
||||
"activity-checklist-item-added": "a ajouté un élément à la checklist '%s' dans %s",
|
||||
"add": "Ajouter",
|
||||
"add-attachment": "Ajouter une pièce jointe",
|
||||
"add-board": "Ajouter un tableau",
|
||||
"add-card": "Ajouter une carte",
|
||||
"add-swimlane": "Ajouter un couloir",
|
||||
"add-subtask": "Ajouter une sous-tâche",
|
||||
"add-checklist": "Ajouter une checklist",
|
||||
"add-checklist-item": "Ajouter un élément à la checklist",
|
||||
"add-cover": "Ajouter la couverture",
|
||||
@@ -63,20 +68,20 @@
|
||||
"and-n-other-card": "Et __count__ autre carte",
|
||||
"and-n-other-card_plural": "Et __count__ autres cartes",
|
||||
"apply": "Appliquer",
|
||||
"app-is-offline": "Chargement en cours de Wekan. Veuillez patienter. Vous risquez de perdre des données si vous recharger la page. Si Wekan ne se charge pas, veuillez vérifier si le serveur Wekan est arrêté.",
|
||||
"archive": "Archiver",
|
||||
"archive-all": "Tout archiver",
|
||||
"archive-board": "Archiver le tableau",
|
||||
"archive-card": "Archiver la carte",
|
||||
"archive-list": "Archiver une liste",
|
||||
"archive-swimlane": "Archiver le couloir",
|
||||
"archive-selection": "Archiver la selection",
|
||||
"archiveBoardPopup-title": "Archiver le tableau ?",
|
||||
"archived-items": "Éléments archivés",
|
||||
"archived-boards": "Tableaux archivés",
|
||||
"app-is-offline": "Chargement en cours, veuillez patienter. Vous risquez de perdre des données si vous rechargez la page. Si le chargement échoue, veuillez vérifier l'état du serveur Wekan.",
|
||||
"archive": "Déplacer vers la corbeille",
|
||||
"archive-all": "Tout déplacer vers la corbeille",
|
||||
"archive-board": "Déplacer le tableau vers la corbeille",
|
||||
"archive-card": "Déplacer la carte vers la corbeille",
|
||||
"archive-list": "Déplacer la liste vers la corbeille",
|
||||
"archive-swimlane": "Déplacer le couloir vers la corbeille",
|
||||
"archive-selection": "Déplacer la sélection vers la corbeille",
|
||||
"archiveBoardPopup-title": "Déplacer le tableau vers la corbeille ?",
|
||||
"archived-items": "Corbeille",
|
||||
"archived-boards": "Tableaux dans la corbeille",
|
||||
"restore-board": "Restaurer le tableau",
|
||||
"no-archived-boards": "Aucun tableau archivé",
|
||||
"archives": "Archives",
|
||||
"no-archived-boards": "Aucun tableau dans la corbeille.",
|
||||
"archives": "Corbeille",
|
||||
"assign-member": "Affecter un membre",
|
||||
"attached": "joint",
|
||||
"attachment": "Pièce jointe",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Menu du tableau",
|
||||
"boards": "Tableaux",
|
||||
"board-view": "Vue du tableau",
|
||||
"board-view-cal": "Calendrier",
|
||||
"board-view-swimlanes": "Couloirs",
|
||||
"board-view-lists": "Listes",
|
||||
"bucket-example": "Comme « todo list » par exemple",
|
||||
"cancel": "Annuler",
|
||||
"card-archived": "Cette carte est archivée.",
|
||||
"card-archived": "Cette carte est déplacée vers la corbeille.",
|
||||
"card-comments-title": "Cette carte a %s commentaires.",
|
||||
"card-delete-notice": "La suppression est permanente. Vous perdrez toutes les actions associées à cette carte.",
|
||||
"card-delete-pop": "Toutes les actions vont être supprimées du suivi d'activités et vous ne pourrez plus utiliser cette carte. Cette action est irréversible.",
|
||||
"card-delete-suggest-archive": "Vous pouvez archiver une carte pour la supprimer en préservant le suivi des activités.",
|
||||
"card-delete-suggest-archive": "Vous pouvez déplacer une carte vers la corbeille afin de l'enlever du tableau tout en préservant l'activité.",
|
||||
"card-due": "À échéance",
|
||||
"card-due-on": "Échéance le",
|
||||
"card-spent": "Temps passé",
|
||||
"card-edit-attachments": "Modifier les pièces jointes",
|
||||
"card-edit-custom-fields": "Éditer les champs personnalisés",
|
||||
"card-edit-labels": "Modifier les étiquettes",
|
||||
"card-edit-members": "Modifier les membres",
|
||||
"card-labels-title": "Modifier les étiquettes de la carte.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Début",
|
||||
"card-start-on": "Commence le",
|
||||
"cardAttachmentsPopup-title": "Joindre depuis",
|
||||
"cardCustomField-datePopup-title": "Changer la date",
|
||||
"cardCustomFieldsPopup-title": "Éditer les champs personnalisés",
|
||||
"cardDeletePopup-title": "Supprimer la carte ?",
|
||||
"cardDetailsActionsPopup-title": "Actions sur la carte",
|
||||
"cardLabelsPopup-title": "Étiquettes",
|
||||
"cardMembersPopup-title": "Membres",
|
||||
"cardMorePopup-title": "Plus",
|
||||
"cards": "Cartes",
|
||||
"cards-count": "Cartes",
|
||||
"casSignIn": "Se connecter avec CAS",
|
||||
"change": "Modifier",
|
||||
"change-avatar": "Modifier l'avatar",
|
||||
"change-password": "Modifier le mot de passe",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Modifier le mot de passe",
|
||||
"changePermissionsPopup-title": "Modifier les permissions",
|
||||
"changeSettingsPopup-title": "Modifier les paramètres",
|
||||
"subtasks": "Sous-tâches",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Cliquez pour ajouter ce tableau aux favoris.",
|
||||
"click-to-unstar": "Cliquez pour retirer ce tableau des favoris.",
|
||||
"clipboard": "Presse-papier ou glisser-déposer",
|
||||
"close": "Fermer",
|
||||
"close-board": "Fermer le tableau",
|
||||
"close-board-pop": "Vous pouvez restaurer le tableau en cliquant sur le bouton « Archives » depuis le menu en entête.",
|
||||
"close-board-pop": "Vous pourrez restaurer le tableau en cliquant le bouton « Corbeille » en entête.",
|
||||
"color-black": "noir",
|
||||
"color-blue": "bleu",
|
||||
"color-green": "vert",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Commentaire uniquement",
|
||||
"comment-only-desc": "Ne peut que commenter des cartes.",
|
||||
"computer": "Ordinateur",
|
||||
"confirm-checklist-delete-dialog": "Êtes-vous sûr de vouloir supprimer cette checklist ?",
|
||||
"confirm-subtask-delete-dialog": "Êtes-vous sûr de vouloir supprimer la sous-tâche ?",
|
||||
"confirm-checklist-delete-dialog": "Êtes-vous sûr de vouloir supprimer la checklist ?",
|
||||
"copy-card-link-to-clipboard": "Copier le lien vers la carte dans le presse-papier",
|
||||
"copyCardPopup-title": "Copier la carte",
|
||||
"copyChecklistToManyCardsPopup-title": "Copier le modèle de checklist vers plusieurs cartes",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Créer un tableau",
|
||||
"chooseBoardSourcePopup-title": "Importer un tableau",
|
||||
"createLabelPopup-title": "Créer une étiquette",
|
||||
"createCustomField": "Créer un champ personnalisé",
|
||||
"createCustomFieldPopup-title": "Créer un champ personnalisé",
|
||||
"current": "actuel",
|
||||
"custom-field-delete-pop": "Cette action n'est pas réversible. Elle supprimera ce champ personnalisé de toutes les cartes et détruira son historique.",
|
||||
"custom-field-checkbox": "Case à cocher",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Liste de choix",
|
||||
"custom-field-dropdown-none": "(aucun)",
|
||||
"custom-field-dropdown-options": "Options de liste",
|
||||
"custom-field-dropdown-options-placeholder": "Appuyez sur Entrée pour ajouter d'autres options",
|
||||
"custom-field-dropdown-unknown": "(inconnu)",
|
||||
"custom-field-number": "Nombre",
|
||||
"custom-field-text": "Texte",
|
||||
"custom-fields": "Champs personnalisés",
|
||||
"date": "Date",
|
||||
"decline": "Refuser",
|
||||
"default-avatar": "Avatar par défaut",
|
||||
"delete": "Supprimer",
|
||||
"deleteCustomFieldPopup-title": "Supprimer le champ personnalisé ?",
|
||||
"deleteLabelPopup-title": "Supprimer l'étiquette ?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Préciser l'action sur l'étiquette",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Limite WIP douce",
|
||||
"editCardStartDatePopup-title": "Modifier la date de début",
|
||||
"editCardDueDatePopup-title": "Modifier la date d'échéance",
|
||||
"editCustomFieldPopup-title": "Éditer le champ personnalisé",
|
||||
"editCardSpentTimePopup-title": "Changer le temps passé",
|
||||
"editLabelPopup-title": "Modifier l'étiquette",
|
||||
"editNotificationPopup-title": "Modifier la notification",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Supprimer les filtres",
|
||||
"filter-no-label": "Aucune étiquette",
|
||||
"filter-no-member": "Aucun membre",
|
||||
"filter-no-custom-fields": "Pas de champs personnalisés",
|
||||
"filter-on": "Le filtre est actif",
|
||||
"filter-on-desc": "Vous êtes en train de filtrer les cartes sur ce tableau. Cliquez ici pour modifier les filtres.",
|
||||
"filter-to-selection": "Filtre vers la sélection",
|
||||
"advanced-filter-label": "Filtre avancé",
|
||||
"advanced-filter-description": "Le filtre avancé permet d'écrire une chaîne contenant les opérateur suivants : == != <= >= && || ( ). Les opérateurs doivent être séparés par des espaces. Vous pouvez filtrer tous les champs personnalisés en saisissant leur nom et leur valeur. Par exemple : champ1 == valeur1. Remarque : si des champs ou valeurs contiennent des espaces, vous devez les mettre entre apostrophes. Par exemple : 'champ 1' = 'valeur 1'. Pour échapper un caractère de contrôle (' \\/), vous pouvez utiliser \\. Par exemple : champ1 = I\\'m. Il est également possible de combiner plusieurs conditions. Par exemple : f1 == v1 || f2 == v2. Normalement, tous les opérateurs sont interprétés de gauche à droite. Vous pouvez changer l'ordre à l'aide de parenthèses. Par exemple : f1 == v1 and (f2 == v2 || f2 == v3). Vous pouvez également chercher parmi les champs texte en utilisant des expressions régulières : f1 == /Test.*/i",
|
||||
"fullname": "Nom complet",
|
||||
"header-logo-title": "Retourner à la page des tableaux",
|
||||
"hide-system-messages": "Masquer les messages système",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Êtes-vous sur de vouloir quitter __boardTitle__ ? Vous ne serez plus associé aux cartes de ce tableau.",
|
||||
"leaveBoardPopup-title": "Quitter le tableau",
|
||||
"link-card": "Lier à cette carte",
|
||||
"list-archive-cards": "Archiver toutes les cartes de cette liste",
|
||||
"list-archive-cards-pop": "Cela archivera toutes les cartes de cette liste. Pour voir les cartes archivées et les ramener vers le tableau, cliquez sur « Menu » puis sur « Éléments archivés ».",
|
||||
"list-archive-cards": "Déplacer toutes les cartes de la liste vers la corbeille",
|
||||
"list-archive-cards-pop": "Cela supprimera du tableau toutes les cartes de cette liste. Pour voir les cartes dans la corbeille et les renvoyer vers le tableau, cliquez sur « Menu » puis « Corbeille ».",
|
||||
"list-move-cards": "Déplacer toutes les cartes de cette liste",
|
||||
"list-select-cards": "Sélectionner toutes les cartes de cette liste",
|
||||
"listActionPopup-title": "Actions sur la liste",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Plus",
|
||||
"link-list": "Lien vers cette liste",
|
||||
"list-delete-pop": "Toutes les actions seront supprimées du fil d'activité et il ne sera plus possible de les récupérer. Cette action ne peut pas être annulée.",
|
||||
"list-delete-suggest-archive": "Vous pouvez archiver une liste pour la supprimer d'un tableau et conserver son activité.",
|
||||
"list-delete-suggest-archive": "Vous pouvez déplacer une liste vers la corbeille pour l'enlever du tableau tout en conservant son activité.",
|
||||
"lists": "Listes",
|
||||
"swimlanes": "Couloirs",
|
||||
"log-out": "Déconnexion",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "Vous ne serez jamais averti des modifications effectuées dans ce tableau",
|
||||
"my-boards": "Mes tableaux",
|
||||
"name": "Nom",
|
||||
"no-archived-cards": "Pas de carte archivée.",
|
||||
"no-archived-lists": "Pas de liste archivée.",
|
||||
"no-archived-swimlanes": "Aucun couloir archivé.",
|
||||
"no-archived-cards": "Aucune carte dans la corbeille.",
|
||||
"no-archived-lists": "Aucune liste dans la corbeille.",
|
||||
"no-archived-swimlanes": "Aucun couloir dans la corbeille.",
|
||||
"no-results": "Pas de résultats",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Peut voir et modifier les cartes. Ne peut pas changer les paramètres.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Titre",
|
||||
"tracking": "Suivi",
|
||||
"tracking-info": "Vous serez notifié de toute modification concernant les cartes pour lesquelles vous êtes impliqué en tant que créateur ou membre.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Retirer le membre",
|
||||
"unsaved-description": "Vous avez une description non sauvegardée",
|
||||
"unwatch": "Arrêter de suivre",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Avatar téléchargé",
|
||||
"username": "Nom d'utilisateur",
|
||||
"view-it": "Le voir",
|
||||
"warn-list-archived": "Attention : cette carte est dans une liste archivée",
|
||||
"warn-list-archived": "Attention : cette carte est dans une liste se trouvant dans la corbeille",
|
||||
"watch": "Suivre",
|
||||
"watching": "Suivi",
|
||||
"watching-info": "Vous serez notifié de toute modification dans ce tableau",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "heures",
|
||||
"minutes": "minutes",
|
||||
"seconds": "secondes",
|
||||
"show-field-on-card": "Afficher ce champ sur la carte",
|
||||
"yes": "Oui",
|
||||
"no": "Non",
|
||||
"accounts": "Comptes",
|
||||
"accounts-allowEmailChange": "Autoriser le changement d'adresse mail",
|
||||
"createdAt": "Créé à",
|
||||
"accounts-allowUserNameChange": "Permettre la modification de l'identifiant",
|
||||
"createdAt": "Créé le",
|
||||
"verified": "Vérifié",
|
||||
"active": "Actif"
|
||||
"active": "Actif",
|
||||
"card-received": "Reçue",
|
||||
"card-received-on": "Reçue le",
|
||||
"card-end": "Fin",
|
||||
"card-end-on": "Se termine le",
|
||||
"editCardReceivedDatePopup-title": "Changer la date de réception",
|
||||
"editCardEndDatePopup-title": "Changer la date de fin",
|
||||
"assigned-by": "Assigné par",
|
||||
"requested-by": "Demandé par",
|
||||
"board-delete-notice": "La suppression est définitive. Vous perdrez toutes vos listes, cartes et actions associées à ce tableau.",
|
||||
"delete-board-confirm-popup": "Toutes les listes, cartes, étiquettes et activités seront supprimées et vous ne pourrez pas retrouver le contenu du tableau. Il n'y a pas d'annulation possible.",
|
||||
"boardDeletePopup-title": "Supprimer le tableau ?",
|
||||
"delete-board": "Supprimer le tableau",
|
||||
"default-subtasks-board": "Sous-tâches du tableau __board__",
|
||||
"default": "Défaut",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Paramètres des sous-tâches",
|
||||
"boardSubtaskSettingsPopup-title": "Paramètres des sous-tâches du tableau",
|
||||
"show-subtasks-field": "Les cartes peuvent avoir des sous-tâches",
|
||||
"deposit-subtasks-board": "Déposer des sous-tâches dans ce tableau :",
|
||||
"deposit-subtasks-list": "Liste de destination pour les sous-tâches déposées ici :",
|
||||
"show-parent-in-minicard": "Voir le parent dans la mini-carte :",
|
||||
"prefix-with-full-path": "Préfixer avec le chemin complet",
|
||||
"prefix-with-parent": "Préfixer avec le parent",
|
||||
"subtext-with-full-path": "Sous-texte avec le chemin complet",
|
||||
"subtext-with-parent": "Sous-texte avec le parent",
|
||||
"change-card-parent": "Changer le parent de la carte",
|
||||
"parent-card": "Carte parente",
|
||||
"source-board": "Tableau source",
|
||||
"no-parent": "Ne pas afficher le parent"
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Aceptar",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "commented on __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Actividades",
|
||||
"activity": "Actividade",
|
||||
"activity-added": "engadiuse %s a %s",
|
||||
"activity-archived": "arquivouse%s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "created %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Engadir",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Engadir taboleiro",
|
||||
"add-card": "Engadir tarxeta",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apply",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Arquivar",
|
||||
"archive-all": "Arquivar todo",
|
||||
"archive-board": "Arquivar taboleiro",
|
||||
"archive-card": "Arquivar tarxeta",
|
||||
"archive-list": "Arquivar lista",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Arquivar selección",
|
||||
"archiveBoardPopup-title": "Arquivar taboleiro?",
|
||||
"archived-items": "Elementos arquivados",
|
||||
"archived-boards": "Taboleiros arquivados",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restaurar taboleiro",
|
||||
"no-archived-boards": "Non hai taboleiros arquivados.",
|
||||
"archives": "Arquivos",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Anexo",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Taboleiros",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Listas",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancelar",
|
||||
"card-archived": "This card is archived.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Editar anexos",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Editar etiquetas",
|
||||
"card-edit-members": "Editar membros",
|
||||
"card-labels-title": "Cambiar as etiquetas da tarxeta.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Delete Card?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Etiquetas",
|
||||
"cardMembersPopup-title": "Membros",
|
||||
"cardMorePopup-title": "Máis",
|
||||
"cards": "Tarxetas",
|
||||
"cards-count": "Tarxetas",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Cambiar",
|
||||
"change-avatar": "Cambiar o avatar",
|
||||
"change-password": "Cambiar o contrasinal",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Cambiar o contrasinal",
|
||||
"changePermissionsPopup-title": "Cambiar os permisos",
|
||||
"changeSettingsPopup-title": "Cambiar a configuración",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "negro",
|
||||
"color-blue": "azul",
|
||||
"color-green": "verde",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Computador",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Crear taboleiro",
|
||||
"chooseBoardSourcePopup-title": "Importar taboleiro",
|
||||
"createLabelPopup-title": "Crear etiqueta",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "actual",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Data",
|
||||
"decline": "Rexeitar",
|
||||
"default-avatar": "Avatar predeterminado",
|
||||
"delete": "Eliminar",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Eliminar a etiqueta?",
|
||||
"description": "Descrición",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Cambiar a data de inicio",
|
||||
"editCardDueDatePopup-title": "Cambiar a data límite",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Cambiar a etiqueta",
|
||||
"editNotificationPopup-title": "Editar a notificación",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Limpar filtro",
|
||||
"filter-no-label": "Non hai etiquetas",
|
||||
"filter-no-member": "Non hai membros",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "O filtro está activado",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Nome completo",
|
||||
"header-logo-title": "Retornar á páxina dos seus taboleiros.",
|
||||
"hide-system-messages": "Agochar as mensaxes do sistema",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Archive all cards in this list",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"listActionPopup-title": "List Actions",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Máis",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Listas",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Pechar a sesión",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Nome",
|
||||
"no-archived-cards": "Non hai tarxetas arquivadas.",
|
||||
"no-archived-lists": "Non hai listas arquivadas",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "Non hai resultados",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Pode ver e editar tarxetas. Non pode cambiar a configuración.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Título",
|
||||
"tracking": "Seguimento",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Nome de usuario",
|
||||
"view-it": "Velo",
|
||||
"warn-list-archived": "aviso: esta tarxeta está nunha lista arquivada",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Vixiar",
|
||||
"watching": "Vixiando",
|
||||
"watching-info": "Recibirá unha notificación sobre calquera cambio que se produza neste taboleiro",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+102
-39
@@ -2,17 +2,19 @@
|
||||
"accept": "אישור",
|
||||
"act-activity-notify": "[Wekan] הודעת פעילות",
|
||||
"act-addAttachment": " __attachment__ צורף לכרטיס __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "רשימת משימות __checklist__ נוספה ל __card__",
|
||||
"act-addChecklistItem": " __checklistItem__ נוסף לרשימת משימות __checklist__ בכרטיס __card__",
|
||||
"act-addComment": "התקבלה תגובה על הכרטיס __card__: __comment__",
|
||||
"act-createBoard": "הלוח __board__ נוצר",
|
||||
"act-createCard": "הכרטיס __card__ התווסף לרשימה __list__",
|
||||
"act-createCustomField": "נוצר שדה בהתאמה אישית __customField__",
|
||||
"act-createList": "הרשימה __list__ התווספה ללוח __board__",
|
||||
"act-addBoardMember": "המשתמש __member__ נוסף ללוח __board__",
|
||||
"act-archivedBoard": "הלוח __board__ הועבר לארכיון",
|
||||
"act-archivedCard": "הכרטיס __card__ הועבר לארכיון",
|
||||
"act-archivedList": "הרשימה __card__ הועברה לארכיון",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ הועבר לסל המחזור",
|
||||
"act-archivedCard": "__card__ הועבר לסל המחזור",
|
||||
"act-archivedList": "__list__ הועבר לסל המחזור",
|
||||
"act-archivedSwimlane": "__swimlane__ הועבר לסל המחזור",
|
||||
"act-importBoard": "הלוח __board__ יובא",
|
||||
"act-importCard": "הכרטיס __card__ יובא",
|
||||
"act-importList": "הרשימה __list__ יובאה",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "פעילויות",
|
||||
"activity": "פעילות",
|
||||
"activity-added": "%s נוסף ל%s",
|
||||
"activity-archived": "%s הועבר לארכיון",
|
||||
"activity-archived": "%s הועבר לסל המחזור",
|
||||
"activity-attached": "%s צורף ל%s",
|
||||
"activity-created": "%s נוצר",
|
||||
"activity-customfield-created": "נוצר שדה בהתאמה אישית %s",
|
||||
"activity-excluded": "%s לא נכלל ב%s",
|
||||
"activity-imported": "%s ייובא מ%s אל %s",
|
||||
"activity-imported-board": "%s ייובא מ%s",
|
||||
@@ -39,13 +42,15 @@
|
||||
"activity-removed": "%s הוסר מ%s",
|
||||
"activity-sent": "%s נשלח ל%s",
|
||||
"activity-unjoined": "בטל צירוף %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "נוספה רשימת משימות אל %s",
|
||||
"activity-checklist-item-added": "נוסף פריט רשימת משימות אל ‚%s‘ תחת %s",
|
||||
"add": "הוספה",
|
||||
"add-attachment": "הוספת קובץ מצורף",
|
||||
"add-board": "הוספת לוח",
|
||||
"add-card": "הוספת כרטיס",
|
||||
"add-swimlane": "הוסף מסלול שחייה",
|
||||
"add-swimlane": "הוספת מסלול",
|
||||
"add-subtask": "הוסף תת משימה",
|
||||
"add-checklist": "הוספת רשימת מטלות",
|
||||
"add-checklist-item": "הוספת פריט לרשימת משימות",
|
||||
"add-cover": "הוספת כיסוי",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "ו־__count__ כרטיסים אחרים",
|
||||
"apply": "החלה",
|
||||
"app-is-offline": "Wekan בטעינה, נא להמתין. רענון העמוד עשוי להוביל לאובדן מידע. אם הטעינה של Wekan נעצרה, נא לבדוק ששרת ה־Wekan לא נעצר.",
|
||||
"archive": "להעביר לארכיון",
|
||||
"archive-all": "להעביר הכול לארכיון",
|
||||
"archive-board": "להעביר לוח לארכיון",
|
||||
"archive-card": "להעביר כרטיס בארכיון",
|
||||
"archive-list": "שמירת רשימה בארכיון",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "להעביר בחירה לארכיון",
|
||||
"archiveBoardPopup-title": "להעביר לוח זה לארכיון?",
|
||||
"archived-items": "פריטים בארכיון",
|
||||
"archived-boards": "לוחות שנשמרו בארכיון",
|
||||
"archive": "העברה לסל המחזור",
|
||||
"archive-all": "להעביר הכול לסל המחזור",
|
||||
"archive-board": "העברת הלוח לסל המחזור",
|
||||
"archive-card": "העברת הכרטיס לסל המחזור",
|
||||
"archive-list": "העברת הרשימה לסל המחזור",
|
||||
"archive-swimlane": "העברת מסלול לסל המחזור",
|
||||
"archive-selection": "העברת הבחירה לסל המחזור",
|
||||
"archiveBoardPopup-title": "להעביר את הלוח לסל המחזור?",
|
||||
"archived-items": "סל מחזור",
|
||||
"archived-boards": "לוחות בסל המחזור",
|
||||
"restore-board": "שחזור לוח",
|
||||
"no-archived-boards": "לא נשמרו לוחות בארכיון.",
|
||||
"archives": "ארכיונים",
|
||||
"no-archived-boards": "אין לוחות בסל המחזור",
|
||||
"archives": "סל מחזור",
|
||||
"assign-member": "הקצאת חבר",
|
||||
"attached": "מצורף",
|
||||
"attachment": "קובץ מצורף",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "תפריט לוח",
|
||||
"boards": "לוחות",
|
||||
"board-view": "תצוגת לוח",
|
||||
"board-view-swimlanes": "מסלול שחייה",
|
||||
"board-view-cal": "לוח שנה",
|
||||
"board-view-swimlanes": "מסלולים",
|
||||
"board-view-lists": "רשימות",
|
||||
"bucket-example": "כמו למשל „רשימת המשימות“",
|
||||
"cancel": "ביטול",
|
||||
"card-archived": "כרטיס זה שמור בארכיון.",
|
||||
"card-archived": "כרטיס זה הועבר לסל המחזור",
|
||||
"card-comments-title": "לכרטיס זה %s תגובות.",
|
||||
"card-delete-notice": "מחיקה היא סופית. כל הפעולות המשויכות לכרטיס זה תלכנה לאיוד.",
|
||||
"card-delete-pop": "כל הפעולות יוסרו מלוח הפעילות ולא תהיה אפשרות לפתוח מחדש את הכרטיס. אין דרך חזרה.",
|
||||
"card-delete-suggest-archive": "ניתן להעביר לארכיון כרטיס כדי להסירו מהלוח ולשמר את הפעילות.",
|
||||
"card-delete-suggest-archive": "ניתן להעביר כרטיס לסל המחזור כדי להסיר אותו מהלוח ולשמר את הפעילות.",
|
||||
"card-due": "תאריך יעד",
|
||||
"card-due-on": "תאריך יעד",
|
||||
"card-spent": "זמן שהושקע",
|
||||
"card-edit-attachments": "עריכת קבצים מצורפים",
|
||||
"card-edit-custom-fields": "עריכת שדות בהתאמה אישית",
|
||||
"card-edit-labels": "עריכת תוויות",
|
||||
"card-edit-members": "עריכת חברים",
|
||||
"card-labels-title": "שינוי תוויות לכרטיס.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "התחלה",
|
||||
"card-start-on": "מתחיל ב־",
|
||||
"cardAttachmentsPopup-title": "לצרף מ־",
|
||||
"cardCustomField-datePopup-title": "החלפת תאריך",
|
||||
"cardCustomFieldsPopup-title": "עריכת שדות בהתאמה אישית",
|
||||
"cardDeletePopup-title": "למחוק כרטיס?",
|
||||
"cardDetailsActionsPopup-title": "פעולות על הכרטיס",
|
||||
"cardLabelsPopup-title": "תוויות",
|
||||
"cardMembersPopup-title": "חברים",
|
||||
"cardMorePopup-title": "עוד",
|
||||
"cards": "כרטיסים",
|
||||
"cards-count": "כרטיסים",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "שינוי",
|
||||
"change-avatar": "החלפת תמונת משתמש",
|
||||
"change-password": "החלפת ססמה",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "החלפת ססמה",
|
||||
"changePermissionsPopup-title": "שינוי הרשאות",
|
||||
"changeSettingsPopup-title": "שינוי הגדרות",
|
||||
"subtasks": "תתי משימות",
|
||||
"checklists": "רשימות",
|
||||
"click-to-star": "יש ללחוץ להוספת הלוח למועדפים.",
|
||||
"click-to-unstar": "יש ללחוץ להסרת הלוח מהמועדפים.",
|
||||
"clipboard": "לוח גזירים או גרירה ושחרור",
|
||||
"close": "סגירה",
|
||||
"close-board": "סגירת לוח",
|
||||
"close-board-pop": "ניתן לשחזר את הלוח בלחיצה על כפתור „ארכיונים“ מהכותרת העליונה.",
|
||||
"close-board-pop": "תהיה לך אפשרות להסיר את הלוח על ידי לחיצה על הכפתור „סל מחזור” מכותרת הבית.",
|
||||
"color-black": "שחור",
|
||||
"color-blue": "כחול",
|
||||
"color-green": "ירוק",
|
||||
@@ -156,21 +168,36 @@
|
||||
"comment-only": "הערה בלבד",
|
||||
"comment-only-desc": "ניתן להעיר על כרטיסים בלבד.",
|
||||
"computer": "מחשב",
|
||||
"confirm-checklist-delete-dialog": "האם אתה בטוח שברצונך למחוק את רשימת המשימות",
|
||||
"confirm-subtask-delete-dialog": "האם למחוק את תת המשימה?",
|
||||
"confirm-checklist-delete-dialog": "האם אתה בטוח שברצונך למחוק את רשימת המשימות?",
|
||||
"copy-card-link-to-clipboard": "העתקת קישור הכרטיס ללוח הגזירים",
|
||||
"copyCardPopup-title": "העתק כרטיס",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"copyChecklistToManyCardsPopup-title": "העתקת תבנית רשימת מטלות למגוון כרטיסים",
|
||||
"copyChecklistToManyCardsPopup-instructions": "כותרות ותיאורים של כרטיסי יעד בתצורת JSON זו",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"כותרת כרטיס ראשון\", \"description\":\"תיאור כרטיס ראשון\"}, {\"title\":\"כותרת כרטיס שני\",\"description\":\"תיאור כרטיס שני\"},{\"title\":\"כותרת כרטיס אחרון\",\"description\":\"תיאור כרטיס אחרון\"} ]",
|
||||
"create": "יצירה",
|
||||
"createBoardPopup-title": "יצירת לוח",
|
||||
"chooseBoardSourcePopup-title": "ייבוא לוח",
|
||||
"createLabelPopup-title": "יצירת תווית",
|
||||
"createCustomField": "יצירת שדה",
|
||||
"createCustomFieldPopup-title": "יצירת שדה",
|
||||
"current": "נוכחי",
|
||||
"custom-field-delete-pop": "אין אפשרות לבטל את הפעולה. הפעולה תסיר את השדה שהותאם אישית מכל הכרטיסים ותשמיד את ההיסטוריה שלו.",
|
||||
"custom-field-checkbox": "תיבת סימון",
|
||||
"custom-field-date": "תאריך",
|
||||
"custom-field-dropdown": "רשימה נגללת",
|
||||
"custom-field-dropdown-none": "(ללא)",
|
||||
"custom-field-dropdown-options": "אפשרויות רשימה",
|
||||
"custom-field-dropdown-options-placeholder": "יש ללחוץ על enter כדי להוסיף עוד אפשרויות",
|
||||
"custom-field-dropdown-unknown": "(לא ידוע)",
|
||||
"custom-field-number": "מספר",
|
||||
"custom-field-text": "טקסט",
|
||||
"custom-fields": "שדות מותאמים אישית",
|
||||
"date": "תאריך",
|
||||
"decline": "סירוב",
|
||||
"default-avatar": "תמונת משתמש כבררת מחדל",
|
||||
"delete": "מחיקה",
|
||||
"deleteCustomFieldPopup-title": "למחוק שדה מותאם אישית?",
|
||||
"deleteLabelPopup-title": "למחוק תווית?",
|
||||
"description": "תיאור",
|
||||
"disambiguateMultiLabelPopup-title": "הבהרת פעולת תווית",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "מגבלת „בעבודה” רכה",
|
||||
"editCardStartDatePopup-title": "שינוי מועד התחלה",
|
||||
"editCardDueDatePopup-title": "שינוי מועד סיום",
|
||||
"editCustomFieldPopup-title": "עריכת שדה",
|
||||
"editCardSpentTimePopup-title": "שינוי הזמן שהושקע",
|
||||
"editLabelPopup-title": "שינוי תווית",
|
||||
"editNotificationPopup-title": "שינוי דיווח",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "ניקוי המסנן",
|
||||
"filter-no-label": "אין תווית",
|
||||
"filter-no-member": "אין חבר כזה",
|
||||
"filter-no-custom-fields": "אין שדות מותאמים אישית",
|
||||
"filter-on": "המסנן פועל",
|
||||
"filter-on-desc": "מסנן כרטיסים פעיל בלוח זה. יש ללחוץ כאן לעריכת המסנן.",
|
||||
"filter-to-selection": "סינון לבחירה",
|
||||
"advanced-filter-label": "מסנן מתקדם",
|
||||
"advanced-filter-description": "המסנן המתקדם מאפשר לך לכתוב מחרוזת שמכילה את הפעולות הבאות: == != <= >= && || ( ) רווח מכהן כמפריד בין הפעולות. ניתן לסנן את כל השדות המותאמים אישית על ידי הקלדת שמם והערך שלהם. למשל: שדה1 == ערך1. לתשומת לבך: אם שדות או ערכים מכילים רווח, יש לעטוף אותם במירכא מכל צד. למשל: 'שדה 1' == 'ערך 1'. ניתן גם לשלב מגוון תנאים. למשל: F1 == V1 || F1 == V2. על פי רוב כל הפעולות מפוענחות משמאל לימין. ניתן לשנות את הסדר על ידי הצבת סוגריים. למשל: ( F1 == V1 && ( F2 == V2 || F2 == V3 ",
|
||||
"fullname": "שם מלא",
|
||||
"header-logo-title": "חזרה לדף הלוחות שלך.",
|
||||
"hide-system-messages": "הסתרת הודעות מערכת",
|
||||
@@ -263,19 +294,19 @@
|
||||
"leave-board-pop": "לעזוב את __boardTitle__? שמך יוסר מכל הכרטיסים שבלוח זה.",
|
||||
"leaveBoardPopup-title": "לעזוב לוח ?",
|
||||
"link-card": "קישור לכרטיס זה",
|
||||
"list-archive-cards": "העברת כל הכרטיסים שברשימה זו לארכיון",
|
||||
"list-archive-cards-pop": "פעולה זו תסיר את כל הכרטיסים שברשימה הזו מהלוח. כדי לצפות בכרטיסים שבארכיון ולהחזיר אותם בחזרה ללוח, יש ללחוץ על „תפריט“ > „פריטים בארכיון“.",
|
||||
"list-archive-cards": "להעביר את כל הכרטיסים לסל המחזור",
|
||||
"list-archive-cards-pop": "פעולה זו תסיר את כל הכרטיסים שברשימה זו מהלוח. כדי לצפות בכרטיסים בסל המחזור ולהשיב אותם ללוח ניתן ללחוץ על „תפריט” > „סל מחזור”.",
|
||||
"list-move-cards": "העברת כל הכרטיסים שברשימה זו",
|
||||
"list-select-cards": "בחירת כל הכרטיסים שברשימה זו",
|
||||
"listActionPopup-title": "פעולות רשימה",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"swimlaneActionPopup-title": "פעולות על מסלול",
|
||||
"listImportCardPopup-title": "יבוא כרטיס מ־Trello",
|
||||
"listMorePopup-title": "עוד",
|
||||
"link-list": "קישור לרשימה זו",
|
||||
"list-delete-pop": "כל הפעולות תוסרנה מרצף הפעילות ולא תהיה לך אפשרות לשחזר את הרשימה. אין ביטול.",
|
||||
"list-delete-suggest-archive": "ניתן לשמור רשימה בארכיון כדי להסיר אותה מהלוח ולשמור על הפעילות.",
|
||||
"list-delete-suggest-archive": "ניתן להעביר רשימה לסל מחזור כדי להסיר אותה מהלוח ולשמר את הפעילות.",
|
||||
"lists": "רשימות",
|
||||
"swimlanes": "מסלול שחייה",
|
||||
"swimlanes": "מסלולים",
|
||||
"log-out": "יציאה",
|
||||
"log-in": "כניסה",
|
||||
"loginPopup-title": "כניסה",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "מעתה לא תתקבלנה אצלך התרעות על שינויים בלוח זה",
|
||||
"my-boards": "הלוחות שלי",
|
||||
"name": "שם",
|
||||
"no-archived-cards": "אין כרטיסים בארכיון.",
|
||||
"no-archived-lists": "אין רשימות בארכיון.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "אין כרטיסים בסל המחזור.",
|
||||
"no-archived-lists": "אין רשימות בסל המחזור.",
|
||||
"no-archived-swimlanes": "אין מסלולים בסל המחזור.",
|
||||
"no-results": "אין תוצאות",
|
||||
"normal": "רגיל",
|
||||
"normal-desc": "הרשאה לצפות ולערוך כרטיסים. לא ניתן לשנות הגדרות.",
|
||||
@@ -331,8 +362,8 @@
|
||||
"restore": "שחזור",
|
||||
"save": "שמירה",
|
||||
"search": "חיפוש",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"search-cards": "חיפוש אחר כותרות ותיאורים של כרטיסים בלוח זה",
|
||||
"search-example": "טקסט לחיפוש ?",
|
||||
"select-color": "בחירת צבע",
|
||||
"set-wip-limit-value": "הגדרת מגבלה למספר המרבי של משימות ברשימה זו",
|
||||
"setWipLimitPopup-title": "הגדרת מגבלת „בעבודה”",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "כותרת",
|
||||
"tracking": "מעקב",
|
||||
"tracking-info": "על כל שינוי בכרטיסים בהם הייתה לך מעורבות ברמת היצירה או כחברות תגיע אליך הודעה.",
|
||||
"type": "סוג",
|
||||
"unassign-member": "ביטול הקצאת חבר",
|
||||
"unsaved-description": "יש לך תיאור לא שמור.",
|
||||
"unwatch": "ביטול מעקב",
|
||||
@@ -373,12 +405,12 @@
|
||||
"uploaded-avatar": "הועלתה תמונה משתמש",
|
||||
"username": "שם משתמש",
|
||||
"view-it": "הצגה",
|
||||
"warn-list-archived": "אזהרה: הכרטיס נמצא ברשימה שהועברה לארכיון",
|
||||
"warn-list-archived": "אזהרה: כרטיס זה נמצא ברשימה בסל המחזור",
|
||||
"watch": "לעקוב",
|
||||
"watching": "במעקב",
|
||||
"watching-info": "מעתה יגיעו אליך דיווחים על כל שינוי בלוח זה",
|
||||
"welcome-board": "לוח קבלת פנים",
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-swimlane": "ציון דרך 1",
|
||||
"welcome-list1": "יסודות",
|
||||
"welcome-list2": "מתקדם",
|
||||
"what-to-do": "מה ברצונך לעשות?",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "שעות",
|
||||
"minutes": "דקות",
|
||||
"seconds": "שניות",
|
||||
"show-field-on-card": "הצגת שדה זה בכרטיס",
|
||||
"yes": "כן",
|
||||
"no": "לא",
|
||||
"accounts": "חשבונות",
|
||||
"accounts-allowEmailChange": "אפשר שינוי דוא\"ל",
|
||||
"accounts-allowUserNameChange": "לאפשר שינוי שם משתמש",
|
||||
"createdAt": "נוצר ב",
|
||||
"verified": "עבר אימות",
|
||||
"active": "פעיל"
|
||||
"active": "פעיל",
|
||||
"card-received": "התקבל",
|
||||
"card-received-on": "התקבל במועד",
|
||||
"card-end": "סיום",
|
||||
"card-end-on": "מועד הסיום",
|
||||
"editCardReceivedDatePopup-title": "החלפת מועד הקבלה",
|
||||
"editCardEndDatePopup-title": "החלפת מועד הסיום",
|
||||
"assigned-by": "הוקצה על ידי",
|
||||
"requested-by": "התבקש על ידי",
|
||||
"board-delete-notice": "מחיקה היא לצמיתות. כל הרשימות, הכרטיבים והפעולות שקשורים בלוח הזה ילכו לאיבוד.",
|
||||
"delete-board-confirm-popup": "כל הרשימות, הכרטיסים, התווית והפעולות יימחקו ולא תהיה לך דרך לשחזר את תכני הלוח. אין אפשרות לבטל.",
|
||||
"boardDeletePopup-title": "למחוק את הלוח?",
|
||||
"delete-board": "מחיקת לוח",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "ברירת מחדל",
|
||||
"queue": "תור",
|
||||
"subtask-settings": "הגדרות תתי משימות",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+99
-36
@@ -2,17 +2,19 @@
|
||||
"accept": "Elfogadás",
|
||||
"act-activity-notify": "[Wekan] Tevékenység értesítés",
|
||||
"act-addAttachment": "__attachment__ mellékletet csatolt a kártyához: __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "__checklist__ ellenőrzőlistát adott hozzá a kártyához: __card__",
|
||||
"act-addChecklistItem": "__checklistItem__ elemet adott hozzá a(z) __checklist__ ellenőrzőlistához ezen a kártyán: __card__",
|
||||
"act-addComment": "hozzászólt a(z) __card__ kártyán: __comment__",
|
||||
"act-createBoard": "létrehozta a táblát: __board__",
|
||||
"act-createCard": "__card__ kártyát adott hozzá a listához: __list__",
|
||||
"act-createCustomField": "létrehozta a(z) __customField__ egyéni listát",
|
||||
"act-createList": "__list__ listát adott hozzá a táblához: __board__",
|
||||
"act-addBoardMember": "__member__ tagot hozzáadta a táblához: __board__",
|
||||
"act-archivedBoard": "archiválta a táblát: __board__",
|
||||
"act-archivedCard": "archiválta a kártyát: __card__",
|
||||
"act-archivedList": "archiválta a listát: __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "A(z) __board__ tábla áthelyezve a lomtárba",
|
||||
"act-archivedCard": "A(z) __card__ kártya áthelyezve a lomtárba",
|
||||
"act-archivedList": "A(z) __list__ lista áthelyezve a lomtárba",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "importálta a táblát: __board__",
|
||||
"act-importCard": "importálta a kártyát: __card__",
|
||||
"act-importList": "importálta a listát: __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Tevékenységek",
|
||||
"activity": "Tevékenység",
|
||||
"activity-added": "%s hozzáadva ehhez: %s",
|
||||
"activity-archived": "%s archiválva",
|
||||
"activity-archived": "%s áthelyezve a lomtárba",
|
||||
"activity-attached": "%s mellékletet csatolt a kártyához: %s",
|
||||
"activity-created": "%s létrehozva",
|
||||
"activity-customfield-created": "létrehozta a(z) %s egyéni mezőt",
|
||||
"activity-excluded": "%s kizárva innen: %s",
|
||||
"activity-imported": "%s importálva ebbe: %s, innen: %s",
|
||||
"activity-imported-board": "%s importálva innen: %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "%s eltávolítva innen: %s",
|
||||
"activity-sent": "%s elküldve ide: %s",
|
||||
"activity-unjoined": "%s kilépett a csoportból",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "ellenőrzőlista hozzáadva ehhez: %s",
|
||||
"activity-checklist-item-added": "ellenőrzőlista elem hozzáadva ehhez: „%s”, ebben: %s",
|
||||
"add": "Hozzáadás",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Tábla hozzáadása",
|
||||
"add-card": "Kártya hozzáadása",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Ellenőrzőlista hozzáadása",
|
||||
"add-checklist-item": "Elem hozzáadása az ellenőrzőlistához",
|
||||
"add-cover": "Borító hozzáadása",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "És __count__ egyéb kártya",
|
||||
"apply": "Alkalmaz",
|
||||
"app-is-offline": "A Wekan betöltés alatt van, kérem várjon. Az oldal újratöltése adatvesztést okoz. Ha a Wekan nem töltődik be, akkor ellenőrizze, hogy a Wekan kiszolgáló nem állt-e le.",
|
||||
"archive": "Archiválás",
|
||||
"archive-all": "Összes archiválása",
|
||||
"archive-board": "Tábla archiválása",
|
||||
"archive-card": "Kártya archiválása",
|
||||
"archive-list": "Lista archiválása",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Kijelölés archiválása",
|
||||
"archiveBoardPopup-title": "Archiválja a táblát?",
|
||||
"archived-items": "Archivált elemek",
|
||||
"archived-boards": "Archivált táblák",
|
||||
"archive": "Lomtárba",
|
||||
"archive-all": "Összes lomtárba helyezése",
|
||||
"archive-board": "Tábla lomtárba helyezése",
|
||||
"archive-card": "Kártya lomtárba helyezése",
|
||||
"archive-list": "Lista lomtárba helyezése",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Kijelölés lomtárba helyezése",
|
||||
"archiveBoardPopup-title": "Lomtárba helyezi a táblát?",
|
||||
"archived-items": "Lomtár",
|
||||
"archived-boards": "Lomtárban lévő táblák",
|
||||
"restore-board": "Tábla visszaállítása",
|
||||
"no-archived-boards": "Nincsenek archivált táblák.",
|
||||
"archives": "Archívumok",
|
||||
"no-archived-boards": "Nincs tábla a lomtárban.",
|
||||
"archives": "Lomtár",
|
||||
"assign-member": "Tag hozzárendelése",
|
||||
"attached": "csatolva",
|
||||
"attachment": "Melléklet",
|
||||
@@ -97,20 +102,22 @@
|
||||
"boardChangeWatchPopup-title": "Megfigyelés megváltoztatása",
|
||||
"boardMenuPopup-title": "Tábla menü",
|
||||
"boards": "Táblák",
|
||||
"board-view": "Board View",
|
||||
"board-view": "Tábla nézet",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Listák",
|
||||
"bucket-example": "Mint például „Bakancslista”",
|
||||
"cancel": "Mégse",
|
||||
"card-archived": "Ez a kártya archiválva van.",
|
||||
"card-archived": "Ez a kártya a lomtárba került.",
|
||||
"card-comments-title": "Ez a kártya %s hozzászólást tartalmaz.",
|
||||
"card-delete-notice": "A törlés végleges. Az összes műveletet elveszíti, amely ehhez a kártyához tartozik.",
|
||||
"card-delete-pop": "Az összes művelet el lesz távolítva a tevékenységlistából, és nem lesz képes többé újra megnyitni a kártyát. Nincs visszaállítási lehetőség.",
|
||||
"card-delete-suggest-archive": "Archiválhat egy kártyát, hogy eltávolítsa a tábláról, és megőrizze a tevékenységet.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Esedékes",
|
||||
"card-due-on": "Esedékes ekkor",
|
||||
"card-spent": "Eltöltött idő",
|
||||
"card-edit-attachments": "Mellékletek szerkesztése",
|
||||
"card-edit-custom-fields": "Egyéni mezők szerkesztése",
|
||||
"card-edit-labels": "Címkék szerkesztése",
|
||||
"card-edit-members": "Tagok szerkesztése",
|
||||
"card-labels-title": "A kártya címkéinek megváltoztatása.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Kezdés",
|
||||
"card-start-on": "Kezdés ekkor",
|
||||
"cardAttachmentsPopup-title": "Innen csatolva",
|
||||
"cardCustomField-datePopup-title": "Dátum megváltoztatása",
|
||||
"cardCustomFieldsPopup-title": "Egyéni mezők szerkesztése",
|
||||
"cardDeletePopup-title": "Törli a kártyát?",
|
||||
"cardDetailsActionsPopup-title": "Kártyaműveletek",
|
||||
"cardLabelsPopup-title": "Címkék",
|
||||
"cardMembersPopup-title": "Tagok",
|
||||
"cardMorePopup-title": "Több",
|
||||
"cards": "Kártyák",
|
||||
"cards-count": "Kártyák",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Változtatás",
|
||||
"change-avatar": "Avatár megváltoztatása",
|
||||
"change-password": "Jelszó megváltoztatása",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Jelszó megváltoztatása",
|
||||
"changePermissionsPopup-title": "Jogosultságok megváltoztatása",
|
||||
"changeSettingsPopup-title": "Beállítások megváltoztatása",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Ellenőrzőlisták",
|
||||
"click-to-star": "Kattintson a tábla csillagozásához.",
|
||||
"click-to-unstar": "Kattintson a tábla csillagának eltávolításához.",
|
||||
"clipboard": "Vágólap vagy fogd és vidd",
|
||||
"close": "Bezárás",
|
||||
"close-board": "Tábla bezárása",
|
||||
"close-board-pop": "Lehetősége lesz visszaállítani a táblát a kezdőlap fejlécében lévő „Archívumok” gombra kattintva.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "fekete",
|
||||
"color-blue": "kék",
|
||||
"color-green": "zöld",
|
||||
@@ -156,21 +168,36 @@
|
||||
"comment-only": "Csak megjegyzés",
|
||||
"comment-only-desc": "Csak megjegyzést írhat a kártyákhoz.",
|
||||
"computer": "Számítógép",
|
||||
"confirm-checklist-delete-dialog": "Biztosan törölni szeretné az ellenőrzőlistát?",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Kártya hivatkozásának másolása a vágólapra",
|
||||
"copyCardPopup-title": "Kártya másolása",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"copyChecklistToManyCardsPopup-title": "Ellenőrzőlista sablon másolása több kártyára",
|
||||
"copyChecklistToManyCardsPopup-instructions": "A célkártyák címe és a leírások ebben a JSON formátumban",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Első kártya címe\", \"description\":\"Első kártya leírása\"}, {\"title\":\"Második kártya címe\",\"description\":\"Második kártya leírása\"},{\"title\":\"Utolsó kártya címe\",\"description\":\"Utolsó kártya leírása\"} ]",
|
||||
"create": "Létrehozás",
|
||||
"createBoardPopup-title": "Tábla létrehozása",
|
||||
"chooseBoardSourcePopup-title": "Tábla importálása",
|
||||
"createLabelPopup-title": "Címke létrehozása",
|
||||
"createCustomField": "Mező létrehozása",
|
||||
"createCustomFieldPopup-title": "Mező létrehozása",
|
||||
"current": "jelenlegi",
|
||||
"custom-field-delete-pop": "Nincs visszavonás. Ez el fogja távolítani az egyéni mezőt az összes kártyáról, és megsemmisíti az előzményeit.",
|
||||
"custom-field-checkbox": "Jelölőnégyzet",
|
||||
"custom-field-date": "Dátum",
|
||||
"custom-field-dropdown": "Legördülő lista",
|
||||
"custom-field-dropdown-none": "(nincs)",
|
||||
"custom-field-dropdown-options": "Lista lehetőségei",
|
||||
"custom-field-dropdown-options-placeholder": "Nyomja meg az Enter billentyűt több lehetőség hozzáadásához",
|
||||
"custom-field-dropdown-unknown": "(ismeretlen)",
|
||||
"custom-field-number": "Szám",
|
||||
"custom-field-text": "Szöveg",
|
||||
"custom-fields": "Egyéni mezők",
|
||||
"date": "Dátum",
|
||||
"decline": "Elutasítás",
|
||||
"default-avatar": "Alapértelmezett avatár",
|
||||
"delete": "Törlés",
|
||||
"deleteCustomFieldPopup-title": "Törli az egyéni mezőt?",
|
||||
"deleteLabelPopup-title": "Törli a címkét?",
|
||||
"description": "Leírás",
|
||||
"disambiguateMultiLabelPopup-title": "Címkeművelet egyértelműsítése",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Gyenge WIP korlát",
|
||||
"editCardStartDatePopup-title": "Kezdődátum megváltoztatása",
|
||||
"editCardDueDatePopup-title": "Esedékesség dátumának megváltoztatása",
|
||||
"editCustomFieldPopup-title": "Mező szerkesztése",
|
||||
"editCardSpentTimePopup-title": "Eltöltött idő megváltoztatása",
|
||||
"editLabelPopup-title": "Címke megváltoztatása",
|
||||
"editNotificationPopup-title": "Értesítés szerkesztése",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Szűrő törlése",
|
||||
"filter-no-label": "Nincs címke",
|
||||
"filter-no-member": "Nincs tag",
|
||||
"filter-no-custom-fields": "Nincsenek egyéni mezők",
|
||||
"filter-on": "Szűrő bekapcsolva",
|
||||
"filter-on-desc": "A kártyaszűrés be van kapcsolva ezen a táblán. Kattintson ide a szűrő szerkesztéséhez.",
|
||||
"filter-to-selection": "Szűrés a kijelöléshez",
|
||||
"advanced-filter-label": "Speciális szűrő",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Teljes név",
|
||||
"header-logo-title": "Vissza a táblák oldalára.",
|
||||
"hide-system-messages": "Rendszerüzenetek elrejtése",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Biztosan el szeretné hagyni ezt a táblát: __boardTitle__? El lesz távolítva a táblán lévő összes kártyáról.",
|
||||
"leaveBoardPopup-title": "Elhagyja a táblát?",
|
||||
"link-card": "Összekapcsolás ezzel a kártyával",
|
||||
"list-archive-cards": "Az összes kártya archiválása ezen a listán",
|
||||
"list-archive-cards-pop": "Ez el fogja távolítani a listán lévő összes kártyát a tábláról. Az archivált kártyák megtekintéséhez, és azok visszahozásához a táblára, kattintson a „Menü” → „Archivált elemek” menüpontra.",
|
||||
"list-archive-cards": "Az összes kártya lomtárba helyezése ezen a listán.",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "A listán lévő összes kártya áthelyezése",
|
||||
"list-select-cards": "A listán lévő összes kártya kiválasztása",
|
||||
"listActionPopup-title": "Műveletek felsorolása",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Több",
|
||||
"link-list": "Összekapcsolás ezzel a listával",
|
||||
"list-delete-pop": "Az összes művelet el lesz távolítva a tevékenységlistából, és nem lesz lehetősége visszaállítani a listát. Nincs visszavonás.",
|
||||
"list-delete-suggest-archive": "Archiválhat egy listát, hogy eltávolítsa a tábláról, és megőrizze a tevékenységet.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Listák",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Kijelentkezés",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "Soha sem lesz értesítve a táblán lévő semmilyen változásról.",
|
||||
"my-boards": "Saját tábláim",
|
||||
"name": "Név",
|
||||
"no-archived-cards": "Nincsenek archivált kártyák.",
|
||||
"no-archived-lists": "Nincsenek archivált listák.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "Nincs kártya a lomtárban.",
|
||||
"no-archived-lists": "Nincs lista a lomtárban.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "Nincs találat",
|
||||
"normal": "Normál",
|
||||
"normal-desc": "Megtekintheti és szerkesztheti a kártyákat. Nem változtathatja meg a beállításokat.",
|
||||
@@ -331,8 +362,8 @@
|
||||
"restore": "Visszaállítás",
|
||||
"save": "Mentés",
|
||||
"search": "Keresés",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"search-cards": "Keresés a táblán lévő kártyák címében illetve leírásában",
|
||||
"search-example": "keresőkifejezés",
|
||||
"select-color": "Szín kiválasztása",
|
||||
"set-wip-limit-value": "Korlát beállítása a listán lévő feladatok legnagyobb számához",
|
||||
"setWipLimitPopup-title": "WIP korlát beállítása",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Cím",
|
||||
"tracking": "Követés",
|
||||
"tracking-info": "Értesítve lesz az összes olyan kártya változásáról, amelyen létrehozóként vagy tagként vesz részt.",
|
||||
"type": "Típus",
|
||||
"unassign-member": "Tag hozzárendelésének megszüntetése",
|
||||
"unsaved-description": "Van egy mentetlen leírása.",
|
||||
"unwatch": "Megfigyelés megszüntetése",
|
||||
@@ -373,12 +405,12 @@
|
||||
"uploaded-avatar": "Egy avatár feltöltve",
|
||||
"username": "Felhasználónév",
|
||||
"view-it": "Megtekintés",
|
||||
"warn-list-archived": "figyelmeztetés: ez a kártya egy archivált listán van",
|
||||
"warn-list-archived": "figyelem: ez a kártya egy lomtárban lévő listán van",
|
||||
"watch": "Megfigyelés",
|
||||
"watching": "Megfigyelés",
|
||||
"watching-info": "Értesítve lesz a táblán lévő összes változásról",
|
||||
"welcome-board": "Üdvözlő tábla",
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-swimlane": "1. mérföldkő",
|
||||
"welcome-list1": "Alapok",
|
||||
"welcome-list2": "Speciális",
|
||||
"what-to-do": "Mit szeretne tenni?",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "óra",
|
||||
"minutes": "perc",
|
||||
"seconds": "másodperc",
|
||||
"show-field-on-card": "A mező megjelenítése a kártyán",
|
||||
"yes": "Igen",
|
||||
"no": "Nem",
|
||||
"accounts": "Fiókok",
|
||||
"accounts-allowEmailChange": "E-mail megváltoztatásának engedélyezése",
|
||||
"accounts-allowUserNameChange": "Felhasználónév megváltoztatásának engedélyezése",
|
||||
"createdAt": "Létrehozva",
|
||||
"verified": "Ellenőrizve",
|
||||
"active": "Aktív"
|
||||
"active": "Aktív",
|
||||
"card-received": "Érkezett",
|
||||
"card-received-on": "Ekkor érkezett",
|
||||
"card-end": "Befejezés",
|
||||
"card-end-on": "Befejeződik ekkor",
|
||||
"editCardReceivedDatePopup-title": "Érkezési dátum megváltoztatása",
|
||||
"editCardEndDatePopup-title": "Befejezési dátum megváltoztatása",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Ընդունել",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "ավելացրել է __checklistItem__ __checklist__ on __card__-ին",
|
||||
"act-addComment": "մեկնաբանել է __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Activities",
|
||||
"activity": "Activity",
|
||||
"activity-added": "added %s to %s",
|
||||
"activity-archived": "archived %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "created %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Add",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apply",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Archive",
|
||||
"archive-all": "Archive All",
|
||||
"archive-board": "Archive Board",
|
||||
"archive-card": "Archive Card",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Archive selection",
|
||||
"archiveBoardPopup-title": "Archive Board?",
|
||||
"archived-items": "Archived Items",
|
||||
"archived-boards": "Archived Boards",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Archives",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Lists",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "This card is archived.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edit labels",
|
||||
"card-edit-members": "Edit members",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Delete Card?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Labels",
|
||||
"cardMembersPopup-title": "Members",
|
||||
"cardMorePopup-title": "More",
|
||||
"cards": "Cards",
|
||||
"cards-count": "Cards",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Change Password",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Change Settings",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "black",
|
||||
"color-blue": "blue",
|
||||
"color-green": "green",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Computer",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Date",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Delete",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Change start date",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Full Name",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Archive all cards in this list",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"listActionPopup-title": "List Actions",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "More",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Lists",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Log Out",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Name",
|
||||
"no-archived-cards": "No archived cards.",
|
||||
"no-archived-lists": "No archived lists.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Title",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Username",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an archived list",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Watch",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+93
-30
@@ -2,17 +2,19 @@
|
||||
"accept": "Terima",
|
||||
"act-activity-notify": "[Wekan] Pemberitahuan Kegiatan",
|
||||
"act-addAttachment": "Lampirkan__attachment__ke__kartu__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "Dikomentari di__kartu__:__comment__",
|
||||
"act-createBoard": "Panel__dibuat__",
|
||||
"act-createCard": "Kartu__dilampirkan__ke__Daftar",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "Daftar__ditambahkan__ke__Panel",
|
||||
"act-addBoardMember": "Partisipan__ditambahkan__ke__Kartu",
|
||||
"act-archivedBoard": "Arsip__Panel",
|
||||
"act-archivedCard": "Arsip__Kartu",
|
||||
"act-archivedList": "Arsip __Daftar__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "Panel__diimpor",
|
||||
"act-importCard": "Kartu__diimpor__",
|
||||
"act-importList": "Daftar__diimpor__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Daftar Kegiatan",
|
||||
"activity": "Kegiatan",
|
||||
"activity-added": "ditambahkan %s ke %s",
|
||||
"activity-archived": "diarsipkan %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "dilampirkan %s ke %s",
|
||||
"activity-created": "dibuat %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "tidak termasuk %s dari %s",
|
||||
"activity-imported": "diimpor %s kedalam %s dari %s",
|
||||
"activity-imported-board": "diimpor %s dari %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "dihapus %s dari %s",
|
||||
"activity-sent": "terkirim %s ke %s",
|
||||
"activity-unjoined": "tidak bergabung %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "daftar periksa ditambahkan ke %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Tambah",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Tambahkan hal ke daftar periksa",
|
||||
"add-cover": "Tambahkan Sampul",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "Dan__menghitung__kartu lain",
|
||||
"apply": "Terapkan",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Arsip",
|
||||
"archive-all": "Arsipkan Semua",
|
||||
"archive-board": "Arsip Panel",
|
||||
"archive-card": "Arsip Kartu",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Arsipkan yang dipilih",
|
||||
"archiveBoardPopup-title": "Arsip Panel?",
|
||||
"archived-items": "Arsip item",
|
||||
"archived-boards": "Archived Boards",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Daftar Arsip",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Tugaskan anggota",
|
||||
"attached": "terlampir",
|
||||
"attachment": "Lampiran",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Menu Panel",
|
||||
"boards": "Panel",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Daftar",
|
||||
"bucket-example": "Contohnya seperti “Bucket List” ",
|
||||
"cancel": "Batal",
|
||||
"card-archived": "Kartu ini diarsipkan",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "Kartu ini punya %s komentar",
|
||||
"card-delete-notice": "Menghapus sama dengan permanen. Anda akan kehilangan semua aksi yang terhubung ke kartu ini",
|
||||
"card-delete-pop": "Semua aksi akan dihapus dari aktivitas dan anda tidak bisa lagi buka kartu ini",
|
||||
"card-delete-suggest-archive": "Anda bisa arsipkan kartu untuk menghapusnya dari panel dan mempertahankan aktivitas",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Jatuh Tempo",
|
||||
"card-due-on": "Jatuh Tempo pada",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Sunting lampiran",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Sunting label",
|
||||
"card-edit-members": "Sunting anggota",
|
||||
"card-labels-title": "Ubah label kartu",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Mulai",
|
||||
"card-start-on": "Mulai pada",
|
||||
"cardAttachmentsPopup-title": "Lampirkan dari",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Hapus kartu",
|
||||
"cardDetailsActionsPopup-title": "Aksi Kartu",
|
||||
"cardLabelsPopup-title": "Daftar Label",
|
||||
"cardMembersPopup-title": "Daftar Anggota",
|
||||
"cardMorePopup-title": "Lainnya",
|
||||
"cards": "Daftar Kartu",
|
||||
"cards-count": "Daftar Kartu",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Ubah",
|
||||
"change-avatar": "Ubah Avatar",
|
||||
"change-password": "Ubah Kata Sandi",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Ubah Kata Sandi",
|
||||
"changePermissionsPopup-title": "Ubah Hak Akses",
|
||||
"changeSettingsPopup-title": "Ubah Setelan",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Daftar Periksa",
|
||||
"click-to-star": "Klik untuk tandai bintang panel ini",
|
||||
"click-to-unstar": "Klik untuk tidak memberi bintang pada panel ini",
|
||||
"clipboard": "Clipboard atau drag & drop",
|
||||
"close": "Tutup",
|
||||
"close-board": "Tutup Panel",
|
||||
"close-board-pop": "Anda bisa mengembalikan panel dengan klik tombol \"Arsip\" dari header beranda ",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "hitam",
|
||||
"color-blue": "biru",
|
||||
"color-green": "hijau",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Hanya komentar",
|
||||
"comment-only-desc": "Bisa komen hanya di kartu",
|
||||
"computer": "Komputer",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Buat Panel",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Buat Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "sekarang",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Tanggal",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Tanggal",
|
||||
"decline": "Tolak",
|
||||
"default-avatar": "Avatar standar",
|
||||
"delete": "Hapus",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Hapus label?",
|
||||
"description": "Deskripsi",
|
||||
"disambiguateMultiLabelPopup-title": "Abaikan label Aksi",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Ubah tanggal mulai",
|
||||
"editCardDueDatePopup-title": "Ubah tanggal selesai",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Ubah Label",
|
||||
"editNotificationPopup-title": "Sunting Pemberitahuan",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Bersihkan penyaringan",
|
||||
"filter-no-label": "Tidak ada label",
|
||||
"filter-no-member": "Tidak ada anggota",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Penyaring aktif",
|
||||
"filter-on-desc": "Anda memfilter kartu di panel ini. Klik di sini untuk menyunting filter",
|
||||
"filter-to-selection": "Saring berdasarkan yang dipilih",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Nama Lengkap",
|
||||
"header-logo-title": "Kembali ke laman panel anda",
|
||||
"hide-system-messages": "Sembunyikan pesan-pesan sistem",
|
||||
@@ -245,7 +276,7 @@
|
||||
"import-show-user-mapping": "Review pemetaan partisipan",
|
||||
"import-user-select": "Pilih nama pengguna yang Anda mau gunakan sebagai anggota ini",
|
||||
"importMapMembersAddPopup-title": "Pilih anggota Wekan",
|
||||
"info": "Version",
|
||||
"info": "Versi",
|
||||
"initials": "Inisial",
|
||||
"invalid-date": "Tanggal tidak sah",
|
||||
"invalid-time": "Invalid time",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link ke kartu ini",
|
||||
"list-archive-cards": "Arsipkan semua kartu ke daftar ini",
|
||||
"list-archive-cards-pop": "Ini akan menghapus semua kartu di daftar inidari panel. Untuk menampilkan arsip kartu dan membawa mereka kembali ke panel, klik \"Menu\" > \"Arsip item\"",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Pindah semua kartu ke daftar ini",
|
||||
"list-select-cards": "Pilih semua kartu di daftar ini",
|
||||
"listActionPopup-title": "Daftar Tindakan",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Lainnya",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Daftar",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Keluar",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "Anda tidak akan pernah dinotifikasi semua perubahan di panel ini",
|
||||
"my-boards": "Panel saya",
|
||||
"name": "Nama",
|
||||
"no-archived-cards": "Tidak ada arsip kartu",
|
||||
"no-archived-lists": "Tidak ada daftar arsip.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "Tidak ada hasil",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Bisa tampilkan dan edit kartu. Tidak bisa ubah setting",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Judul",
|
||||
"tracking": "Pelacakan",
|
||||
"tracking-info": "Anda akan dinotifikasi semua perubahan di kartu tersebut diaman anda terlibat sebagai creator atau partisipan",
|
||||
"type": "Type",
|
||||
"unassign-member": "Tidak sertakan partisipan",
|
||||
"unsaved-description": "Anda memiliki deskripsi yang belum disimpan.",
|
||||
"unwatch": "Tidak mengamati",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Avatar diunggah",
|
||||
"username": "Nama Pengguna",
|
||||
"view-it": "Lihat",
|
||||
"warn-list-archived": "Perhatian: Kartu ini dalam arsip daftar",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Amati",
|
||||
"watching": "Mengamati",
|
||||
"watching-info": "Anda akan diberitahu semua perubahan di panel ini",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "Kwere",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "commented on __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "archived __board__",
|
||||
"act-archivedCard": "archived __card__",
|
||||
"act-archivedList": "archived __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Activities",
|
||||
"activity": "Activity",
|
||||
"activity-added": "added %s to %s",
|
||||
"activity-archived": "archived %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "created %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Tinye",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apply",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Archive",
|
||||
"archive-all": "Archive All",
|
||||
"archive-board": "Archive Board",
|
||||
"archive-card": "Archive Card",
|
||||
"archive-list": "Archive List",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "Archive selection",
|
||||
"archiveBoardPopup-title": "Archive Board?",
|
||||
"archived-items": "Archived Items",
|
||||
"archived-boards": "Archived Boards",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "Archives",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Lists",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "This card is archived.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can archive a card to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edit labels",
|
||||
"card-edit-members": "Edit members",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Bido",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Delete Card?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Aha",
|
||||
"cardMembersPopup-title": "Ndị otu",
|
||||
"cardMorePopup-title": "More",
|
||||
"cards": "Cards",
|
||||
"cards-count": "Cards",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Gbanwe",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Change Password",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Change Settings",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "black",
|
||||
"color-blue": "blue",
|
||||
"color-green": "green",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Computer",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Date",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Delete",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Change start date",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Full Name",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Archive all cards in this list",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"listActionPopup-title": "List Actions",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "More",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can archive a list to remove it from the board and preserve the activity.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Lists",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Log Out",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Name",
|
||||
"no-archived-cards": "No archived cards.",
|
||||
"no-archived-lists": "No archived lists.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Title",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Username",
|
||||
"view-it": "Hụ ya",
|
||||
"warn-list-archived": "warning: this card is in an archived list",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Hụ",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "elekere",
|
||||
"minutes": "nkeji",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Ee",
|
||||
"no": "Mba",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Ekere na",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+95
-32
@@ -2,23 +2,25 @@
|
||||
"accept": "Accetta",
|
||||
"act-activity-notify": "[Wekan] Notifiche attività",
|
||||
"act-addAttachment": "ha allegato __attachment__ a __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "aggiunta checklist __checklist__ a __card__",
|
||||
"act-addChecklistItem": "aggiunto __checklistItem__ alla checklist __checklist__ su __card__",
|
||||
"act-addChecklistItem": "aggiunto __checklistItem__ alla checklist __checklist__ di __card__",
|
||||
"act-addComment": "ha commentato su __card__: __comment__",
|
||||
"act-createBoard": "ha creato __board__",
|
||||
"act-createCard": "ha aggiunto __card__ a __list__",
|
||||
"act-createCustomField": "campo personalizzato __customField__ creato",
|
||||
"act-createList": "ha aggiunto __list__ a __board__",
|
||||
"act-addBoardMember": "ha aggiunto __member__ a __board__",
|
||||
"act-archivedBoard": "ha archiviato __board__",
|
||||
"act-archivedCard": "ha archiviato __card__",
|
||||
"act-archivedList": "ha archiviato __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ spostata nel cestino",
|
||||
"act-archivedCard": "__card__ spostata nel cestino",
|
||||
"act-archivedList": "__list__ spostata nel cestino",
|
||||
"act-archivedSwimlane": "__swimlane__ spostata nel cestino",
|
||||
"act-importBoard": "ha importato __board__",
|
||||
"act-importCard": "ha importato __card__",
|
||||
"act-importList": "ha importato __list__",
|
||||
"act-joinMember": "ha aggiunto __member__ a __card__",
|
||||
"act-moveCard": "ha spostato __card__ da __oldList__ a __list__",
|
||||
"act-removeBoardMember": "ha rimosso __member__ da __board__",
|
||||
"act-removeBoardMember": "ha rimosso __member__ a __board__",
|
||||
"act-restoredCard": "ha ripristinato __card__ su __board__",
|
||||
"act-unjoinMember": "ha rimosso __member__ da __card__",
|
||||
"act-withBoardTitle": "[Wekan] __board__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "Attività",
|
||||
"activity": "Attività",
|
||||
"activity-added": "ha aggiunto %s a %s",
|
||||
"activity-archived": "archiviato %s",
|
||||
"activity-archived": "%s spostato nel cestino",
|
||||
"activity-attached": "allegato %s a %s",
|
||||
"activity-created": "creato %s",
|
||||
"activity-customfield-created": "Campo personalizzato creato",
|
||||
"activity-excluded": "escluso %s da %s",
|
||||
"activity-imported": "importato %s in %s da %s",
|
||||
"activity-imported-board": "importato %s da %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "rimosso %s da %s",
|
||||
"activity-sent": "inviato %s a %s",
|
||||
"activity-unjoined": "ha abbandonato %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "aggiunta checklist a %s",
|
||||
"activity-checklist-item-added": "Aggiunto l'elemento checklist a '%s' in %s",
|
||||
"add": "Aggiungere",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "Aggiungi Bacheca",
|
||||
"add-card": "Aggiungi Scheda",
|
||||
"add-swimlane": "Aggiungi Corsia",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Aggiungi Checklist",
|
||||
"add-checklist-item": "Aggiungi un elemento alla checklist",
|
||||
"add-cover": "Aggiungi copertina",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "E __count__ altre schede",
|
||||
"apply": "Applica",
|
||||
"app-is-offline": "Wekan è in caricamento, attendi per favore. Ricaricare la pagina causerà una perdita di dati. Se Wekan non si carica, controlla per favore che non ci siano problemi al server.",
|
||||
"archive": "Archivia",
|
||||
"archive-all": "Archivia tutto",
|
||||
"archive-board": "Archivia bacheca",
|
||||
"archive-card": "Archivia scheda",
|
||||
"archive-list": "Archivia Lista",
|
||||
"archive-swimlane": "Archivia Corsia",
|
||||
"archive-selection": "Archivia selezione",
|
||||
"archiveBoardPopup-title": "Archivia Bacheca?",
|
||||
"archived-items": "Elementi archiviati",
|
||||
"archived-boards": "Bacheche Archiviate",
|
||||
"archive": "Sposta nel cestino",
|
||||
"archive-all": "Sposta tutto nel cestino",
|
||||
"archive-board": "Sposta la bacheca nel cestino",
|
||||
"archive-card": "Sposta la scheda nel cestino",
|
||||
"archive-list": "Sposta la lista nel cestino",
|
||||
"archive-swimlane": "Sposta la corsia nel cestino",
|
||||
"archive-selection": "Sposta la selezione nel cestino",
|
||||
"archiveBoardPopup-title": "Sposta la bacheca nel cestino",
|
||||
"archived-items": "Cestino",
|
||||
"archived-boards": "Bacheche cestinate",
|
||||
"restore-board": "Ripristina Bacheca",
|
||||
"no-archived-boards": "Nessuna Bacheca Archiviata.",
|
||||
"archives": "Archivi",
|
||||
"no-archived-boards": "Nessuna bacheca nel cestino",
|
||||
"archives": "Cestino",
|
||||
"assign-member": "Aggiungi membro",
|
||||
"attached": "allegato",
|
||||
"attachment": "Allegato",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "Menu bacheca",
|
||||
"boards": "Bacheche",
|
||||
"board-view": "Visualizza bacheca",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Corsie",
|
||||
"board-view-lists": "Liste",
|
||||
"bucket-example": "Per esempio come \"una lista di cose da fare\"",
|
||||
"cancel": "Cancella",
|
||||
"card-archived": "Questa scheda è archiviata.",
|
||||
"card-archived": "Questa scheda è stata spostata nel cestino.",
|
||||
"card-comments-title": "Questa scheda ha %s commenti.",
|
||||
"card-delete-notice": "L'eliminazione è permanente. Tutte le azioni associate a questa scheda andranno perse.",
|
||||
"card-delete-pop": "Tutte le azioni saranno rimosse dal flusso attività e non sarai in grado di riaprire la scheda. Non potrai tornare indietro.",
|
||||
"card-delete-suggest-archive": "Puoi archiviare una scheda per rimuoverla dalla bacheca e preservare la sua attività.",
|
||||
"card-delete-suggest-archive": "Puoi cestinare una scheda per rimuoverla dalla bacheca e preservare la sua attività.",
|
||||
"card-due": "Scadenza",
|
||||
"card-due-on": "Scade",
|
||||
"card-spent": "Tempo trascorso",
|
||||
"card-edit-attachments": "Modifica allegati",
|
||||
"card-edit-custom-fields": "Modifica campo personalizzato",
|
||||
"card-edit-labels": "Modifica etichette",
|
||||
"card-edit-members": "Modifica membri",
|
||||
"card-labels-title": "Cambia le etichette per questa scheda.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "Inizio",
|
||||
"card-start-on": "Inizia",
|
||||
"cardAttachmentsPopup-title": "Allega da",
|
||||
"cardCustomField-datePopup-title": "Cambia data",
|
||||
"cardCustomFieldsPopup-title": "Modifica campo personalizzato",
|
||||
"cardDeletePopup-title": "Elimina scheda?",
|
||||
"cardDetailsActionsPopup-title": "Azioni scheda",
|
||||
"cardLabelsPopup-title": "Etichette",
|
||||
"cardMembersPopup-title": "Membri",
|
||||
"cardMorePopup-title": "Altro",
|
||||
"cards": "Schede",
|
||||
"cards-count": "Schede",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Cambia",
|
||||
"change-avatar": "Cambia avatar",
|
||||
"change-password": "Cambia password",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "Cambia password",
|
||||
"changePermissionsPopup-title": "Cambia permessi",
|
||||
"changeSettingsPopup-title": "Cambia impostazioni",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklist",
|
||||
"click-to-star": "Clicca per stellare questa bacheca",
|
||||
"click-to-unstar": "Clicca per togliere la stella da questa bacheca",
|
||||
"clipboard": "Clipboard o drag & drop",
|
||||
"close": "Chiudi",
|
||||
"close-board": "Chiudi bacheca",
|
||||
"close-board-pop": "Sarai in grado di ripristinare la bacheca cliccando il tasto \"Archivi\" dall'intestazione della pagina principale.",
|
||||
"close-board-pop": "Sarai in grado di ripristinare la bacheca cliccando il tasto \"Cestino\" dall'intestazione della pagina principale.",
|
||||
"color-black": "nero",
|
||||
"color-blue": "blu",
|
||||
"color-green": "verde",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "Solo commenti",
|
||||
"comment-only-desc": "Puoi commentare solo le schede.",
|
||||
"computer": "Computer",
|
||||
"confirm-checklist-delete-dialog": "Sei sicuro di voler cancellare questa checklist?",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copia link della scheda sulla clipboard",
|
||||
"copyCardPopup-title": "Copia Scheda",
|
||||
"copyChecklistToManyCardsPopup-title": "Copia template checklist su più schede",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "Crea bacheca",
|
||||
"chooseBoardSourcePopup-title": "Importa bacheca",
|
||||
"createLabelPopup-title": "Crea etichetta",
|
||||
"createCustomField": "Crea campo",
|
||||
"createCustomFieldPopup-title": "Crea campo",
|
||||
"current": "corrente",
|
||||
"custom-field-delete-pop": "Non potrai tornare indietro. Questa azione rimuoverà questo campo personalizzato da tutte le schede ed eliminerà ogni sua traccia.",
|
||||
"custom-field-checkbox": "Casella di scelta",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Lista a discesa",
|
||||
"custom-field-dropdown-none": "(nessun)",
|
||||
"custom-field-dropdown-options": "Lista opzioni",
|
||||
"custom-field-dropdown-options-placeholder": "Premi invio per aggiungere altre opzioni",
|
||||
"custom-field-dropdown-unknown": "(sconosciuto)",
|
||||
"custom-field-number": "Numero",
|
||||
"custom-field-text": "Testo",
|
||||
"custom-fields": "Campi personalizzati",
|
||||
"date": "Data",
|
||||
"decline": "Declina",
|
||||
"default-avatar": "Avatar predefinito",
|
||||
"delete": "Elimina",
|
||||
"deleteCustomFieldPopup-title": "Elimina il campo personalizzato?",
|
||||
"deleteLabelPopup-title": "Eliminare etichetta?",
|
||||
"description": "Descrizione",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguare l'azione Etichetta",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Limite Work in progress soft",
|
||||
"editCardStartDatePopup-title": "Cambia data di inizio",
|
||||
"editCardDueDatePopup-title": "Cambia data di scadenza",
|
||||
"editCustomFieldPopup-title": "Modifica campo",
|
||||
"editCardSpentTimePopup-title": "Cambia tempo trascorso",
|
||||
"editLabelPopup-title": "Cambia etichetta",
|
||||
"editNotificationPopup-title": "Modifica notifiche",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "Pulisci filtri",
|
||||
"filter-no-label": "Nessuna etichetta",
|
||||
"filter-no-member": "Nessun membro",
|
||||
"filter-no-custom-fields": "Nessun campo personalizzato",
|
||||
"filter-on": "Il filtro è attivo",
|
||||
"filter-on-desc": "Stai filtrando le schede su questa bacheca. Clicca qui per modificare il filtro,",
|
||||
"filter-to-selection": "Seleziona",
|
||||
"advanced-filter-label": "Filtro avanzato",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Nome completo",
|
||||
"header-logo-title": "Torna alla tua bacheca.",
|
||||
"hide-system-messages": "Nascondi i messaggi di sistema",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Sei sicuro di voler abbandonare __boardTitle__? Sarai rimosso da tutte le schede in questa bacheca.",
|
||||
"leaveBoardPopup-title": "Abbandona Bacheca?",
|
||||
"link-card": "Link a questa scheda",
|
||||
"list-archive-cards": "Archivia tutte le schede in questa lista",
|
||||
"list-archive-cards-pop": "Questo rimuoverà dalla bacheca tutte le schede in questa lista. Per vedere le schede archiviate e portarle indietro alla bacheca, clicca “Menu” > “Elementi archiviati”",
|
||||
"list-archive-cards": "Cestina tutte le schede in questa lista",
|
||||
"list-archive-cards-pop": "Questo rimuoverà dalla bacheca tutte le schede in questa lista. Per vedere le schede cestinate e portarle indietro alla bacheca, clicca “Menu” > “Elementi cestinati”",
|
||||
"list-move-cards": "Sposta tutte le schede in questa lista",
|
||||
"list-select-cards": "Selezione tutte le schede in questa lista",
|
||||
"listActionPopup-title": "Azioni disponibili",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "Altro",
|
||||
"link-list": "Link a questa lista",
|
||||
"list-delete-pop": "Tutte le azioni saranno rimosse dal flusso attività e non sarai in grado di recuperare la lista. Non potrai tornare indietro.",
|
||||
"list-delete-suggest-archive": "Puoi archiviare una lista per rimuoverla dalla bacheca e preservarne l'attività.",
|
||||
"list-delete-suggest-archive": "Puoi cestinare una scheda per rimuoverla dalla bacheca e preservare la sua attività.",
|
||||
"lists": "Liste",
|
||||
"swimlanes": "Corsie",
|
||||
"log-out": "Log Out",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "Non sarai mai notificato delle modifiche in questa bacheca",
|
||||
"my-boards": "Le mie bacheche",
|
||||
"name": "Nome",
|
||||
"no-archived-cards": "Nessuna scheda archiviata.",
|
||||
"no-archived-lists": "Nessuna lista archiviata.",
|
||||
"no-archived-swimlanes": "Nessuna scheda archiviata.",
|
||||
"no-archived-cards": "Nessuna scheda nel cestino",
|
||||
"no-archived-lists": "Nessuna lista nel cestino",
|
||||
"no-archived-swimlanes": "Nessuna corsia nel cestino",
|
||||
"no-results": "Nessun risultato",
|
||||
"normal": "Normale",
|
||||
"normal-desc": "Può visionare e modificare le schede. Non può cambiare le impostazioni.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "Titolo",
|
||||
"tracking": "Monitoraggio",
|
||||
"tracking-info": "Sarai notificato per tutte le modifiche alle schede delle quali sei creatore o membro.",
|
||||
"type": "Tipo",
|
||||
"unassign-member": "Rimuovi membro",
|
||||
"unsaved-description": "Hai una descrizione non salvata",
|
||||
"unwatch": "Non seguire",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "Avatar caricato",
|
||||
"username": "Username",
|
||||
"view-it": "Vedi",
|
||||
"warn-list-archived": "attenzione: questa scheda è in una lista archiviata",
|
||||
"warn-list-archived": "attenzione: questa scheda è in una lista cestinata",
|
||||
"watch": "Segui",
|
||||
"watching": "Stai seguendo",
|
||||
"watching-info": "Sarai notificato per tutte le modifiche in questa bacheca",
|
||||
@@ -392,7 +424,7 @@
|
||||
"disable-self-registration": "Disabilita Auto-registrazione",
|
||||
"invite": "Invita",
|
||||
"invite-people": "Invita persone",
|
||||
"to-boards": "torna alle bacheche(a)",
|
||||
"to-boards": "Alla(e) bacheche(a)",
|
||||
"email-addresses": "Indirizzi email",
|
||||
"smtp-host-description": "L'indirizzo del server SMTP che gestisce le tue email.",
|
||||
"smtp-port-description": "La porta che il tuo server SMTP utilizza per le email in uscita.",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "ore",
|
||||
"minutes": "minuti",
|
||||
"seconds": "secondi",
|
||||
"show-field-on-card": "Visualizza questo campo sulla scheda",
|
||||
"yes": "Sì",
|
||||
"no": "No",
|
||||
"accounts": "Profili",
|
||||
"accounts-allowEmailChange": "Permetti modifica dell'email",
|
||||
"accounts-allowUserNameChange": "Consenti la modifica del nome utente",
|
||||
"createdAt": "creato alle",
|
||||
"verified": "Verificato",
|
||||
"active": "Attivo"
|
||||
"active": "Attivo",
|
||||
"card-received": "Ricevuta",
|
||||
"card-received-on": "Ricevuta il",
|
||||
"card-end": "Fine",
|
||||
"card-end-on": "Termina il",
|
||||
"editCardReceivedDatePopup-title": "Cambia data ricezione",
|
||||
"editCardEndDatePopup-title": "Cambia data finale",
|
||||
"assigned-by": "Assegnato da",
|
||||
"requested-by": "Richiesto da",
|
||||
"board-delete-notice": "L'eliminazione è permanente. Tutte le azioni, liste e schede associate a questa bacheca andranno perse.",
|
||||
"delete-board-confirm-popup": "Tutte le liste, schede, etichette e azioni saranno rimosse e non sarai più in grado di recuperare il contenuto della bacheca. L'azione non è annullabile.",
|
||||
"boardDeletePopup-title": "Eliminare la bacheca?",
|
||||
"delete-board": "Elimina bacheca",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+105
-42
@@ -2,17 +2,19 @@
|
||||
"accept": "受け入れ",
|
||||
"act-activity-notify": "[Wekan] アクティビティ通知",
|
||||
"act-addAttachment": "__card__ に __attachment__ を添付しました",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "__card__ に __checklist__ を追加しました",
|
||||
"act-addChecklistItem": "__checklist__ on __card__ に __checklistItem__ を追加しました",
|
||||
"act-addComment": "__card__: __comment__ をコメントしました",
|
||||
"act-createBoard": "__board__ を作成しました",
|
||||
"act-createCard": "__list__ に __card__ を追加しました",
|
||||
"act-createCustomField": "__customField__ を作成しました",
|
||||
"act-createList": "__board__ に __list__ を追加しました",
|
||||
"act-addBoardMember": "__board__ に __member__ を追加しました",
|
||||
"act-archivedBoard": "__board__ をアーカイブしました",
|
||||
"act-archivedCard": "__card__ をアーカイブしました",
|
||||
"act-archivedList": "__list__ をアーカイブしました",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ をゴミ箱に移動しました",
|
||||
"act-archivedCard": "__card__ をゴミ箱に移動しました",
|
||||
"act-archivedList": "__list__ をゴミ箱に移動しました",
|
||||
"act-archivedSwimlane": "__swimlane__ をゴミ箱に移動しました",
|
||||
"act-importBoard": "__board__ をインポートしました",
|
||||
"act-importCard": "__card__ をインポートしました",
|
||||
"act-importList": "__list__ をインポートしました",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "アクティビティ",
|
||||
"activity": "アクティビティ",
|
||||
"activity-added": "%s を %s に追加しました",
|
||||
"activity-archived": "%s をアーカイブしました",
|
||||
"activity-archived": "%s をゴミ箱へ移動しました",
|
||||
"activity-attached": "%s を %s に添付しました",
|
||||
"activity-created": "%s を作成しました",
|
||||
"activity-customfield-created": "%s を作成しました",
|
||||
"activity-excluded": "%s を %s から除外しました",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,13 +42,15 @@
|
||||
"activity-removed": "%s を %s から削除しました",
|
||||
"activity-sent": "%s を %s に送りました",
|
||||
"activity-unjoined": "%s への参加を止めました",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "%s にチェックリストを追加しました",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "追加",
|
||||
"add-attachment": "添付ファイルを追加",
|
||||
"add-board": "ボードを追加",
|
||||
"add-card": "カードを追加",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-swimlane": "スイムレーンを追加",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "チェックリストを追加",
|
||||
"add-checklist-item": "チェックリストに項目を追加",
|
||||
"add-cover": "カバーの追加",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "適用",
|
||||
"app-is-offline": "現在オフラインです。ページを更新すると保存していないデータは失われます。",
|
||||
"archive": "アーカイブ",
|
||||
"archive-all": "すべてをアーカイブ",
|
||||
"archive-board": "ボードをアーカイブ",
|
||||
"archive-card": "カードをアーカイブ",
|
||||
"archive-list": "このリストをアーカイブ",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "選択したものをアーカイブ",
|
||||
"archiveBoardPopup-title": "ボードをアーカイブしますか?",
|
||||
"archived-items": "アーカイブされたアイテム",
|
||||
"archived-boards": "アーカイブ済のボード",
|
||||
"archive": "ゴミ箱へ移動",
|
||||
"archive-all": "すべてゴミ箱へ移動",
|
||||
"archive-board": "ボードをゴミ箱へ移動",
|
||||
"archive-card": "カードをゴミ箱へ移動",
|
||||
"archive-list": "リストをゴミ箱へ移動",
|
||||
"archive-swimlane": "スイムレーンをゴミ箱へ移動",
|
||||
"archive-selection": "選択したものをゴミ箱へ移動",
|
||||
"archiveBoardPopup-title": "ボードをゴミ箱へ移動しますか?",
|
||||
"archived-items": "ゴミ箱",
|
||||
"archived-boards": "ゴミ箱のボード",
|
||||
"restore-board": "ボードをリストア",
|
||||
"no-archived-boards": "アーカイブされたボードはありません",
|
||||
"archives": "アーカイブ",
|
||||
"no-archived-boards": "ゴミ箱にボードはありません",
|
||||
"archives": "ゴミ箱",
|
||||
"assign-member": "メンバーの割当",
|
||||
"attached": "添付されました",
|
||||
"attachment": "添付ファイル",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "ボードメニュー",
|
||||
"boards": "ボード",
|
||||
"board-view": "Board View",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "スイムレーン",
|
||||
"board-view-lists": "リスト",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"bucket-example": "例:バケットリスト",
|
||||
"cancel": "キャンセル",
|
||||
"card-archived": "カードはアーカイブされました。",
|
||||
"card-archived": "このカードはゴミ箱に移動されます",
|
||||
"card-comments-title": "%s 件のコメントがあります。",
|
||||
"card-delete-notice": "削除は取り消しできません。このカードに関係するすべてのアクションがなくなります。",
|
||||
"card-delete-pop": "すべての内容がアクティビティから削除されます。この削除は元に戻すことができません。",
|
||||
"card-delete-suggest-archive": "アーカイブを使えば、内容を保存したままボード上からリストを表示しないようにできます。",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "期限",
|
||||
"card-due-on": "期限日",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "添付ファイルの編集",
|
||||
"card-edit-custom-fields": "カスタムフィールドの編集",
|
||||
"card-edit-labels": "ラベルの編集",
|
||||
"card-edit-members": "メンバーの編集",
|
||||
"card-labels-title": "カードのラベルを変更する",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "開始",
|
||||
"card-start-on": "開始日",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "カスタムフィールドの編集",
|
||||
"cardDeletePopup-title": "カードを削除しますか?",
|
||||
"cardDetailsActionsPopup-title": "カード操作",
|
||||
"cardLabelsPopup-title": "ラベル",
|
||||
"cardMembersPopup-title": "メンバー",
|
||||
"cardMorePopup-title": "さらに見る",
|
||||
"cards": "カード",
|
||||
"cards-count": "カード",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "変更",
|
||||
"change-avatar": "アバターの変更",
|
||||
"change-password": "パスワードの変更",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "パスワードの変更",
|
||||
"changePermissionsPopup-title": "パーミッションの変更",
|
||||
"changeSettingsPopup-title": "設定の変更",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "チェックリスト",
|
||||
"click-to-star": "ボードにスターをつける",
|
||||
"click-to-unstar": "ボードからスターを外す",
|
||||
"clipboard": "クリップボードもしくはドラッグ&ドロップ",
|
||||
"close": "閉じる",
|
||||
"close-board": "ボードを閉じる",
|
||||
"close-board-pop": "ホームメニューの'アーカイブ'から、ボードを復元することができます。",
|
||||
"close-board-pop": "ホームヘッダから「ごみ箱」ボタンをクリックすると、ボードを復元できます。",
|
||||
"color-black": "黒",
|
||||
"color-blue": "青",
|
||||
"color-green": "緑",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "コメントのみ",
|
||||
"comment-only-desc": "カードにのみコメント可能",
|
||||
"computer": "コンピューター",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "カードへのリンクをクリップボードにコピー",
|
||||
"copyCardPopup-title": "カードをコピー",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "ボードの作成",
|
||||
"chooseBoardSourcePopup-title": "ボードをインポート",
|
||||
"createLabelPopup-title": "ラベルの作成",
|
||||
"createCustomField": "フィールドを作成",
|
||||
"createCustomFieldPopup-title": "フィールドを作成",
|
||||
"current": "現在",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "日付",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "カスタムフィールド",
|
||||
"date": "日付",
|
||||
"decline": "拒否",
|
||||
"default-avatar": "デフォルトのアバター",
|
||||
"delete": "削除",
|
||||
"deleteCustomFieldPopup-title": "カスタムフィールドを削除しますか?",
|
||||
"deleteLabelPopup-title": "ラベルを削除しますか?",
|
||||
"description": "詳細",
|
||||
"disambiguateMultiLabelPopup-title": "不正なラベル操作",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "開始日の変更",
|
||||
"editCardDueDatePopup-title": "期限の変更",
|
||||
"editCustomFieldPopup-title": "フィールドを編集",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "ラベルの変更",
|
||||
"editNotificationPopup-title": "通知の変更",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "フィルターの解除",
|
||||
"filter-no-label": "ラベルなし",
|
||||
"filter-no-member": "メンバーなし",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "フィルター有効",
|
||||
"filter-on-desc": "このボードのカードをフィルターしています。フィルターを編集するにはこちらをクリックしてください。",
|
||||
"filter-to-selection": "フィルターした項目を全選択",
|
||||
"advanced-filter-label": "高度なフィルター",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "フルネーム",
|
||||
"header-logo-title": "自分のボードページに戻る。",
|
||||
"hide-system-messages": "システムメッセージを隠す",
|
||||
@@ -246,7 +277,7 @@
|
||||
"import-user-select": "メンバーとして利用したいWekanユーザーを選択",
|
||||
"importMapMembersAddPopup-title": "Wekanメンバーを選択",
|
||||
"info": "バージョン",
|
||||
"initials": "初期状態",
|
||||
"initials": "イニシャル",
|
||||
"invalid-date": "無効な日付",
|
||||
"invalid-time": "Invalid time",
|
||||
"invalid-user": "Invalid user",
|
||||
@@ -263,19 +294,19 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "ボードから退出しますか?",
|
||||
"link-card": "このカードへのリンク",
|
||||
"list-archive-cards": "リストの全カードをアーカイブする",
|
||||
"list-archive-cards-pop": "ボードのこのリスト内のすべてのカードを取り除きます。アーカイブされたカードの確認やそれをボードに戻すには、メニューをクリックし、\"アーカイブされたアイテム\"をクリックしてください。",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "リストの全カードを移動する",
|
||||
"list-select-cards": "リストの全カードを選択",
|
||||
"listActionPopup-title": "操作一覧",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"swimlaneActionPopup-title": "スイムレーン操作",
|
||||
"listImportCardPopup-title": "Trelloのカードをインポート",
|
||||
"listMorePopup-title": "さらに見る",
|
||||
"link-list": "このリストへのリンク",
|
||||
"list-delete-pop": "すべての内容がアクティビティから削除されます。この削除は元に戻すことができません。",
|
||||
"list-delete-suggest-archive": "アーカイブを使えば、内容を保存したままボード上にリストを表示しないようにできます。",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "リスト",
|
||||
"swimlanes": "Swimlanes",
|
||||
"swimlanes": "スイムレーン",
|
||||
"log-out": "ログアウト",
|
||||
"log-in": "ログイン",
|
||||
"loginPopup-title": "ログイン",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "このボードの変更は通知されません",
|
||||
"my-boards": "自分のボード",
|
||||
"name": "名前",
|
||||
"no-archived-cards": "アーカイブされたボードはありません",
|
||||
"no-archived-lists": "アーカイブされたリストはありません",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "ゴミ箱にカードはありません",
|
||||
"no-archived-lists": "ゴミ箱にリストはありません",
|
||||
"no-archived-swimlanes": "ゴミ箱にスイムレーンはありません",
|
||||
"no-results": "該当するものはありません",
|
||||
"normal": "通常",
|
||||
"normal-desc": "カードの閲覧と編集が可能。設定変更不可。",
|
||||
@@ -331,8 +362,8 @@
|
||||
"restore": "復元",
|
||||
"save": "保存",
|
||||
"search": "検索",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"search-cards": "カードのタイトルと詳細から検索",
|
||||
"search-example": "検索文字",
|
||||
"select-color": "色を選択",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "タイトル",
|
||||
"tracking": "トラッキング",
|
||||
"tracking-info": "これらのカードへの変更が通知されるようになります。",
|
||||
"type": "Type",
|
||||
"unassign-member": "未登録のメンバー",
|
||||
"unsaved-description": "未保存の変更があります。",
|
||||
"unwatch": "アンウォッチ",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "アップロードされたアバター",
|
||||
"username": "ユーザー名",
|
||||
"view-it": "見る",
|
||||
"warn-list-archived": "警告:このカードはアーカイブされたリストにあります",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "ウォッチ",
|
||||
"watching": "ウォッチしています",
|
||||
"watching-info": "このボードの変更が通知されます",
|
||||
@@ -411,9 +443,9 @@
|
||||
"email-smtp-test-text": "You have successfully sent an email",
|
||||
"error-invitation-code-not-exist": "招待コードが存在しません",
|
||||
"error-notAuthorized": "このページを参照する権限がありません。",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"outgoing-webhooks": "発信Webフック",
|
||||
"outgoingWebhooksPopup-title": "発信Webフック",
|
||||
"new-outgoing-webhook": "発信Webフックの作成",
|
||||
"no-name": "(Unknown)",
|
||||
"Wekan_version": "Wekanバージョン",
|
||||
"Node_version": "Nodeバージョン",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "時",
|
||||
"minutes": "分",
|
||||
"seconds": "秒",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "はい",
|
||||
"no": "いいえ",
|
||||
"accounts": "アカウント",
|
||||
"accounts-allowEmailChange": "メールアドレスの変更を許可",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "受付",
|
||||
"card-received-on": "受付日",
|
||||
"card-end": "終了",
|
||||
"card-end-on": "終了日",
|
||||
"editCardReceivedDatePopup-title": "受付日の変更",
|
||||
"editCardEndDatePopup-title": "終了日の変更",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "すべてのリスト、カード、ラベル、アクティビティは削除され、ボードの内容を元に戻すことができません。",
|
||||
"boardDeletePopup-title": "ボードを削除しますか?",
|
||||
"delete-board": "ボードを削除",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
@@ -0,0 +1,502 @@
|
||||
{
|
||||
"accept": "დათანხმება",
|
||||
"act-activity-notify": "[ვეკანი] აქტივობის შეტყობინება",
|
||||
"act-addAttachment": "მიბმულია__მიბმა __ბარათზე__",
|
||||
"act-addSubtask": "დამატებულია ქვესაქმიანობა__ჩამონათვალი__ ბარათზე__",
|
||||
"act-addChecklist": "დაამატა ჩამონათვალი__ჩამონათვალი__ ბარათზე__",
|
||||
"act-addChecklistItem": "დაამატა __ჩამონათვალის ელემენტი__ ჩამონათვალში __ჩამონათვალი __ბარათზე__",
|
||||
"act-addComment": "დააკომენტარა__ბარათზე__: __კომენტარი__",
|
||||
"act-createBoard": "შექმნილია __დაფა__",
|
||||
"act-createCard": "დაამატა __ბარათი__ ჩამონათვალში__",
|
||||
"act-createCustomField": "შექმნა სტანდარტული ველი __სტანდარტული ველი__",
|
||||
"act-createList": "დაამატა __ჩამონათვალი__ დაფაზე__",
|
||||
"act-addBoardMember": "დაამატა __წევრი__ დაფაზე__",
|
||||
"act-archivedBoard": "__board__ გადატანილია სანაგვე ურნაში",
|
||||
"act-archivedCard": "__ბარათი__ გადატანილია სანაგვე ურნაში",
|
||||
"act-archivedList": "__list__ გადატანილია სანაგვე ურნაში",
|
||||
"act-archivedSwimlane": "__swimlane__ გადატანილია სანაგვე ურნაში",
|
||||
"act-importBoard": "იმპორტირებულია__დაფა__",
|
||||
"act-importCard": "იმპორტირებულია __ბარათი__",
|
||||
"act-importList": "იმპორტირებულია __სია__",
|
||||
"act-joinMember": "დაამატა __წევრი__ ბარათზე__",
|
||||
"act-moveCard": "გადაიტანა __ბარათი __oldList__ დან__ ჩამონათვალ__ში__",
|
||||
"act-removeBoardMember": "წაშალა__წევრი__ დაფიდან__",
|
||||
"act-restoredCard": "აღადგინა __ბარათი __დაფა__ზე__",
|
||||
"act-unjoinMember": "წაშალა__წევრი__ ბარათი __დან__",
|
||||
"act-withBoardTitle": "[Wekan] __დაფა__",
|
||||
"act-withCardTitle": "[__დაფა__] __ბარათი__",
|
||||
"actions": "მოქმედებები",
|
||||
"activities": "აქტივეობები",
|
||||
"activity": "აქტივობები",
|
||||
"activity-added": "დამატებულია %s ზე %s",
|
||||
"activity-archived": "%s-მა გადაინაცვლა წაშლილებში",
|
||||
"activity-attached": "მიბმულია %s %s-დან",
|
||||
"activity-created": "შექმნილია %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "იმპორტირებულია%s %s-დან",
|
||||
"activity-joined": "შეუერთდა %s",
|
||||
"activity-moved": "moved %s from %s to %s",
|
||||
"activity-on": " %s-ზე",
|
||||
"activity-removed": "წაიშალა %s %s-დან",
|
||||
"activity-sent": "გაიგზავნა %s %s-ში",
|
||||
"activity-unjoined": "არ შემოუერთდა %s",
|
||||
"activity-subtask-added": "დაამატა ქვესაქმიანობა %s",
|
||||
"activity-checklist-added": "დაემატა ჩამონათვალი %s-ს",
|
||||
"activity-checklist-item-added": "დამატებულია ჩამონათვალის ელემენტები '%s' %s-ში",
|
||||
"add": "დამატება",
|
||||
"add-attachment": "მიბმული ფაილის დამატება",
|
||||
"add-board": "დაფის დამატება",
|
||||
"add-card": "ბარათის დამატება",
|
||||
"add-swimlane": "ბილიკის დამატება",
|
||||
"add-subtask": "ქვესაქმიანობის დამატება",
|
||||
"add-checklist": "კატალოგის დამატება",
|
||||
"add-checklist-item": "დაამატეთ საგანი ჩამონათვალს",
|
||||
"add-cover": "გარეკანის დამატება",
|
||||
"add-label": "ნიშნის დამატება",
|
||||
"add-list": "ჩამონათვალის დამატება",
|
||||
"add-members": "წევრების დამატება",
|
||||
"added": "-მა დაამატა",
|
||||
"addMemberPopup-title": "წევრები",
|
||||
"admin": "ადმინი",
|
||||
"admin-desc": "შეუძლია ნახოს და შეასწოროს ბარათები, წაშალოს წევრები და შეცვალოს დაფის პარამეტრები. ",
|
||||
"admin-announcement": "განცხადება",
|
||||
"admin-announcement-active": "აქტიური სისტემა-ფართო განცხადება",
|
||||
"admin-announcement-title": "შეტყობინება ადმინისტრატორისთვის",
|
||||
"all-boards": "ყველა დაფა",
|
||||
"and-n-other-card": "და __count__ სხვა ბარათი",
|
||||
"and-n-other-card_plural": "და __count__ სხვა ბარათები",
|
||||
"apply": "გამოყენება",
|
||||
"app-is-offline": "Wekan იტვირთება, გთხოვთ დაელოდოთ. გვერდის განახლებამ შეიძლება გამოიწვიოს მონაცემების დაკარგვა. იმ შემთხვევაში თუ Wekan არ იტვირთება, შეამოწმეთ სერვერი მუშაობს თუ არა. ",
|
||||
"archive": "სანაგვე ურნაში გადატანა",
|
||||
"archive-all": "ყველას სანაგვე ურნაში გადატანა",
|
||||
"archive-board": "გადავიტანოთ დაფა სანაგვე ურნაში ",
|
||||
"archive-card": "გადავიტანოთ ბარათი სანაგვე ურნაში ",
|
||||
"archive-list": "გავიტანოთ ჩამონათვალი სანაგვე ურნაში ",
|
||||
"archive-swimlane": "გადავიტანოთ ბილიკი სანაგვე ურნაში ",
|
||||
"archive-selection": "გადავიტანოთ მონიშნული სანაგვე ურნაში ",
|
||||
"archiveBoardPopup-title": "გადავიტანოთ დაფა სანაგვე ურნაში ",
|
||||
"archived-items": "სანაგვე ურნა",
|
||||
"archived-boards": "დაფები სანაგვე ურნაში ",
|
||||
"restore-board": "ბარათის აღდგენა",
|
||||
"no-archived-boards": "სანაგვე ურნაში დაფები არ მოიძებნა.",
|
||||
"archives": "სანაგვე ურნა",
|
||||
"assign-member": "უფლებამოსილი წევრი",
|
||||
"attached": "მიბმული",
|
||||
"attachment": "მიბმული ფიალი",
|
||||
"attachment-delete-pop": "მიბმული ფაილის წაშლა მუდმივია. შეუძლებელია მისი უკან დაბრუნება. ",
|
||||
"attachmentDeletePopup-title": "გსურთ მიბმული ფაილის წაშლა? ",
|
||||
"attachments": "მიბმული ფაილები",
|
||||
"auto-watch": "დაფის ავტომატური ნახვა მას შემდეგ რაც ის შეიქმნება",
|
||||
"avatar-too-big": "დიდი მოცულობის სურათი (მაქსიმუმ 70KB)",
|
||||
"back": "უკან",
|
||||
"board-change-color": "ფერის შეცვლა",
|
||||
"board-nb-stars": "%s ვარსკვლავი",
|
||||
"board-not-found": "დაფა არ მოიძებნა",
|
||||
"board-private-info": "ეს დაფა იქნება <strong>პირადი</strong>.",
|
||||
"board-public-info": "ეს დაფა იქნება <strong>საჯარო</strong>.",
|
||||
"boardChangeColorPopup-title": "დაფის ფონის ცვლილება",
|
||||
"boardChangeTitlePopup-title": "დაფის სახელის ცვლილება",
|
||||
"boardChangeVisibilityPopup-title": "ხილვადობის შეცვლა",
|
||||
"boardChangeWatchPopup-title": "საათის შეცვლა",
|
||||
"boardMenuPopup-title": "დაფის მენიუ",
|
||||
"boards": "დაფები",
|
||||
"board-view": "დაფის ნახვა",
|
||||
"board-view-cal": "კალენდარი",
|
||||
"board-view-swimlanes": "ბილიკები",
|
||||
"board-view-lists": "ჩამონათვალი",
|
||||
"bucket-example": "მაგალითად “Bucket List” ",
|
||||
"cancel": "გაუქმება",
|
||||
"card-archived": "ბარათი გადატანილია სანაგვე ურნაში ",
|
||||
"card-comments-title": "ამ ბარათს ჰქონდა%s კომენტარი.",
|
||||
"card-delete-notice": "წაშლის შემთხვევაში ამ ბარათთან ასცირებული ყველა მოქმედება დაიკარგება.",
|
||||
"card-delete-pop": "ყველა მოქმედება წაიშლება აქტივობების ველიდან და თქვენ აღარ შეგეძლებათ ბარათის ხელახლა გახსნა. დაბრუნება შეუძლებელია.",
|
||||
"card-delete-suggest-archive": "თქვენ შეგიძლიათ გადაიტანოთ ბარათი სანაგვე ურნაში რათა წაშალოთ ის დაფიდან და დაიცვათ აქტივობა. ",
|
||||
"card-due": "საბოლოო ვადა ",
|
||||
"card-due-on": "საბოლოო ვადა",
|
||||
"card-spent": "დახარჯული დრო",
|
||||
"card-edit-attachments": "მიბმული ფაილის შესწორება",
|
||||
"card-edit-custom-fields": "მომხმარებლის ველის შესწორება",
|
||||
"card-edit-labels": "ნიშნის შესწორება",
|
||||
"card-edit-members": "მომხმარებლების შესწორება",
|
||||
"card-labels-title": "ნიშნის შეცვლა ბარათისთვის.",
|
||||
"card-members-title": "დაამატეთ ან წაშალეთ დაფის წევრი ბარათიდან. ",
|
||||
"card-start": "დაწყება",
|
||||
"card-start-on": "დაიწყება",
|
||||
"cardAttachmentsPopup-title": "მიბმა შემდეგი წყაროდან: ",
|
||||
"cardCustomField-datePopup-title": "დროის ცვლილება",
|
||||
"cardCustomFieldsPopup-title": "მომხმარებლის ველის შესწორება",
|
||||
"cardDeletePopup-title": "წავშალოთ ბარათი? ",
|
||||
"cardDetailsActionsPopup-title": "ბარათის მოქმედებები",
|
||||
"cardLabelsPopup-title": "ნიშნები",
|
||||
"cardMembersPopup-title": "წევრები",
|
||||
"cardMorePopup-title": "მეტი",
|
||||
"cards": "ბარათები",
|
||||
"cards-count": "ბარათები",
|
||||
"casSignIn": "შესვლა CAS-ით",
|
||||
"change": "ცვლილება",
|
||||
"change-avatar": "სურათის შეცვლა",
|
||||
"change-password": "პაროლის შეცვლა",
|
||||
"change-permissions": "პარამეტრების შეცვლა",
|
||||
"change-settings": "პარამეტრების შეცვლა",
|
||||
"changeAvatarPopup-title": "სურათის შეცვლა",
|
||||
"changeLanguagePopup-title": "ენის შეცვლა",
|
||||
"changePasswordPopup-title": "პაროლის შეცვლა",
|
||||
"changePermissionsPopup-title": "უფლებების შეცვლა",
|
||||
"changeSettingsPopup-title": "პარამეტრების შეცვლა",
|
||||
"subtasks": "ქვეამოცანა",
|
||||
"checklists": "კატალოგი",
|
||||
"click-to-star": "დააჭირეთ დაფის ვარსკვლავით მოსანიშნად",
|
||||
"click-to-unstar": "დააკლიკეთ დაფიდან ვარსკვლავის მოსახსნელად. ",
|
||||
"clipboard": "Clipboard ან drag & drop",
|
||||
"close": "დახურვა",
|
||||
"close-board": "დაფის დახურვა",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "შავი",
|
||||
"color-blue": "ლურჯი",
|
||||
"color-green": "მწვანე",
|
||||
"color-lime": "ღია ყვითელი",
|
||||
"color-orange": "ნარინჯისფერი",
|
||||
"color-pink": "ვარდისფერი",
|
||||
"color-purple": "იასამნისფერი",
|
||||
"color-red": "წითელი ",
|
||||
"color-sky": "ცისფერი",
|
||||
"color-yellow": "ყვითელი",
|
||||
"comment": "კომენტარი",
|
||||
"comment-placeholder": "დაწერეთ კომენტარი",
|
||||
"comment-only": "მხოლოდ კომენტარები",
|
||||
"comment-only-desc": "თქვენ შეგიძლიათ კომენტარის გაკეთება მხოლოდ ბარათებზე.",
|
||||
"computer": "კომპიუტერი",
|
||||
"confirm-subtask-delete-dialog": "დარწმუნებული ხართ, რომ გსურთ ქვესაქმიანობის წაშლა? ",
|
||||
"confirm-checklist-delete-dialog": "დარწმუნებული ხართ, რომ გსურთ კატალოგის წაშლა ? ",
|
||||
"copy-card-link-to-clipboard": "დააკოპირეთ ბარათის ბმული clipboard-ზე",
|
||||
"copyCardPopup-title": "ბარათის ასლი",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"სათაური\": \"პირველი ბარათის სათაური\", \"აღწერა\":\"პირველი ბარათის აღწერა\"}, {\"სათაური\":\"მეორე ბარათის სათაური\",\"აღწერა\":\"მეორე ბარათის აღწერა\"},{\"სათაური\":\"ბოლო ბარათის სათაური\",\"აღწერა\":\"ბოლო ბარათის აღწერა\"} ]",
|
||||
"create": "შექმნა",
|
||||
"createBoardPopup-title": "დაფის შექმნა",
|
||||
"chooseBoardSourcePopup-title": "დაფის იმპორტი",
|
||||
"createLabelPopup-title": "ნიშნის შექმნა",
|
||||
"createCustomField": "ველის შექმნა",
|
||||
"createCustomFieldPopup-title": "ველის შექმნა",
|
||||
"current": "მიმდინარე",
|
||||
"custom-field-delete-pop": "ქმედება გამოიწვევს მომხმარებლის ველის წაშლას ყველა ბარათიდან და გაანადგურებს მის ისტორიას, რის შემდეგაც შეუძლებელი იქნება მისი უკან დაბრუნება. ",
|
||||
"custom-field-checkbox": "მოსანიშნი გრაფა",
|
||||
"custom-field-date": "თარიღი",
|
||||
"custom-field-dropdown": "ჩამოსაშლელი სია",
|
||||
"custom-field-dropdown-none": "(ცარიელი)",
|
||||
"custom-field-dropdown-options": "პარამეტრების სია",
|
||||
"custom-field-dropdown-options-placeholder": "დამატებითი პარამეტრების სანახავად დააჭირეთ enter-ს. ",
|
||||
"custom-field-dropdown-unknown": "(უცნობი)",
|
||||
"custom-field-number": "რიცხვი",
|
||||
"custom-field-text": "ტექსტი",
|
||||
"custom-fields": "მომხმარებლის ველი",
|
||||
"date": "თარიღი",
|
||||
"decline": "უარყოფა",
|
||||
"default-avatar": "სტანდარტული ავატარი",
|
||||
"delete": "წაშლა",
|
||||
"deleteCustomFieldPopup-title": "წავშალოთ მომხმარებლის ველი? ",
|
||||
"deleteLabelPopup-title": "ნამდვილად გსურთ ნიშნის წაშლა? ",
|
||||
"description": "აღწერა",
|
||||
"disambiguateMultiLabelPopup-title": "გაუგებარი ნიშნის მოქმედება",
|
||||
"disambiguateMultiMemberPopup-title": "გაუგებარი წევრის მოქმედება",
|
||||
"discard": "უარყოფა",
|
||||
"done": "დასრულებული",
|
||||
"download": "ჩამოტვირთვა",
|
||||
"edit": "შესწორება",
|
||||
"edit-avatar": "სურათის შეცვლა",
|
||||
"edit-profile": "პროფილის შესწორება",
|
||||
"edit-wip-limit": " WIP ლიმიტის შესწორება",
|
||||
"soft-wip-limit": "მსუბუქი WIP შეზღუდვა ",
|
||||
"editCardStartDatePopup-title": "დაწყების დროის შეცვლა",
|
||||
"editCardDueDatePopup-title": "შეცვალეთ დედლაინი",
|
||||
"editCustomFieldPopup-title": "ველების შესწორება",
|
||||
"editCardSpentTimePopup-title": "დახარჯული დროის შეცვლა",
|
||||
"editLabelPopup-title": "ნიშნის შეცვლა",
|
||||
"editNotificationPopup-title": "შეტყობინებების შესწორება",
|
||||
"editProfilePopup-title": "პროფილის შესწორება",
|
||||
"email": "ელ.ფოსტა",
|
||||
"email-enrollAccount-subject": "An account created for you on __siteName__",
|
||||
"email-enrollAccount-text": "მოგესალმებით __user__,\n\nამ სერვისის გამოსაყენებლად დააკლიკეთ ქვედა ბმულს.\n\n__url__\n\nმადლობა.",
|
||||
"email-fail": "ელ.ფოსტის გაგზავნა ვერ მოხერხდა",
|
||||
"email-fail-text": "ელ.ფოსტის გაგზავნისას დაფიქსირდა შეცდომა",
|
||||
"email-invalid": "არასწორი ელ.ფოსტა",
|
||||
"email-invite": "მოწვევა ელ.ფოსტის მეშვეობით",
|
||||
"email-invite-subject": "__inviter__ გამოგიგზავნათ მოწვევა",
|
||||
"email-invite-text": "ძვირფასო __user__,\n\n__inviter__ გიწვევთ დაფაზე \"__board__\" თანამშრომლობისთვის.\n\nგთხოვთ მიყვეთ ქვემოთ მოცემულ ბმულს:\n\n__url__\n\nმადლობა.",
|
||||
"email-resetPassword-subject": "შეცვალეთ თქვენი პაროლი __siteName-ზე__",
|
||||
"email-resetPassword-text": "გამარჯობა__user__,\n\nპაროლის შესაცვლელად დააკლიკეთ ქვედა ბმულს .\n\n__url__\n\nმადლობა.",
|
||||
"email-sent": "ელ.ფოსტა გაგზავნილია",
|
||||
"email-verifyEmail-subject": "შეამოწმეთ ელ.ფოსტის მისამართი __siteName-ზე__",
|
||||
"email-verifyEmail-text": "გამარჯობა __user__,\n\nანგარიშის ელ.ფოსტის შესამოწმებლად დააკლიკეთ ქვედა ბმულს.\n\n__url__\n\nმადლობა.",
|
||||
"enable-wip-limit": "გავააქტიუროთ WIP ლიმიტი",
|
||||
"error-board-doesNotExist": "მსგავსი დაფა არ არსებობს",
|
||||
"error-board-notAdmin": "ამის გასაკეთებლად საჭიროა იყოთ დაფის ადმინისტრატორი",
|
||||
"error-board-notAMember": "ამის გასაკეთებლად საჭიროა იყოთ დაფის წევრი",
|
||||
"error-json-malformed": "შენი ტექსტი არ არის ვალიდური JSON",
|
||||
"error-json-schema": "თქვენი JSON მონაცემები არ შეიცავს ზუსტ ინფორმაციას სწორ ფორმატში ",
|
||||
"error-list-doesNotExist": "ეს ცხრილი არ არსებობს",
|
||||
"error-user-doesNotExist": "მსგავსი მომხმარებელი არ არსებობს",
|
||||
"error-user-notAllowSelf": "თქვენ არ შეგიძლიათ საკუთარი თავის მოწვევა",
|
||||
"error-user-notCreated": "მომხმარებელი არ შეიქმნა",
|
||||
"error-username-taken": "არსებობს მსგავსი მომხმარებელი",
|
||||
"error-email-taken": "უკვე არსებობს მსგავსი ელ.ფოსტა",
|
||||
"export-board": "დაფის ექსპორტი",
|
||||
"filter": "ფილტრი",
|
||||
"filter-cards": "ბარათების გაფილტვრა",
|
||||
"filter-clear": "ფილტრის გასუფთავება",
|
||||
"filter-no-label": "ნიშანი არ გვაქვს",
|
||||
"filter-no-member": "არ არის წევრები ",
|
||||
"filter-no-custom-fields": "არა მომხმარებლის ველი",
|
||||
"filter-on": "ფილტრი ჩართულია",
|
||||
"filter-on-desc": "თქვენ ფილტრავთ ბარათებს ამ დაფაზე. დააკლიკეთ აქ ფილტრაციის შესწორებისთვის. ",
|
||||
"filter-to-selection": "მონიშნულის გაფილტვრა",
|
||||
"advanced-filter-label": "გაფართოებული ფილტრაცია",
|
||||
"advanced-filter-description": "გაფართოებული ფილტრაცია, უფლებას გაძლევთ დაწეროთ მწკრივი რომლებიც შეიცავენ შემდეგ ოპერაციებს : == != <= >= && || ( ) space გამოიყენება როგორც გამმიჯნავი ოპერაციებს შორის. თქვენ შეგიძლიათ გაფილტროთ მომხმარებლის ველი მათი სახელებისა და ღირებულებების მიხედვით. მაგალითად: Field1 == Value1. გაითვალისწინეთ რომ თუ ველი ან ღირებულება შეიცავს space-ს თქვენ დაგჭირდებათ მათი მოთავსება ერთ ციტატაში მაგ: 'Field 1' == 'Value 1'. ერთი კონტროლის სიმბოლოებისთვის (' \\/) გამოტოვება, შეგიძლიათ გამოიყენოთ \\. მაგ: Field1 == I\\'m. აგრეთვე თქვენ შეგიძლიათ შეურიოთ რამოდენიმე კომბინაცია. მაგალითად: F1 == V1 || F1 == V2. როგორც წესი ყველა ოპერაცია ინტერპრეტირებულია მარცხნიდან მარჯვნივ. თქვენ შეგიძლიათ შეცვალოთ რიგითობა ფრჩხილების შეცვლით მაგალითად: F1 == V1 && ( F2 == V2 || F2 == V3 ). აგრეთვე შეგიძლიათ მოძებნოთ ტექსტის ველები რეგექსით F1 == /Tes.*/i",
|
||||
"fullname": "სახელი და გვარი",
|
||||
"header-logo-title": "დაბრუნდით უკან დაფების გვერდზე.",
|
||||
"hide-system-messages": "დამალეთ სისტემური შეტყობინებები",
|
||||
"headerBarCreateBoardPopup-title": "დაფის შექმნა",
|
||||
"home": "სახლი",
|
||||
"import": "იმპორტირება",
|
||||
"import-board": " დაფის იმპორტი",
|
||||
"import-board-c": "დაფის იმპორტი",
|
||||
"import-board-title-trello": "დაფის იმპორტი Trello-დან",
|
||||
"import-board-title-wekan": "დაფის იმპორტი Wekan-დან",
|
||||
"import-sandstorm-warning": "იმპორტირებული დაფა წაშლის ყველა არსებულ მონაცემს დაფაზე და შეანაცვლებს მას იმპორტირებული დაფა. ",
|
||||
"from-trello": "Trello-დან",
|
||||
"from-wekan": "Wekan-დან",
|
||||
"import-board-instruction-trello": "თქვენს Trello დაფაზე, შედით \"მენიუ\"-ში, შემდეგ დააკლიკეთ \"მეტი\", \"ამოპრინტერება და ექსპორტი\", \"JSON-ის ექსპორტი\" და დააკოპირეთ შედეგი. ",
|
||||
"import-board-instruction-wekan": "თქვენს Wekan დაფაზე, შედით \"მენიუ\"-ში შემდეგ დააკლიკეთ \"დაფის ექსპორტი\" და დააკოპირეთ ტექსტი ჩამოტვირთულ ფაილში.",
|
||||
"import-json-placeholder": "მოათავსეთ თქვენი ვალიდური JSON მონაცემები აქ. ",
|
||||
"import-map-members": "რუკის წევრები",
|
||||
"import-members-map": "თქვენს იმპორტირებულ დაფას ჰყავს მომხმარებლები. გთხოვთ დაამატოთ ის წევრები რომლის იმპორტიც გსურთ Wekan მომხმარებლებში",
|
||||
"import-show-user-mapping": "მომხმარებლის რუკების განხილვა",
|
||||
"import-user-select": "აირჩიეთ Wekan მომხმარებელი, რომელიც გსურთ რომ გახდეს წევრი",
|
||||
"importMapMembersAddPopup-title": "მონიშნეთ Wekan მომხმარებელი",
|
||||
"info": "ვერსია",
|
||||
"initials": "ინიციალები",
|
||||
"invalid-date": "არასწორი თარიღი",
|
||||
"invalid-time": "არასწორი დრო",
|
||||
"invalid-user": "არასწორი მომხმარებელი",
|
||||
"joined": "შემოუერთდა",
|
||||
"just-invited": "თქვენ მოწვეული ხართ ამ დაფაზე",
|
||||
"keyboard-shortcuts": "კლავიატურის კომბინაციები",
|
||||
"label-create": "ნიშნის შექმნა",
|
||||
"label-default": "%s ნიშანი (default)",
|
||||
"label-delete-pop": "იმ შემთხვევაში თუ წაშლით ნიშანს, ყველა ბარათიდან ისტორია ავტომატურად წაიშლება და შეუძლებელი იქნება მისი უკან დაბრუნება.",
|
||||
"labels": "ნიშნები",
|
||||
"language": "ენა",
|
||||
"last-admin-desc": "თქვენ ვერ შეცვლით როლებს რადგან უნდა არსებობდეს ერთი ადმინი მაინც.",
|
||||
"leave-board": "დატოვეთ დაფა",
|
||||
"leave-board-pop": "დარწმუნებული ხართ, რომ გინდათ დატოვოთ __boardTitle__? თქვენ წაიშლებით ამ დაფის ყველა ბარათიდან. ",
|
||||
"leaveBoardPopup-title": "გსურთ დაფის დატოვება? ",
|
||||
"link-card": "დააკავშირეთ ამ ბარათთან",
|
||||
"list-archive-cards": "ყველა ბარათის სანაგვე ურნაში გადატანა",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "გადაიტანე ყველა ბარათი ამ სიაში",
|
||||
"list-select-cards": "მონიშნე ყველა ბარათი ამ სიაში",
|
||||
"listActionPopup-title": "მოქმედებების სია",
|
||||
"swimlaneActionPopup-title": "ბილიკის მოქმედებები",
|
||||
"listImportCardPopup-title": "Trello ბარათის იმპორტი",
|
||||
"listMorePopup-title": "მეტი",
|
||||
"link-list": "დააკავშირეთ ამ ჩამონათვალთან",
|
||||
"list-delete-pop": "ყველა მოქმედება წაიშლება აქტივობების ველიდან და თქვენ ვეღარ შეძლებთ მის აღდგენას ჩამონათვალში",
|
||||
"list-delete-suggest-archive": "თქვენ შეგიძლიათ გადაიტანოთ ჩამონათვალი სანაგვე ურნაში, იმისთვის, რომ წაშალოთ დაფიდან და შეინახოთ აქტივობა. ",
|
||||
"lists": "ჩამონათვალი",
|
||||
"swimlanes": "ბილიკები",
|
||||
"log-out": "გამოსვლა",
|
||||
"log-in": "შესვლა",
|
||||
"loginPopup-title": "შესვლა",
|
||||
"memberMenuPopup-title": "მომხმარებლის პარამეტრები",
|
||||
"members": "წევრები",
|
||||
"menu": "მენიუ",
|
||||
"move-selection": "მონიშნულის მოძრაობა",
|
||||
"moveCardPopup-title": "ბარათის გადატანა",
|
||||
"moveCardToBottom-title": "ქვევით ჩამოწევა",
|
||||
"moveCardToTop-title": "ზევით აწევა",
|
||||
"moveSelectionPopup-title": "მონიშნულის მოძრაობა",
|
||||
"multi-selection": "რამდენიმეს მონიშვნა",
|
||||
"multi-selection-on": "რამდენიმეს მონიშვნა ჩართულია",
|
||||
"muted": "ხმა გათიშულია",
|
||||
"muted-info": "თქვენ აღარ მიიღებთ შეტყობინებას ამ დაფაზე მიმდინარე ცვლილებების შესახებ. ",
|
||||
"my-boards": "ჩემი დაფები",
|
||||
"name": "სახელი",
|
||||
"no-archived-cards": "სანაგვე ურნაში ბარათები არ მოიძებნა.",
|
||||
"no-archived-lists": "სანაგვე ურნაში ჩამონათვალი არ მოიძებნა. ",
|
||||
"no-archived-swimlanes": "სანაგვე ურნაში ბილიკები არ მოიძებნა.",
|
||||
"no-results": "შედეგის გარეშე",
|
||||
"normal": "ნორმალური",
|
||||
"normal-desc": "შეუძლია ნახოს და შეასწოროს ბარათები. ამ პარამეტრების შეცვლა შეუძლებელია. ",
|
||||
"not-accepted-yet": "მოწვევა ჯერ არ დადასტურებულა",
|
||||
"notify-participate": "მიიღეთ განახლებები ნებისმიერ ბარათზე, რომელშიც მონაწილეობთ, როგორც შემქმნელი ან წევრი. ",
|
||||
"notify-watch": "მიიღეთ განახლებები ყველა დაფაზე, ჩამონათვალზე ან ბარათებზე, რომელსაც თქვენ აკვირდებით",
|
||||
"optional": "არჩევითი",
|
||||
"or": "ან",
|
||||
"page-maybe-private": "ეს გვერდი შესაძლოა იყოს კერძო. თქვენ შეგეძლებათ მისი ნახვა <a href='%s'>logging in</a> მეშვეობით.",
|
||||
"page-not-found": "გვერდი არ მოიძებნა.",
|
||||
"password": "პაროლი",
|
||||
"paste-or-dragdrop": "ჩასმისთვის, ან drag & drop-ისთვის ჩააგდეთ სურათი აქ (მხოლოდ სურათი)",
|
||||
"participating": "მონაწილეობა",
|
||||
"preview": "წინასწარ ნახვა",
|
||||
"previewAttachedImagePopup-title": "წინასწარ ნახვა",
|
||||
"previewClipboardImagePopup-title": "წინასწარ ნახვა",
|
||||
"private": "კერძო",
|
||||
"private-desc": "ეს არის კერძო დაფა. დაფაზე წვდომის, ნახვის და რედაქტირების უფლება აქვთ მხოლოდ მასზე დამატებულ წევრებს. ",
|
||||
"profile": "პროფილი",
|
||||
"public": "საჯარო",
|
||||
"public-desc": "ეს დაფა არის საჯარო. ის ხილვადია ყველასთვის და შესაძლოა გამოჩნდეს საძიებო სისტემებში. შესწორების უფლება აქვს მხოლოდ მასზე დამატებულ პირებს. ",
|
||||
"quick-access-description": "მონიშნეთ დაფა ვარსკვლავით იმისთვის, რომ დაამატოთ სწრაფი ბმული ამ ნაწილში.",
|
||||
"remove-cover": "გარეკანის წაშლა",
|
||||
"remove-from-board": "დაფიდან წაშლა",
|
||||
"remove-label": "ნიშნის წაშლა",
|
||||
"listDeletePopup-title": "ნამდვილად გსურთ სიის წაშლა? ",
|
||||
"remove-member": "წევრის წაშლა",
|
||||
"remove-member-from-card": "ბარათიდან წაშლა",
|
||||
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
|
||||
"removeMemberPopup-title": "ნამდვილად გსურთ წევრის წაშლა? ",
|
||||
"rename": "სახელის შეცვლა",
|
||||
"rename-board": "დაფის სახელის ცვლილება",
|
||||
"restore": "აღდგენა",
|
||||
"save": "დამახსოვრება",
|
||||
"search": "ძებნა",
|
||||
"search-cards": "მოძებნეთ ბარათის სახელით და აღწერით ამ დაფაზე",
|
||||
"search-example": "საძიებო ტექსტი",
|
||||
"select-color": "ფერის მონიშვნა",
|
||||
"set-wip-limit-value": "დააყენეთ შეზღუდვა დავალებების მაქსიმალურ რაოდენობაზე ",
|
||||
"setWipLimitPopup-title": "დააყენეთ WIP ლიმიტი",
|
||||
"shortcut-assign-self": "მონიშნეთ საკუთარი თავი აღნიშნულ ბარათზე",
|
||||
"shortcut-autocomplete-emoji": "emoji-ის ავტომატური შევსება",
|
||||
"shortcut-autocomplete-members": "მომხმარებლების ავტომატური შევსება",
|
||||
"shortcut-clear-filters": "ყველა ფილტრის გასუფთავება",
|
||||
"shortcut-close-dialog": "დიალოგის დახურვა",
|
||||
"shortcut-filter-my-cards": "ჩემი ბარათების გაფილტვრა",
|
||||
"shortcut-show-shortcuts": "Bring up this shortcuts list",
|
||||
"shortcut-toggle-filterbar": "ფილტრაციის გვერდითა ღილაკი",
|
||||
"shortcut-toggle-sidebar": "გვერდით მენიუს ჩართვა/გამორთვა",
|
||||
"show-cards-minimum-count": "აჩვენეთ ბარათების დათვლილი რაოდენობა თუ ჩამონათვალი შეიცავს უფრო მეტს ვიდრე ",
|
||||
"sidebar-open": "გახსენით მცირე სტატია",
|
||||
"sidebar-close": "დახურეთ მცირე სტატია",
|
||||
"signupPopup-title": "ანგარიშის შექმნა",
|
||||
"star-board-title": "დააკლიკეთ დაფის ვარსკვლავით მონიშვნისთვის. ეს ქმედება დაგეხმარებათ გამოაჩინოთ დაფა ჩამონათვალში ზედა პოზიციებზე. ",
|
||||
"starred-boards": "ვარსკვლავიანი დაფები",
|
||||
"starred-boards-description": "Starred boards show up at the top of your boards list.",
|
||||
"subscribe": "გამოწერა",
|
||||
"team": "ჯგუფი",
|
||||
"this-board": "ეს დაფა",
|
||||
"this-card": "ეს ბარათი",
|
||||
"spent-time-hours": "დახარჯული დრო (საათები)",
|
||||
"overtime-hours": "ზედმეტი დრო (საათები) ",
|
||||
"overtime": "ზედმეტი დრო",
|
||||
"has-overtime-cards": "აქვს ვადაგადაცდილებული ბარათები",
|
||||
"has-spenttime-cards": "აქვს გახარჯული დროის ბარათები",
|
||||
"time": "დრო",
|
||||
"title": "სათაური",
|
||||
"tracking": "მონიტორინგი",
|
||||
"tracking-info": "თქვენ მოგივათ შეტყობინება ამ ბარათებში განხორციელებული ნებისმიერი ცვლილებების შესახებ, როგორც შემქმნელს ან წევრს. ",
|
||||
"type": "ტიპი",
|
||||
"unassign-member": "არაუფლებამოსილი წევრი",
|
||||
"unsaved-description": "თქვან გაქვთ დაუმახსოვრებელი აღწერა. ",
|
||||
"unwatch": "ნახვის გამორთვა",
|
||||
"upload": "ატვირთვა",
|
||||
"upload-avatar": "სურათის ატვირთვა",
|
||||
"uploaded-avatar": "სურათი ატვირთულია",
|
||||
"username": "მომხმარებლის სახელი",
|
||||
"view-it": "ნახვა",
|
||||
"warn-list-archived": "გაფრთხილება: ეს ბარათი არის ჩამონათვალში სანაგვე ურნაში",
|
||||
"watch": "ნახვა",
|
||||
"watching": "ნახვის პროცესი",
|
||||
"watching-info": "თქვენ მოგივათ შეტყობინება ამ დაფაზე არსებული ნებისმიერი ცვლილების შესახებ. ",
|
||||
"welcome-board": "მისასალმებელი დაფა",
|
||||
"welcome-swimlane": "ეტაპი 1 ",
|
||||
"welcome-list1": "ბაზისური ",
|
||||
"welcome-list2": "დაწინაურებული",
|
||||
"what-to-do": "რისი გაკეთება გსურთ? ",
|
||||
"wipLimitErrorPopup-title": "არასწორი WIP ლიმიტი",
|
||||
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
|
||||
"admin-panel": "ადმინის პანელი",
|
||||
"settings": "პარამეტრები",
|
||||
"people": "ხალხი",
|
||||
"registration": "რეგისტრაცია",
|
||||
"disable-self-registration": "თვით რეგისტრაციის გამორთვა",
|
||||
"invite": "მოწვევა",
|
||||
"invite-people": "ხალხის მოწვევა",
|
||||
"to-boards": "დაფა(ებ)ზე",
|
||||
"email-addresses": "ელ.ფოსტის მისამართები",
|
||||
"smtp-host-description": "The address of the SMTP server that handles your emails.",
|
||||
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
|
||||
"smtp-tls-description": "ჩართეთ TLS მხარდაჭერა SMTP სერვერისთვის",
|
||||
"smtp-host": "SMTP Host",
|
||||
"smtp-port": "SMTP Port",
|
||||
"smtp-username": "მომხმარებლის სახელი",
|
||||
"smtp-password": "პაროლი",
|
||||
"smtp-tls": "TLS მხარდაჭერა",
|
||||
"send-from": "დან",
|
||||
"send-smtp-test": "გაუგზავნეთ სატესტო ელ.ფოსტა საკუთარ თავს",
|
||||
"invitation-code": "მოწვევის კოდი",
|
||||
"email-invite-register-subject": "__inviter__ გამოგიგზავნათ მოწვევა",
|
||||
"email-invite-register-text": "ძვირგასო __user__,\n\n__inviter__ გიწვევთ Wekan-ში თანამშრომლობისთვის.\n\nგთხოვთ მიყვეთ ქვემოთ მოცემულ ბმულს:\n__url__\n\nდა ჩაწეროთ თქვენი მოწვევის კოდი: __icode__\n\nმადლობა.",
|
||||
"email-smtp-test-subject": "SMTP Test Email From Wekan",
|
||||
"email-smtp-test-text": "თქვენ წარმატებით გააგზავნეთ ელ.ფოსტა.",
|
||||
"error-invitation-code-not-exist": "მსგავსი მოსაწვევი კოდი არ არსებობს",
|
||||
"error-notAuthorized": "თქვენ არ გაქვთ ამ გვერდის ნახვის უფლება",
|
||||
"outgoing-webhooks": "გამავალი Webhook",
|
||||
"outgoingWebhooksPopup-title": "გამავალი Webhook",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"no-name": "(უცნობი)",
|
||||
"Wekan_version": "Wekan ვერსია",
|
||||
"Node_version": "Node ვერსია",
|
||||
"OS_Arch": "OS Arch",
|
||||
"OS_Cpus": "OS CPU Count",
|
||||
"OS_Freemem": "OS თავისუფალი მეხსიერება",
|
||||
"OS_Loadavg": "OS Load Average",
|
||||
"OS_Platform": "OS პლატფორმა",
|
||||
"OS_Release": "OS რელიზი",
|
||||
"OS_Totalmem": "OS მთლიანი მეხსიერება",
|
||||
"OS_Type": "OS ტიპი",
|
||||
"OS_Uptime": "OS Uptime",
|
||||
"hours": "საათები",
|
||||
"minutes": "წუთები",
|
||||
"seconds": "წამები",
|
||||
"show-field-on-card": "აჩვენეთ ეს ველი ბარათზე",
|
||||
"yes": "დიახ",
|
||||
"no": "არა",
|
||||
"accounts": "ანგარიშები",
|
||||
"accounts-allowEmailChange": "ელ.ფოსტის ცვლილების უფლების დაშვება",
|
||||
"accounts-allowUserNameChange": "მომხმარებლის სახელის ცვლილების უფლების დაშვება ",
|
||||
"createdAt": "შექმნილია",
|
||||
"verified": "შემოწმებული",
|
||||
"active": "აქტიური",
|
||||
"card-received": "მიღებული",
|
||||
"card-received-on": "მიღებულია",
|
||||
"card-end": "დასასრული",
|
||||
"card-end-on": "დასრულდება : ",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "შეცვალეთ საბოლოო თარიღი",
|
||||
"assigned-by": "უფლებამოსილების გამცემი ",
|
||||
"requested-by": "მომთხოვნი",
|
||||
"board-delete-notice": "წაშლის შემთხვევაში თქვენ დაკარგავთ ამ დაფასთან ასოცირებულ ყველა მონაცემს მათ შორის : ჩამონათვალს, ბარათებს და მოქმედებებს. ",
|
||||
"delete-board-confirm-popup": "ყველა ჩამონათვალი, ბარათი, ნიშანი და აქტივობა წაიშლება და თქვენ ვეღარ შეძლებთ მის აღდგენას. ",
|
||||
"boardDeletePopup-title": "წავშალოთ დაფა? ",
|
||||
"delete-board": "დაფის წაშლა",
|
||||
"default-subtasks-board": "ქვესაქმიანობა __board__ დაფისთვის",
|
||||
"default": "Default",
|
||||
"queue": "რიგი",
|
||||
"subtask-settings": "ქვესაქმიანობების პარამეტრები",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "ბარათებს შესაძლოა ჰქონდეს ქვესაქმიანობები",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "ძირითადი დაფა",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
@@ -0,0 +1,502 @@
|
||||
{
|
||||
"accept": "យល់ព្រម",
|
||||
"act-activity-notify": "[Wekan] សកម្មភាពជូនដំណឹង",
|
||||
"act-addAttachment": "attached __attachment__ to __card__",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "commented on __card__: __comment__",
|
||||
"act-createBoard": "created __board__",
|
||||
"act-createCard": "added __card__ to __list__",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "added __list__ to __board__",
|
||||
"act-addBoardMember": "added __member__ to __board__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "imported __board__",
|
||||
"act-importCard": "imported __card__",
|
||||
"act-importList": "imported __list__",
|
||||
"act-joinMember": "added __member__ to __card__",
|
||||
"act-moveCard": "moved __card__ from __oldList__ to __list__",
|
||||
"act-removeBoardMember": "removed __member__ from __board__",
|
||||
"act-restoredCard": "restored __card__ to __board__",
|
||||
"act-unjoinMember": "removed __member__ from __card__",
|
||||
"act-withBoardTitle": "[Wekan] __board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Actions",
|
||||
"activities": "Activities",
|
||||
"activity": "Activity",
|
||||
"activity-added": "added %s to %s",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "created %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
"activity-joined": "joined %s",
|
||||
"activity-moved": "moved %s from %s to %s",
|
||||
"activity-on": "on %s",
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "Add",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
"add-members": "Add Members",
|
||||
"added": "Added",
|
||||
"addMemberPopup-title": "Members",
|
||||
"admin": "Admin",
|
||||
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
|
||||
"admin-announcement": "Announcement",
|
||||
"admin-announcement-active": "Active System-Wide Announcement",
|
||||
"admin-announcement-title": "Announcement from Administrator",
|
||||
"all-boards": "All boards",
|
||||
"and-n-other-card": "And __count__ other card",
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apply",
|
||||
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
"attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.",
|
||||
"attachmentDeletePopup-title": "Delete Attachment?",
|
||||
"attachments": "Attachments",
|
||||
"auto-watch": "Automatically watch boards when they are created",
|
||||
"avatar-too-big": "The avatar is too large (70KB max)",
|
||||
"back": "Back",
|
||||
"board-change-color": "Change color",
|
||||
"board-nb-stars": "%s stars",
|
||||
"board-not-found": "Board not found",
|
||||
"board-private-info": "This board will be <strong>private</strong>.",
|
||||
"board-public-info": "This board will be <strong>public</strong>.",
|
||||
"boardChangeColorPopup-title": "Change Board Background",
|
||||
"boardChangeTitlePopup-title": "Rename Board",
|
||||
"boardChangeVisibilityPopup-title": "Change Visibility",
|
||||
"boardChangeWatchPopup-title": "Change Watch",
|
||||
"boardMenuPopup-title": "Board Menu",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Lists",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edit labels",
|
||||
"card-edit-members": "Edit members",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
"card-members-title": "Add or remove members of the board from the card.",
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Delete Card?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Labels",
|
||||
"cardMembersPopup-title": "Members",
|
||||
"cardMorePopup-title": "More",
|
||||
"cards": "Cards",
|
||||
"cards-count": "Cards",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
"change-permissions": "Change permissions",
|
||||
"change-settings": "Change Settings",
|
||||
"changeAvatarPopup-title": "Change Avatar",
|
||||
"changeLanguagePopup-title": "Change Language",
|
||||
"changePasswordPopup-title": "Change Password",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Change Settings",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "black",
|
||||
"color-blue": "blue",
|
||||
"color-green": "green",
|
||||
"color-lime": "lime",
|
||||
"color-orange": "orange",
|
||||
"color-pink": "pink",
|
||||
"color-purple": "purple",
|
||||
"color-red": "red",
|
||||
"color-sky": "sky",
|
||||
"color-yellow": "yellow",
|
||||
"comment": "Comment",
|
||||
"comment-placeholder": "Write Comment",
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"computer": "Computer",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"create": "Create",
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Date",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Delete",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
|
||||
"discard": "Discard",
|
||||
"done": "Done",
|
||||
"download": "Download",
|
||||
"edit": "Edit",
|
||||
"edit-avatar": "Change Avatar",
|
||||
"edit-profile": "Edit Profile",
|
||||
"edit-wip-limit": "Edit WIP Limit",
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Change start date",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
"editProfilePopup-title": "Edit Profile",
|
||||
"email": "Email",
|
||||
"email-enrollAccount-subject": "An account created for you on __siteName__",
|
||||
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"email-fail": "Sending email failed",
|
||||
"email-fail-text": "Error trying to send email",
|
||||
"email-invalid": "Invalid email",
|
||||
"email-invite": "Invite via Email",
|
||||
"email-invite-subject": "__inviter__ sent you an invitation",
|
||||
"email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.",
|
||||
"email-resetPassword-subject": "Reset your password on __siteName__",
|
||||
"email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"email-sent": "Email sent",
|
||||
"email-verifyEmail-subject": "Verify your email address on __siteName__",
|
||||
"email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"enable-wip-limit": "Enable WIP Limit",
|
||||
"error-board-doesNotExist": "This board does not exist",
|
||||
"error-board-notAdmin": "You need to be admin of this board to do that",
|
||||
"error-board-notAMember": "You need to be a member of this board to do that",
|
||||
"error-json-malformed": "Your text is not valid JSON",
|
||||
"error-json-schema": "Your JSON data does not include the proper information in the correct format",
|
||||
"error-list-doesNotExist": "This list does not exist",
|
||||
"error-user-doesNotExist": "This user does not exist",
|
||||
"error-user-notAllowSelf": "You can not invite yourself",
|
||||
"error-user-notCreated": "This user is not created",
|
||||
"error-username-taken": "This username is already taken",
|
||||
"error-email-taken": "Email has already been taken",
|
||||
"export-board": "Export board",
|
||||
"filter": "Filter",
|
||||
"filter-cards": "Filter Cards",
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Full Name",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
"headerBarCreateBoardPopup-title": "Create Board",
|
||||
"home": "Home",
|
||||
"import": "Import",
|
||||
"import-board": "import board",
|
||||
"import-board-c": "Import board",
|
||||
"import-board-title-trello": "Import board from Trello",
|
||||
"import-board-title-wekan": "Import board from Wekan",
|
||||
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
|
||||
"from-trello": "From Trello",
|
||||
"from-wekan": "From Wekan",
|
||||
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
|
||||
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
|
||||
"import-show-user-mapping": "Review members mapping",
|
||||
"import-user-select": "Pick the Wekan user you want to use as this member",
|
||||
"importMapMembersAddPopup-title": "Select Wekan member",
|
||||
"info": "Version",
|
||||
"initials": "Initials",
|
||||
"invalid-date": "Invalid date",
|
||||
"invalid-time": "Invalid time",
|
||||
"invalid-user": "Invalid user",
|
||||
"joined": "joined",
|
||||
"just-invited": "You are just invited to this board",
|
||||
"keyboard-shortcuts": "Keyboard shortcuts",
|
||||
"label-create": "Create Label",
|
||||
"label-default": "%s label (default)",
|
||||
"label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.",
|
||||
"labels": "Labels",
|
||||
"language": "Language",
|
||||
"last-admin-desc": "You can’t change roles because there must be at least one admin.",
|
||||
"leave-board": "Leave Board",
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"listActionPopup-title": "List Actions",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"listImportCardPopup-title": "Import a Trello card",
|
||||
"listMorePopup-title": "More",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "Lists",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Log Out",
|
||||
"log-in": "Log In",
|
||||
"loginPopup-title": "Log In",
|
||||
"memberMenuPopup-title": "Member Settings",
|
||||
"members": "Members",
|
||||
"menu": "Menu",
|
||||
"move-selection": "Move selection",
|
||||
"moveCardPopup-title": "Move Card",
|
||||
"moveCardToBottom-title": "Move to Bottom",
|
||||
"moveCardToTop-title": "Move to Top",
|
||||
"moveSelectionPopup-title": "Move selection",
|
||||
"multi-selection": "Multi-Selection",
|
||||
"multi-selection-on": "Multi-Selection is on",
|
||||
"muted": "Muted",
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Name",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
"not-accepted-yet": "Invitation not accepted yet",
|
||||
"notify-participate": "Receive updates to any cards you participate as creater or member",
|
||||
"notify-watch": "Receive updates to any boards, lists, or cards you’re watching",
|
||||
"optional": "optional",
|
||||
"or": "or",
|
||||
"page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
|
||||
"page-not-found": "Page not found.",
|
||||
"password": "Password",
|
||||
"paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)",
|
||||
"participating": "Participating",
|
||||
"preview": "Preview",
|
||||
"previewAttachedImagePopup-title": "Preview",
|
||||
"previewClipboardImagePopup-title": "Preview",
|
||||
"private": "Private",
|
||||
"private-desc": "This board is private. Only people added to the board can view and edit it.",
|
||||
"profile": "Profile",
|
||||
"public": "Public",
|
||||
"public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.",
|
||||
"quick-access-description": "Star a board to add a shortcut in this bar.",
|
||||
"remove-cover": "Remove Cover",
|
||||
"remove-from-board": "Remove from Board",
|
||||
"remove-label": "Remove Label",
|
||||
"listDeletePopup-title": "Delete List ?",
|
||||
"remove-member": "Remove Member",
|
||||
"remove-member-from-card": "Remove from Card",
|
||||
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
|
||||
"removeMemberPopup-title": "Remove Member?",
|
||||
"rename": "Rename",
|
||||
"rename-board": "Rename Board",
|
||||
"restore": "Restore",
|
||||
"save": "Save",
|
||||
"search": "Search",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"select-color": "Select Color",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
"shortcut-assign-self": "Assign yourself to current card",
|
||||
"shortcut-autocomplete-emoji": "Autocomplete emoji",
|
||||
"shortcut-autocomplete-members": "Autocomplete members",
|
||||
"shortcut-clear-filters": "Clear all filters",
|
||||
"shortcut-close-dialog": "បិទផ្ទាំង",
|
||||
"shortcut-filter-my-cards": "តម្រងកាតរបស់ខ្ញុំ",
|
||||
"shortcut-show-shortcuts": "Bring up this shortcuts list",
|
||||
"shortcut-toggle-filterbar": "Toggle Filter Sidebar",
|
||||
"shortcut-toggle-sidebar": "Toggle Board Sidebar",
|
||||
"show-cards-minimum-count": "Show cards count if list contains more than",
|
||||
"sidebar-open": "Open Sidebar",
|
||||
"sidebar-close": "Close Sidebar",
|
||||
"signupPopup-title": "បង្កើតគណនីមួយ",
|
||||
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
|
||||
"starred-boards": "Starred Boards",
|
||||
"starred-boards-description": "Starred boards show up at the top of your boards list.",
|
||||
"subscribe": "Subscribe",
|
||||
"team": "Team",
|
||||
"this-board": "this board",
|
||||
"this-card": "កាតនេះ",
|
||||
"spent-time-hours": "ចំណាយពេល (ម៉ោង)",
|
||||
"overtime-hours": "លើសពេល (ម៉ោង)",
|
||||
"overtime": "លើសពេល",
|
||||
"has-overtime-cards": "មានកាតលើសពេល",
|
||||
"has-spenttime-cards": "មានកាតដែលបានចំណាយពេល",
|
||||
"time": "Time",
|
||||
"title": "Title",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
"upload": "Upload",
|
||||
"upload-avatar": "Upload an avatar",
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Username",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "Watch",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
"welcome-board": "Welcome Board",
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-list1": "Basics",
|
||||
"welcome-list2": "Advanced",
|
||||
"what-to-do": "What do you want to do?",
|
||||
"wipLimitErrorPopup-title": "Invalid WIP Limit",
|
||||
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
|
||||
"admin-panel": "Admin Panel",
|
||||
"settings": "Settings",
|
||||
"people": "People",
|
||||
"registration": "Registration",
|
||||
"disable-self-registration": "Disable Self-Registration",
|
||||
"invite": "Invite",
|
||||
"invite-people": "Invite People",
|
||||
"to-boards": "To board(s)",
|
||||
"email-addresses": "Email Addresses",
|
||||
"smtp-host-description": "The address of the SMTP server that handles your emails.",
|
||||
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
|
||||
"smtp-tls-description": "Enable TLS support for SMTP server",
|
||||
"smtp-host": "SMTP Host",
|
||||
"smtp-port": "SMTP Port",
|
||||
"smtp-username": "Username",
|
||||
"smtp-password": "Password",
|
||||
"smtp-tls": "TLS support",
|
||||
"send-from": "From",
|
||||
"send-smtp-test": "Send a test email to yourself",
|
||||
"invitation-code": "Invitation Code",
|
||||
"email-invite-register-subject": "__inviter__ sent you an invitation",
|
||||
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
|
||||
"email-smtp-test-subject": "SMTP Test Email From Wekan",
|
||||
"email-smtp-test-text": "You have successfully sent an email",
|
||||
"error-invitation-code-not-exist": "Invitation code doesn't exist",
|
||||
"error-notAuthorized": "You are not authorized to view this page.",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"no-name": "(Unknown)",
|
||||
"Wekan_version": "Wekan version",
|
||||
"Node_version": "Node version",
|
||||
"OS_Arch": "OS Arch",
|
||||
"OS_Cpus": "OS CPU Count",
|
||||
"OS_Freemem": "OS Free Memory",
|
||||
"OS_Loadavg": "OS Load Average",
|
||||
"OS_Platform": "OS Platform",
|
||||
"OS_Release": "OS Release",
|
||||
"OS_Totalmem": "OS Total Memory",
|
||||
"OS_Type": "OS Type",
|
||||
"OS_Uptime": "OS Uptime",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
+92
-29
@@ -2,17 +2,19 @@
|
||||
"accept": "확인",
|
||||
"act-activity-notify": "[Wekan] 활동 알림",
|
||||
"act-addAttachment": "__attachment__를 __card__에 첨부",
|
||||
"act-addSubtask": "added subtask __checklist__ to __card__",
|
||||
"act-addChecklist": "added checklist __checklist__ to __card__",
|
||||
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
|
||||
"act-addComment": "__card__에 내용 추가 : __comment__",
|
||||
"act-createBoard": "__board__ 생성",
|
||||
"act-createCard": "__list__에 __card__ 추가",
|
||||
"act-createCustomField": "created custom field __customField__",
|
||||
"act-createList": "__board__에 __list__ 추가",
|
||||
"act-addBoardMember": "__board__에 __member__ 추가",
|
||||
"act-archivedBoard": "보관 된 __board__",
|
||||
"act-archivedCard": "보관 된 __card__",
|
||||
"act-archivedList": "보관 된 __list__",
|
||||
"act-archivedSwimlane": "archived __swimlane__",
|
||||
"act-archivedBoard": "__board__ moved to Recycle Bin",
|
||||
"act-archivedCard": "__card__ moved to Recycle Bin",
|
||||
"act-archivedList": "__list__ moved to Recycle Bin",
|
||||
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
|
||||
"act-importBoard": "가져온 __board__",
|
||||
"act-importCard": "가져온 __card__",
|
||||
"act-importList": "가져온 __list__",
|
||||
@@ -27,9 +29,10 @@
|
||||
"activities": "활동 내역",
|
||||
"activity": "활동 상태",
|
||||
"activity-added": "%s를 %s에 추가함",
|
||||
"activity-archived": "%s 저장됨",
|
||||
"activity-archived": "%s moved to Recycle Bin",
|
||||
"activity-attached": "%s를 %s에 첨부함",
|
||||
"activity-created": "%s 생성됨",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "%s를 %s에서 제외함",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
@@ -39,6 +42,7 @@
|
||||
"activity-removed": "%s를 %s에서 삭제함",
|
||||
"activity-sent": "%s를 %s로 보냄",
|
||||
"activity-unjoined": "%s에서 멤버 해제",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checklist-added": "%s에 체크리스트를 추가함",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"add": "추가",
|
||||
@@ -46,6 +50,7 @@
|
||||
"add-board": "보드 추가",
|
||||
"add-card": "카드 추가",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "체크리스트 추가",
|
||||
"add-checklist-item": "체크리스트에 항목 추가",
|
||||
"add-cover": "커버 추가",
|
||||
@@ -64,19 +69,19 @@
|
||||
"and-n-other-card_plural": "__count__ 개의 다른 카드들",
|
||||
"apply": "적용",
|
||||
"app-is-offline": "Wekan 로딩 중 입니다. 잠시 기다려주세요. 페이지를 새로고침 하시면 데이터가 손실될 수 있습니다. Wekan 을 불러오는데 실패한다면 서버가 중지되지 않았는지 확인 바랍니다.",
|
||||
"archive": "보관",
|
||||
"archive-all": "모두 보관",
|
||||
"archive-board": "보드 저장소 보관",
|
||||
"archive-card": "카드 저장소 보관",
|
||||
"archive-list": "리스트 저장소 보관",
|
||||
"archive-swimlane": "Archive Swimlane",
|
||||
"archive-selection": "저장소 선택",
|
||||
"archiveBoardPopup-title": "보드를 저장소에 보관하시겠습니까?",
|
||||
"archived-items": "보관된 아이템",
|
||||
"archived-boards": "저장소 보관된 보드들",
|
||||
"archive": "Move to Recycle Bin",
|
||||
"archive-all": "Move All to Recycle Bin",
|
||||
"archive-board": "Move Board to Recycle Bin",
|
||||
"archive-card": "Move Card to Recycle Bin",
|
||||
"archive-list": "Move List to Recycle Bin",
|
||||
"archive-swimlane": "Move Swimlane to Recycle Bin",
|
||||
"archive-selection": "Move selection to Recycle Bin",
|
||||
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
|
||||
"archived-items": "Recycle Bin",
|
||||
"archived-boards": "Boards in Recycle Bin",
|
||||
"restore-board": "보드 복구",
|
||||
"no-archived-boards": "보관된 보드가 없습니다.",
|
||||
"archives": "저장소",
|
||||
"no-archived-boards": "No Boards in Recycle Bin.",
|
||||
"archives": "Recycle Bin",
|
||||
"assign-member": "멤버 지정",
|
||||
"attached": "첨부됨",
|
||||
"attachment": "첨부 파일",
|
||||
@@ -98,19 +103,21 @@
|
||||
"boardMenuPopup-title": "보드 메뉴",
|
||||
"boards": "보드",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "목록들",
|
||||
"bucket-example": "예: “프로젝트 이름“ 입력",
|
||||
"cancel": "취소",
|
||||
"card-archived": "이 카드를 보관합니다.",
|
||||
"card-archived": "This card is moved to Recycle Bin.",
|
||||
"card-comments-title": "이 카드에 %s 코멘트가 있습니다.",
|
||||
"card-delete-notice": "영구 삭제입니다. 이 카드와 관련된 모든 작업들을 잃게됩니다.",
|
||||
"card-delete-pop": "모든 작업이 활동 내역에서 제거되며 카드를 다시 열 수 없습니다. 복구가 안되니 주의하시기 바랍니다.",
|
||||
"card-delete-suggest-archive": "카드를 보관하여 보드에서 제거하고 내용을 저장소에 보관 할 수 있습니다.",
|
||||
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"card-due": "종료일",
|
||||
"card-due-on": "종료일",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "첨부 파일 수정",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "라벨 수정",
|
||||
"card-edit-members": "멤버 수정",
|
||||
"card-labels-title": "카드의 라벨 변경.",
|
||||
@@ -118,12 +125,16 @@
|
||||
"card-start": "시작일",
|
||||
"card-start-on": "시작일",
|
||||
"cardAttachmentsPopup-title": "첨부 파일",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "카드를 삭제합니까?",
|
||||
"cardDetailsActionsPopup-title": "카드 액션",
|
||||
"cardLabelsPopup-title": "라벨",
|
||||
"cardMembersPopup-title": "멤버",
|
||||
"cardMorePopup-title": "더보기",
|
||||
"cards": "카드",
|
||||
"cards-count": "카드",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"change": "변경",
|
||||
"change-avatar": "아바타 변경",
|
||||
"change-password": "암호 변경",
|
||||
@@ -134,13 +145,14 @@
|
||||
"changePasswordPopup-title": "암호 변경",
|
||||
"changePermissionsPopup-title": "권한 변경",
|
||||
"changeSettingsPopup-title": "설정 변경",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "체크리스트",
|
||||
"click-to-star": "보드에 별 추가.",
|
||||
"click-to-unstar": "보드에 별 삭제.",
|
||||
"clipboard": "클립보드 또는 드래그 앤 드롭",
|
||||
"close": "닫기",
|
||||
"close-board": "보드 닫기",
|
||||
"close-board-pop": "홈 화면에서 \"저장소\" 버튼을 클릭하여 보드를 복원 할 수 있습니다.",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
|
||||
"color-black": "블랙",
|
||||
"color-blue": "블루",
|
||||
"color-green": "그린",
|
||||
@@ -156,7 +168,8 @@
|
||||
"comment-only": "댓글만 입력 가능",
|
||||
"comment-only-desc": "카드에 댓글만 달수 있습니다.",
|
||||
"computer": "내 컴퓨터",
|
||||
"confirm-checklist-delete-dialog": "정말 이 체크리스트를 삭제할까요?",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "클립보드에 카드의 링크가 복사되었습니다.",
|
||||
"copyCardPopup-title": "카드 복사",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
@@ -166,11 +179,25 @@
|
||||
"createBoardPopup-title": "보드 생성",
|
||||
"chooseBoardSourcePopup-title": "보드 가져오기",
|
||||
"createLabelPopup-title": "라벨 생성",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "경향",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "날짜",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "날짜",
|
||||
"decline": "쇠퇴",
|
||||
"default-avatar": "기본 아바타",
|
||||
"delete": "삭제",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "라벨을 삭제합니까?",
|
||||
"description": "설명",
|
||||
"disambiguateMultiLabelPopup-title": "라벨 액션의 모호성 제거",
|
||||
@@ -185,6 +212,7 @@
|
||||
"soft-wip-limit": "원만한 WIP 제한",
|
||||
"editCardStartDatePopup-title": "시작일 변경",
|
||||
"editCardDueDatePopup-title": "종료일 변경",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "라벨 변경",
|
||||
"editNotificationPopup-title": "알림 수정",
|
||||
@@ -221,9 +249,12 @@
|
||||
"filter-clear": "필터 초기화",
|
||||
"filter-no-label": "라벨 없음",
|
||||
"filter-no-member": "멤버 없음",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "필터 사용",
|
||||
"filter-on-desc": "보드에서 카드를 필터링합니다. 여기를 클릭하여 필터를 수정합니다.",
|
||||
"filter-to-selection": "선택 항목으로 필터링",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "실명",
|
||||
"header-logo-title": "보드 페이지로 돌아가기.",
|
||||
"hide-system-messages": "시스템 메시지 숨기기",
|
||||
@@ -263,8 +294,8 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "카드에대한 링크",
|
||||
"list-archive-cards": "목록에 있는 모든 카드를 저장소에 보관",
|
||||
"list-archive-cards-pop": "보드의 목록에서 모든 카드를 삭제합니다. 보관된 카드를 보거나 그것들을 보드로 되돌릴려면, \"메뉴\" > \"보관된 아이템\"을 클릭합니다.",
|
||||
"list-archive-cards": "Move all cards in this list to Recycle Bin",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
|
||||
"list-move-cards": "목록에 있는 모든 카드를 이동",
|
||||
"list-select-cards": "목록에 있는 모든 카드를 선택",
|
||||
"listActionPopup-title": "동작 목록",
|
||||
@@ -273,7 +304,7 @@
|
||||
"listMorePopup-title": "더보기",
|
||||
"link-list": "이 리스트에 링크",
|
||||
"list-delete-pop": "모든 작업이 활동내역에서 제거되며 리스트를 복구 할 수 없습니다. 실행 취소는 불가능 합니다.",
|
||||
"list-delete-suggest-archive": "리스트를 보관하여 보드에서 삭제하고 활동내역을 보존 할 수 있습니다.",
|
||||
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "목록들",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "로그아웃",
|
||||
@@ -293,9 +324,9 @@
|
||||
"muted-info": "보드의 변경된 사항들의 알림을 받지 않습니다.",
|
||||
"my-boards": "내 보드",
|
||||
"name": "이름",
|
||||
"no-archived-cards": "보관된 카드가 없습니다.",
|
||||
"no-archived-lists": "보관된 목록이 없습니다.",
|
||||
"no-archived-swimlanes": "No archived swimlanes.",
|
||||
"no-archived-cards": "No cards in Recycle Bin.",
|
||||
"no-archived-lists": "No lists in Recycle Bin.",
|
||||
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
|
||||
"no-results": "결과 값 없음",
|
||||
"normal": "표준",
|
||||
"normal-desc": "카드를 보거나 수정할 수 있습니다. 설정값은 변경할 수 없습니다.",
|
||||
@@ -365,6 +396,7 @@
|
||||
"title": "제목",
|
||||
"tracking": "추적",
|
||||
"tracking-info": "보드 생성자 또는 멤버로 참여하는 모든 카드에 대한 변경사항 알림 받음",
|
||||
"type": "Type",
|
||||
"unassign-member": "멤버 할당 해제",
|
||||
"unsaved-description": "저장되지 않은 설명이 있습니다.",
|
||||
"unwatch": "감시 해제",
|
||||
@@ -373,7 +405,7 @@
|
||||
"uploaded-avatar": "업로드한 아바타",
|
||||
"username": "아이디",
|
||||
"view-it": "보기",
|
||||
"warn-list-archived": "경고: 이 카드는 저장소 목록에 있습니다.",
|
||||
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
|
||||
"watch": "감시",
|
||||
"watching": "감시 중",
|
||||
"watching-info": "\"이 보드의 변경사항을 알림으로 받습니다.",
|
||||
@@ -429,11 +461,42 @@
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent"
|
||||
}
|
||||
Loaded 100 of 150 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user