Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
541dc67a02 | ||
|
|
d0611e1bff | ||
|
|
523ebea4dd | ||
|
|
bccfa320a9 | ||
|
|
72d0db7a59 | ||
|
|
ed0ef5b7d3 | ||
|
|
5619eef620 | ||
|
|
ae2e42e1b4 | ||
|
|
864ad3827d | ||
|
|
0394a78ece | ||
|
|
19d239f4cf | ||
|
|
d23ac2b385 | ||
|
|
766b58d91b | ||
|
|
663a4040f9 | ||
|
|
18467dfe40 | ||
|
|
2a165dccd4 | ||
|
|
d501e5832a | ||
|
|
b198a3ed99 | ||
|
|
226d25ca94 | ||
|
|
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 | ||
|
|
83848dbee2 | ||
|
|
cb099d1093 | ||
|
|
89a8a6f5e3 | ||
|
|
22923d08af | ||
|
|
57ccfcde63 | ||
|
|
75693d16e2 | ||
|
|
454523dd47 | ||
|
|
bb37d8fa96 | ||
|
|
f470323ee7 | ||
|
|
c62a2ee11f | ||
|
|
5b0f7f8aef | ||
|
|
0495e61c28 | ||
|
|
c1c3421006 | ||
|
|
3ce90e9766 | ||
|
|
293718d90c | ||
|
|
4b53b0c90a | ||
|
|
98103bb2f7 | ||
|
|
e5b003f5ab | ||
|
|
9a1b1a5bed | ||
|
|
990af4e5c2 | ||
|
|
f7a9bafe4c | ||
|
|
ac7d44f8a8 | ||
|
|
ed8471be9b | ||
|
|
65beb89944 | ||
|
|
663d8e3c34 | ||
|
|
128a356b92 | ||
|
|
2092b429db | ||
|
|
58e5e9b308 | ||
|
|
338fb5304d | ||
|
|
9e62584b26 | ||
|
|
5849ffbb53 | ||
|
|
a58bffbb3e | ||
|
|
a8ae6adbc2 | ||
|
|
946dcf0b0a | ||
|
|
1ca9e96f35 | ||
|
|
b475127c53 | ||
|
|
bbca361aeb | ||
|
|
f96e21f462 | ||
|
|
1be8e5625f | ||
|
|
9084158aec | ||
|
|
d454fa7dd7 | ||
|
|
b6d3e79548 | ||
|
|
a23d93391b | ||
|
|
a033c35a34 | ||
|
|
48cd551a69 | ||
|
|
8d2839f0c3 | ||
|
|
284fac043b | ||
|
|
bd239351fd | ||
|
|
37c94622e4 | ||
|
|
c4fa9010f3 | ||
|
|
843381a36c | ||
|
|
59ba2111e8 | ||
|
|
1efa66b58c | ||
|
|
dc8c9053c2 | ||
|
|
0a16147470 | ||
|
|
373e9782dc | ||
|
|
951a0db380 | ||
|
|
c0d33d97f2 | ||
|
|
5bdb392258 | ||
|
|
a48630ffcf | ||
|
|
fe1941008c | ||
|
|
190aa36a51 | ||
|
|
468f4de0cf | ||
|
|
93215be2cf | ||
|
|
ab2884cae0 | ||
|
|
5f374b2fd2 | ||
|
|
636e1657f6 | ||
|
|
2001c01b4d | ||
|
|
a9166d877f | ||
|
|
435501fb8e | ||
|
|
fd47e10e52 | ||
|
|
e3bd1c4d23 | ||
|
|
f7b72a1a80 | ||
|
|
31f25bcddb | ||
|
|
1ec5e90706 | ||
|
|
20d6ea85d4 | ||
|
|
7498dba32c | ||
|
|
d374cd2f81 | ||
|
|
ffbd3ccc2a | ||
|
|
ad1a181f6d | ||
|
|
fcd83ea7bd | ||
|
|
07fc296762 | ||
|
|
62fca18fea | ||
|
|
af82a80b2b | ||
|
|
9966c19f94 | ||
|
|
ff320f7b3a | ||
|
|
9c9694bcd1 | ||
|
|
fcd7097aba | ||
|
|
19089e8930 | ||
|
|
f7920da0cf | ||
|
|
d7ea73ff82 | ||
|
|
e077c85d00 | ||
|
|
3665a9131c | ||
|
|
f7fe44fcdf | ||
|
|
a533caa944 | ||
|
|
8b16955cc2 | ||
|
|
3753337d60 | ||
|
|
caad952bc1 | ||
|
|
6ff89b43b6 | ||
|
|
733b14dcd8 | ||
|
|
d87191f17e | ||
|
|
afd87e3caa | ||
|
|
ade3c02122 |
No files matched your search
+6
-1
@@ -100,7 +100,9 @@
|
||||
"Attachments": true,
|
||||
"Boards": true,
|
||||
"CardComments": true,
|
||||
"DatePicker" : true,
|
||||
"Cards": true,
|
||||
"CustomFields": true,
|
||||
"Lists": true,
|
||||
"UnsavedEditCollection": true,
|
||||
"Users": true,
|
||||
@@ -129,6 +131,9 @@
|
||||
"Integrations": true,
|
||||
"HTTP": true,
|
||||
"AccountSettings": true,
|
||||
"Announcements": true
|
||||
"Announcements": true,
|
||||
"Swimlanes": true,
|
||||
"ChecklistItems": 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)*
|
||||
@@ -14,3 +14,5 @@ package-lock.json
|
||||
**/stage
|
||||
**/prime
|
||||
**/*.snap
|
||||
snap/.snapcraft/
|
||||
.idea
|
||||
+4
-1
@@ -77,8 +77,11 @@ 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
|
||||
+7
-1
@@ -18,6 +18,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 +61,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 +103,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 +140,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 +157,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
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ host = https://www.transifex.com
|
||||
# tap:i18n requires us to use `-` separator in the language identifiers whereas
|
||||
# Transifex uses a `_` separator, without an option to customize it on one side
|
||||
# or the other, so we need to do a Manual mapping.
|
||||
lang_map = en_GB:en-GB, es_AR:es-AR, el_GR:el, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
|
||||
lang_map = bg_BG:bg, en_GB:en-GB, es_AR:es-AR, el_GR:el, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
|
||||
|
||||
[wekan.application]
|
||||
file_filter = i18n/<lang>.i18n.json
|
||||
|
||||
+412
@@ -1,3 +1,415 @@
|
||||
# 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:
|
||||
|
||||
- [Allow swimlanes reordering](https://github.com/wekan/wekan/commit/37c94622e476f50bf2387bc8b140454d66200e78);
|
||||
- [Import missing card fields: isOvertime, startAt and spentTime](https://github.com/wekan/wekan/commit/b475127c53031fa498da139a7d16f3e54d43b90d);
|
||||
- [Lists view is the default view when creating boards](https://github.com/wekan/wekan/commit/1ca9e96f35389c0eec2290e8e1207801ee25f907);
|
||||
- [Enabled import at Sandtorm. Keep there big DANGER warning about data loss bug.](https://github.com/wekan/wekan/commit/22923d08af4f1a63ded1d92fe6918436b598592b);
|
||||
- [Add language: Armenian](https://github.com/wekan/wekan/commit/75693d16e2a0f3d201c1036ab06e6d40eb1c0adc).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix lint errors related to sandstorm](https://github.com/wekan/wekan/commit/0a16147470246c8f49bb918f5ddc7bb2e54fba14);
|
||||
- [Add Swimlanes to globals](https://github.com/wekan/wekan/commit/373e9782dcf87a9c1169b5d1f8175ce14e4898c9);
|
||||
- [Fix lint errors related to trello creator](https://github.com/wekan/wekan/commit/951a0db380d60f3d948ae38d50b85a54983a51de);
|
||||
- [Fix lint errors related to language names](https://github.com/wekan/wekan/commit/c0d33d97f2c8d4e9371a03d4ad3022df3ed64d3d);
|
||||
- [Avoid swimlane title overlap](https://github.com/wekan/wekan/commit/c4fa9010f34966b633c7bf7e46ad49fc101127c9);
|
||||
- [Fix scrollbar inside list and outer scroll](https://github.com/wekan/wekan/commit/a033c35a3411902b9bf8f62a40cd68f641e573d3);
|
||||
- [Remove list max-height 350px](https://github.com/wekan/wekan/commit/b6d3e79548d1e88c93fa2965a936595176a95565);
|
||||
- [Snap: Adding network hooks for configure hook to fix security denials](https://github.com/wekan/wekan/commit/9084158aece8a642dc49bf7ecc2196bf9d1af63e);
|
||||
- [Snap: Fixing problem when mongodb was not started at install/refresh](https://github.com/wekan/wekan/commit/1be8e5625fd20797910009a8221ca706fd52ab11);
|
||||
- [Fix Add Card Button dissapearing when dragging](https://github.com/wekan/wekan/commit/58e5e9b308113e5a8af5166328a68a0aafcc2558);
|
||||
- [Fix Scrollbar near top of screen when using internet explorer on Win7](https://github.com/wekan/wekan/commit/128a356b9222fa0ed824b477c2d0e1e6a0368021);
|
||||
- [Fix scroll when dragging elements. Remove scrollbars from swimlanes.](https://github.com/wekan/wekan/commit/ed8471be9b79243b016a275e5b11a6912717fbb9);
|
||||
- [Partial fix for scroll bar inside cardDetails](https://github.com/wekan/wekan/commit/ac7d44f8a8d809cd94ed5ef3640473f34c72403b);
|
||||
- [Fix swimlane header rotation on Google Chrome. After this change both Firefox 58 and Google Chrome 64
|
||||
have properly rotated swimlane header.](https://github.com/wekan/wekan/commit/9a1b1a5bedbe44827de109731a3c3b1a07790d3e);
|
||||
- [Fix card copy and move with swimlanes](https://github.com/wekan/wekan/commit/4b53b0c90a57593c0fe2d808d2298e85f488bfa9).
|
||||
- [Fix scroll board when opening cardDetails](https://github.com/wekan/wekan/commit/454523dd4744b2bccb6805dad59abd664fdacb31);
|
||||
- [Fix swimlane info not displayed in activities](https://github.com/wekan/wekan/commit/bb37d8fa964c0d03721a664387e74300fde09eef);
|
||||
- [Fix sandstorm default swimlane creation](https://github.com/wekan/wekan/commit/f470323ee746c4e79f07d166d511867408194eb6);
|
||||
- [Extend lists to bottom of frame in lists view](https://github.com/wekan/wekan/commit/c62a2ee11febf7f98456c97dc3973509b4bfe119);
|
||||
- [Fix drag and drop issues when re-enter board](https://github.com/wekan/wekan/commit/5b0f7f8aef115b202aaff6bc25bb514426dc2009).
|
||||
|
||||
Thanks to GitHub users andresmanelli, GhassenRjab, kubiko, lumatijev, lunatic4ever and xet7 for their contributions.
|
||||
|
||||
# v0.77 2018-02-23 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Search from card titles and descriptions on this board](https://github.com/wekan/wekan/pull/1503).
|
||||
- Add Bulgarian language.
|
||||
|
||||
and adds the following [Snap updates](https://github.com/wekan/wekan/pull/1495):
|
||||
|
||||
- Cleanup of snap helper scripts
|
||||
- Cleanup and snapctl settings handling
|
||||
- Fix for snap store auto review refusal
|
||||
- Adding support for automatic restart of services when setting(s) are changed.
|
||||
No need to call systemctl restart anymore
|
||||
- Fixing snap set functionality
|
||||
- Adding optional caddy service support (by default caddy service is disabled),
|
||||
it can be enabled by calling: snap set wekan caddy-enabled=true
|
||||
- [Service life cycle improvements](https://github.com/wekan/wekan/pull/1495)
|
||||
- [Wekan help text changes and tweaks](https://github.com/wekan/wekan/pull/1495).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix: card-shadow no longer covered the page if you scroll down](https://github.com/wekan/wekan/pull/1496).
|
||||
|
||||
Thanks to GitHub users GhassenRjab, kubiko and stefano-pogliani for their contributions.
|
||||
|
||||
# v0.76 2018-02-21 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>
|
||||
+46
-30
@@ -12,13 +12,14 @@ ARG ARCHITECTURE
|
||||
ARG SRC_PATH
|
||||
|
||||
# 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.11.1}
|
||||
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:-./}
|
||||
@@ -34,34 +35,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.11.1 that has fix included, node binary copied from Sandstorm
|
||||
# Description at https://releases.wekan.team/node.txt
|
||||
wget https://releases.wekan.team/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \
|
||||
echo "308d0caaef0a1da3e98d1a1615016aad9659b3caf31d0f09ced20cabedb8acbf node-v8.11.1-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 +84,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 +124,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
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
# 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)
|
||||
[](https://greenkeeper.io/)
|
||||
|
||||
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');
|
||||
@@ -14,7 +14,7 @@ template(name="board")
|
||||
template(name="boardBody")
|
||||
.board-wrapper(class=currentBoard.colorClass)
|
||||
+sidebar
|
||||
.board-canvas(
|
||||
.board-canvas.js-swimlanes.js-perfect-scrollbar(
|
||||
class="{{#if Sidebar.isOpen}}is-sibling-sidebar-open{{/if}}"
|
||||
class="{{#if MultiSelection.isActive}}is-multiselection-active{{/if}}"
|
||||
class="{{#if draggingActive.get}}is-dragging-active{{/if}}")
|
||||
@@ -25,3 +25,5 @@ template(name="boardBody")
|
||||
+swimlane(this)
|
||||
if isViewLists
|
||||
+listsGroup
|
||||
if isViewCalendar
|
||||
+fullcalendar(calendarOptions)
|
||||
@@ -1,9 +1,8 @@
|
||||
const subManager = new SubsManager();
|
||||
const { calculateIndex } = Utils;
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.draggingActive = new ReactiveVar(false);
|
||||
this.showOverlay = new ReactiveVar(false);
|
||||
this.isBoardReady = new ReactiveVar(false);
|
||||
|
||||
// The pattern we use to manually handle data loading is described here:
|
||||
@@ -21,42 +20,154 @@ BlazeComponent.extendComponent({
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
this._isDragging = false;
|
||||
this._lastDragPositionX = 0;
|
||||
|
||||
// Used to set the overlay
|
||||
this.mouseHasEnterCardDetails = false;
|
||||
},
|
||||
|
||||
// XXX Flow components allow us to avoid creating these two setter methods by
|
||||
// exposing a public API to modify the component state. We need to investigate
|
||||
// best practices here.
|
||||
setIsDragging(bool) {
|
||||
this.draggingActive.set(bool);
|
||||
},
|
||||
|
||||
scrollLeft(position = 0) {
|
||||
const lists = this.$('.js-lists');
|
||||
lists && lists.animate({
|
||||
scrollLeft: position,
|
||||
});
|
||||
},
|
||||
|
||||
onlyShowCurrentCard() {
|
||||
return Utils.isMiniScreen() && Session.get('currentCard');
|
||||
},
|
||||
|
||||
}).register('board');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.showOverlay = new ReactiveVar(false);
|
||||
this.draggingActive = new ReactiveVar(false);
|
||||
this._isDragging = false;
|
||||
// Used to set the overlay
|
||||
this.mouseHasEnterCardDetails = false;
|
||||
},
|
||||
onRendered() {
|
||||
const boardComponent = this;
|
||||
const $swimlanesDom = boardComponent.$('.js-swimlanes');
|
||||
|
||||
$swimlanesDom.sortable({
|
||||
tolerance: 'pointer',
|
||||
appendTo: '.board-canvas',
|
||||
helper: 'clone',
|
||||
handle: '.js-swimlane-header',
|
||||
items: '.js-swimlane:not(.placeholder)',
|
||||
placeholder: 'swimlane 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 prevSwimlaneDom = ui.item.prev('.js-swimlane').get(0);
|
||||
const nextSwimlaneDom = ui.item.next('.js-swimlane').get(0);
|
||||
const sortIndex = calculateIndex(prevSwimlaneDom, nextSwimlaneDom, 1);
|
||||
|
||||
$swimlanesDom.sortable('cancel');
|
||||
const swimlaneDomElement = ui.item.get(0);
|
||||
const swimlane = Blaze.getData(swimlaneDomElement);
|
||||
|
||||
Swimlanes.update(swimlane._id, {
|
||||
$set: {
|
||||
sort: sortIndex.base,
|
||||
},
|
||||
});
|
||||
|
||||
boardComponent.setIsDragging(false);
|
||||
},
|
||||
});
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
}
|
||||
|
||||
// If there is no data in the board (ie, no lists) we autofocus the list
|
||||
// creation form by clicking on the corresponding element.
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
if (userIsMember() && currentBoard.lists().count() === 0) {
|
||||
boardComponent.openNewListForm();
|
||||
}
|
||||
},
|
||||
|
||||
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() {
|
||||
if (this.isViewSwimlanes()) {
|
||||
this.childComponents('swimlane')[0]
|
||||
.childComponents('addListAndSwimlaneForm')[0].open();
|
||||
} else if (this.isViewLists()) {
|
||||
this.childComponents('listsGroup')[0]
|
||||
.childComponents('addListForm')[0].open();
|
||||
}
|
||||
},
|
||||
|
||||
calendarOptions() {
|
||||
return {
|
||||
id: 'calendar-view',
|
||||
defaultView: 'basicWeek',
|
||||
header: {
|
||||
left: 'title',
|
||||
center: 'agendaDay,listDay,timelineDay agendaWeek,listWeek,timelineWeek month,timelineMonth timelineYear',
|
||||
right: 'today prev,next',
|
||||
},
|
||||
views: {
|
||||
basic: {
|
||||
// options apply to basicWeek and basicDay views
|
||||
},
|
||||
agenda: {
|
||||
// options apply to agendaWeek and agendaDay views
|
||||
},
|
||||
week: {
|
||||
// options apply to basicWeek and agendaWeek views
|
||||
},
|
||||
day: {
|
||||
// options apply to basicDay and agendaDay views
|
||||
},
|
||||
},
|
||||
themeSystem: 'jquery-ui',
|
||||
height: 'parent',
|
||||
/* 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 - Thursday
|
||||
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,
|
||||
url: FlowRouter.url('card', {
|
||||
boardId: currentBoard._id,
|
||||
slug: currentBoard.slug,
|
||||
cardId: card._id,
|
||||
}),
|
||||
});
|
||||
});
|
||||
callback(events);
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
events() {
|
||||
@@ -75,4 +186,19 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
}];
|
||||
},
|
||||
}).register('board');
|
||||
|
||||
// XXX Flow components allow us to avoid creating these two setter methods by
|
||||
// exposing a public API to modify the component state. We need to investigate
|
||||
// best practices here.
|
||||
setIsDragging(bool) {
|
||||
this.draggingActive.set(bool);
|
||||
},
|
||||
|
||||
scrollLeft(position = 0) {
|
||||
const swimlanes = this.$('.js-swimlanes');
|
||||
swimlanes && swimlanes.animate({
|
||||
scrollLeft: position,
|
||||
});
|
||||
},
|
||||
|
||||
}).register('boardBody');
|
||||
@@ -1,8 +1,11 @@
|
||||
@import 'nib'
|
||||
|
||||
position()
|
||||
if arguments[0] == cover
|
||||
position: absolute
|
||||
if arguments[0] == cover || arguments[0] == fixed-cover
|
||||
if arguments[0] == cover
|
||||
position: absolute
|
||||
else
|
||||
position: fixed
|
||||
left: 0
|
||||
right: 0
|
||||
top: 0
|
||||
@@ -12,25 +15,18 @@ position()
|
||||
|
||||
.board-wrapper
|
||||
position: cover
|
||||
overflow-y: hidden;
|
||||
|
||||
.board-canvas
|
||||
position: cover
|
||||
transition: margin .1s
|
||||
overflow-y: auto;
|
||||
|
||||
&.is-sibling-sidebar-open
|
||||
margin-right: 248px
|
||||
|
||||
.swimlane
|
||||
border-bottom: 1px solid #CCC
|
||||
display: flex
|
||||
flex-direction: row
|
||||
margin: 0 0 10px
|
||||
padding: 0 40px 5px 0
|
||||
overflow-x: auto
|
||||
overflow-y: hidden
|
||||
|
||||
.board-overlay
|
||||
position: cover
|
||||
position: fixed-cover
|
||||
top: -100px
|
||||
right: -400px
|
||||
background: black
|
||||
|
||||
@@ -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
|
||||
@@ -87,10 +88,14 @@ template(name="boardHeaderBar")
|
||||
a.board-header-btn-close.js-filter-reset(title="{{_ 'filter-clear'}}")
|
||||
i.fa.fa-times-thin
|
||||
|
||||
a.board-header-btn.js-open-search-view(title="{{_ 'search'}}")
|
||||
i.fa.fa-search
|
||||
span {{_ 'search'}}
|
||||
|
||||
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(
|
||||
@@ -108,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'}}
|
||||
|
||||
@@ -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,6 +17,12 @@ 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'),
|
||||
});
|
||||
@@ -77,19 +87,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'() {
|
||||
@@ -100,6 +104,9 @@ BlazeComponent.extendComponent({
|
||||
Sidebar.setView();
|
||||
Filter.reset();
|
||||
},
|
||||
'click .js-open-search-view'() {
|
||||
Sidebar.setView('search');
|
||||
},
|
||||
'click .js-multiselection-activate'() {
|
||||
const currentCard = Session.get('currentCard');
|
||||
MultiSelection.activate();
|
||||
|
||||
@@ -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,4 +1,4 @@
|
||||
// Edit start & due dates
|
||||
// Edit received, start, due & end dates
|
||||
const EditCardDate = 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,39 @@ 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;
|
||||
if (dueAt) {
|
||||
if (this.date.get().isBefore(this.now.get(), 'minute') &&
|
||||
this.now.get().isBefore(dueAt)) {
|
||||
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,9 +252,12 @@ 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)) {
|
||||
classes += 'current';
|
||||
const dueAt = this.data().dueAt;
|
||||
if (dueAt) {
|
||||
if (this.date.get().isBefore(this.now.get(), 'minute') &&
|
||||
this.now.get().isBefore(dueAt)) {
|
||||
classes += 'current';
|
||||
}
|
||||
}
|
||||
return classes;
|
||||
}
|
||||
@@ -202,11 +285,23 @@ class CardDueDate extends CardDate {
|
||||
|
||||
classes() {
|
||||
let classes = 'due-date' + ' ';
|
||||
if (this.now.get().diff(this.date.get(), 'days') >= 2)
|
||||
|
||||
// if endAt exists & is < dueAt, dueAt doesn't need to be flagged
|
||||
const endAt = this.data().endAt;
|
||||
const theDate = this.date.get();
|
||||
const now = this.now.get();
|
||||
|
||||
if ((endAt !== 0) &&
|
||||
(endAt !== null) &&
|
||||
(endAt !== '') &&
|
||||
(endAt !== undefined) &&
|
||||
(theDate.isBefore(endAt)))
|
||||
classes += 'current';
|
||||
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 +318,48 @@ 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;
|
||||
if (dueAt) {
|
||||
const diff = dueAt.diff(this.date.get(), 'days');
|
||||
if (diff >= 2)
|
||||
classes += 'long-overdue';
|
||||
else if (diff > 0)
|
||||
classes += 'due';
|
||||
else if (diff <= 0)
|
||||
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 +371,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,6 +30,11 @@
|
||||
&:hover, &.is-active
|
||||
background-color: darken(#fd5d47, 7)
|
||||
|
||||
&.end-date
|
||||
time
|
||||
&::before
|
||||
content: "\f253" // symbol: fa-hourglass-end
|
||||
|
||||
&.due-date
|
||||
time
|
||||
&::before
|
||||
@@ -59,6 +45,11 @@
|
||||
&::before
|
||||
content: "\f08b" // symbol: fa-sign-out
|
||||
|
||||
&.received-date
|
||||
time
|
||||
&::before
|
||||
content: "\f251" // symbol: fa-hourglass-start
|
||||
|
||||
time
|
||||
&::before
|
||||
font: normal normal normal 14px/1 FontAwesome
|
||||
|
||||
@@ -17,6 +17,35 @@ template(name="cardDetails")
|
||||
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-due
|
||||
h3.card-details-item-title {{_ 'card-due'}}
|
||||
if dueAt
|
||||
+cardDueDate
|
||||
else
|
||||
a.js-due-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-items
|
||||
.card-details-item.card-details-item-members
|
||||
h3.card-details-item-title {{_ 'members'}}
|
||||
@@ -36,15 +65,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 +108,44 @@ 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)
|
||||
|
||||
hr
|
||||
h2
|
||||
h3
|
||||
i.fa.fa-paperclip
|
||||
| {{_ 'attachments'}}
|
||||
|
||||
@@ -94,7 +153,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 +174,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 +195,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,31 +215,22 @@ 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'}}:
|
||||
select.js-select-boards
|
||||
each boards
|
||||
if $eq _id currentBoard._id
|
||||
@@ -173,14 +238,18 @@ template(name="boardsAndLists")
|
||||
else
|
||||
option(value="{{_id}}") {{title}}
|
||||
|
||||
label {{_ 'swimlanes'}}:
|
||||
select.js-select-swimlanes
|
||||
each swimlanes
|
||||
option(value="{{_id}}") {{title}}
|
||||
|
||||
label {{_ 'lists'}}:
|
||||
ul.pop-over-list
|
||||
select.js-select-lists
|
||||
each aBoardLists
|
||||
li
|
||||
if $eq ../_id _id
|
||||
a.disabled {{title}} ({{_ 'current'}})
|
||||
else
|
||||
a.js-select-list= title
|
||||
option(value="{{_id}}") {{title}}
|
||||
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-done {{_ 'done'}}
|
||||
|
||||
template(name="cardMembersPopup")
|
||||
ul.pop-over-list.js-card-member-list
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
const subManager = new SubsManager();
|
||||
const { calculateIndexData } = Utils;
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
mixins() {
|
||||
@@ -20,8 +21,12 @@ BlazeComponent.extendComponent({
|
||||
|
||||
onCreated() {
|
||||
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,9 +48,10 @@ BlazeComponent.extendComponent({
|
||||
scrollParentContainer() {
|
||||
const cardPanelWidth = 510;
|
||||
const bodyBoardComponent = this.parentComponent().parentComponent();
|
||||
|
||||
const $cardContainer = bodyBoardComponent.$('.js-lists');
|
||||
//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();
|
||||
const cardContainerWidth = $cardContainer.width();
|
||||
|
||||
@@ -66,10 +72,58 @@ BlazeComponent.extendComponent({
|
||||
|
||||
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,
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
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());
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
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 +154,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 +240,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,12 +288,41 @@ 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-select-list' () {
|
||||
'click .js-done' () {
|
||||
// XXX We should *not* get the currentCard from the global state, but
|
||||
// instead from a “component” state.
|
||||
const card = Cards.findOne(Session.get('currentCard'));
|
||||
const newListId = this._id;
|
||||
const lSelect = $('.js-select-lists')[0];
|
||||
const newListId = lSelect.options[lSelect.selectedIndex].value;
|
||||
const slSelect = $('.js-select-swimlanes')[0];
|
||||
card.swimlaneId = slSelect.options[slSelect.selectedIndex].value;
|
||||
card.move(card.swimlaneId, newListId, 0);
|
||||
Popup.close();
|
||||
},
|
||||
@@ -223,7 +330,8 @@ Template.moveCardPopup.events({
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.selectedBoard = new ReactiveVar(Session.get('currentBoard'));
|
||||
subManager.subscribe('board', Session.get('currentBoard'));
|
||||
this.selectedBoardId = new ReactiveVar(Session.get('currentBoard'));
|
||||
},
|
||||
|
||||
boards() {
|
||||
@@ -236,32 +344,41 @@ BlazeComponent.extendComponent({
|
||||
return boards;
|
||||
},
|
||||
|
||||
swimlanes() {
|
||||
const board = Boards.findOne(this.selectedBoardId.get());
|
||||
return board.swimlanes();
|
||||
},
|
||||
|
||||
aBoardLists() {
|
||||
subManager.subscribe('board', this.selectedBoard.get());
|
||||
const board = Boards.findOne(this.selectedBoard.get());
|
||||
const board = Boards.findOne(this.selectedBoardId.get());
|
||||
return board.lists();
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'change .js-select-boards'(evt) {
|
||||
this.selectedBoard.set($(evt.currentTarget).val());
|
||||
this.selectedBoardId.set($(evt.currentTarget).val());
|
||||
subManager.subscribe('board', this.selectedBoardId.get());
|
||||
},
|
||||
}];
|
||||
},
|
||||
}).register('boardsAndLists');
|
||||
|
||||
Template.copyCardPopup.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 title = 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 (title) {
|
||||
card.title = title;
|
||||
@@ -278,9 +395,16 @@ Template.copyCardPopup.events({
|
||||
cursor.forEach(function() {
|
||||
'use strict';
|
||||
const checklist = arguments[0];
|
||||
const checklistId = checklist._id;
|
||||
checklist.cardId = _id;
|
||||
checklist._id = null;
|
||||
Checklists.insert(checklist);
|
||||
const newChecklistId = Checklists.insert(checklist);
|
||||
ChecklistItems.find({checklistId}).forEach(function(item) {
|
||||
item._id = null;
|
||||
item.checklistId = newChecklistId;
|
||||
item.cardId = _id;
|
||||
ChecklistItems.insert(item);
|
||||
});
|
||||
});
|
||||
|
||||
// copy card comments
|
||||
@@ -297,19 +421,21 @@ 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);
|
||||
@@ -330,9 +456,16 @@ Template.copyChecklistToManyCardsPopup.events({
|
||||
cursor.forEach(function() {
|
||||
'use strict';
|
||||
const checklist = arguments[0];
|
||||
const checklistId = checklist._id;
|
||||
checklist.cardId = _id;
|
||||
checklist._id = null;
|
||||
Checklists.insert(checklist);
|
||||
const newChecklistId = Checklists.insert(checklist);
|
||||
ChecklistItems.find({checklistId}).forEach(function(item) {
|
||||
item._id = null;
|
||||
item.checklistId = newChecklistId;
|
||||
item.cardId = _id;
|
||||
ChecklistItems.insert(item);
|
||||
});
|
||||
});
|
||||
|
||||
// copy card comments
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
.card-details
|
||||
padding: 0 20px
|
||||
height: 100%
|
||||
flex-shrink: 0
|
||||
flex-basis: 470px
|
||||
will-change: flex-basis
|
||||
@@ -70,6 +69,7 @@
|
||||
|
||||
.card-details-items
|
||||
display: flex
|
||||
flex-wrap: wrap
|
||||
margin: 15px 0
|
||||
|
||||
.card-details-item
|
||||
@@ -78,14 +78,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,25 @@ 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
|
||||
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
|
||||
+checklistItems(checklist = checklist)
|
||||
else
|
||||
h2.title
|
||||
+viewer
|
||||
= checklist.title
|
||||
+checklistItems(checklist = checklist)
|
||||
|
||||
template(name="checklistDeleteDialog")
|
||||
.js-confirm-checklist-delete
|
||||
@@ -70,7 +71,7 @@ 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
|
||||
@@ -84,7 +85,7 @@ template(name="checklistItems")
|
||||
| {{_ 'add-checklist-item'}}...
|
||||
|
||||
template(name='itemDetail')
|
||||
.item.js-checklist-item
|
||||
.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 } = 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,54 @@ 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);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
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 +95,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 +123,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 +140,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() {
|
||||
@@ -211,12 +215,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');
|
||||
@@ -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
|
||||
|
||||
@@ -10,20 +10,41 @@ template(name="minicard")
|
||||
+viewer
|
||||
= title
|
||||
.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 }}")
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
position: relative
|
||||
display: flex
|
||||
align-items: center
|
||||
margin-bottom: 9px
|
||||
margin-bottom: 2px
|
||||
|
||||
&.placeholder
|
||||
background: darken(white, 20%)
|
||||
@@ -37,7 +37,7 @@
|
||||
flex-wrap: wrap
|
||||
background-color: #fff
|
||||
min-height: 20px
|
||||
box-shadow: 0 1px 2px rgba(0,0,0,.15)
|
||||
box-shadow: 0 0px 16px rgba(0,0,0,0.15) inset
|
||||
border-radius: 2px
|
||||
color: #4d4d4d
|
||||
overflow: hidden
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -11,17 +11,14 @@ template(name="import")
|
||||
+Template.dynamic(template=currentTemplate)
|
||||
|
||||
template(name="importTextarea")
|
||||
unless isSandstorm
|
||||
form
|
||||
p: label(for='import-textarea') {{_ instruction}}
|
||||
textarea.js-import-json(placeholder="{{_ 'import-json-placeholder'}}" autofocus)
|
||||
| {{jsonText}}
|
||||
if isSandstorm
|
||||
p.warning {{_ 'import-sandstorm-warning'}}
|
||||
input.primary.wide(type="submit" value="{{_ 'import'}}")
|
||||
if isSandstorm
|
||||
p.warning 'Import disabled because of data loss bug https://github.com/wekan/wekan/issues/1430'
|
||||
|
||||
form
|
||||
p: label(for='import-textarea') {{_ instruction}}
|
||||
textarea.js-import-json(placeholder="{{_ 'import-json-placeholder'}}" autofocus)
|
||||
| {{jsonText}}
|
||||
if isSandstorm
|
||||
h1.warning DANGER !!! THIS DESTROYS YOUR IMPORTED DATA, CAUSES BOARD NOT FOUND ERROR WHEN YOU OPEN THIS GRAIN AGAIN https://github.com/wekan/wekan/issues/1430
|
||||
p.warning {{_ 'import-sandstorm-warning'}}
|
||||
input.primary.wide(type="submit" value="{{_ 'import'}}")
|
||||
|
||||
template(name="importMapMembers")
|
||||
h2 {{_ 'import-map-members'}}
|
||||
|
||||
@@ -19,12 +19,17 @@ BlazeComponent.extendComponent({
|
||||
// comment below provides further details.
|
||||
onRendered() {
|
||||
const boardComponent = this.parentComponent().parentComponent();
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
}
|
||||
|
||||
const itemsSelector = '.js-minicard:not(.placeholder, .js-card-composer)';
|
||||
const $cards = this.$('.js-minicards');
|
||||
$cards.sortable({
|
||||
connectWith: '.js-minicards:not(.js-list-full)',
|
||||
tolerance: 'pointer',
|
||||
appendTo: 'body',
|
||||
appendTo: '.board-canvas',
|
||||
helper(evt, item) {
|
||||
const helper = item.clone();
|
||||
if (MultiSelection.isActive()) {
|
||||
@@ -40,7 +45,6 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
distance: 7,
|
||||
items: itemsSelector,
|
||||
scroll: false,
|
||||
placeholder: 'minicard-wrapper placeholder',
|
||||
start(evt, ui) {
|
||||
ui.placeholder.height(ui.helper.height());
|
||||
@@ -79,10 +83,6 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
});
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly();
|
||||
}
|
||||
|
||||
// Disable drag-dropping if the current user is not a board member or is comment only
|
||||
this.autorun(() => {
|
||||
$cards.sortable('option', 'disabled', !userIsMember());
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
// transparent, because that won't work during a list drag.
|
||||
background: darken(white, 13%)
|
||||
border-left: 1px solid darken(white, 20%)
|
||||
border-bottom: 1px solid #CCC
|
||||
padding: 0
|
||||
float: left
|
||||
|
||||
@@ -86,7 +87,7 @@
|
||||
color: #ce1414
|
||||
|
||||
.list-body
|
||||
flex: 1
|
||||
flex: 1 1 auto
|
||||
flex-direction: column
|
||||
display: flex
|
||||
overflow-y: auto
|
||||
|
||||
@@ -35,13 +35,17 @@ BlazeComponent.extendComponent({
|
||||
|
||||
const members = formComponent.members.get();
|
||||
const labelIds = formComponent.labels.get();
|
||||
const customFields = formComponent.customFields.get();
|
||||
//console.log('members', members);
|
||||
//console.log('labelIds', labelIds);
|
||||
//console.log('customFields', customFields);
|
||||
|
||||
const boardId = this.data().board()._id;
|
||||
const board = Boards.findOne(boardId);
|
||||
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
|
||||
else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal'))
|
||||
swimlaneId = Swimlanes.findOne({boardId})._id;
|
||||
|
||||
if (title) {
|
||||
@@ -49,6 +53,7 @@ BlazeComponent.extendComponent({
|
||||
title,
|
||||
members,
|
||||
labelIds,
|
||||
customFields,
|
||||
listId: this.data()._id,
|
||||
boardId: this.data().board()._id,
|
||||
sort: sortIndex,
|
||||
@@ -106,8 +111,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 +151,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');
|
||||
@@ -4,6 +4,7 @@
|
||||
color: white
|
||||
transition: background-color 0.4s
|
||||
background: #2980B9
|
||||
z-index: 17
|
||||
|
||||
#header-main-bar
|
||||
height: 40px
|
||||
@@ -28,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
|
||||
@@ -99,6 +99,7 @@
|
||||
height: 28px
|
||||
font-size: 12px
|
||||
display: flex
|
||||
z-index: 17
|
||||
|
||||
#header-user-bar,
|
||||
#header-new-board-icon,
|
||||
|
||||
@@ -17,10 +17,14 @@ Template.userFormsLayout.onRendered(() => {
|
||||
Template.userFormsLayout.helpers({
|
||||
languages() {
|
||||
return _.map(TAPi18n.getLanguages(), (lang, code) => {
|
||||
return {
|
||||
tag: code,
|
||||
name: lang.name === 'br' ? 'Brezhoneg' : lang.name === 'ig' ? 'Igbo' : lang.name,
|
||||
};
|
||||
const tag = code;
|
||||
let name = lang.name;
|
||||
if (lang.name === 'br') {
|
||||
name = 'Brezhoneg';
|
||||
} else if (lang.name === 'ig') {
|
||||
name = 'Igbo';
|
||||
}
|
||||
return { tag, name };
|
||||
}).sort(function(a, b) {
|
||||
if (a.name === b.name) {
|
||||
return 0;
|
||||
|
||||
@@ -33,6 +33,9 @@ $popupWidth = 300px
|
||||
textarea
|
||||
height: 72px
|
||||
|
||||
form a span
|
||||
padding: 0 0.5rem
|
||||
|
||||
.header
|
||||
height: 36px
|
||||
position: relative
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Template.invitationCode.onRendered(() => {
|
||||
const setting = Settings.findOne();
|
||||
if (setting || setting.disableRegistration) {
|
||||
if (!setting || !setting.disableRegistration) {
|
||||
$('#invitationcode').hide();
|
||||
}
|
||||
});
|
||||
@@ -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;
|
||||
|
||||
@@ -94,13 +94,21 @@ template(name='email')
|
||||
|
||||
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'}}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ BlazeComponent.extendComponent({
|
||||
|
||||
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 {
|
||||
@@ -31,7 +31,7 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
},
|
||||
|
||||
currentSetting(){
|
||||
currentSetting() {
|
||||
return Settings.findOne();
|
||||
},
|
||||
|
||||
@@ -44,23 +44,23 @@ 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 +71,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 +81,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 () {
|
||||
@@ -104,19 +104,23 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
},
|
||||
|
||||
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 {
|
||||
@@ -136,11 +140,12 @@ 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,
|
||||
@@ -154,20 +159,28 @@ BlazeComponent.extendComponent({
|
||||
}).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 +194,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
|
||||
@@ -4,7 +4,9 @@ const defaultView = 'home';
|
||||
|
||||
const viewTitles = {
|
||||
filter: 'filter-cards',
|
||||
search: 'search-cards',
|
||||
multiselection: 'multi-selection',
|
||||
customFields: 'custom-fields',
|
||||
archives: 'archives',
|
||||
};
|
||||
|
||||
@@ -155,7 +157,7 @@ Template.memberPopup.events({
|
||||
}),
|
||||
'click .js-leave-member': Popup.afterConfirm('leaveBoard', () => {
|
||||
const boardId = Session.get('currentBoard');
|
||||
Meteor.call('quitBoard', boardId, (err, ret) => {
|
||||
Meteor.call('quitBoard', boardId, () => {
|
||||
Popup.close();
|
||||
FlowRouter.go('home');
|
||||
});
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
template(name="searchSidebar")
|
||||
form.js-search-term-form
|
||||
input(type="text" name="searchTerm" placeholder="{{_ 'search-example'}}" autofocus)
|
||||
.list-body.js-perfect-scrollbar
|
||||
.minicards.clearfix.js-minicards
|
||||
each (results)
|
||||
a.minicard-wrapper.js-minicard(href=absoluteUrl)
|
||||
+minicard(this)
|
||||
@@ -0,0 +1,19 @@
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.term = new ReactiveVar('');
|
||||
},
|
||||
|
||||
results() {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
return currentBoard.searchCards(this.term.get());
|
||||
},
|
||||
|
||||
events() {
|
||||
return [{
|
||||
'submit .js-search-term-form'(evt) {
|
||||
evt.preventDefault();
|
||||
this.term.set(evt.target.searchTerm.value);
|
||||
},
|
||||
}];
|
||||
},
|
||||
}).register('searchSidebar');
|
||||
@@ -0,0 +1,2 @@
|
||||
input
|
||||
max-width: 100%
|
||||
@@ -1,5 +1,5 @@
|
||||
template(name="swimlaneHeader")
|
||||
.swimlane-header-wrap
|
||||
.swimlane-header-wrap.js-swimlane-header
|
||||
+inlinedForm
|
||||
+editSwimlaneTitleForm
|
||||
else
|
||||
@@ -9,7 +9,7 @@ template(name="swimlaneHeader")
|
||||
.swimlane-header-menu
|
||||
unless currentUser.isCommentOnly
|
||||
a.fa.fa-navicon.js-open-swimlane-menu
|
||||
|
||||
|
||||
template(name="editSwimlaneTitleForm")
|
||||
.list-composer
|
||||
input.list-name-input.full-line(type="text" value=title autofocus)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
template(name="swimlane")
|
||||
.swimlane.js-lists
|
||||
.swimlane.js-lists.js-swimlane
|
||||
+swimlaneHeader
|
||||
if isMiniScreen
|
||||
if currentList
|
||||
@@ -18,7 +18,7 @@ template(name="swimlane")
|
||||
+addListAndSwimlaneForm
|
||||
|
||||
template(name="listsGroup")
|
||||
.swimlane.js-lists
|
||||
.swimlane.list-group.js-lists
|
||||
if isMiniScreen
|
||||
if currentList
|
||||
+list(currentList)
|
||||
@@ -36,7 +36,7 @@ template(name="listsGroup")
|
||||
+addListForm
|
||||
|
||||
template(name="addListAndSwimlaneForm")
|
||||
.list.js-list.list-composer.js-list-composer
|
||||
.list.list-composer.js-list-composer
|
||||
.list-header
|
||||
+inlinedForm(autoclose=false)
|
||||
input.list-name-input.full-line(type="text" placeholder="{{_ 'add-list'}}"
|
||||
@@ -61,7 +61,7 @@ template(name="addListAndSwimlaneForm")
|
||||
| {{_ 'add-swimlane'}}
|
||||
|
||||
template(name="addListForm")
|
||||
.list.js-list.list-composer.js-list-composer
|
||||
.list.list-composer.js-list-composer
|
||||
.list-header
|
||||
+inlinedForm(autoclose=false)
|
||||
input.list-name-input.full-line(type="text" placeholder="{{_ 'add-list'}}"
|
||||
|
||||
@@ -1,4 +1,97 @@
|
||||
const { calculateIndex } = 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);
|
||||
},
|
||||
});
|
||||
|
||||
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() {
|
||||
const boardComponent = this.parentComponent();
|
||||
const $listsDom = this.$('.js-lists');
|
||||
|
||||
if (!Session.get('currentCard')) {
|
||||
boardComponent.scrollLeft();
|
||||
}
|
||||
|
||||
initSortable(boardComponent, $listsDom);
|
||||
},
|
||||
onCreated() {
|
||||
this.draggingActive = new ReactiveVar(false);
|
||||
|
||||
@@ -6,38 +99,12 @@ BlazeComponent.extendComponent({
|
||||
this._lastDragPositionX = 0;
|
||||
},
|
||||
|
||||
openNewListForm() {
|
||||
this.childComponents('addListForm')[0].open();
|
||||
},
|
||||
|
||||
id() {
|
||||
return this._id;
|
||||
},
|
||||
|
||||
// XXX Flow components allow us to avoid creating these two setter methods by
|
||||
// exposing a public API to modify the component state. We need to investigate
|
||||
// best practices here.
|
||||
setIsDragging(bool) {
|
||||
this.draggingActive.set(bool);
|
||||
},
|
||||
|
||||
scrollLeft(position = 0) {
|
||||
const lists = this.$('.js-lists');
|
||||
lists && lists.animate({
|
||||
scrollLeft: position,
|
||||
});
|
||||
},
|
||||
|
||||
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() {
|
||||
@@ -78,81 +145,6 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
}).register('swimlane');
|
||||
|
||||
Template.swimlane.onRendered(function() {
|
||||
const self = BlazeComponent.getComponentForElement(this.firstNode);
|
||||
|
||||
self.listsDom = this.find('.js-lists');
|
||||
|
||||
if (!Session.get('currentCard')) {
|
||||
self.scrollLeft();
|
||||
}
|
||||
|
||||
// We want to animate the card details window closing. We rely on CSS
|
||||
// transition for the actual animation.
|
||||
self.listsDom._uihooks = {
|
||||
removeElement(node) {
|
||||
const removeNode = _.once(() => {
|
||||
node.parentNode.removeChild(node);
|
||||
});
|
||||
if ($(node).hasClass('js-card-details')) {
|
||||
$(node).css({
|
||||
flexBasis: 0,
|
||||
padding: 0,
|
||||
});
|
||||
$(self.listsDom).one(CSSEvents.transitionend, removeNode);
|
||||
} else {
|
||||
removeNode();
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
$(self.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());
|
||||
Popup.close();
|
||||
},
|
||||
stop() {
|
||||
$(self.listsDom).find('.js-list:not(.js-list-composer)').each(
|
||||
(i, list) => {
|
||||
const data = Blaze.getData(list);
|
||||
Lists.update(data._id, {
|
||||
$set: {
|
||||
sort: i,
|
||||
},
|
||||
});
|
||||
}
|
||||
);
|
||||
},
|
||||
});
|
||||
|
||||
function userIsMember() {
|
||||
return Meteor.user() && Meteor.user().isBoardMember();
|
||||
}
|
||||
|
||||
// Disable drag-dropping while in multi-selection mode, or if the current user
|
||||
// is not a board member
|
||||
self.autorun(() => {
|
||||
const $listDom = $(self.listsDom);
|
||||
if ($listDom.data('sortable')) {
|
||||
$(self.listsDom).sortable('option', 'disabled',
|
||||
MultiSelection.isActive() || !userIsMember());
|
||||
}
|
||||
});
|
||||
|
||||
// If there is no data in the board (ie, no lists) we autofocus the list
|
||||
// creation form by clicking on the corresponding element.
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
if (userIsMember() && currentBoard.lists().count() === 0) {
|
||||
self.openNewListForm();
|
||||
}
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
// Proxy
|
||||
open() {
|
||||
@@ -227,3 +219,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');
|
||||
@@ -1,24 +1,54 @@
|
||||
@import 'nib'
|
||||
|
||||
.swimlane-header-wrap
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 0 0 50px;
|
||||
.swimlane
|
||||
// Even if this background color is the same as the body we can't leave it
|
||||
// transparent, because that won't work during a swimlane drag.
|
||||
background: darken(white, 13%)
|
||||
display: flex
|
||||
flex-direction: row
|
||||
overflow: 0;
|
||||
max-height: 100%
|
||||
|
||||
.swimlane-header
|
||||
writing-mode: sideways-lr;
|
||||
font-size: 14px;
|
||||
line-height: 50px;
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
min-height: 9px;
|
||||
min-width: 30px;
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
word-wrap: break-word;
|
||||
text-align: center;
|
||||
&.placeholder
|
||||
background-color: rgba(0, 0, 0, .2)
|
||||
border-color: transparent
|
||||
box-shadow: none
|
||||
height: 100px
|
||||
|
||||
.swimlane-header-menu
|
||||
position: absolute
|
||||
padding: 20px 20px
|
||||
&.ui-sortable-helper
|
||||
box-shadow: -2px 2px 8px rgba(0, 0, 0, .3),
|
||||
0 0 1px rgba(0, 0, 0, .5)
|
||||
transform: rotate(2deg)
|
||||
cursor: grabbing
|
||||
|
||||
.swimlane-header.ui-sortable-handle
|
||||
cursor: grabbing
|
||||
|
||||
.swimlane-header-wrap
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 0 0 50px;
|
||||
padding-bottom: 30px;
|
||||
border-bottom: 1px solid #CCC
|
||||
|
||||
.swimlane-header
|
||||
writing-mode: vertical-rl;
|
||||
transform: rotate(180deg);
|
||||
font-size: 14px;
|
||||
line-height: 50px;
|
||||
margin-top: 50px;
|
||||
font-weight: bold;
|
||||
min-height: 9px;
|
||||
width: 50px;
|
||||
overflow: hidden;
|
||||
-o-text-overflow: ellipsis;
|
||||
text-overflow: ellipsis;
|
||||
word-wrap: break-word;
|
||||
text-align: center;
|
||||
|
||||
.swimlane-header-menu
|
||||
position: absolute
|
||||
padding: 20px 20px
|
||||
|
||||
.list-group
|
||||
height: 100%
|
||||
@@ -17,7 +17,7 @@ template(name="userAvatar")
|
||||
|
||||
template(name="userAvatarInitials")
|
||||
svg.avatar.avatar-initials(viewBox="0 0 {{viewPortWidth}} 15")
|
||||
text(x="50%" y="13" text-anchor="middle")= initials
|
||||
text(x="50%" y="50%" text-anchor="middle" alignment-baseline="central")= initials
|
||||
|
||||
template(name="userPopup")
|
||||
.board-member-menu
|
||||
|
||||
@@ -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({
|
||||
@@ -114,10 +117,16 @@ Template.changePasswordPopup.onRendered(function () {
|
||||
Template.changeLanguagePopup.helpers({
|
||||
languages() {
|
||||
return _.map(TAPi18n.getLanguages(), (lang, code) => {
|
||||
return {
|
||||
tag: code,
|
||||
name: lang.name === 'br' ? 'Brezhoneg' : lang.name === 'ig' ? 'Igbo' : lang.name,
|
||||
};
|
||||
// Same code in /client/components/main/layouts.js
|
||||
// TODO : Make code reusable
|
||||
const tag = code;
|
||||
let name = lang.name;
|
||||
if (lang.name === 'br') {
|
||||
name = 'Brezhoneg';
|
||||
} else if (lang.name === 'ig') {
|
||||
name = 'Igbo';
|
||||
}
|
||||
return { tag, name };
|
||||
}).sort(function (a, b) {
|
||||
if (a.name === b.name) {
|
||||
return 0;
|
||||
|
||||
@@ -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;
|
||||
|
||||
+2
-2
@@ -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:
|
||||
|
||||
+70
-28
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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": "بطاقات",
|
||||
"change": "Change",
|
||||
"change-avatar": "تعديل الصورة الشخصية",
|
||||
"change-password": "تغيير كلمة المرور",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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": "يمكن مشاهدة و تعديل البطاقات. لا يمكن تغيير إعدادات الضبط.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "استعادة",
|
||||
"save": "حفظ",
|
||||
"search": "بحث",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"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",
|
||||
@@ -363,6 +390,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": "غير مُشاهد",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,479 @@
|
||||
{
|
||||
"accept": "Accept",
|
||||
"act-activity-notify": "[Wekan] Известия за дейности",
|
||||
"act-addAttachment": "прикачи __attachment__ към __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": "__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-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": "се присъедини към %s",
|
||||
"activity-moved": "премести %s от %s в/във %s",
|
||||
"activity-on": "на %s",
|
||||
"activity-removed": "премахна %s от %s",
|
||||
"activity-sent": "изпрати %s до %s",
|
||||
"activity-unjoined": "вече не е част от %s",
|
||||
"activity-checklist-added": "добави списък със задачи към %s",
|
||||
"activity-checklist-item-added": "добави точка към '%s' в/във %s",
|
||||
"add": "Добави",
|
||||
"add-attachment": "Добави прикачен файл",
|
||||
"add-board": "Добави Табло",
|
||||
"add-card": "Добави карта",
|
||||
"add-swimlane": "Добави коридор",
|
||||
"add-checklist": "Добави списък със задачи",
|
||||
"add-checklist-item": "Добави точка към списъка със задачи",
|
||||
"add-cover": "Добави корица",
|
||||
"add-label": "Добави етикет",
|
||||
"add-list": "Добави списък",
|
||||
"add-members": "Добави членове",
|
||||
"added": "Добавено",
|
||||
"addMemberPopup-title": "Членове",
|
||||
"admin": "Администратор",
|
||||
"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": "Съобщение от администратора",
|
||||
"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": "This board will be <strong>private</strong>.",
|
||||
"board-public-info": "This board will be <strong>public</strong>.",
|
||||
"boardChangeColorPopup-title": "Change Board Background",
|
||||
"boardChangeTitlePopup-title": "Промени името на Таблото",
|
||||
"boardChangeVisibilityPopup-title": "Change Visibility",
|
||||
"boardChangeWatchPopup-title": "Промени наблюдаването",
|
||||
"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-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 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": "Добави или премахни членове на Таблото от тази карта.",
|
||||
"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": "Карти",
|
||||
"change": "Промени",
|
||||
"change-avatar": "Промени аватара",
|
||||
"change-password": "Промени паролата",
|
||||
"change-permissions": "Change permissions",
|
||||
"change-settings": "Промени настройките",
|
||||
"changeAvatarPopup-title": "Промени аватара",
|
||||
"changeLanguagePopup-title": "Промени езика",
|
||||
"changePasswordPopup-title": "Промени паролата",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Промяна на настройките",
|
||||
"checklists": "Списъци със задачи",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"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": "Компютър",
|
||||
"confirm-checklist-delete-dialog": "Сигурни ли сте, че искате да изтриете този чеклист?",
|
||||
"copy-card-link-to-clipboard": "Копирай връзката на картата в клипборда",
|
||||
"copyCardPopup-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": "Отказ",
|
||||
"default-avatar": "Основен аватар",
|
||||
"delete": "Изтрий",
|
||||
"deleteCustomFieldPopup-title": "Изтриване на Собственото поле?",
|
||||
"deleteLabelPopup-title": "Желаете да изтриете етикета?",
|
||||
"description": "Описание",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
|
||||
"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": "Ваш профил беше създаден на __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": "Възникна грешка при изпращането на имейла",
|
||||
"email-invalid": "Невалиден имейл",
|
||||
"email-invite": "Покани чрез имейл",
|
||||
"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-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": "Включи 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",
|
||||
"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": "Имейлът е вече зает",
|
||||
"export-board": "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",
|
||||
"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": "Начало",
|
||||
"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": "Избери Wekan член",
|
||||
"info": "Версия",
|
||||
"initials": "Инициали",
|
||||
"invalid-date": "Невалидна дата",
|
||||
"invalid-time": "Невалиден час",
|
||||
"invalid-user": "Невалиден потребител",
|
||||
"joined": "присъедини ",
|
||||
"just-invited": "You are just invited to this board",
|
||||
"keyboard-shortcuts": "Keyboard shortcuts",
|
||||
"label-create": "Създай етикет",
|
||||
"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": "Етикети",
|
||||
"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": "Връзка към тази карта",
|
||||
"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": "Импорт на карта от 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": "Можете да преместите списък в Кошчето, за да го премахнете от Таблото и запазите активността.",
|
||||
"lists": "Списъци",
|
||||
"swimlanes": "Коридори",
|
||||
"log-out": "Изход",
|
||||
"log-in": "Вход",
|
||||
"loginPopup-title": "Вход",
|
||||
"memberMenuPopup-title": "Настройки на профила",
|
||||
"members": "Членове",
|
||||
"menu": "Меню",
|
||||
"move-selection": "Move selection",
|
||||
"moveCardPopup-title": "Премести картата",
|
||||
"moveCardToBottom-title": "Премести в края",
|
||||
"moveCardToTop-title": "Премести в началото",
|
||||
"moveSelectionPopup-title": "Move selection",
|
||||
"multi-selection": "Множествен избор",
|
||||
"multi-selection-on": "Множественият избор е приложен",
|
||||
"muted": "Muted",
|
||||
"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-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": "Получавате информация за всички табла, списъци и карти, които наблюдавате",
|
||||
"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": "Парола",
|
||||
"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": "Профил",
|
||||
"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": "Желаете да изтриете списъка?",
|
||||
"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": "Промени името на Таблото",
|
||||
"restore": "Възстанови",
|
||||
"save": "Запази",
|
||||
"search": "Търсене",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"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": "Въведи WIP лимит",
|
||||
"shortcut-assign-self": "Добави себе си към тази карта",
|
||||
"shortcut-autocomplete-emoji": "Autocomplete emoji",
|
||||
"shortcut-autocomplete-members": "Autocomplete members",
|
||||
"shortcut-clear-filters": "Изчистване на всички филтри",
|
||||
"shortcut-close-dialog": "Close Dialog",
|
||||
"shortcut-filter-my-cards": "Филтрирай моите карти",
|
||||
"shortcut-show-shortcuts": "Bring up this shortcuts list",
|
||||
"shortcut-toggle-filterbar": "Отвори/затвори сайдбара с филтри",
|
||||
"shortcut-toggle-sidebar": "Toggle Board Sidebar",
|
||||
"show-cards-minimum-count": "Покажи бройката на картите, ако списъка съдържа повече от",
|
||||
"sidebar-open": "Open Sidebar",
|
||||
"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": "Любимите табла се показват в началото на списъка Ви.",
|
||||
"subscribe": "Subscribe",
|
||||
"team": "Team",
|
||||
"this-board": "this board",
|
||||
"this-card": "картата",
|
||||
"spent-time-hours": "Изработено време (часа)",
|
||||
"overtime-hours": "Оувъртайм (часа)",
|
||||
"overtime": "Оувъртайм",
|
||||
"has-overtime-cards": "Има карти с оувъртайм",
|
||||
"has-spenttime-cards": "Има карти с изработено време",
|
||||
"time": "Време",
|
||||
"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": "Спри наблюдаването",
|
||||
"upload": "Upload",
|
||||
"upload-avatar": "Качване на аватар",
|
||||
"uploaded-avatar": "Качихте аватар",
|
||||
"username": "Потребителско име",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "внимание: тази карта е в списък, който е в Кошчето",
|
||||
"watch": "Наблюдавай",
|
||||
"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": "Невалиден WIP лимит",
|
||||
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Моля, преместете някои от задачите от този списък или въведете по-висок WIP лимит.",
|
||||
"admin-panel": "Администраторски панел",
|
||||
"settings": "Настройки",
|
||||
"people": "Хора",
|
||||
"registration": "Регистрация",
|
||||
"disable-self-registration": "Disable Self-Registration",
|
||||
"invite": "Покани",
|
||||
"invite-people": "Покани хора",
|
||||
"to-boards": "To board(s)",
|
||||
"email-addresses": "Имейл адреси",
|
||||
"smtp-host-description": "Адресът на SMTP сървъра, който обслужва Вашите имейли.",
|
||||
"smtp-port-description": "Портът, който Вашият SMTP сървър използва за изходящи имейли.",
|
||||
"smtp-tls-description": "Разреши TLS поддръжка за SMTP сървъра",
|
||||
"smtp-host": "SMTP хост",
|
||||
"smtp-port": "SMTP порт",
|
||||
"smtp-username": "Потребителско име",
|
||||
"smtp-password": "Парола",
|
||||
"smtp-tls": "TLS поддръжка",
|
||||
"send-from": "От",
|
||||
"send-smtp-test": "Изпрати тестов имейл на себе си",
|
||||
"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 тестов имейл, изпратен от Wekan",
|
||||
"email-smtp-test-text": "Успешно изпратихте имейл",
|
||||
"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",
|
||||
"Node_version": "Версия на Node",
|
||||
"OS_Arch": "Архитектура на ОС",
|
||||
"OS_Cpus": "Брой CPU ядра",
|
||||
"OS_Freemem": "Свободна памет",
|
||||
"OS_Loadavg": "ОС средно натоварване",
|
||||
"OS_Platform": "ОС платформа",
|
||||
"OS_Release": "ОС Версия",
|
||||
"OS_Totalmem": "ОС Общо памет",
|
||||
"OS_Type": "Тип ОС",
|
||||
"OS_Uptime": "OS Ъптайм",
|
||||
"hours": "часа",
|
||||
"minutes": "минути",
|
||||
"seconds": "секунди",
|
||||
"show-field-on-card": "Покажи това поле в картата",
|
||||
"yes": "Да",
|
||||
"no": "Не",
|
||||
"accounts": "Профили",
|
||||
"accounts-allowEmailChange": "Разреши промяна на имейла",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Създаден на",
|
||||
"verified": "Потвърден",
|
||||
"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"
|
||||
}
|
||||
+70
-28
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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ù",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Kemmañ ger-tremen",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+107
-65
@@ -7,12 +7,13 @@
|
||||
"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": "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__ importat",
|
||||
"act-importCard": "__card__ importat",
|
||||
"act-importList": "__list__ importat",
|
||||
@@ -27,9 +28,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",
|
||||
@@ -40,12 +42,12 @@
|
||||
"activity-sent": "ha enviat %s %s",
|
||||
"activity-unjoined": "desassignat %s",
|
||||
"activity-checklist-added": "Checklist afegida a %s",
|
||||
"activity-checklist-item-added": "\nafegit checklist item de'%s' a %s",
|
||||
"activity-checklist-item-added": "afegida entrada de checklist de '%s' a %s",
|
||||
"add": "Afegeix",
|
||||
"add-attachment": "Afegeix adjunt",
|
||||
"add-board": "Afegeix Tauler",
|
||||
"add-card": "Afegeix fitxa",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-swimlane": "Afegix Carril de Natació",
|
||||
"add-checklist": "Afegeix checklist",
|
||||
"add-checklist-item": "Afegeix un ítem",
|
||||
"add-cover": "Afegeix coberta",
|
||||
@@ -56,27 +58,27 @@
|
||||
"addMemberPopup-title": "Membres",
|
||||
"admin": "Administrador",
|
||||
"admin-desc": "Pots veure i editar fitxes, eliminar membres, i canviar la configuració del tauler",
|
||||
"admin-announcement": "Announcement",
|
||||
"admin-announcement-active": "Active System-Wide Announcement",
|
||||
"admin-announcement-title": "Announcement from Administrator",
|
||||
"admin-announcement": "Bàndol",
|
||||
"admin-announcement-active": "Activar bàndol del Sistema",
|
||||
"admin-announcement-title": "Bàndol de l'administració",
|
||||
"all-boards": "Tots els taulers",
|
||||
"and-n-other-card": "And __count__ other card",
|
||||
"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": "Archive Swimlane",
|
||||
"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",
|
||||
@@ -97,20 +99,22 @@
|
||||
"boardChangeWatchPopup-title": "Canvia seguiment",
|
||||
"boardMenuPopup-title": "Menú del tauler",
|
||||
"boards": "Taulers",
|
||||
"board-view": "Board View",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"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": "Spent Time",
|
||||
"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 +122,15 @@
|
||||
"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",
|
||||
"change": "Canvia",
|
||||
"change-avatar": "Canvia Avatar",
|
||||
"change-password": "Canvia la clau",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -160,17 +167,31 @@
|
||||
"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",
|
||||
"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-instructions": "Títols de fitxa i Descripcions de destí en aquest format JSON",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Títol de la primera fitxa\", \"description\":\"Descripció de la primera fitxa\"}, {\"title\":\"Títol de la segona fitxa\",\"description\":\"Descripció de la segona fitxa\"},{\"title\":\"Títol de l'última fitxa\",\"description\":\"Descripció de l'última fitxa\"} ]",
|
||||
"create": "Crea",
|
||||
"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",
|
||||
@@ -181,11 +202,12 @@
|
||||
"edit": "Edita",
|
||||
"edit-avatar": "Canvia Avatar",
|
||||
"edit-profile": "Edita el teu Perfil",
|
||||
"edit-wip-limit": "Edit WIP Limit",
|
||||
"edit-wip-limit": "Edita el Límit de Treball en Progrès",
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Canvia data d'inici",
|
||||
"editCardDueDatePopup-title": "Canvia data de finalització",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Canvia temps dedicat",
|
||||
"editLabelPopup-title": "Canvia etiqueta",
|
||||
"editNotificationPopup-title": "Edita la notificació",
|
||||
"editProfilePopup-title": "Edita teu Perfil",
|
||||
@@ -193,7 +215,7 @@
|
||||
"email-enrollAccount-subject": "An account created for you on __siteName__",
|
||||
"email-enrollAccount-text": "Hola __user__,\n\nPer començar a utilitzar el servei, segueix l'enllaç següent.\n\n__url__\n\nGràcies.",
|
||||
"email-fail": "Error enviant el correu",
|
||||
"email-fail-text": "Error trying to send email",
|
||||
"email-fail-text": "Error en intentar enviar e-mail",
|
||||
"email-invalid": "Adreça de correu invàlida",
|
||||
"email-invite": "Convida mitjançant correu electrònic",
|
||||
"email-invite-subject": "__inviter__ t'ha convidat",
|
||||
@@ -203,7 +225,7 @@
|
||||
"email-sent": "Correu enviat",
|
||||
"email-verifyEmail-subject": "Verify your email address on __siteName__",
|
||||
"email-verifyEmail-text": "Hola __user__, \n\n per verificar el teu correu, segueix l'enllaç següent.\n\n __url__\n\n Gràcies.",
|
||||
"enable-wip-limit": "Enable WIP Limit",
|
||||
"enable-wip-limit": "Activa e Límit de Treball en Progrès",
|
||||
"error-board-doesNotExist": "Aquest tauler no existeix",
|
||||
"error-board-notAdmin": "Necessites ser administrador d'aquest tauler per dur a lloc aquest acció",
|
||||
"error-board-notAMember": "Necessites ser membre d'aquest tauler per dur a terme aquesta acció",
|
||||
@@ -214,16 +236,19 @@
|
||||
"error-user-notAllowSelf": "No et pots convidar a tu mateix",
|
||||
"error-user-notCreated": "L'usuari no s'ha creat",
|
||||
"error-username-taken": "Aquest usuari ja existeix",
|
||||
"error-email-taken": "Email has already been taken",
|
||||
"error-email-taken": "L'adreça de correu electrònic ja és en ús",
|
||||
"export-board": "Exporta tauler",
|
||||
"filter": "Filtre",
|
||||
"filter-cards": "Fitxes de filtre",
|
||||
"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",
|
||||
@@ -249,7 +274,7 @@
|
||||
"initials": "Inicials",
|
||||
"invalid-date": "Data invàlida",
|
||||
"invalid-time": "Temps Invàlid",
|
||||
"invalid-user": "Invalid user",
|
||||
"invalid-user": "Usuari invàlid",
|
||||
"joined": "s'ha unit",
|
||||
"just-invited": "Has estat convidat a aquest tauler",
|
||||
"keyboard-shortcuts": "Dreceres de teclat",
|
||||
@@ -260,22 +285,22 @@
|
||||
"language": "Idioma",
|
||||
"last-admin-desc": "No podeu canviar rols perquè ha d'haver-hi almenys un administrador.",
|
||||
"leave-board": "Abandona tauler",
|
||||
"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": "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",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"swimlaneActionPopup-title": "Accions de Carril de Natació",
|
||||
"listImportCardPopup-title": "importa una fitxa de Trello",
|
||||
"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": "Swimlanes",
|
||||
"swimlanes": "Carrils de Natació",
|
||||
"log-out": "Finalitza la sessió",
|
||||
"log-in": "Ingresa",
|
||||
"loginPopup-title": "Inicia sessió",
|
||||
@@ -293,9 +318,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": "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": "Sense resultats",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Podeu veure i editar fitxes. No podeu canviar la configuració.",
|
||||
@@ -331,9 +356,11 @@
|
||||
"restore": "Restaura",
|
||||
"save": "Desa",
|
||||
"search": "Cerca",
|
||||
"search-cards": "Cerca títols de fitxa i descripcions en aquest tauler",
|
||||
"search-example": "Text que cercar?",
|
||||
"select-color": "Selecciona color",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
"set-wip-limit-value": "Limita el màxim nombre de tasques en aquesta llista",
|
||||
"setWipLimitPopup-title": "Configura el Límit de Treball en Progrès",
|
||||
"shortcut-assign-self": "Assigna't la ftixa actual",
|
||||
"shortcut-autocomplete-emoji": "Autocompleta emoji",
|
||||
"shortcut-autocomplete-members": "Autocompleta membres",
|
||||
@@ -354,15 +381,16 @@
|
||||
"team": "Equip",
|
||||
"this-board": "aquest tauler",
|
||||
"this-card": "aquesta fitxa",
|
||||
"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",
|
||||
"spent-time-hours": "Temps dedicat (hores)",
|
||||
"overtime-hours": "Temps de més (hores)",
|
||||
"overtime": "Temps de més",
|
||||
"has-overtime-cards": "Té fitxes amb temps de més",
|
||||
"has-spenttime-cards": "Té fitxes amb temps dedicat",
|
||||
"time": "Hora",
|
||||
"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ó",
|
||||
@@ -371,18 +399,18 @@
|
||||
"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",
|
||||
"welcome-board": "Tauler de benvinguda",
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-swimlane": "Objectiu 1",
|
||||
"welcome-list1": "Bàsics",
|
||||
"welcome-list2": "Avançades",
|
||||
"what-to-do": "Què vols fer?",
|
||||
"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.",
|
||||
"wipLimitErrorPopup-title": "Límit de Treball en Progrès invàlid",
|
||||
"wipLimitErrorPopup-dialog-pt1": "El nombre de tasques en esta llista és superior al límit de Treball en Progrès que heu definit.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Si us plau mogui algunes taques fora d'aquesta llista, o configuri un límit de Treball en Progrès superior.",
|
||||
"admin-panel": "Tauler d'administració",
|
||||
"settings": "Configuració",
|
||||
"people": "Persones",
|
||||
@@ -401,17 +429,17 @@
|
||||
"smtp-password": "Contrasenya",
|
||||
"smtp-tls": "Suport TLS",
|
||||
"send-from": "De",
|
||||
"send-smtp-test": "Send a test email to yourself",
|
||||
"send-smtp-test": "Envia't un correu electrònic de prova",
|
||||
"invitation-code": "Codi d'invitació",
|
||||
"email-invite-register-subject": "__inviter__ t'ha convidat",
|
||||
"email-invite-register-text": " __user__,\n\n __inviter__ us ha convidat a col·laborar a Wekan.\n\n Clicau l'enllaç següent per acceptar l'invitació:\n __url__\n\n El vostre codi d'invitació és: __icode__\n\n Gràcies",
|
||||
"email-smtp-test-subject": "SMTP Test Email From Wekan",
|
||||
"email-smtp-test-text": "You have successfully sent an email",
|
||||
"email-smtp-test-subject": "Correu de Prova SMTP de Wekan",
|
||||
"email-smtp-test-text": "Has enviat un missatge satisfactòriament",
|
||||
"error-invitation-code-not-exist": "El codi d'invitació no existeix",
|
||||
"error-notAuthorized": "No estau autoritzats per veure aquesta pàgina",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"outgoing-webhooks": "Webhooks sortints",
|
||||
"outgoingWebhooksPopup-title": "Webhooks sortints",
|
||||
"new-outgoing-webhook": "Nou Webook sortint",
|
||||
"no-name": "Importa tauler des de Wekan",
|
||||
"Wekan_version": "Versió Wekan",
|
||||
"Node_version": "Versió Node",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+171
-129
@@ -2,17 +2,18 @@
|
||||
"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-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 +28,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",
|
||||
@@ -45,7 +47,7 @@
|
||||
"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-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 +58,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 +96,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Změnit",
|
||||
"change-avatar": "Změnit avatar",
|
||||
"change-password": "Změnit heslo",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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 +160,38 @@
|
||||
"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-checklist-delete-dialog": "Opravdu chcete smazat tento 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 +202,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 +215,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 +225,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 +235,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 +285,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 +309,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 +345,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,11 +356,13 @@
|
||||
"restore": "Obnovit",
|
||||
"save": "Uložit",
|
||||
"search": "Hledat",
|
||||
"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",
|
||||
@@ -343,9 +370,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",
|
||||
@@ -354,64 +381,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",
|
||||
@@ -419,19 +447,33 @@
|
||||
"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"
|
||||
}
|
||||
+87
-45
@@ -2,17 +2,18 @@
|
||||
"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-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 +28,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",
|
||||
@@ -40,14 +42,14 @@
|
||||
"activity-sent": "hat %s an %s gesendet",
|
||||
"activity-unjoined": "hat %s verlassen",
|
||||
"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-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 +59,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 +100,21 @@
|
||||
"boardMenuPopup-title": "Boardmenü",
|
||||
"boards": "Boards",
|
||||
"board-view": "Boardansicht",
|
||||
"board-view-cal": "Calendar",
|
||||
"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 +122,15 @@
|
||||
"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",
|
||||
"change": "Ändern",
|
||||
"change-avatar": "Profilbild ändern",
|
||||
"change-password": "Passwort ändern",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +205,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 +243,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 +280,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 +288,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 +297,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "Wiederherstellen",
|
||||
"save": "Speichern",
|
||||
"search": "Suchen",
|
||||
"search-cards": "Suche nach Kartentiteln und Beschreibungen auf diesem Board",
|
||||
"search-example": "Suchbegriff",
|
||||
"select-color": "Farbe auswählen",
|
||||
"set-wip-limit-value": "Setzen Sie ein Limit für die maximale Anzahl von Aufgaben in dieser Liste",
|
||||
"setWipLimitPopup-title": "WIP-Limit setzen",
|
||||
@@ -352,17 +379,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+70
-28
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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": "Κάρτες",
|
||||
"change": "Αλλαγή",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Αλλαγή Κωδικού",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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": "πράσινο",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "Restore",
|
||||
"save": "Αποθήκευση",
|
||||
"search": "Αναζήτηση",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+72
-30
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +88,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 +100,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,7 +356,9 @@
|
||||
"restore": "Restore",
|
||||
"save": "Save",
|
||||
"search": "Search",
|
||||
"select-color": "Select Color",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+70
-28
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+70
-28
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Ŝanĝi",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Ŝangi pasvorton",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "Forigi",
|
||||
"save": "Savi",
|
||||
"search": "Serĉi",
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+81
-39
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -45,7 +47,7 @@
|
||||
"add-attachment": "Agregar Adjunto",
|
||||
"add-board": "Agregar Tablero",
|
||||
"add-card": "Agregar Tarjeta",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-swimlane": "Agregar Calle",
|
||||
"add-checklist": "Agregar Lista de Tareas",
|
||||
"add-checklist-item": "Agregar ítem a lista de tareas",
|
||||
"add-cover": "Agregar Portadas",
|
||||
@@ -64,19 +66,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 +99,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Cambiar",
|
||||
"change-avatar": "Cambiar Avatar",
|
||||
"change-password": "Cambiar Contraseña",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -159,18 +166,32 @@
|
||||
"confirm-checklist-delete-dialog": "¿Estás segur@ que querés borrar la lista de ítems?",
|
||||
"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 +206,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 +243,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 +288,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 +318,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,6 +356,8 @@
|
||||
"restore": "Restaurar",
|
||||
"save": "Grabar",
|
||||
"search": "Buscar",
|
||||
"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",
|
||||
@@ -358,11 +385,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",
|
||||
@@ -371,12 +399,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?",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+108
-66
@@ -2,17 +2,18 @@
|
||||
"accept": "Aceptar",
|
||||
"act-activity-notify": "[Wekan] Notificación de actividad",
|
||||
"act-addAttachment": "ha adjuntado __attachment__ a __card__",
|
||||
"act-addChecklist": "ha añadido la lista de tareas __checklist__ a __card__",
|
||||
"act-addChecklistItem": "ha añadido __checklistItem__ a la lista de tareas __checklist__ en __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__",
|
||||
@@ -27,9 +28,10 @@
|
||||
"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,15 +41,15 @@
|
||||
"activity-removed": "ha eliminado %s de %s",
|
||||
"activity-sent": "ha enviado %s a %s",
|
||||
"activity-unjoined": "se ha desvinculado de %s",
|
||||
"activity-checklist-added": "ha añadido una lista de tareas a %s",
|
||||
"activity-checklist-item-added": "ha añadido el elemento de la lista de tareas a '%s' en %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",
|
||||
"add-attachment": "Añadir adjunto",
|
||||
"add-board": "Añadir tablero",
|
||||
"add-card": "Añadir una tarjeta",
|
||||
"add-swimlane": "Añadir un carril de flujo",
|
||||
"add-checklist": "Añadir una lista de tareas",
|
||||
"add-checklist-item": "Añadir un elemento a la lista de tareas",
|
||||
"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",
|
||||
"add-label": "Añadir una etiqueta",
|
||||
"add-list": "Añadir una lista",
|
||||
@@ -64,19 +66,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 +99,38 @@
|
||||
"boardChangeWatchPopup-title": "Cambiar vigilancia",
|
||||
"boardMenuPopup-title": "Menú del tablero",
|
||||
"boards": "Tableros",
|
||||
"board-view": "Vista de tablero",
|
||||
"board-view-swimlanes": "Carril de flujo",
|
||||
"board-view": "Vista del tablero",
|
||||
"board-view-cal": "Calendar",
|
||||
"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",
|
||||
"change": "Cambiar",
|
||||
"change-avatar": "Cambiar el avatar",
|
||||
"change-password": "Cambiar la contraseña",
|
||||
@@ -134,13 +141,13 @@
|
||||
"changePasswordPopup-title": "Cambiar la contraseña",
|
||||
"changePermissionsPopup-title": "Cambiar los permisos",
|
||||
"changeSettingsPopup-title": "Cambiar las preferencias",
|
||||
"checklists": "Lista de tareas",
|
||||
"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 +161,52 @@
|
||||
"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 tareas",
|
||||
"confirm-checklist-delete-dialog": "¿Seguro que desea 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": "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 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 +225,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 +238,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 +263,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,27 +280,27 @@
|
||||
"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": "Carril de flujo",
|
||||
"swimlanes": "Carriles",
|
||||
"log-out": "Finalizar la sesión",
|
||||
"log-in": "Iniciar sesión",
|
||||
"loginPopup-title": "Iniciar sesión",
|
||||
@@ -293,9 +318,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,11 +354,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",
|
||||
@@ -361,17 +388,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",
|
||||
@@ -380,9 +408,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+70
-28
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Aldatu",
|
||||
"change-avatar": "Aldatu avatarra",
|
||||
"change-password": "Aldatu pasahitza",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "Berrezarri",
|
||||
"save": "Gorde",
|
||||
"search": "Bilatu",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"select-color": "Aukeratu kolorea",
|
||||
"set-wip-limit-value": "Zerrenda honetako atazen muga maximoa ezarri",
|
||||
"setWipLimitPopup-title": "WIP muga ezarri",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+157
-115
@@ -1,18 +1,19 @@
|
||||
{
|
||||
"accept": "تایید",
|
||||
"act-activity-notify": "[wekan]اطلاع فعالیت",
|
||||
"accept": "پذیرش",
|
||||
"act-activity-notify": "[wekan] اطلاع فعالیت",
|
||||
"act-addAttachment": "پیوست __attachment__ به __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-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__ وارد شده",
|
||||
@@ -27,9 +28,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 وارد شد",
|
||||
@@ -56,31 +58,31 @@
|
||||
"addMemberPopup-title": "اعضا",
|
||||
"admin": "مدیر",
|
||||
"admin-desc": "امکان دیدن و ویرایش کارتها،پاک کردن کاربران و تغییر تنظیمات برای تخته",
|
||||
"admin-announcement": "Announcement",
|
||||
"admin-announcement-active": "Active System-Wide Announcement",
|
||||
"admin-announcement-title": "Announcement from Administrator",
|
||||
"all-boards": "تمام بردها",
|
||||
"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 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 Swimlane",
|
||||
"archive-selection": "بایگانی موارد انتخاب شده ها",
|
||||
"archiveBoardPopup-title": "آیا می خواهید بایگانی شود؟",
|
||||
"archived-items": "آیتم های بایگانی شده",
|
||||
"archived-boards": "Archived Boards",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Archived Boards.",
|
||||
"archives": "بایگانی ها",
|
||||
"apply": "اعمال",
|
||||
"app-is-offline": "Wekan در حال بارگذاری است. لطفا صبر کنید. نوسازی صفحه، منجر به از دست رفتن دادهها میشود. اگر 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": "حذف پیوست دایمی خواهد بود، بدون بازگشت",
|
||||
"attached": "ضمیمه شده",
|
||||
"attachment": "ضمیمه",
|
||||
"attachment-delete-pop": "حذف پیوست دایمی و بی بازگشت خواهد بود.",
|
||||
"attachmentDeletePopup-title": "آیا می خواهید ضمیمه را حذف کنید؟",
|
||||
"attachments": "ضمائم",
|
||||
"auto-watch": "اضافه شدن خودکار دیده بانی تخته زمانی که ایجاد می شوند",
|
||||
@@ -88,59 +90,64 @@
|
||||
"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": "تغغیر وضعیت نمایش",
|
||||
"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",
|
||||
"boards": "تختهها",
|
||||
"board-view": "نمایش تخته",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "لیست ها",
|
||||
"board-view-lists": "فهرستها",
|
||||
"bucket-example": "برای مثال چیزی شبیه \"لیست سبدها\"",
|
||||
"cancel": "انصراف",
|
||||
"card-archived": "این کارت بایگانی شده است.",
|
||||
"card-comments-title": "این کارت دارای %s نظر می باشد.",
|
||||
"card-delete-notice": "پاک کردن بطور کامل. شما تمامی اقدامات مربوطه را از دست خواهید داد.",
|
||||
"card-delete-pop": "همه اقدامات ازاین پردازه (خوراک) حذف خواهد شد و امکان بازگشا کردن کارت وجود نخواهد داشت. هیچ امکان بازگشتی!",
|
||||
"card-delete-suggest-archive": "شما می توانید یک کارت را با حفظ فعالیت های آن بایگانی کنید.",
|
||||
"card-archived": "این کارت به سطل زباله ریخته شده است",
|
||||
"card-comments-title": "این کارت دارای %s نظر است.",
|
||||
"card-delete-notice": "حذف دائمی. تمامی موارد مرتبط با این کارت از بین خواهند رفت.",
|
||||
"card-delete-pop": "همه اقدامات از این پردازه (خوراک) حذف خواهد شد و امکان بازگرداندن کارت وجود نخواهد داشت.",
|
||||
"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-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": "آغاز بر",
|
||||
"card-start-on": "شروع از",
|
||||
"cardAttachmentsPopup-title": "ضمیمه از",
|
||||
"cardCustomField-datePopup-title": "تغییر تاریخ",
|
||||
"cardCustomFieldsPopup-title": "ویرایش فیلدهای شخصی",
|
||||
"cardDeletePopup-title": "آیا می خواهید کارت را حذف کنید؟",
|
||||
"cardDetailsActionsPopup-title": "اعمال کارت",
|
||||
"cardLabelsPopup-title": "برچسب ها",
|
||||
"cardMembersPopup-title": "اعضا",
|
||||
"cardMorePopup-title": "بیشتر",
|
||||
"cards": "کارت ها",
|
||||
"cards": "کارتها",
|
||||
"cards-count": "کارتها",
|
||||
"change": "تغییر",
|
||||
"change-avatar": "تغییر تصویر",
|
||||
"change-password": "تغییر کلمه عبور",
|
||||
"change-permissions": "تغییر دسترسی ها",
|
||||
"change-permissions": "تغییر دسترسیها",
|
||||
"change-settings": "تغییر تنظیمات",
|
||||
"changeAvatarPopup-title": "تغییر تصویر",
|
||||
"changeLanguagePopup-title": "تغییر زبان",
|
||||
"changePasswordPopup-title": "تغییر کلمه عبور",
|
||||
"changePermissionsPopup-title": "تغییر دسترسی ها",
|
||||
"changePermissionsPopup-title": "تغییر دسترسیها",
|
||||
"changeSettingsPopup-title": "تغییر تنظیمات",
|
||||
"checklists": "سیاهه ها",
|
||||
"checklists": "سیاههها",
|
||||
"click-to-star": "با کلیک کردن ستاره بدهید",
|
||||
"click-to-unstar": "با کلیک کردن ستاره را کم کنید",
|
||||
"clipboard": "ذخیره در حافظه ویا بردار-رهاکن",
|
||||
"close": "بستن",
|
||||
"close-board": "بستن برد",
|
||||
"close-board-pop": "شما می توانید با کلیک بر دکمه \"بایگانی\" از قسمت بالای خانه، تخته را بازآوری نمایید.",
|
||||
"close-board-pop": "شما با کلیک روی دکمه \"سطل زباله\" در قسمت خانه می توانید تخته را بازیابی کنید.",
|
||||
"color-black": "مشکی",
|
||||
"color-blue": "آبی",
|
||||
"color-green": "سبز",
|
||||
@@ -152,25 +159,39 @@
|
||||
"color-sky": "آبی آسمانی",
|
||||
"color-yellow": "زرد",
|
||||
"comment": "نظر",
|
||||
"comment-placeholder": "Write Comment",
|
||||
"comment-only": "صرفا یادداشت",
|
||||
"comment-only-desc": "صرفا یادداشت برروی کارت ها",
|
||||
"comment-placeholder": "درج نظر",
|
||||
"comment-only": "فقط نظر",
|
||||
"comment-only-desc": "فقط میتواند روی کارتها نظر دهد.",
|
||||
"computer": "رایانه",
|
||||
"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",
|
||||
"confirm-checklist-delete-dialog": "مطمئنید که میخواهید سیاهه را حذف کنید؟",
|
||||
"copy-card-link-to-clipboard": "درج پیوند کارت در حافظه",
|
||||
"copyCardPopup-title": "کپی کارت",
|
||||
"copyChecklistToManyCardsPopup-title": "کپی قالب کارت به کارتهای متعدد",
|
||||
"copyChecklistToManyCardsPopup-instructions": "عنوان و توضیحات کارت مقصد در این قالب JSON",
|
||||
"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": "ایجاد",
|
||||
"createBoardPopup-title": "ایجاد تخته",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"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": "(none)",
|
||||
"custom-field-dropdown-options": "لیست امکانات",
|
||||
"custom-field-dropdown-options-placeholder": "کلید Enter را جهت افزودن امکانات بیشتر فشار دهید",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "عدد",
|
||||
"custom-field-text": "متن",
|
||||
"custom-fields": "فیلدهای شخصی",
|
||||
"date": "تاریخ",
|
||||
"decline": "رد",
|
||||
"default-avatar": "تصویر پیش فرض",
|
||||
"delete": "حذف",
|
||||
"deleteCustomFieldPopup-title": "آیا فیلدشخصی پاک شود؟",
|
||||
"deleteLabelPopup-title": "آیا می خواهید برچسب را حذف کنید؟",
|
||||
"description": "توضیحات",
|
||||
"disambiguateMultiLabelPopup-title": "عمل ابهام زدایی از برچسب",
|
||||
@@ -185,17 +206,18 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "تغییر تاریخ آغاز",
|
||||
"editCardDueDatePopup-title": "تغییر تاریخ بدلیل",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editCustomFieldPopup-title": "ویرایش فیلد",
|
||||
"editCardSpentTimePopup-title": "تغییر زمان صرف شده",
|
||||
"editLabelPopup-title": "تغیر برچسب",
|
||||
"editNotificationPopup-title": "اصلاح اعلان",
|
||||
"editProfilePopup-title": "ویرایش پروفایل",
|
||||
"email": "پست الکترونیک",
|
||||
"email-enrollAccount-subject": "یک حساب کاربری برای شما در __siteName__ ایجاد شد",
|
||||
"email-enrollAccount-text": "سلام __user__ \nبرای شروع به استفاده از این سرویس برروی آدرس زیر کلیک نمایید،با تشکر \n__url__.",
|
||||
"email-fail": "عدم موفقیت در ارسال نامه الکترونیکی",
|
||||
"email-fail-text": "Error trying to send email",
|
||||
"email-invalid": "پست الکترونیکی نادرست",
|
||||
"email-invite": "دعوت از طریق نامه الکترونیکی",
|
||||
"email-enrollAccount-text": "سلام __user__ \nبرای شروع به استفاده از این سرویس برروی آدرس زیر کلیک کنید.\n__url__\nبا تشکر.",
|
||||
"email-fail": "عدم موفقیت در فرستادن رایانامه",
|
||||
"email-fail-text": "خطا در تلاش برای فرستادن رایانامه",
|
||||
"email-invalid": "رایانامه نادرست",
|
||||
"email-invite": "دعوت از طریق رایانامه",
|
||||
"email-invite-subject": "__inviter__ برای شما دعوت نامه ارسال کرده است",
|
||||
"email-invite-text": "__User__ عزیز\n __inviter__ شما را به عضویت تخته \"__board__\" برای همکاری دعوت کرده است.\nلطفا لینک زیر را دنبال کنید، باتشکر:\n__url__",
|
||||
"email-resetPassword-subject": "تنظیم مجدد کلمه عبور در __siteName__",
|
||||
@@ -214,29 +236,32 @@
|
||||
"error-user-notAllowSelf": "عدم امکان دعوت خود",
|
||||
"error-user-notCreated": "این کاربر ایجاد نشده است",
|
||||
"error-username-taken": "این نام کاربری استفاده شده است",
|
||||
"error-email-taken": "Email has already been taken",
|
||||
"error-email-taken": "رایانامه توسط گیرنده دریافت شده است",
|
||||
"export-board": "انتقال به بیرون تخته",
|
||||
"filter": "صافی ـFilterـ",
|
||||
"filter-cards": "صافی ـFilterـ کارتها",
|
||||
"filter-cards": "صافی ـFilterـ کارتها",
|
||||
"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",
|
||||
"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": "عدم نمایش پیامهای سیستمی",
|
||||
"headerBarCreateBoardPopup-title": "ایجاد تخته",
|
||||
"home": "خانه",
|
||||
"import": "وارد کردن",
|
||||
"import-board": "import board",
|
||||
"import-board-c": "Import board",
|
||||
"import-board-title-trello": "وارد کردن تخته ها از Trello",
|
||||
"import-board-title-wekan": "Import board from Wekan",
|
||||
"import-board": "وارد کردن تخته",
|
||||
"import-board-c": "وارد کردن تخته",
|
||||
"import-board-title-trello": "وارد کردن تخته از Trello",
|
||||
"import-board-title-wekan": "وارد کردن تخته از 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",
|
||||
"from-trello": "از Trello",
|
||||
"from-wekan": "از Wekan",
|
||||
"import-board-instruction-trello": "در Trello-ی خود به 'Menu'، 'More'، 'Print'، 'Export to JSON رفته و متن نهایی را دراینجا وارد نمایید.",
|
||||
"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": "اطلاعات Json معتبر خود را اینجا وارد کنید.",
|
||||
@@ -245,17 +270,17 @@
|
||||
"import-show-user-mapping": "بررسی نقشه کاربران",
|
||||
"import-user-select": "کاربری از نرم افزار را که می خواهید بعنوان این عضو جایگزین شود را انتخاب کنید.",
|
||||
"importMapMembersAddPopup-title": "انتخاب کاربر Wekan",
|
||||
"info": "Version",
|
||||
"info": "نسخه",
|
||||
"initials": "تخصیصات اولیه",
|
||||
"invalid-date": "تاریخ نامعتبر",
|
||||
"invalid-time": "Invalid time",
|
||||
"invalid-user": "Invalid user",
|
||||
"invalid-time": "زمان نامعتبر",
|
||||
"invalid-user": "کاربر نامعتیر",
|
||||
"joined": "متصل",
|
||||
"just-invited": "هم اکنون، شما به این تخته دعوت شده اید.",
|
||||
"keyboard-shortcuts": "میانبر کلیدها",
|
||||
"label-create": "ایجاد برچسب",
|
||||
"label-default": "%s برچسب(پیش فرض)",
|
||||
"label-delete-pop": "بدون برگشت. این حذف برچسب را از هر کارت پاک خواهد کردو تاریخچه آن را نیز ازبین می برد.",
|
||||
"label-delete-pop": "این اقدام، برچسب را از همه کارتها پاک خواهد کرد و تاریخچه آن را نیز از بین میبرد.",
|
||||
"labels": "برچسب ها",
|
||||
"language": "زبان",
|
||||
"last-admin-desc": "شما نمی توانید نقش ـroleـ را تغییر دهید چراکه باید حداقل یک مدیری وجود داشته باشد.",
|
||||
@@ -263,17 +288,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": "این اقدام، همه کارت های این لیست از تخته راحذف خواهد کرد. جهت مشاهده کارت های بایگانی و بازگرداندن آنها ، \"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": "لیست اقدامات",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"listImportCardPopup-title": "وارد کردن کارت Trello",
|
||||
"listMorePopup-title": "بیشتر",
|
||||
"link-list": "Link to this list",
|
||||
"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": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
|
||||
"lists": "لیست ها",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "خروج",
|
||||
@@ -291,11 +316,11 @@
|
||||
"multi-selection-on": "حالت چند انتخابی روشن است",
|
||||
"muted": "بی صدا",
|
||||
"muted-info": "شما هیچگاه از تغییرات این تخته مطلع نخواهید شد",
|
||||
"my-boards": "تخته های من",
|
||||
"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": "امکان نمایش و تنظیم کارت بدون امکان تغییر تنظیمات",
|
||||
@@ -304,7 +329,7 @@
|
||||
"notify-watch": "اطلاع رسانی از هرگونه تغییر در تخته، لیست یا کارتهایی که از آنها دیده بانی میکنید",
|
||||
"optional": "انتخابی",
|
||||
"or": "یا",
|
||||
"page-maybe-private": "این صفحه ممکن است خصوصی باشد.شما با<a href='%s'>ورود</a> می توانید آنرا ملاحظه نمایید.",
|
||||
"page-maybe-private": "این صفحه ممکن است خصوصی باشد. شما با<a href='%s'>ورود</a> میتوانید آن را ببینید.",
|
||||
"page-not-found": "صفحه پیدا نشد.",
|
||||
"password": "کلمه عبور",
|
||||
"paste-or-dragdrop": "جهت چسباندن، یا برداشتن-رهاسازی فایل تصویر به آن (تصویر)",
|
||||
@@ -320,8 +345,8 @@
|
||||
"quick-access-description": "جهت افزودن یک تخته به اینجا،آنرا ستاره دار نمایید.",
|
||||
"remove-cover": "حذف کاور",
|
||||
"remove-from-board": "حذف از تخته",
|
||||
"remove-label": "Remove Label",
|
||||
"listDeletePopup-title": "Delete List ?",
|
||||
"remove-label": "حذف برچسب",
|
||||
"listDeletePopup-title": "حذف فهرست؟",
|
||||
"remove-member": "حذف عضو",
|
||||
"remove-member-from-card": "حذف از کارت",
|
||||
"remove-member-pop": "آیا __name__ (__username__) را از __boardTitle__ حذف می کنید? کاربر از تمام کارت ها در این تخته حذف خواهد شد و آنها ازین اقدام مطلع خواهند شد.",
|
||||
@@ -331,8 +356,10 @@
|
||||
"restore": "بازیابی",
|
||||
"save": "ذخیره",
|
||||
"search": "جستجو",
|
||||
"select-color": "Select Color",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"search-cards": "جستجو در میان عناوین و توضیحات در این تخته",
|
||||
"search-example": "متن مورد جستجو؟",
|
||||
"select-color": "انتخاب رنگ",
|
||||
"set-wip-limit-value": "تعیین بیشینه تعداد وظایف در این فهرست",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
"shortcut-assign-self": "اختصاص خود به کارت فعلی",
|
||||
"shortcut-autocomplete-emoji": "تکمیل خودکار شکلکها",
|
||||
@@ -354,7 +381,7 @@
|
||||
"team": "تیم",
|
||||
"this-board": "این تخته",
|
||||
"this-card": "این کارت",
|
||||
"spent-time-hours": "Spent time (hours)",
|
||||
"spent-time-hours": "زمان صرف شده (ساعت)",
|
||||
"overtime-hours": "Overtime (hours)",
|
||||
"overtime": "Overtime",
|
||||
"has-overtime-cards": "Has overtime cards",
|
||||
@@ -363,6 +390,7 @@
|
||||
"title": "عنوان",
|
||||
"tracking": "پیگردی",
|
||||
"tracking-info": "شما از هرگونه تغییر در کارتهایی که بعنوان ایجاد کننده ویا عضو آن هستید، آگاه خواهید شد",
|
||||
"type": "Type",
|
||||
"unassign-member": "عدم انتصاب کاربر",
|
||||
"unsaved-description": "شما توضیحات ذخیره نشده دارید.",
|
||||
"unwatch": "عدم دیده بانی",
|
||||
@@ -371,7 +399,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": "شما از هر تغییری دراین تخته آگاه خواهید شد",
|
||||
@@ -387,11 +415,11 @@
|
||||
"settings": "تنظمات",
|
||||
"people": "افراد",
|
||||
"registration": "ثبت نام",
|
||||
"disable-self-registration": "غیرفعالسازی خودثبت نامی",
|
||||
"disable-self-registration": "غیرفعالسازی خودثبتنامی",
|
||||
"invite": "دعوت",
|
||||
"invite-people": "دعوت از افراد",
|
||||
"to-boards": "به تخته(ها)",
|
||||
"email-addresses": "ادرس پست های الکترونیکی",
|
||||
"email-addresses": "نشانی رایانامه",
|
||||
"smtp-host-description": "آدرس سرور SMTP ای که پست الکترونیکی شما برروی آن است",
|
||||
"smtp-port-description": "شماره درگاه ـPortـ ای که سرور SMTP شما جهت ارسال از آن استفاده می کند",
|
||||
"smtp-tls-description": "پشتیبانی از TLS برای سرور SMTP",
|
||||
@@ -401,20 +429,20 @@
|
||||
"smtp-password": "کلمه عبور",
|
||||
"smtp-tls": "پشتیبانی از SMTP",
|
||||
"send-from": "از",
|
||||
"send-smtp-test": "Send a test email to yourself",
|
||||
"send-smtp-test": "فرستادن رایانامه آزمایشی به خود",
|
||||
"invitation-code": "کد دعوت نامه",
|
||||
"email-invite-register-subject": "__inviter__ برای شما دعوت نامه ارسال کرده است",
|
||||
"email-invite-register-text": "__User__ عزیز \nکاربر __inviter__ شما را به عضویت در Wekan برای همکاری دعوت کرده است.\nلطفا لینک زیر را دنبال کنید،\n __url__\nکد دعوت شما __icode__ می باشد.\n باتشکر",
|
||||
"email-smtp-test-subject": "SMTP Test Email From Wekan",
|
||||
"email-smtp-test-text": "You have successfully sent an email",
|
||||
"email-smtp-test-subject": "رایانامه SMTP آزمایشی از Wekan",
|
||||
"email-smtp-test-text": "با موفقیت، یک رایانامه را فرستادید",
|
||||
"error-invitation-code-not-exist": "چنین کد دعوتی یافت نشد",
|
||||
"error-notAuthorized": "You are not authorized to view this page.",
|
||||
"error-notAuthorized": "شما مجاز به دیدن این صفحه نیستید.",
|
||||
"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",
|
||||
"no-name": "(ناشناخته)",
|
||||
"Wekan_version": "نسخه Wekan",
|
||||
"Node_version": "نسخه Node ",
|
||||
"OS_Arch": "OS Arch",
|
||||
"OS_Cpus": "OS CPU Count",
|
||||
"OS_Freemem": "OS Free Memory",
|
||||
@@ -424,14 +452,28 @@
|
||||
"OS_Totalmem": "OS Total Memory",
|
||||
"OS_Type": "OS Type",
|
||||
"OS_Uptime": "OS Uptime",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verified",
|
||||
"active": "Active"
|
||||
"hours": "ساعت",
|
||||
"minutes": "دقیقه",
|
||||
"seconds": "ثانیه",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"yes": "بله",
|
||||
"no": "خیر",
|
||||
"accounts": "حسابها",
|
||||
"accounts-allowEmailChange": "اجازه تغییر رایانامه",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "ساخته شده در",
|
||||
"verified": "معتبر",
|
||||
"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"
|
||||
}
|
||||
+72
-30
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Muokkaa",
|
||||
"change-avatar": "Muokkaa profiilikuvaa",
|
||||
"change-password": "Vaihda salasana",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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ä",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "Palauta",
|
||||
"save": "Tallenna",
|
||||
"search": "Etsi",
|
||||
"search-cards": "Etsi korttien otsikoista ja kuvauksista tällä taululla",
|
||||
"search-example": "Teksti jota etsitään?",
|
||||
"select-color": "Valitse väri",
|
||||
"set-wip-limit-value": "Aseta tämän listan tehtävien enimmäismäärä",
|
||||
"setWipLimitPopup-title": "Aseta WIP-raja",
|
||||
@@ -363,15 +390,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",
|
||||
@@ -397,7 +425,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ä",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+74
-32
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -40,7 +42,7 @@
|
||||
"activity-sent": "a envoyé %s vers %s",
|
||||
"activity-unjoined": "a quitté %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",
|
||||
@@ -63,20 +65,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 +100,21 @@
|
||||
"boardMenuPopup-title": "Menu du tableau",
|
||||
"boards": "Tableaux",
|
||||
"board-view": "Vue du tableau",
|
||||
"board-view-cal": "Calendar",
|
||||
"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 +122,15 @@
|
||||
"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",
|
||||
"change": "Modifier",
|
||||
"change-avatar": "Modifier l'avatar",
|
||||
"change-password": "Modifier le mot de passe",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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 +163,7 @@
|
||||
"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-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 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "Restaurer",
|
||||
"save": "Enregistrer",
|
||||
"search": "Chercher",
|
||||
"search-cards": "Rechercher parmi les titres et descriptions des cartes de ce tableau",
|
||||
"search-example": "Texte à rechercher ?",
|
||||
"select-color": "Sélectionner une couleur",
|
||||
"set-wip-limit-value": "Définit une limite maximale au nombre de cartes de cette liste",
|
||||
"setWipLimitPopup-title": "Définir la limite WIP",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+70
-28
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Cambiar",
|
||||
"change-avatar": "Cambiar o avatar",
|
||||
"change-password": "Cambiar o contrasinal",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+78
-36
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -45,7 +47,7 @@
|
||||
"add-attachment": "הוספת קובץ מצורף",
|
||||
"add-board": "הוספת לוח",
|
||||
"add-card": "הוספת כרטיס",
|
||||
"add-swimlane": "הוסף מסלול שחייה",
|
||||
"add-swimlane": "הוספת מסלול",
|
||||
"add-checklist": "הוספת רשימת מטלות",
|
||||
"add-checklist-item": "הוספת פריט לרשימת משימות",
|
||||
"add-cover": "הוספת כיסוי",
|
||||
@@ -64,19 +66,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 +100,21 @@
|
||||
"boardMenuPopup-title": "תפריט לוח",
|
||||
"boards": "לוחות",
|
||||
"board-view": "תצוגת לוח",
|
||||
"board-view-swimlanes": "מסלול שחייה",
|
||||
"board-view-cal": "Calendar",
|
||||
"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 +122,15 @@
|
||||
"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": "כרטיסים",
|
||||
"change": "שינוי",
|
||||
"change-avatar": "החלפת תמונת משתמש",
|
||||
"change-password": "החלפת ססמה",
|
||||
@@ -140,7 +147,7 @@
|
||||
"clipboard": "לוח גזירים או גרירה ושחרור",
|
||||
"close": "סגירה",
|
||||
"close-board": "סגירת לוח",
|
||||
"close-board-pop": "ניתן לשחזר את הלוח בלחיצה על כפתור „ארכיונים“ מהכותרת העליונה.",
|
||||
"close-board-pop": "תהיה לך אפשרות להסיר את הלוח על ידי לחיצה על הכפתור „סל מחזור” מכותרת הבית.",
|
||||
"color-black": "שחור",
|
||||
"color-blue": "כחול",
|
||||
"color-green": "ירוק",
|
||||
@@ -159,18 +166,32 @@
|
||||
"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 +206,7 @@
|
||||
"soft-wip-limit": "מגבלת „בעבודה” רכה",
|
||||
"editCardStartDatePopup-title": "שינוי מועד התחלה",
|
||||
"editCardDueDatePopup-title": "שינוי מועד סיום",
|
||||
"editCustomFieldPopup-title": "עריכת שדה",
|
||||
"editCardSpentTimePopup-title": "שינוי הזמן שהושקע",
|
||||
"editLabelPopup-title": "שינוי תווית",
|
||||
"editNotificationPopup-title": "שינוי דיווח",
|
||||
@@ -221,9 +243,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 +288,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 +318,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,6 +356,8 @@
|
||||
"restore": "שחזור",
|
||||
"save": "שמירה",
|
||||
"search": "חיפוש",
|
||||
"search-cards": "חיפוש אחר כותרות ותיאורים של כרטיסים בלוח זה",
|
||||
"search-example": "טקסט לחיפוש ?",
|
||||
"select-color": "בחירת צבע",
|
||||
"set-wip-limit-value": "הגדרת מגבלה למספר המרבי של משימות ברשימה זו",
|
||||
"setWipLimitPopup-title": "הגדרת מגבלת „בעבודה”",
|
||||
@@ -363,6 +390,7 @@
|
||||
"title": "כותרת",
|
||||
"tracking": "מעקב",
|
||||
"tracking-info": "על כל שינוי בכרטיסים בהם הייתה לך מעורבות ברמת היצירה או כחברות תגיע אליך הודעה.",
|
||||
"type": "סוג",
|
||||
"unassign-member": "ביטול הקצאת חבר",
|
||||
"unsaved-description": "יש לך תיאור לא שמור.",
|
||||
"unwatch": "ביטול מעקב",
|
||||
@@ -371,12 +399,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": "מה ברצונך לעשות?",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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": "מחיקת לוח"
|
||||
}
|
||||
+75
-33
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +99,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Változtatás",
|
||||
"change-avatar": "Avatár megváltoztatása",
|
||||
"change-password": "Jelszó megváltoztatása",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -159,18 +166,32 @@
|
||||
"confirm-checklist-delete-dialog": "Biztosan törölni szeretné az ellenőrzőlistát?",
|
||||
"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 +206,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 +243,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 +288,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 +298,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 +318,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,6 +356,8 @@
|
||||
"restore": "Visszaállítás",
|
||||
"save": "Mentés",
|
||||
"search": "Keresés",
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,12 +399,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?",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,479 @@
|
||||
{
|
||||
"accept": "Ընդունել",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ 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": "__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-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-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",
|
||||
"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",
|
||||
"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-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": "Close Dialog",
|
||||
"shortcut-filter-my-cards": "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": "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",
|
||||
"starred-boards-description": "Starred boards show up at the top of your boards list.",
|
||||
"subscribe": "Subscribe",
|
||||
"team": "Team",
|
||||
"this-board": "this board",
|
||||
"this-card": "this card",
|
||||
"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",
|
||||
"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"
|
||||
}
|
||||
+71
-29
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Ubah",
|
||||
"change-avatar": "Ubah Avatar",
|
||||
"change-password": "Ubah Kata Sandi",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +270,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 +288,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 +298,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 +318,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",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "Pulihkan",
|
||||
"save": "Simpan",
|
||||
"search": "Cari",
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+70
-28
@@ -7,12 +7,13 @@
|
||||
"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 +28,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",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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",
|
||||
"change": "Gbanwe",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -166,11 +173,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 +206,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 +243,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 +288,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 +298,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 +318,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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"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",
|
||||
@@ -363,6 +390,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",
|
||||
@@ -371,7 +399,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",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+85
-43
@@ -3,22 +3,23 @@
|
||||
"act-activity-notify": "[Wekan] Notifiche attività",
|
||||
"act-addAttachment": "ha allegato __attachment__ a __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 +28,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",
|
||||
@@ -45,7 +47,7 @@
|
||||
"add-attachment": "Aggiungi Allegato",
|
||||
"add-board": "Aggiungi Bacheca",
|
||||
"add-card": "Aggiungi Scheda",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-swimlane": "Aggiungi Corsia",
|
||||
"add-checklist": "Aggiungi Checklist",
|
||||
"add-checklist-item": "Aggiungi un elemento alla checklist",
|
||||
"add-cover": "Aggiungi copertina",
|
||||
@@ -64,19 +66,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": "Archive Swimlane",
|
||||
"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",
|
||||
@@ -97,20 +99,22 @@
|
||||
"boardChangeWatchPopup-title": "Cambia faccia",
|
||||
"boardMenuPopup-title": "Menu bacheca",
|
||||
"boards": "Bacheche",
|
||||
"board-view": "Board View",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"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 +122,15 @@
|
||||
"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",
|
||||
"change": "Cambia",
|
||||
"change-avatar": "Cambia avatar",
|
||||
"change-password": "Cambia password",
|
||||
@@ -140,7 +147,7 @@
|
||||
"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",
|
||||
@@ -159,18 +166,32 @@
|
||||
"confirm-checklist-delete-dialog": "Sei sicuro di voler cancellare questa checklist?",
|
||||
"copy-card-link-to-clipboard": "Copia link della scheda sulla clipboard",
|
||||
"copyCardPopup-title": "Copia Scheda",
|
||||
"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": "Copia template checklist su più schede",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Titolo e la descrizione della scheda di destinazione in questo formato JSON",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Titolo prima scheda\", \"description\":\"Descrizione prima scheda\"}, {\"title\":\"Titolo seconda scheda\",\"description\":\"Descrizione seconda scheda\"},{\"title\":\"Titolo ultima scheda\",\"description\":\"Descrizione ultima scheda\"} ]",
|
||||
"create": "Crea",
|
||||
"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 +206,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 +243,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,19 +288,19 @@
|
||||
"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",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"swimlaneActionPopup-title": "Azioni corsia",
|
||||
"listImportCardPopup-title": "Importa una scheda di Trello",
|
||||
"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": "Swimlanes",
|
||||
"swimlanes": "Corsie",
|
||||
"log-out": "Log Out",
|
||||
"log-in": "Log In",
|
||||
"loginPopup-title": "Log In",
|
||||
@@ -293,9 +318,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": "No archived swimlanes.",
|
||||
"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.",
|
||||
@@ -331,6 +356,8 @@
|
||||
"restore": "Ripristina",
|
||||
"save": "Salva",
|
||||
"search": "Cerca",
|
||||
"search-cards": "Ricerca per titolo e descrizione scheda su questa bacheca",
|
||||
"search-example": "Testo da ricercare?",
|
||||
"select-color": "Seleziona Colore",
|
||||
"set-wip-limit-value": "Seleziona un limite per il massimo numero di attività in questa lista",
|
||||
"setWipLimitPopup-title": "Imposta limite di work in progress",
|
||||
@@ -357,12 +384,13 @@
|
||||
"spent-time-hours": "Tempo trascorso (ore)",
|
||||
"overtime-hours": "Overtime (ore)",
|
||||
"overtime": "Overtime",
|
||||
"has-overtime-cards": "Has overtime cards",
|
||||
"has-spenttime-cards": "Has spent time cards",
|
||||
"has-overtime-cards": "Ci sono scheda scadute",
|
||||
"has-spenttime-cards": "Ci sono scheda con tempo impiegato",
|
||||
"time": "Ora",
|
||||
"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",
|
||||
@@ -371,12 +399,12 @@
|
||||
"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",
|
||||
"welcome-board": "Bacheca di benvenuto",
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-swimlane": "Pietra miliare 1",
|
||||
"welcome-list1": "Basi",
|
||||
"welcome-list2": "Avanzate",
|
||||
"what-to-do": "Cosa vuoi fare?",
|
||||
@@ -390,7 +418,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.",
|
||||
@@ -405,7 +433,7 @@
|
||||
"invitation-code": "Codice d'invito",
|
||||
"email-invite-register-subject": "__inviter__ ti ha inviato un invito",
|
||||
"email-invite-register-text": "Gentile __user__,\n\n__inviter__ ti ha invitato su Wekan per collaborare.\n\nPer favore segui il link qui sotto:\n__url__\n\nIl tuo codice d'invito è: __icode__\n\nGrazie.",
|
||||
"email-smtp-test-subject": "SMTP Test Email From Wekan",
|
||||
"email-smtp-test-subject": "Test invio email SMTP per Wekan",
|
||||
"email-smtp-test-text": "Hai inviato un'email con successo",
|
||||
"error-invitation-code-not-exist": "Il codice d'invito non esiste",
|
||||
"error-notAuthorized": "Non sei autorizzato ad accedere a questa pagina.",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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"
|
||||
}
|
||||
+81
-39
@@ -2,17 +2,18 @@
|
||||
"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-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 +28,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",
|
||||
@@ -45,7 +47,7 @@
|
||||
"add-attachment": "添付ファイルを追加",
|
||||
"add-board": "ボードを追加",
|
||||
"add-card": "カードを追加",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-swimlane": "スイムレーンを追加",
|
||||
"add-checklist": "チェックリストを追加",
|
||||
"add-checklist-item": "チェックリストに項目を追加",
|
||||
"add-cover": "カバーの追加",
|
||||
@@ -64,19 +66,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 +100,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 +122,15 @@
|
||||
"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": "カード",
|
||||
"change": "変更",
|
||||
"change-avatar": "アバターの変更",
|
||||
"change-password": "パスワードの変更",
|
||||
@@ -140,7 +147,7 @@
|
||||
"clipboard": "クリップボードもしくはドラッグ&ドロップ",
|
||||
"close": "閉じる",
|
||||
"close-board": "ボードを閉じる",
|
||||
"close-board-pop": "ホームメニューの'アーカイブ'から、ボードを復元することができます。",
|
||||
"close-board-pop": "ホームヘッダから「ごみ箱」ボタンをクリックすると、ボードを復元できます。",
|
||||
"color-black": "黒",
|
||||
"color-blue": "青",
|
||||
"color-green": "緑",
|
||||
@@ -166,11 +173,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 +206,7 @@
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "開始日の変更",
|
||||
"editCardDueDatePopup-title": "期限の変更",
|
||||
"editCustomFieldPopup-title": "フィールドを編集",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "ラベルの変更",
|
||||
"editNotificationPopup-title": "通知の変更",
|
||||
@@ -221,9 +243,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 +271,7 @@
|
||||
"import-user-select": "メンバーとして利用したいWekanユーザーを選択",
|
||||
"importMapMembersAddPopup-title": "Wekanメンバーを選択",
|
||||
"info": "バージョン",
|
||||
"initials": "初期状態",
|
||||
"initials": "イニシャル",
|
||||
"invalid-date": "無効な日付",
|
||||
"invalid-time": "Invalid time",
|
||||
"invalid-user": "Invalid user",
|
||||
@@ -263,19 +288,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 +318,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,6 +356,8 @@
|
||||
"restore": "復元",
|
||||
"save": "保存",
|
||||
"search": "検索",
|
||||
"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",
|
||||
@@ -363,6 +390,7 @@
|
||||
"title": "タイトル",
|
||||
"tracking": "トラッキング",
|
||||
"tracking-info": "これらのカードへの変更が通知されるようになります。",
|
||||
"type": "Type",
|
||||
"unassign-member": "未登録のメンバー",
|
||||
"unsaved-description": "未保存の変更があります。",
|
||||
"unwatch": "アンウォッチ",
|
||||
@@ -371,7 +399,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": "このボードの変更が通知されます",
|
||||
@@ -409,9 +437,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バージョン",
|
||||
@@ -427,11 +455,25 @@
|
||||
"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": "ボードを削除"
|
||||
}
|
||||
@@ -0,0 +1,479 @@
|
||||
{
|
||||
"accept": "Accept",
|
||||
"act-activity-notify": "[Wekan] Activity Notification",
|
||||
"act-addAttachment": "attached __attachment__ 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-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-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",
|
||||
"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",
|
||||
"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-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": "Close Dialog",
|
||||
"shortcut-filter-my-cards": "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": "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",
|
||||
"starred-boards-description": "Starred boards show up at the top of your boards list.",
|
||||
"subscribe": "Subscribe",
|
||||
"team": "Team",
|
||||
"this-board": "this board",
|
||||
"this-card": "this card",
|
||||
"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",
|
||||
"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"
|
||||
}
|
||||
Loaded 100 of 159 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user