Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1534b22315 | ||
|
|
bcec728c2e | ||
|
|
6f503ca818 | ||
|
|
1b927a9d3a | ||
|
|
045b8a84a2 | ||
|
|
1624fc82f7 | ||
|
|
42d8773e36 | ||
|
|
15dff73b94 | ||
|
|
ec1d8f275f | ||
|
|
68391a943b | ||
|
|
9c48cc9ec0 | ||
|
|
41c06c1374 | ||
|
|
2c6841210c | ||
|
|
eba8fb4c9c | ||
|
|
95522ebcd9 | ||
|
|
8bf13f43e8 | ||
|
|
ca8f2a70a4 | ||
|
|
f6e9f5a5e8 | ||
|
|
be6d1044a0 | ||
|
|
52938b2f1c | ||
|
|
116372e11e | ||
|
|
14cdb5bdf1 | ||
|
|
de28bf8569 | ||
|
|
419615bed4 | ||
|
|
3ee9b13b3b | ||
|
|
0725ce3fb1 | ||
|
|
eb7623e218 | ||
|
|
19acd7861d | ||
|
|
282f0f91fe | ||
|
|
b51094d5cd | ||
|
|
b9a4b0b51d | ||
|
|
1a49d25c90 | ||
|
|
f57ed2990f | ||
|
|
87412ceb55 | ||
|
|
87cb4598f7 | ||
|
|
b35b9d8aa2 | ||
|
|
6646d48ccb | ||
|
|
23ee93ca3d | ||
|
|
0911511d0c | ||
|
|
b7562a7085 | ||
|
|
16a793e672 | ||
|
|
6e4407ed9c | ||
|
|
05cd1247ab | ||
|
|
af240450d6 | ||
|
|
ba24c4e40c | ||
|
|
2cbd7d83f9 | ||
|
|
892008563b | ||
|
|
c7a40784e7 | ||
|
|
c5e0832e00 | ||
|
|
eb4219504d | ||
|
|
a5e5b44330 | ||
|
|
ee6852f8ea | ||
|
|
2575552e11 | ||
|
|
a77cf56fbd | ||
|
|
07dfe33ed8 | ||
|
|
c8b21b2e17 | ||
|
|
0be1c00fcc | ||
|
|
20edac091a | ||
|
|
311c0d23a4 | ||
|
|
032099cfbe | ||
|
|
cd97cca7b8 | ||
|
|
3f0fddf448 | ||
|
|
f1e103b082 | ||
|
|
afe00d02cd | ||
|
|
e21c078521 | ||
|
|
5eb3784527 | ||
|
|
0ff1e63a5d | ||
|
|
b11ae567c9 | ||
|
|
e41256f935 | ||
|
|
b00db983c8 | ||
|
|
3e4a8bca36 | ||
|
|
54b4682258 | ||
|
|
bda49ed609 | ||
|
|
39be9aa58d | ||
|
|
f245b6b7fa | ||
|
|
ad87f9ff4e | ||
|
|
40abff4c1e | ||
|
|
51ad89c3af | ||
|
|
768412ba7c | ||
|
|
670b964e6b | ||
|
|
f6c377eb9f | ||
|
|
6d063a4f64 | ||
|
|
207be3a363 | ||
|
|
e1ffe943c8 | ||
|
|
431d884e83 | ||
|
|
983714cd72 | ||
|
|
e6629779f7 | ||
|
|
f1587753cb | ||
|
|
a6d4f445fb | ||
|
|
8f34cdc279 | ||
|
|
71cbac358b | ||
|
|
3b2b108744 | ||
|
|
100e2d4696 | ||
|
|
d42c4fb4f6 | ||
|
|
ed3e20dce5 | ||
|
|
82b0bd9ddb | ||
|
|
ab6ec59bfb | ||
|
|
b144fab042 | ||
|
|
b1d1c7c45a | ||
|
|
2353f654de | ||
|
|
6e0ae161ad | ||
|
|
f1660e3b9f | ||
|
|
336a22555f | ||
|
|
06b548f12e | ||
|
|
e4de42d487 | ||
|
|
1617577378 | ||
|
|
2add82efc5 | ||
|
|
06cacd7a5a | ||
|
|
2d4f29cb5a | ||
|
|
0b26250b46 | ||
|
|
09677d0bfa | ||
|
|
aa4bdf7efb | ||
|
|
5755ece33e | ||
|
|
2e93a975c4 | ||
|
|
c4df69a05b | ||
|
|
a562ee4ba1 | ||
|
|
781b384fe9 | ||
|
|
b6cc6c440d | ||
|
|
20da91b774 | ||
|
|
e530077fc5 | ||
|
|
444fff47dc | ||
|
|
1aa8f502ae | ||
|
|
2a25318ba8 | ||
|
|
39a8524354 | ||
|
|
573ca73b45 | ||
|
|
07d1a864d8 | ||
|
|
ffcd380523 | ||
|
|
55534b8b2e | ||
|
|
ca23934bde | ||
|
|
8a622ec7c3 | ||
|
|
39519d1cc9 | ||
|
|
dcbf92b5b1 | ||
|
|
7f6d500cbe | ||
|
|
cb1e91fee8 | ||
|
|
96494bacf5 | ||
|
|
99f68f36b0 | ||
|
|
61e682470c | ||
|
|
415e94d187 | ||
|
|
6b22f96313 | ||
|
|
8c3322f9a9 | ||
|
|
f935cf391e | ||
|
|
fb44df9815 | ||
|
|
e127895cf3 | ||
|
|
1f85b25549 | ||
|
|
df9851e2b7 | ||
|
|
232bc746f4 | ||
|
|
ea448cd6c3 | ||
|
|
a7d12ddcaa | ||
|
|
420e9b23d2 | ||
|
|
cd49018306 | ||
|
|
ddbf4f18ff | ||
|
|
24104991b4 | ||
|
|
d9d451a206 | ||
|
|
1f07050979 | ||
|
|
399ddd2dab | ||
|
|
2876ce633c | ||
|
|
333b9c811d | ||
|
|
1df3d56f7c | ||
|
|
d2a7a82870 | ||
|
|
5e49006b6f | ||
|
|
f73ea218ee | ||
|
|
6ac3249272 | ||
|
|
784f960e8f | ||
|
|
04db8d739e | ||
|
|
7226afdc39 | ||
|
|
446a81ddd0 | ||
|
|
5fd167c182 | ||
|
|
7cd57ee023 | ||
|
|
07ab3b83b1 | ||
|
|
3ade9d95a6 | ||
|
|
55c5f07026 | ||
|
|
b4ade0256b | ||
|
|
afcb8aa49b | ||
|
|
a47ca598e7 | ||
|
|
c9a28db3ab | ||
|
|
1cfb6eee4b | ||
|
|
6c68867efe | ||
|
|
0ef84a0d5f | ||
|
|
e0f4758667 | ||
|
|
8c149da9e9 | ||
|
|
18eafe2fec | ||
|
|
5ac636fdd4 | ||
|
|
6db3474cdf | ||
|
|
6a1bc167cf | ||
|
|
191071d295 | ||
|
|
3e4a9471ba | ||
|
|
9b68aa919a | ||
|
|
8732e4b18f | ||
|
|
d26786a628 | ||
|
|
54b9035eb2 | ||
|
|
3cf6ed916f | ||
|
|
351d9d0c95 |
No files matched your search
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=12.16.3 \
|
||||
NODE_VERSION=12.18.3 \
|
||||
METEOR_RELEASE=1.10.2 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
|
||||
@@ -81,7 +81,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 12.16.3
|
||||
node-engine: 12.18.3
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
@@ -83,7 +83,7 @@ parts:
|
||||
wekan:
|
||||
source: .
|
||||
plugin: nodejs
|
||||
node-engine: 12.14.3
|
||||
node-engine: 12.18.3
|
||||
node-packages:
|
||||
- node-gyp
|
||||
- node-pre-gyp
|
||||
|
||||
@@ -98,3 +98,4 @@ percolate:synced-cron
|
||||
easylogic:summernote
|
||||
cfs:filesystem
|
||||
ostrio:cookies
|
||||
tmeasday:check-npm-versions
|
||||
+10
-9
@@ -1,7 +1,7 @@
|
||||
3stack:presence@1.1.2
|
||||
accounts-base@1.6.0
|
||||
accounts-oauth@1.2.0
|
||||
accounts-password@1.6.0
|
||||
accounts-password@1.6.1
|
||||
aldeed:collection2@2.10.0
|
||||
aldeed:collection2-core@1.2.0
|
||||
aldeed:schema-deny@1.1.0
|
||||
@@ -52,7 +52,7 @@ ddp@1.4.0
|
||||
ddp-client@2.3.3
|
||||
ddp-common@1.4.0
|
||||
ddp-rate-limiter@1.0.7
|
||||
ddp-server@2.3.1
|
||||
ddp-server@2.3.2
|
||||
deps@1.0.12
|
||||
diff-sequence@1.1.1
|
||||
dynamic-import@0.5.2
|
||||
@@ -91,7 +91,7 @@ logging@1.1.20
|
||||
lucasantoniassi:accounts-lockout@1.0.0
|
||||
matb33:collection-hooks@0.9.1
|
||||
matteodem:easy-search@1.6.4
|
||||
mdg:meteor-apm-agent@3.2.5
|
||||
mdg:meteor-apm-agent@3.2.6
|
||||
mdg:validation-error@0.5.1
|
||||
meteor@1.9.3
|
||||
meteor-base@1.4.0
|
||||
@@ -101,7 +101,7 @@ meteorhacks:collection-utils@1.2.0
|
||||
meteorhacks:picker@1.0.3
|
||||
meteorhacks:subs-manager@1.6.4
|
||||
meteorspark:util@0.2.0
|
||||
minifier-css@1.5.0
|
||||
minifier-css@1.5.2
|
||||
minifier-js@2.6.0
|
||||
minifiers@1.1.8-faster-rebuild.0
|
||||
minimongo@1.6.0
|
||||
@@ -109,7 +109,7 @@ mobile-status-bar@1.1.0
|
||||
modern-browsers@0.1.5
|
||||
modules@0.15.0
|
||||
modules-runtime@0.12.0
|
||||
momentjs:moment@2.26.0
|
||||
momentjs:moment@2.27.0
|
||||
mongo@1.10.0
|
||||
mongo-decimal@0.1.1
|
||||
mongo-dev-server@1.1.0
|
||||
@@ -162,14 +162,14 @@ simple:json-routes@2.1.0
|
||||
simple:rest-accounts-password@1.1.2
|
||||
simple:rest-bearer-token-parser@1.0.1
|
||||
simple:rest-json-error-handler@1.0.1
|
||||
socket-stream-client@0.3.0
|
||||
socket-stream-client@0.3.1
|
||||
softwarerero:accounts-t9n@1.3.11
|
||||
spacebars@1.0.15
|
||||
spacebars-compiler@1.1.3
|
||||
srp@1.1.0
|
||||
standard-minifier-css@1.6.0
|
||||
standard-minifier-js@2.6.0
|
||||
staringatlights:fast-render@3.2.0
|
||||
staringatlights:fast-render@3.3.0
|
||||
staringatlights:inject-data@2.3.0
|
||||
tap:i18n@1.8.2
|
||||
templates:tabs@2.3.0
|
||||
@@ -177,11 +177,12 @@ templating@1.3.2
|
||||
templating-compiler@1.3.3
|
||||
templating-runtime@1.3.2
|
||||
templating-tools@1.1.2
|
||||
tmeasday:check-npm-versions@0.3.2
|
||||
tracker@1.2.0
|
||||
twbs:bootstrap@3.3.6
|
||||
ui@1.0.13
|
||||
underscore@1.0.10
|
||||
url@1.3.0
|
||||
url@1.3.1
|
||||
useraccounts:core@1.14.2
|
||||
useraccounts:flow-routing@1.14.2
|
||||
useraccounts:unstyled@1.14.2
|
||||
@@ -191,7 +192,7 @@ webapp-hashing@1.0.9
|
||||
wekan-accounts-cas@0.1.0
|
||||
wekan-accounts-oidc@1.0.10
|
||||
wekan-ldap@0.0.2
|
||||
wekan-markdown@1.0.7
|
||||
wekan-markdown@1.0.9
|
||||
wekan-oidc@1.0.12
|
||||
wekan-scrollbar@3.1.3
|
||||
yasaricli:slugify@0.0.7
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ sudo: required
|
||||
|
||||
env:
|
||||
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
|
||||
TRAVIS_NODE_VERSION: 12.16.3
|
||||
TRAVIS_NODE_VERSION: 12.18.3
|
||||
TRAVIS_NPM_VERSION: latest
|
||||
|
||||
before_install:
|
||||
|
||||
+313
@@ -1,3 +1,316 @@
|
||||
# v4.22 2020-07-23 Wekan release
|
||||
|
||||
This release adds back these features:
|
||||
|
||||
- [Export to JSON and HTML .zip file](https://github.com/commit/1624fc82f7c319e84a78f29445c7867f7da15c32)
|
||||
that also fixes #3216 Clone Boards not working.
|
||||
Thanks to xet7.
|
||||
|
||||
and hides these features temporarily:
|
||||
|
||||
- [Hide CSV export until it's fixed in EdgeHTML compatible way](https://github.com/wekan/wekan/commit/045b8a84a29dde09201dd5108c757719d00e6f55).
|
||||
Thanks to xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Upgrade to Node 12.18.3](https://github.com/wekan/wekan/commit/6f503ca818abff17a20b6612aeea1f9e2c4a8234).
|
||||
Thanks to Node developers.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix Snap](https://github.com/wekan/wekan/commit/68391a943bd37d9f98819ffb7b7a29692d0bd380).
|
||||
This fix was already included to Wekan v4.21 to get it released.
|
||||
TODO: Sometime migrate from Caddy v1 to Caddy v2.
|
||||
Thanks to xet7.
|
||||
- [Fix detecting current IP address on rebuild-wekan.sh](https://github.com/wekan/wekan/commit/ec1d8f275ff4cd720a8cd3bc918b32f9c5f5d099).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.21 2020-07-21 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [REST API: Changed edit_card and get_card_by_customfields to return full documents](https://github.com/wekan/wekan/pull/3215).
|
||||
Thanks to gvespignani70.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.20 2020-07-20 Wekan release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- Update dependencies [Part1](https://github.com/wekan/wekan/commit/419615bed43b6e9de4030193c47137a066b85bde) and
|
||||
[Part2](https://github.com/wekan/wekan/commit/116372e11e09ce9b8376a8694553add595e02815).
|
||||
Thanks to developers of dependencies and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Change slug on card rename](https://github.com/wekan/wekan/pull/3214).
|
||||
Thanks to NicoP-S.
|
||||
- [Add missing Wekan logo sizes for PWAs and Apps](https://github.com/wekan/wekan/commit/de28bf8569a7373a5d6fd60a4f413e76673adc26).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.19 2020-07-18 Wekan release
|
||||
|
||||
This release adds the following features:
|
||||
|
||||
- [Add support for EdgeHTML browser (Microsoft Legacy Edge, not based on Chromium) by removing incompatible csv-stringify package.
|
||||
CSV export will be fixed later](https://github.com/wekan/wekan/commit/b9a4b0b51d3692fcbb715b1afc875f21cd204ae5).
|
||||
Thanks to xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- Update dependencies [Part1](https://github.com/wekan/wekan/commit/23ee93ca3d4ea161a93627a8e28e1ce93eea1bab),
|
||||
[Part2](https://github.com/wekan/wekan/commit/6646d48ccbaf04c4935de35fe037eff3bd7fd469),
|
||||
[Part3](https://github.com/wekan/wekan/commit/87cb4598f745a362aaac06b8b457198c40aaf61e),
|
||||
[Part4](https://github.com/wekan/wekan/commit/f57ed2990f5c6e1af10d270b24c7092805711afe).
|
||||
Thanks to developers of dependencies and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Checklist Item PUT API: boolean cast on isFinished](https://github.com/wekan/wekan/pull/3211).
|
||||
Thanks to Robert-Lebedeu.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.18 2020-07-10 Wekan release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [Upgrade to Node 12.18.2](https://github.com/wekan/wekan/commit/6e4407ed9cb3c95a99e0dbbb4383324dd57d6be1).
|
||||
Thanks to Node developers and xet7.
|
||||
- [Update dependencies](https://github.com/wekan/wekan/commit/05cd1247ab935f586d747743bb9cd79d23e0b1e6).
|
||||
Thanks to dependency developers and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [All logged in users are now allowed to reorder boards by dragging at All Boards page and Public Boards page](https://github.com/wekan/wekan/commit/ba24c4e40c728d030504ed21ccf79247d0449e1b).
|
||||
Thanks to xet7.
|
||||
- [Fix running meteor for dev in rebuild-wekan.sh](https://github.com/wekan/wekan/commit/a77cf56fbdaf0b74d8b97aa41b0a88fee85e3ee1).
|
||||
Thanks to xet7.
|
||||
- [Fix start-wekan.bat](https://github.com/wekan/wekan/commit/0be1c00fccef8797a1b3612593a6623a9b465e0d) and
|
||||
[Windows bundle install](https://github.com/wekan/wekan/wiki/Windows#a-bundle-with-windows-nodemongodb).
|
||||
Thanks to xet7.
|
||||
- [Fix typo](https://github.com/wekan/wekan/pull/3197).
|
||||
Thanks to Lua00808.
|
||||
- [Fix creating user misbehaving in some special case](https://github.com/wekan/wekan/pull/3206).
|
||||
Thanks to salleman33.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.17 2020-06-18 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Revert finding correct user changes that were made at Wekan v4.16](https://github.com/wekan/wekan/commit/5eb378452761ad1d6d67a491316007fdf6dfd689).
|
||||
Thanks to xet7.
|
||||
- [Fix activities view on mobile devices](https://github.com/wekan/wekan/pull/3183).
|
||||
Thanks to marc1006.
|
||||
- [Add back checks about can user export CSV/TSV](https://github.com/wekan/wekan/commit/afe00d02cddf016a3ccc1ed9a98a7f10d3339f26).
|
||||
Thanks to marc1006 and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.16 2020-06-17 Wekan release
|
||||
|
||||
This release adds the following features:
|
||||
|
||||
- [Add find-replace.sh script for development](https://github.com/wekan/wekan/commit/bda49ed60947e0438206b2f55119f5c5c132c734).
|
||||
Thanks to xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Upgrade to Node 12.18.1](https://github.com/wekan/wekan/commit/b11ae567c9b2d16a115ea4f3f7f88e67d076f326).
|
||||
Thanks to Node developers and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [OpenAPI: Fix jsdoc/operation matching](https://github.com/wekan/wekan/pull/3171).
|
||||
Thanks to bentiss.
|
||||
- Fix finding corrent user [Part1](https://github.com/wekan/wekan/pull/3180) and
|
||||
[Part2](https://github.com/wekan/wekan/commit/f245b6b7faa29b4f276527daca48c305fe9689c1).
|
||||
Thanks to salleman33 and xet7.
|
||||
- [Try to prevent errors on CSV/TSV export](https://github.com/wekan/wekan/commit/b00db983c8506e0cdc9968e452c3c8025fc10776).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.15 2020-06-16 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix lint errors [Part1](https://github.com/wekan/wekan/commit/f1587753cb0bba38e4b1df2e0300d3dc2826da72) and
|
||||
[Part2](https://github.com/wekan/wekan/commit/e6629779f77676eadfe4465c407f0bee0ec64061).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.14 2020-06-16 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Add user option to hide finished checklist items. Strikethrough checked items](https://github.com/wekan/wekan/pull/3167).
|
||||
Thanks to marc1006.
|
||||
- [Added the possibility to start a vote via API edit_card. And added some better visibility to see what was voted](https://github.com/wekan/wekan/pull/3170).
|
||||
Thanks to NicoP-S.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Update dependencies](https://github.com/wekan/wekan/commit/8f34cdc279602e97085e0a504f7716495349f83c).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix infinite scrolling for activities](https://github.com/wekan/wekan/pull/3168).
|
||||
Thanks to marc1006.
|
||||
- [Remove top and bottom margin for hidden checklist items](https://github.com/wekan/wekan/pull/3172).
|
||||
Thanks to marc1006.
|
||||
- [Alignment and spacing of minicard labels](https://github.com/wekan/wekan/pull/3174).
|
||||
Thanks to hgustafsson.
|
||||
- [Fix: Unable to delete a custom field in a board](https://github.com/wekan/wekan/commit/3b2b1087447bc8613baa8254bfec55e3d485bdc4).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.13 2020-06-09 Wekan release
|
||||
|
||||
This release adds the following updates:
|
||||
|
||||
- [OpenShift template updates](https://github.com/wekan/wekan/pull/3158), Thanks to jimmyjones2:
|
||||
1) Remove status fields (this is created by Kubernetes at run time)
|
||||
2) The latest MongoDB by default available with OpenShift is 3.6
|
||||
3) Change MongoDB service name to contain wekan to avoid potentially conflicting with other mongodb instances in the same project.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Copy the labels only if the target board is different](https://github.com/wekan/wekan/pull/3154).
|
||||
Thanks to marc1006.
|
||||
- [Fix condition whether a card is in list](https://github.com/wekan/wekan/pull/3165).
|
||||
Thanks to marc1006.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.12 2020-06-08 Wekan release
|
||||
|
||||
This release fixes the following CRITICAL SECURITY VULNERABILITIES:
|
||||
|
||||
- Fix XSS bug reported 2020-05-24 by [swsjona](https://twitter.com/swsjona):
|
||||
[Part 1](https://github.com/wekan/wekan/commit/1f85b25549b50602380f1745f19e5fe44fe36d6f),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/fb44df981581354bf23a6928427ad2bf73c4550f),
|
||||
[Part 3](https://github.com/wekan/wekan/commit/99f68f36b028d6c75acf2e5b83585b1acee65f97),
|
||||
[Part 4](https://github.com/wekan/wekan/commit/8a622ec7c3043bf8f34399ef34563e6a9a19dcd8).
|
||||
Logged in users could run javascript in input fields. This was partially fixed at v3.85,
|
||||
but at some fields XSS was still possible. This affects at least Wekan versions v3.12-v4.12.
|
||||
After this fix, Javascript in input fields is not executed.
|
||||
Thanks to swsjona, marc1006 and xet7.
|
||||
|
||||
and adds the following new features:
|
||||
|
||||
- Change default view to Swimlanes:
|
||||
[Part 1](https://github.com/wekan/wekan/commit/8c3322f9a93c321e8a2cc5cfcd4b1d6316a5fb7c),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/61e682470cdaef42cce2d74b41fb752cfc61848b),
|
||||
[Part 3 Change dropdown order to Swimlanes/Lists/Calendar](https://github.com/wekan/wekan/commit/7f6d500cbec15496ae357b05b9df3f10e51ed1f1),
|
||||
[Part 4.1. Public board default view to Swimlane. Part 4.2. When changing Public board
|
||||
view (sets view cookie), also reload page so view is changed
|
||||
immediately](https://github.com/wekan/wekan/commit/39519d1cc944c567837be0f88ab4a037e2144c61).
|
||||
Thanks to xet7.
|
||||
- [Use markdown in Swimlane titles](https://github.com/wekan/wekan/commit/6b22f96313354b45b851b93c25aa392bbe346bdb).
|
||||
Thanks to xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Update minifier-css](https://github.com/wekan/wekan/commit/cb1e91fee83eaad1e926c288c0abfc1e4f2a8bd4).
|
||||
Thanks to xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- Fix indent [Part1](https://github.com/wekan/wekan/commit/415e94d187ffcb9a4afaecc5c6960a50a87ca7eb),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/96494bacf550cde65598e6d59199517f311aa33d).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.11 2020-06-04 Wekan release
|
||||
|
||||
This release adds the following new platforms:
|
||||
|
||||
- [Using arm64 bundle on Raspberry Pi OS arm64 with MongoDB 4.2.x for RasPi3 and
|
||||
RasPi4](https://github.com/wekan/wekan/wiki/Raspberry-Pi#raspberry-pi-os-arm64-with-mongodb-42x).
|
||||
Thanks to Raspberry Pi OS devs, MongoDB devs and xet7.
|
||||
- [s390x RHEL 8](https://github.com/wekan/wekan/wiki/s390x#rhel-8).
|
||||
Thanks to IBM, Red Hat Linux, Linux Foundation and xet7.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Upgrade to Node v12.18.0](https://github.com/wekan/wekan/commit/d9d451a206cabe7f6ca8ad5d35eb76443198e4c1).
|
||||
Thanks to Node developers and xet7.
|
||||
- [Update `markedjs` package](https://github.com/wekan/wekan/pull/3149).
|
||||
Thanks to marc1006.
|
||||
- [Add fibers](https://github.com/wekan/wekan/commit/cd49018306f826fff37b7024dfde9de05d88b620).
|
||||
Thanks to xet7.
|
||||
|
||||
and adds the following new features:
|
||||
|
||||
- [Add Calendar Month Event List view](https://github.com/wekan/wekan/commit/f73ea218eefba3f0d6c642849dfede9e03052d25).
|
||||
Thanks to xet7.
|
||||
- [Added dates & assignees to REST API calls](https://github.com/wekan/wekan/pull/3146).
|
||||
Thanks to GitGramm.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.10 2020-05-30 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Added an API to get the cards for a specific custom field value](https://github.com/wekan/wekan/pulls/3131).
|
||||
Thanks to gvespignani70.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Upgrade to Node v12.17.0](https://github.com/wekan/wekan/commit/3ade9d95a69b269c345127e1755e1b539dc07263).
|
||||
Thanks to Node developers and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix email verification in `sendSMTPTestEmail`](https://github.com/wekan/wekan/pull/3135).
|
||||
Thanks to marc1006.
|
||||
- [Try to Fix Registration broken "Templates board id is required" with ugly hack. If it works, ugly becomes
|
||||
beautiful](https://github.com/wekan/wekan/pull/3140).
|
||||
Thanks to marc1006.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.09 2020-05-27 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix vote export & export/import currency custom field to CSV/TSV](https://github.com/wekan/wekan/pull/3128).
|
||||
Thanks to brymut.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.08 2020-05-26 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Add the 'Currency' Custom Field type](https://github.com/wekan/wekan/pull/3123).
|
||||
Thanks to habenamare.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Add some changes to Modern theme](https://github.com/wekan/wekan/commit/6a1bc167cf10e75d61b3196db9eac2978d70ad8e).
|
||||
Thanks to jeroenstoker and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix typo that caused parse error](https://github.com/wekan/wekan/commit/351d9d0c9577c9d543d543bc12a51388b0141324).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.07 2020-05-26 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v12.16.3 \
|
||||
NODE_VERSION=v12.18.3 \
|
||||
METEOR_RELEASE=1.10.2 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ FROM amd64/alpine:3.7 AS builder
|
||||
ENV QEMU_VERSION=v4.2.0-6 \
|
||||
QEMU_ARCHITECTURE=aarch64 \
|
||||
NODE_ARCHITECTURE=linux-arm64 \
|
||||
NODE_VERSION=v12.16.3 \
|
||||
NODE_VERSION=v12.18.3 \
|
||||
WEKAN_VERSION=3.96 \
|
||||
WEKAN_ARCHITECTURE=arm64
|
||||
|
||||
@@ -40,7 +40,7 @@ LABEL maintainer="wekan"
|
||||
# Set the environment variables (defaults where required)
|
||||
ENV QEMU_ARCHITECTURE=aarch64 \
|
||||
NODE_ARCHITECTURE=linux-arm64 \
|
||||
NODE_VERSION=v12.16.1 \
|
||||
NODE_VERSION=v12.18.3 \
|
||||
NODE_ENV=production \
|
||||
NPM_VERSION=latest \
|
||||
WITH_API=true \
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v4.07.0"
|
||||
appVersion: "v4.22.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -34,38 +34,38 @@ template(name="activity")
|
||||
//- board activity ------------------------------------------------------
|
||||
if($eq mode 'board')
|
||||
if($eq activity.activityType 'createBoard')
|
||||
| {{_ 'activity-created' boardLabel}}.
|
||||
| {{{_ 'activity-created' boardLabelLink}}}.
|
||||
|
||||
if($eq activity.activityType 'importBoard')
|
||||
| {{{_ 'activity-imported-board' boardLabel sourceLink}}}.
|
||||
| {{{_ 'activity-imported-board' boardLabelLink sourceLink}}}.
|
||||
|
||||
if($eq activity.activityType 'addBoardMember')
|
||||
| {{{_ 'activity-added' memberLink boardLabel}}}.
|
||||
| {{{_ 'activity-added' memberLink boardLabelLink}}}.
|
||||
|
||||
if($eq activity.activityType 'removeBoardMember')
|
||||
| {{{_ 'activity-excluded' memberLink boardLabel}}}.
|
||||
| {{{_ 'activity-excluded' memberLink boardLabelLink}}}.
|
||||
|
||||
//- card activity -------------------------------------------------------
|
||||
if($eq activity.activityType 'createCard')
|
||||
if($eq mode 'card')
|
||||
| {{{_ 'activity-added' cardLabel activity.listName}}}.
|
||||
| {{{_ 'activity-added' cardLabelLink (sanitize activity.listName)}}}.
|
||||
else
|
||||
| {{{_ 'activity-added' cardLabel boardLabel}}}.
|
||||
| {{{_ 'activity-added' cardLabelLink boardLabelLink}}}.
|
||||
|
||||
if($eq activity.activityType 'importCard')
|
||||
| {{{_ 'activity-imported' cardLink boardLabel sourceLink}}}.
|
||||
| {{{_ 'activity-imported' cardLink boardLabelLink sourceLink}}}.
|
||||
|
||||
if($eq activity.activityType 'moveCard')
|
||||
| {{{_ 'activity-moved' cardLabel activity.oldList.title activity.list.title}}}.
|
||||
| {{{_ 'activity-moved' cardLabelLink (sanitize activity.oldList.title) (sanitize activity.list.title)}}}.
|
||||
|
||||
if($eq activity.activityType 'moveCardBoard')
|
||||
| {{{_ 'activity-moved' cardLink activity.oldBoardName activity.boardName}}}.
|
||||
| {{{_ 'activity-moved' cardLink (sanitize activity.oldBoardName) (sanitize activity.boardName)}}}.
|
||||
|
||||
if($eq activity.activityType 'archivedCard')
|
||||
| {{{_ 'activity-archived' cardLink}}}.
|
||||
|
||||
if($eq activity.activityType 'restoredCard')
|
||||
| {{{_ 'activity-sent' cardLink boardLabel}}}.
|
||||
| {{{_ 'activity-sent' cardLink boardLabelLink}}}.
|
||||
|
||||
//- checklist activity --------------------------------------------------
|
||||
if($eq activity.activityType 'addChecklist')
|
||||
@@ -83,25 +83,25 @@ template(name="activity")
|
||||
| {{{_ 'activity-checklist-removed' cardLink}}}.
|
||||
|
||||
if($eq activity.activityType 'completeChecklist')
|
||||
| {{{_ 'activity-checklist-completed' activity.checklist.title cardLink}}}.
|
||||
| {{{_ 'activity-checklist-completed' (sanitize activity.checklist.title) cardLink}}}.
|
||||
|
||||
if($eq activity.activityType 'uncompleteChecklist')
|
||||
| {{{_ 'activity-checklist-uncompleted' activity.checklist.title cardLink}}}.
|
||||
| {{{_ 'activity-checklist-uncompleted' (sanitize activity.checklist.title) cardLink}}}.
|
||||
|
||||
if($eq activity.activityType 'checkedItem')
|
||||
| {{{_ 'activity-checked-item' checkItem activity.checklist.title cardLink}}}.
|
||||
| {{{_ 'activity-checked-item' (sanitize checkItem) (sanitize activity.checklist.title) cardLink}}}.
|
||||
|
||||
if($eq activity.activityType 'uncheckedItem')
|
||||
| {{{_ 'activity-unchecked-item' checkItem activity.checklist.title cardLink}}}.
|
||||
| {{{_ 'activity-unchecked-item' (sanitize checkItem) (sanitize activity.checklist.title) cardLink}}}.
|
||||
|
||||
if($eq activity.activityType 'addChecklistItem')
|
||||
| {{{_ 'activity-checklist-item-added' activity.checklist.title cardLink}}}.
|
||||
| {{{_ 'activity-checklist-item-added' (sanitize activity.checklist.title) cardLink}}}.
|
||||
.activity-checklist(href="{{ activity.card.absoluteUrl }}")
|
||||
+viewer
|
||||
= activity.checklistItem.title
|
||||
|
||||
if($eq activity.activityType 'removedChecklistItem')
|
||||
| {{{_ 'activity-checklist-item-removed' activity.checklist.title cardLink}}}.
|
||||
| {{{_ 'activity-checklist-item-removed' (sanitize activity.checklist.title) cardLink}}}.
|
||||
|
||||
//- comment activity ----------------------------------------------------
|
||||
if($eq mode 'card')
|
||||
@@ -143,31 +143,31 @@ template(name="activity")
|
||||
| {{_ 'activity-customfield-created' customField}}.
|
||||
|
||||
if($eq activity.activityType 'setCustomField')
|
||||
| {{{_ 'activity-set-customfield' lastCustomField lastCustomFieldValue cardLink}}}.
|
||||
| {{{_ 'activity-set-customfield' (sanitize lastCustomField) (sanitize lastCustomFieldValue) cardLink}}}.
|
||||
|
||||
if($eq activity.activityType 'unsetCustomField')
|
||||
| {{{_ 'activity-unset-customfield' lastCustomField cardLink}}}.
|
||||
| {{{_ 'activity-unset-customfield' (sanitize lastCustomField) cardLink}}}.
|
||||
|
||||
//- label activity ------------------------------------------------------
|
||||
if($eq activity.activityType 'addedLabel')
|
||||
| {{{_ 'activity-added-label' lastLabel cardLink}}}.
|
||||
| {{{_ 'activity-added-label' (sanitize lastLabel) cardLink}}}.
|
||||
|
||||
if($eq activity.activityType 'removedLabel')
|
||||
| {{{_ 'activity-removed-label' lastLabel cardLink}}}.
|
||||
| {{{_ 'activity-removed-label' (sanitize lastLabel) cardLink}}}.
|
||||
|
||||
//- list activity -------------------------------------------------------
|
||||
if($neq mode 'card')
|
||||
if($eq activity.activityType 'createList')
|
||||
| {{{_ 'activity-added' listLabel boardLabel}}}.
|
||||
| {{{_ 'activity-added' (sanitize listLabel) boardLabelLink}}}.
|
||||
|
||||
if($eq activity.activityType 'importList')
|
||||
| {{{_ 'activity-imported' listLabel boardLabel sourceLink}}}.
|
||||
| {{{_ 'activity-imported' (sanitize listLabel) boardLabelLink sourceLink}}}.
|
||||
|
||||
if($eq activity.activityType 'removeList')
|
||||
| {{{_ 'activity-removed' activity.title boardLabel}}}.
|
||||
| {{{_ 'activity-removed' (sanitize activity.title) boardLabelLink}}}.
|
||||
|
||||
if($eq activity.activityType 'archivedList')
|
||||
| {{_ 'activity-archived' listLabel}}.
|
||||
| {{_ 'activity-archived' (sanitize listLabel)}}.
|
||||
|
||||
//- member activity ----------------------------------------------------
|
||||
if($eq activity.activityType 'joinMember')
|
||||
@@ -185,15 +185,15 @@ template(name="activity")
|
||||
//- swimlane activity --------------------------------------------------
|
||||
if($neq mode 'card')
|
||||
if($eq activity.activityType 'createSwimlane')
|
||||
| {{{_ 'activity-added' activity.swimlane.title boardLabel}}}.
|
||||
| {{_ 'activity-added' (sanitize activity.swimlane.title) boardLabelLink}}.
|
||||
|
||||
if($eq activity.activityType 'archivedSwimlane')
|
||||
| {{_ 'activity-archived' activity.swimlane.title}}.
|
||||
| {{_ 'activity-archived' (sanitize activity.swimlane.title)}}.
|
||||
|
||||
|
||||
//- I don't understand this part ----------------------------------------
|
||||
if(currentData.timeKey)
|
||||
| {{{_ activity.activityType }}}
|
||||
| {{_ activity.activityType }}
|
||||
= ' '
|
||||
i(title=currentData.timeValue).activity-meta {{ moment currentData.timeValue 'LLL' }}
|
||||
if (currentData.timeOldValue)
|
||||
@@ -203,6 +203,6 @@ template(name="activity")
|
||||
i(title=currentData.timeOldValue).activity-meta {{ moment currentData.timeOldValue 'LLL' }}
|
||||
= ' @'
|
||||
else if(currentData.timeValue)
|
||||
| {{{_ activity.activityType currentData.timeValue}}}
|
||||
| {{_ activity.activityType currentData.timeValue}}
|
||||
|
||||
span(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}
|
||||
@@ -1,3 +1,5 @@
|
||||
import sanitizeXss from 'xss';
|
||||
|
||||
const activitiesPerPage = 20;
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
@@ -5,8 +7,9 @@ BlazeComponent.extendComponent({
|
||||
// XXX Should we use ReactiveNumber?
|
||||
this.page = new ReactiveVar(1);
|
||||
this.loadNextPageLocked = false;
|
||||
const sidebar = this.parentComponent(); // XXX for some reason not working
|
||||
sidebar.callFirstWith(null, 'resetNextPeak');
|
||||
// TODO is sidebar always available? E.g. on small screens/mobile devices
|
||||
const sidebar = Sidebar;
|
||||
sidebar && sidebar.callFirstWith(null, 'resetNextPeak');
|
||||
this.autorun(() => {
|
||||
let mode = this.data().mode;
|
||||
const capitalizedMode = Utils.capitalize(mode);
|
||||
@@ -27,6 +30,8 @@ BlazeComponent.extendComponent({
|
||||
this.subscribe('activities', mode, searchId, limit, hideSystem, () => {
|
||||
this.loadNextPageLocked = false;
|
||||
|
||||
// TODO the guard can be removed as soon as the TODO above is resolved
|
||||
if (!sidebar) return;
|
||||
// If the sibear peak hasn't increased, that mean that there are no more
|
||||
// activities, and we can stop calling new subscriptions.
|
||||
// XXX This is hacky! We need to know excatly and reactively how many
|
||||
@@ -41,23 +46,22 @@ BlazeComponent.extendComponent({
|
||||
});
|
||||
});
|
||||
},
|
||||
}).register('activities');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
loadNextPage() {
|
||||
if (this.loadNextPageLocked === false) {
|
||||
this.page.set(this.page.get() + 1);
|
||||
this.loadNextPageLocked = true;
|
||||
}
|
||||
},
|
||||
}).register('activities');
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
checkItem() {
|
||||
const checkItemId = this.currentData().activity.checklistItemId;
|
||||
const checkItem = ChecklistItems.findOne({ _id: checkItemId });
|
||||
return checkItem && checkItem.title;
|
||||
},
|
||||
|
||||
boardLabel() {
|
||||
boardLabelLink() {
|
||||
const data = this.currentData();
|
||||
if (data.mode !== 'board') {
|
||||
return createBoardLink(data.activity.board(), data.activity.listName);
|
||||
@@ -65,10 +69,10 @@ BlazeComponent.extendComponent({
|
||||
return TAPi18n.__('this-board');
|
||||
},
|
||||
|
||||
cardLabel() {
|
||||
cardLabelLink() {
|
||||
const data = this.currentData();
|
||||
if (data.mode !== 'card') {
|
||||
return createCardLink(this.currentData().activity.card());
|
||||
return createCardLink(data.activity.card());
|
||||
}
|
||||
return TAPi18n.__('this-card');
|
||||
},
|
||||
@@ -134,11 +138,11 @@ BlazeComponent.extendComponent({
|
||||
{
|
||||
href: source.url,
|
||||
},
|
||||
source.system,
|
||||
sanitizeXss(source.system),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
return source.system;
|
||||
return sanitizeXss(source.system);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
@@ -162,10 +166,10 @@ BlazeComponent.extendComponent({
|
||||
href: attachment.url({ download: true }),
|
||||
target: '_blank',
|
||||
},
|
||||
attachment.name(),
|
||||
sanitizeXss(attachment.name()),
|
||||
),
|
||||
)) ||
|
||||
this.currentData().activity.attachmentName
|
||||
sanitizeXss(this.currentData().activity.attachmentName)
|
||||
);
|
||||
},
|
||||
|
||||
@@ -202,7 +206,14 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
}).register('activity');
|
||||
|
||||
Template.activity.helpers({
|
||||
sanitize(value) {
|
||||
return sanitizeXss(value);
|
||||
},
|
||||
});
|
||||
|
||||
function createCardLink(card) {
|
||||
if (!card) return '';
|
||||
return (
|
||||
card &&
|
||||
Blaze.toHTML(
|
||||
@@ -211,7 +222,7 @@ function createCardLink(card) {
|
||||
href: card.absoluteUrl(),
|
||||
class: 'action-card',
|
||||
},
|
||||
card.title,
|
||||
sanitizeXss(card.title),
|
||||
),
|
||||
)
|
||||
);
|
||||
@@ -228,7 +239,7 @@ function createBoardLink(board, list) {
|
||||
href: board.absoluteUrl(),
|
||||
class: 'action-board',
|
||||
},
|
||||
text,
|
||||
sanitizeXss(text),
|
||||
),
|
||||
)
|
||||
);
|
||||
|
||||
@@ -323,7 +323,7 @@ BlazeComponent.extendComponent({
|
||||
header: {
|
||||
left: 'title today prev,next',
|
||||
center:
|
||||
'agendaDay,listDay,timelineDay agendaWeek,listWeek,timelineWeek month,timelineMonth timelineYear',
|
||||
'agendaDay,listDay,timelineDay agendaWeek,listWeek,timelineWeek month,listMonth',
|
||||
right: '',
|
||||
},
|
||||
// height: 'parent', nope, doesn't work as the parent might be small
|
||||
|
||||
@@ -679,7 +679,7 @@ setBoardClear(color1,color2)
|
||||
color: #333
|
||||
|
||||
.pop-over
|
||||
box-shadow: 0 4px 20px rgba(0,0,0,.1)
|
||||
box-shadow: 0 4px 20px rgba(0,0,0,.2)
|
||||
border: 0
|
||||
border-radius: 5px
|
||||
|
||||
@@ -687,6 +687,17 @@ setBoardClear(color1,color2)
|
||||
padding: 10px
|
||||
border-bottom: 0
|
||||
border-radius: 5px 5px 0 0
|
||||
background:#eee
|
||||
|
||||
.pop-over .header .header-title
|
||||
font-family: Poppins
|
||||
font-size:16px
|
||||
color:#333
|
||||
|
||||
.pop-over .header .close-btn
|
||||
font-size:20px
|
||||
top:6px
|
||||
right:8px
|
||||
|
||||
.pop-over .content-container .content
|
||||
padding: 5px 20px 20px
|
||||
@@ -708,3 +719,23 @@ setBoardClear(color1,color2)
|
||||
.sidebar .sidebar-content
|
||||
padding: 30px
|
||||
|
||||
/* Notifications */
|
||||
.board-color-modern section#notifications-drawer
|
||||
border-radius:5px
|
||||
|
||||
.board-color-modern section#notifications-drawer .header
|
||||
padding: 18px 16px
|
||||
border-bottom: 0
|
||||
border-radius: 5px 5px 0 0
|
||||
background: #eee
|
||||
|
||||
.board-color-modern section#notifications-drawer .header h5
|
||||
font-family: Poppins
|
||||
font-weight: bold
|
||||
|
||||
.board-color-modern section#notifications-drawer .header .close
|
||||
font-size: 20px
|
||||
top: 14px
|
||||
|
||||
section#notifications-drawer .header .toggle-read
|
||||
top: 18px
|
||||
@@ -99,13 +99,13 @@ template(name="boardHeaderBar")
|
||||
a.board-header-btn.js-toggle-board-view(
|
||||
title="{{_ 'board-view'}}")
|
||||
i.fa.fa-caret-down
|
||||
if $eq boardView 'board-view-lists'
|
||||
i.fa.fa-trello
|
||||
if $eq boardView 'board-view-swimlanes'
|
||||
i.fa.fa-th-large
|
||||
if $eq boardView 'board-view-lists'
|
||||
i.fa.fa-trello
|
||||
if $eq boardView 'board-view-cal'
|
||||
i.fa.fa-calendar
|
||||
span {{#if boardView}}{{_ boardView}}{{else}}{{_ 'board-view-lists'}}{{/if}}
|
||||
span {{#if boardView}}{{_ boardView}}{{else}}{{_ 'board-view-swimlanes'}}{{/if}}
|
||||
|
||||
if canModifyBoard
|
||||
a.board-header-btn.js-multiselection-activate(
|
||||
@@ -172,13 +172,6 @@ template(name="boardChangeWatchPopup")
|
||||
|
||||
template(name="boardChangeViewPopup")
|
||||
ul.pop-over-list
|
||||
li
|
||||
with "board-view-lists"
|
||||
a.js-open-lists-view
|
||||
i.fa.fa-trello.colorful
|
||||
| {{_ 'board-view-lists'}}
|
||||
if $eq Utils.boardView "board-view-lists"
|
||||
i.fa.fa-check
|
||||
li
|
||||
with "board-view-swimlanes"
|
||||
a.js-open-swimlanes-view
|
||||
@@ -186,6 +179,13 @@ template(name="boardChangeViewPopup")
|
||||
| {{_ 'board-view-swimlanes'}}
|
||||
if $eq Utils.boardView "board-view-swimlanes"
|
||||
i.fa.fa-check
|
||||
li
|
||||
with "board-view-lists"
|
||||
a.js-open-lists-view
|
||||
i.fa.fa-trello.colorful
|
||||
| {{_ 'board-view-lists'}}
|
||||
if $eq Utils.boardView "board-view-lists"
|
||||
i.fa.fa-check
|
||||
li
|
||||
with "board-view-cal"
|
||||
a.js-open-cal-view
|
||||
|
||||
@@ -25,10 +25,6 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
onRendered() {
|
||||
function userIsAllowedToMove() {
|
||||
return Meteor.user();
|
||||
}
|
||||
|
||||
const itemsSelector = '.js-board:not(.placeholder)';
|
||||
|
||||
const $boards = this.$('.js-boards');
|
||||
@@ -77,8 +73,6 @@ BlazeComponent.extendComponent({
|
||||
handle: '.board-handle',
|
||||
});
|
||||
}
|
||||
|
||||
$boards.sortable('option', 'disabled', !userIsAllowedToMove());
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
@@ -53,6 +53,23 @@ template(name="cardCustomField-number")
|
||||
if value
|
||||
= value
|
||||
|
||||
template(name="cardCustomField-currency")
|
||||
if canModifyCard
|
||||
+inlinedForm(classNames="js-card-customfield-currency")
|
||||
input(type="text" 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
|
||||
= formattedValue
|
||||
else
|
||||
| {{_ 'edit'}}
|
||||
else
|
||||
if value
|
||||
= formattedValue
|
||||
|
||||
template(name="cardCustomField-date")
|
||||
if canModifyCard
|
||||
a.js-edit-date(title="{{showTitle}}" class="{{classes}}")
|
||||
|
||||
@@ -80,6 +80,36 @@ CardCustomField.register('cardCustomField');
|
||||
}
|
||||
}.register('cardCustomField-number'));
|
||||
|
||||
// cardCustomField-currency
|
||||
(class extends CardCustomField {
|
||||
onCreated() {
|
||||
super.onCreated();
|
||||
|
||||
this.currencyCode = this.data().definition.settings.currencyCode;
|
||||
}
|
||||
|
||||
formattedValue() {
|
||||
const locale = TAPi18n.getLanguage();
|
||||
|
||||
return new Intl.NumberFormat(locale, {
|
||||
style: 'currency',
|
||||
currency: this.currencyCode,
|
||||
}).format(this.data().value);
|
||||
}
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
'submit .js-card-customfield-currency'(event) {
|
||||
event.preventDefault();
|
||||
const value = Number(this.find('input').value, 10);
|
||||
this.card.setCustomField(this.customFieldId, value);
|
||||
},
|
||||
},
|
||||
];
|
||||
}
|
||||
}.register('cardCustomField-currency'));
|
||||
|
||||
// cardCustomField-date
|
||||
(class extends CardCustomField {
|
||||
onCreated() {
|
||||
|
||||
@@ -220,8 +220,14 @@ template(name="cardDetails")
|
||||
+viewer
|
||||
= getVoteQuestion
|
||||
if showVotingButtons
|
||||
button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}") {{_ 'vote-for-it'}}
|
||||
button.card-details-red.js-vote.js-vote-negative(class="{{#if $eq voteState false}}voted{{/if}}") {{_ 'vote-against'}}
|
||||
button.card-details-green.js-vote.js-vote-positive(class="{{#if voteState}}voted{{/if}}")
|
||||
if voteState
|
||||
i.fa.fa-thumbs-up
|
||||
| {{_ 'vote-for-it'}}
|
||||
button.card-details-red.js-vote.js-vote-negative(class="{{#if $eq voteState false}}voted{{/if}}")
|
||||
if $eq voteState false
|
||||
i.fa.fa-thumbs-down
|
||||
| {{_ 'vote-against'}}
|
||||
|
||||
//- XXX We should use "editable" to avoid repetiting ourselves
|
||||
if canModifyCard
|
||||
|
||||
@@ -38,22 +38,6 @@ BlazeComponent.extendComponent({
|
||||
Meteor.subscribe('unsaved-edits');
|
||||
},
|
||||
|
||||
voteState() {
|
||||
const card = this.currentData();
|
||||
const userId = Meteor.userId();
|
||||
let state;
|
||||
if (card.vote) {
|
||||
if (card.vote.positive) {
|
||||
state = _.contains(card.vote.positive, userId);
|
||||
if (state === true) return true;
|
||||
}
|
||||
if (card.vote.negative) {
|
||||
state = _.contains(card.vote.negative, userId);
|
||||
if (state === true) return false;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
isWatching() {
|
||||
const card = this.currentData();
|
||||
return card.findWatcher(Meteor.userId());
|
||||
@@ -412,9 +396,9 @@ BlazeComponent.extendComponent({
|
||||
const forIt = $(e.target).hasClass('js-vote-positive');
|
||||
let newState = null;
|
||||
if (
|
||||
this.voteState() === null ||
|
||||
(this.voteState() === false && forIt) ||
|
||||
(this.voteState() === true && !forIt)
|
||||
this.data().voteState() === null ||
|
||||
(this.data().voteState() === false && forIt) ||
|
||||
(this.data().voteState() === true && !forIt)
|
||||
) {
|
||||
newState = forIt;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,17 @@
|
||||
template(name="checklists")
|
||||
h3
|
||||
i.fa.fa-check
|
||||
| {{_ 'checklists'}}
|
||||
.checklists-title
|
||||
h3
|
||||
i.fa.fa-check
|
||||
| {{_ 'checklists'}}
|
||||
if currentUser.isBoardMember
|
||||
.material-toggle-switch
|
||||
span.toggle-switch-title {{_ 'hide-checked-items'}}
|
||||
if hideCheckedItems
|
||||
input.toggle-switch(type="checkbox" id="toggleHideCheckedItemsButton" checked="checked")
|
||||
else
|
||||
input.toggle-switch(type="checkbox" id="toggleHideCheckedItemsButton")
|
||||
label.toggle-label(for="toggleHideCheckedItemsButton")
|
||||
|
||||
if toggleDeleteDialog.get
|
||||
.board-overlay#card-details-overlay
|
||||
+checklistDeleteDialog(checklist = checklistToDelete)
|
||||
@@ -86,7 +96,7 @@ template(name="checklistItems")
|
||||
| {{_ 'add-checklist-item'}}...
|
||||
|
||||
template(name='checklistItemDetail')
|
||||
.js-checklist-item.checklist-item
|
||||
.js-checklist-item.checklist-item(class="{{#if item.isFinished }}is-checked{{#if hideCheckedItems}} invisible{{/if}}{{/if}}")
|
||||
if canModifyCard
|
||||
.check-box-container
|
||||
.check-box.materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
|
||||
|
||||
@@ -193,6 +193,9 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
this.toggleDeleteDialog.set(!this.toggleDeleteDialog.get());
|
||||
},
|
||||
'click #toggleHideCheckedItemsButton'() {
|
||||
Meteor.call('toggleHideCheckedItems');
|
||||
},
|
||||
};
|
||||
|
||||
return [
|
||||
@@ -211,6 +214,14 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
}).register('checklists');
|
||||
|
||||
Template.checklists.helpers({
|
||||
hideCheckedItems() {
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser) return currentUser.hasHideCheckedItems();
|
||||
return false;
|
||||
},
|
||||
});
|
||||
|
||||
Template.checklistDeleteDialog.onCreated(() => {
|
||||
const $cardDetails = this.$('.card-details');
|
||||
this.scrollState = {
|
||||
@@ -246,6 +257,11 @@ Template.checklistItemDetail.helpers({
|
||||
!Meteor.user().isWorker()
|
||||
);
|
||||
},
|
||||
hideCheckedItems() {
|
||||
const user = Meteor.user();
|
||||
if (user) return user.hasHideCheckedItems();
|
||||
return false;
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
|
||||
@@ -16,6 +16,10 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item
|
||||
&:hover
|
||||
color: inherit
|
||||
|
||||
.checklists-title
|
||||
display: flex
|
||||
justify-content: space-between
|
||||
|
||||
.checklist-title
|
||||
.checkbox
|
||||
float: left
|
||||
@@ -99,6 +103,17 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item
|
||||
margin-top: 3px
|
||||
display: flex
|
||||
background: darken(white, 3%)
|
||||
opacity: 1
|
||||
transition: height 0ms 400ms, opacity 400ms 0ms
|
||||
height: auto
|
||||
overflow: hidden
|
||||
|
||||
&.is-checked.invisible
|
||||
opacity: 0
|
||||
height: 0
|
||||
transition: height 0ms 0ms, opacity 600ms 0ms
|
||||
margin-top: 0
|
||||
margin-bottom: 0
|
||||
|
||||
&.placeholder
|
||||
background: darken(white, 20%)
|
||||
@@ -128,6 +143,7 @@ textarea.js-add-checklist-item, textarea.js-edit-checklist-item
|
||||
&.is-checked
|
||||
color: #8c8c8c
|
||||
font-style: italic
|
||||
text-decoration: line-through
|
||||
& .viewer
|
||||
p
|
||||
margin-bottom: 2px
|
||||
|
||||
@@ -74,8 +74,12 @@ template(name="minicard")
|
||||
+viewer
|
||||
= definition.name
|
||||
.minicard-custom-field-item
|
||||
+viewer
|
||||
= trueValue
|
||||
if $eq definition.type "currency"
|
||||
+viewer
|
||||
= formattedCurrencyCustomFieldValue(definition)
|
||||
else
|
||||
+viewer
|
||||
= trueValue
|
||||
|
||||
if getAssignees
|
||||
.minicard-assignees.js-minicard-assignees
|
||||
@@ -102,9 +106,9 @@ template(name="minicard")
|
||||
span.badge-icon.fa.fa-align-left
|
||||
if getVoteQuestion
|
||||
.badge.badge-state-image-only(title=getVoteQuestion)
|
||||
span.badge-icon.fa.fa-thumbs-up
|
||||
span.badge-icon.fa.fa-thumbs-up(class="{{#if voteState}}text-green{{/if}}")
|
||||
span.badge-text {{ voteCountPositive }}
|
||||
span.badge-icon.fa.fa-thumbs-down
|
||||
span.badge-icon.fa.fa-thumbs-down(class="{{#if $eq voteState false}}text-red{{/if}}")
|
||||
span.badge-text {{ voteCountNegative }}
|
||||
if attachments.count
|
||||
.badge
|
||||
|
||||
@@ -9,6 +9,20 @@ BlazeComponent.extendComponent({
|
||||
return 'minicard';
|
||||
},
|
||||
|
||||
formattedCurrencyCustomFieldValue(definition) {
|
||||
const customField = this.data()
|
||||
.customFieldsWD()
|
||||
.find(f => f._id === definition._id);
|
||||
const customFieldTrueValue =
|
||||
customField && customField.trueValue ? customField.trueValue : '';
|
||||
|
||||
const locale = TAPi18n.getLanguage();
|
||||
return new Intl.NumberFormat(locale, {
|
||||
style: 'currency',
|
||||
currency: definition.settings.currencyCode,
|
||||
}).format(customFieldTrueValue);
|
||||
},
|
||||
|
||||
events() {
|
||||
return [
|
||||
{
|
||||
|
||||
@@ -87,7 +87,9 @@
|
||||
width: 11px
|
||||
height: @width
|
||||
border-radius: 2px
|
||||
margin-left: 3px
|
||||
margin-right: 3px
|
||||
margin-bottom: 3px
|
||||
|
||||
.minicard-custom-fields
|
||||
display:block;
|
||||
.minicard-custom-field
|
||||
@@ -299,3 +301,8 @@ minicard-color(background, color...)
|
||||
|
||||
.minicard-indigo
|
||||
minicard-color(#4b0082, #ffffff) //White text for better visibility
|
||||
|
||||
.text-red
|
||||
color:red
|
||||
.text-green
|
||||
color:green
|
||||
@@ -75,7 +75,7 @@ template(name="cardActions")
|
||||
button.trigger-button.trigger-button-color.js-show-color-palette(
|
||||
id="color-action"
|
||||
class="card-details-{{cardColorButton}}")
|
||||
| {{{_ cardColorButtonText }}}
|
||||
| {{_ cardColorButtonText }}
|
||||
div.trigger-button.js-set-color-action.js-goto-rules
|
||||
i.fa.fa-plus
|
||||
|
||||
|
||||
@@ -366,14 +366,14 @@ template(name="exportBoard")
|
||||
a.download-json-link(href="{{exportUrl}}", download="{{exportJsonFilename}}")
|
||||
i.fa.fa-share-alt
|
||||
| {{_ 'export-board-json'}}
|
||||
li
|
||||
a(href="{{exportCsvUrl}}", download="{{exportCsvFilename}}")
|
||||
i.fa.fa-share-alt
|
||||
| {{_ 'export-board-csv'}}
|
||||
li
|
||||
a(href="{{exportTsvUrl}}", download="{{exportTsvFilename}}")
|
||||
i.fa.fa-share-alt
|
||||
| {{_ 'export-board-tsv'}}
|
||||
//li
|
||||
// a(href="{{exportCsvUrl}}", download="{{exportCsvFilename}}")
|
||||
// i.fa.fa-share-alt
|
||||
// | {{_ 'export-board-csv'}}
|
||||
//li
|
||||
// a(href="{{exportTsvUrl}}", download="{{exportTsvFilename}}")
|
||||
// i.fa.fa-share-alt
|
||||
// | {{_ 'export-board-tsv'}}
|
||||
li
|
||||
a.html-export-board
|
||||
i.fa.fa-archive
|
||||
|
||||
@@ -33,6 +33,17 @@ template(name="createCustomFieldPopup")
|
||||
option(value=value selected="selected") {{name}}
|
||||
else
|
||||
option(value=value) {{name}}
|
||||
|
||||
div.js-field-settings.js-field-settings-currency(class="{{#if isTypeNotSelected 'currency'}}hide{{/if}}")
|
||||
label
|
||||
| {{_ 'custom-field-currency-option'}}
|
||||
select.js-field-currency
|
||||
each getCurrencyCodes
|
||||
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'}}
|
||||
|
||||
@@ -16,12 +16,62 @@ BlazeComponent.extendComponent({
|
||||
}).register('customFieldsSidebar');
|
||||
|
||||
const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
||||
_types: ['text', 'number', 'date', 'dropdown'],
|
||||
_types: ['text', 'number', 'date', 'dropdown', 'currency'],
|
||||
|
||||
_currencyList: [
|
||||
{
|
||||
name: 'US Dollar',
|
||||
code: 'USD',
|
||||
},
|
||||
{
|
||||
name: 'Euro',
|
||||
code: 'EUR',
|
||||
},
|
||||
{
|
||||
name: 'Yen',
|
||||
code: 'JPY',
|
||||
},
|
||||
{
|
||||
name: 'Pound Sterling',
|
||||
code: 'GBP',
|
||||
},
|
||||
{
|
||||
name: 'Australian Dollar',
|
||||
code: 'AUD',
|
||||
},
|
||||
{
|
||||
name: 'Canadian Dollar',
|
||||
code: 'CAD',
|
||||
},
|
||||
{
|
||||
name: 'Swiss Franc',
|
||||
code: 'CHF',
|
||||
},
|
||||
{
|
||||
name: 'Yuan Renminbi',
|
||||
code: 'CNY',
|
||||
},
|
||||
{
|
||||
name: 'Hong Kong Dollar',
|
||||
code: 'HKD',
|
||||
},
|
||||
{
|
||||
name: 'New Zealand Dollar',
|
||||
code: 'NZD',
|
||||
},
|
||||
],
|
||||
|
||||
onCreated() {
|
||||
this.type = new ReactiveVar(
|
||||
this.data().type ? this.data().type : this._types[0],
|
||||
);
|
||||
|
||||
this.currencyCode = new ReactiveVar(
|
||||
this.data().settings && this.data().settings.currencyCode
|
||||
? this.data().settings.currencyCode
|
||||
: this._currencyList[0].code,
|
||||
);
|
||||
|
||||
this.dropdownItems = new ReactiveVar(
|
||||
this.data().settings && this.data().settings.dropdownItems
|
||||
? this.data().settings.dropdownItems
|
||||
@@ -44,6 +94,18 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
||||
return this.type.get() !== type;
|
||||
},
|
||||
|
||||
getCurrencyCodes() {
|
||||
const currentCode = this.currencyCode.get();
|
||||
|
||||
return this._currencyList.map(({ name, code }) => {
|
||||
return {
|
||||
name: `${code} - ${name}`,
|
||||
value: code,
|
||||
selected: code === currentCode,
|
||||
};
|
||||
});
|
||||
},
|
||||
|
||||
getDropdownItems() {
|
||||
const items = this.dropdownItems.get();
|
||||
Array.from(this.findAll('.js-field-settings-dropdown input')).forEach(
|
||||
@@ -62,6 +124,11 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
||||
getSettings() {
|
||||
const settings = {};
|
||||
switch (this.type.get()) {
|
||||
case 'currency': {
|
||||
const currencyCode = this.currencyCode.get();
|
||||
settings.currencyCode = currencyCode;
|
||||
break;
|
||||
}
|
||||
case 'dropdown': {
|
||||
const dropdownItems = this.getDropdownItems().filter(
|
||||
item => !!item.name.trim(),
|
||||
@@ -80,6 +147,10 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
||||
const value = evt.target.value;
|
||||
this.type.set(value);
|
||||
},
|
||||
'change .js-field-currency'(evt) {
|
||||
const value = evt.target.value;
|
||||
this.currencyCode.set(value);
|
||||
},
|
||||
'keydown .js-dropdown-item.last'(evt) {
|
||||
if (evt.target.value.trim() && evt.keyCode === 13) {
|
||||
const items = this.getDropdownItems();
|
||||
|
||||
@@ -11,7 +11,8 @@ template(name="swimlaneHeader")
|
||||
template(name="swimlaneFixedHeader")
|
||||
.swimlane-header(
|
||||
class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
|
||||
= title
|
||||
+viewer
|
||||
= title
|
||||
.swimlane-header-menu
|
||||
unless currentUser.isCommentOnly
|
||||
a.fa.fa-plus.js-open-add-swimlane-menu.swimlane-header-plus-icon
|
||||
|
||||
@@ -23,8 +23,8 @@ function currentCardIsInThisList(listId, swimlaneId) {
|
||||
currentCard.listId === listId &&
|
||||
currentCard.swimlaneId === swimlaneId
|
||||
);
|
||||
// Default view: board-view-lists
|
||||
else return currentCard && currentCard.listId === listId;
|
||||
|
||||
// https://github.com/wekan/wekan/issues/1623
|
||||
// https://github.com/ChronikEwok/wekan/commit/cad9b20451bb6149bfb527a99b5001873b06c3de
|
||||
// TODO: In public board, if you would like to switch between List/Swimlane view, you could
|
||||
|
||||
@@ -2,7 +2,7 @@ const JSZip = require('jszip');
|
||||
|
||||
window.ExportHtml = Popup => {
|
||||
const saveAs = function(blob, filename) {
|
||||
let dl = document.createElement('a');
|
||||
const dl = document.createElement('a');
|
||||
dl.href = window.URL.createObjectURL(blob);
|
||||
dl.onclick = event => document.body.removeChild(event.target);
|
||||
dl.style.display = 'none';
|
||||
|
||||
+13
-5
@@ -6,12 +6,18 @@ Utils = {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
Meteor.user().setBoardView(view);
|
||||
} else if (view === 'board-view-lists') {
|
||||
cookies.set('boardView', 'board-view-lists'); //true
|
||||
} else if (view === 'board-view-swimlanes') {
|
||||
cookies.set('boardView', 'board-view-swimlanes'); //true
|
||||
location.reload();
|
||||
} else if (view === 'board-view-lists') {
|
||||
cookies.set('boardView', 'board-view-lists'); //true
|
||||
location.reload();
|
||||
} else if (view === 'board-view-cal') {
|
||||
cookies.set('boardView', 'board-view-cal'); //true
|
||||
location.reload();
|
||||
} else {
|
||||
cookies.set('boardView', 'board-view-swimlanes'); //true
|
||||
location.reload();
|
||||
}
|
||||
},
|
||||
|
||||
@@ -24,14 +30,16 @@ Utils = {
|
||||
currentUser = Meteor.user();
|
||||
if (currentUser) {
|
||||
return (currentUser.profile || {}).boardView;
|
||||
} else if (cookies.get('boardView') === 'board-view-lists') {
|
||||
return 'board-view-lists';
|
||||
} else if (cookies.get('boardView') === 'board-view-swimlanes') {
|
||||
return 'board-view-swimlanes';
|
||||
} else if (cookies.get('boardView') === 'board-view-lists') {
|
||||
return 'board-view-lists';
|
||||
} else if (cookies.get('boardView') === 'board-view-cal') {
|
||||
return 'board-view-cal';
|
||||
} else {
|
||||
return false;
|
||||
cookies.set('boardView', 'board-view-swimlanes'); //true
|
||||
location.reload();
|
||||
return 'board-view-swimlanes';
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
+3
-3
@@ -115,11 +115,11 @@ services:
|
||||
# NOTE: Quay is currently not updated, use Docker Hub image below c)
|
||||
# a) For Wekan Meteor 1.8.x version at master branch,
|
||||
# using https://quay.io/wekan/wekan automatic builds
|
||||
image: quay.io/wekan/wekan
|
||||
#image: quay.io/wekan/wekan
|
||||
# b) Using specific Meteor 1.6.x version tag:
|
||||
# image: quay.io/wekan/wekan:v1.95
|
||||
# c) Using Docker Hub automatic builds https://hub.docker.com/r/wekanteam/wekan
|
||||
#image: wekanteam/wekan
|
||||
image: wekanteam/wekan
|
||||
# image: wekanteam/wekan:v2.99
|
||||
#-------------------------------------------------------------------------------------
|
||||
container_name: wekan-app
|
||||
@@ -180,7 +180,7 @@ services:
|
||||
# that if you're using more than 1 instance of Wekan
|
||||
# (or any MeteorJS based tool) you're supposed to set
|
||||
# MONGO_OPLOG_URL as an environment variable.
|
||||
# Without setting it, Meteor will perform a pull-and-diff
|
||||
# Without setting it, Meteor will perform a poll-and-diff
|
||||
# update of it's dataset. With it, Meteor will update from
|
||||
# the OPLOG. See here
|
||||
# https://blog.meteor.com/tuning-meteor-mongo-livedata-for-scalability-13fe9deb8908
|
||||
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
|
||||
# Recursive find/replace.
|
||||
# Syntax: ./find-replace.sh searchtext replacetext
|
||||
|
||||
egrep -lRZ '$1' . | xargs -0 -l sed -i -e 's/$1/$2/g'
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "تاريخ",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Дата",
|
||||
"custom-field-dropdown": "Падащо меню",
|
||||
"custom-field-dropdown-none": "(няма)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"current": "Aktuální",
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Rozbalovací seznam",
|
||||
"custom-field-dropdown-none": "(prázdné)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"current": "nuværende",
|
||||
"custom-field-delete-pop": "Du kan ikke fortryde handlingen. Dette vil fjerne dette brugerdefinerede felt fra alle kort og tilintetgøre dens historik.",
|
||||
"custom-field-checkbox": "Afkrydsningsfelt",
|
||||
"custom-field-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Dato",
|
||||
"custom-field-dropdown": "Rullegardinliste",
|
||||
"custom-field-dropdown-none": "(ingen)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Afstemning",
|
||||
"archived": "Arkiveret",
|
||||
"delete-linked-card-before-this-card": "Du kan ikke slette dette kort før der slettes sammenkædede kort som har",
|
||||
"delete-linked-cards-before-this-list": "Du kan ikke slette denne liste før der slettes sammenkædede kort, der peger til kort i denne liste"
|
||||
"delete-linked-cards-before-this-list": "Du kan ikke slette denne liste før der slettes sammenkædede kort, der peger til kort i denne liste",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+5
-2
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Währung",
|
||||
"custom-field-currency-option": "Währungszeichen",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Dropdownliste",
|
||||
"custom-field-dropdown-none": "(keiner)",
|
||||
@@ -805,6 +807,7 @@
|
||||
"last-activity": "Letzte Aktivität",
|
||||
"voting": "Abstimunng",
|
||||
"archived": "Archiviert",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-card-before-this-card": "Sie können diese Karte erst löschen, wenn Sie alle verbundenen Karten gelöscht haben.",
|
||||
"delete-linked-cards-before-this-list": "Sie können diese Liste erst löschen, wenn Sie alle Karten gelöscht haben, die auf Karten in dieser Liste verweisen.",
|
||||
"hide-checked-items": "Erledigte ausblenden"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Ημερομηνία",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Dato",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Fecha",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(ninguno)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Fecha",
|
||||
"custom-field-dropdown": "Lista desplegable",
|
||||
"custom-field-dropdown-none": "(nada)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Fecha",
|
||||
"custom-field-dropdown": "Lista desplegable",
|
||||
"custom-field-dropdown-none": "(nada)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Votar",
|
||||
"archived": "Archivado",
|
||||
"delete-linked-card-before-this-card": "No puede borrar esta tarjeta antes de borrar la tarjeta enlazada que tiene",
|
||||
"delete-linked-cards-before-this-list": "No puede borrar esta lista antes de borrar las tarjetas enlazadas que apuntan a tarjetas en esta lista"
|
||||
"delete-linked-cards-before-this-list": "No puede borrar esta lista antes de borrar las tarjetas enlazadas que apuntan a tarjetas en esta lista",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+12
-9
@@ -164,15 +164,15 @@
|
||||
"cardStartVotingPopup-title": "شروع به رای",
|
||||
"positiveVoteMembersPopup-title": "طرفداران",
|
||||
"negativeVoteMembersPopup-title": "مخالفان",
|
||||
"card-edit-voting": "Edit voting",
|
||||
"editVoteEndDatePopup-title": "Change vote end date",
|
||||
"allowNonBoardMembers": "Allow all logged in users",
|
||||
"card-edit-voting": "ویرایش رای",
|
||||
"editVoteEndDatePopup-title": "تغییر تاریخ پایان رای گیری",
|
||||
"allowNonBoardMembers": "اجازه دادن به همه کاربران وارد شده",
|
||||
"vote-question": "سوال رای گیری",
|
||||
"vote-public": "نمایش چه کسی به چه رای داده است",
|
||||
"vote-for-it": "for it",
|
||||
"vote-for-it": "برای این",
|
||||
"vote-against": "بر خلاف",
|
||||
"deleteVotePopup-title": "Delete vote?",
|
||||
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
|
||||
"deleteVotePopup-title": "رای حذف شود ؟",
|
||||
"vote-delete-pop": "حذف کردن به صورت دائمی هست و قابل برگشت نیست.",
|
||||
"cardDeletePopup-title": "آیا می خواهید کارت را حذف کنید؟",
|
||||
"cardDetailsActionsPopup-title": "اعمال کارت",
|
||||
"cardLabelsPopup-title": "برچسب ها",
|
||||
@@ -256,6 +256,8 @@
|
||||
"current": "جاری",
|
||||
"custom-field-delete-pop": "این اقدام فیلدشخصی را بهمراه تمامی تاریخچه آن از کارت ها پاک می کند و برگشت پذیر نمی باشد",
|
||||
"custom-field-checkbox": "جعبه انتخابی",
|
||||
"custom-field-currency": "واحد پولی",
|
||||
"custom-field-currency-option": "کد واحد پولی",
|
||||
"custom-field-date": "تاریخ",
|
||||
"custom-field-dropdown": "لیست افتادنی",
|
||||
"custom-field-dropdown-none": "(هیچ)",
|
||||
@@ -802,9 +804,10 @@
|
||||
"swimlane": "Swimlane",
|
||||
"owner": "Owner",
|
||||
"last-modified-at": "Last modified at",
|
||||
"last-activity": "Last activity",
|
||||
"last-activity": "آخرین فعالیتها",
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"archived": "بایگانی شده",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Valuutta",
|
||||
"custom-field-currency-option": "Valuutta koodi",
|
||||
"custom-field-date": "Päivämäärä",
|
||||
"custom-field-dropdown": "Pudotusvalikko",
|
||||
"custom-field-dropdown-none": "(ei mitään)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Äänestys",
|
||||
"archived": "Arkistoitu",
|
||||
"delete-linked-card-before-this-card": "Et voi poistaa tätä korttia ennenkuin ensin poistat linkitetyn kortin jolla on",
|
||||
"delete-linked-cards-before-this-list": "Et voi poistaa tätä listaa ennenkuin poistat linkitetyt kortit jotka osoittavat kortteihin tässä listassa"
|
||||
"delete-linked-cards-before-this-list": "Et voi poistaa tätä listaa ennenkuin poistat linkitetyt kortit jotka osoittavat kortteihin tässä listassa",
|
||||
"hide-checked-items": "Piilota ruksatut kohdat"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Devise",
|
||||
"custom-field-currency-option": "Code devise",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Liste de choix",
|
||||
"custom-field-dropdown-none": "(aucun)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Vote",
|
||||
"archived": "Archivé",
|
||||
"delete-linked-card-before-this-card": "Vous ne pouvez pas supprimer cette carte avant d'avoir d'abord supprimé la carte liée qui a",
|
||||
"delete-linked-cards-before-this-list": "Vous ne pouvez pas supprimer cette liste avant d'avoir d'abord supprimé les cartes liées qui pointent vers des cartes de cette liste"
|
||||
"delete-linked-cards-before-this-list": "Vous ne pouvez pas supprimer cette liste avant d'avoir d'abord supprimé les cartes liées qui pointent vers des cartes de cette liste",
|
||||
"hide-checked-items": "Cacher les éléments cochés"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"current": "נוכחי",
|
||||
"custom-field-delete-pop": "אין אפשרות לבטל את הפעולה. הפעולה תסיר את השדה שהותאם אישית מכל הכרטיסים ותשמיד את ההיסטוריה שלו.",
|
||||
"custom-field-checkbox": "תיבת סימון",
|
||||
"custom-field-currency": "מטבע",
|
||||
"custom-field-currency-option": "קוד מטבע",
|
||||
"custom-field-date": "תאריך",
|
||||
"custom-field-dropdown": "רשימה נגללת",
|
||||
"custom-field-dropdown-none": "(ללא)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "הצבעה",
|
||||
"archived": "בארכיון",
|
||||
"delete-linked-card-before-this-card": "לא ניתן למחוק את הכרטיס הזה לפני שמוחקים את הכרטיס המקושר שיש לו",
|
||||
"delete-linked-cards-before-this-list": "לא ניתן למחוק את הרשימה הזו לפני שמוחקים את הכרטיסים שמצביעים לכרטיסים ברשימה הזו"
|
||||
"delete-linked-cards-before-this-list": "לא ניתן למחוק את הרשימה הזו לפני שמוחקים את הכרטיסים שמצביעים לכרטיסים ברשימה הזו",
|
||||
"hide-checked-items": "הסתרת הפריטים שסומנו"
|
||||
}
|
||||
+54
-51
@@ -17,14 +17,14 @@
|
||||
"act-completeChecklist": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-uncompleteChecklist": "uncompleted checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addComment": "commented on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-editComment": "कार्ड पर संपादित टिप्पणी __card__: __comment__ सूची में __list__ स्विमलेन में __swimlane__ बोर्ड पर __board__",
|
||||
"act-deleteComment": "कार्ड पर हटाई गई टिप्पणी __card__: __comment__ सूची में __list__ स्विमलेन में __swimlane__ बोर्ड पर __board__",
|
||||
"act-createBoard": "created board __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createCustomField": "created custom field __customField__ at board __board__",
|
||||
"act-deleteCustomField": "deleted custom field __customField__ at board __board__",
|
||||
"act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createCustomField": "बोर्ड पर कस्टम फ़ील्ड __customField__ __board__",
|
||||
"act-deleteCustomField": "बोर्ड पर कस्टम फ़ील्ड __customField__ हटा दिया गया __board__",
|
||||
"act-setCustomField": "कस्टम फ़ील्ड __customField__ संपादित करें: __customFieldValue__ कार्ड पर __card__ सूची में __list__ स्विमलेन __swimlane__ पर बोर्ड __board__",
|
||||
"act-createList": "added list __list__ to board __board__",
|
||||
"act-addBoardMember": "added member __member__ to board __board__",
|
||||
"act-archivedBoard": "Board __board__ moved to Archive",
|
||||
@@ -64,7 +64,7 @@
|
||||
"activity-unchecked-item": "अचिह्नित %s अंदर में चिह्नांकन-सूची %s of %s",
|
||||
"activity-checklist-added": "संकलित चिह्नांकन-सूची तक %s",
|
||||
"activity-checklist-removed": "हटा दिया एक चिह्नांकन-सूची से %s",
|
||||
"activity-checklist-completed": "completed checklist %s of %s",
|
||||
"activity-checklist-completed": "पूरी जाँच सूची%sकी %s",
|
||||
"activity-checklist-uncompleted": "अपूर्ण चिह्नांकन-सूची %s of %s",
|
||||
"activity-checklist-item-added": "संकलित चिह्नांकन-सूची विषय तक '%s' अंदर में %s",
|
||||
"activity-checklist-item-removed": "हटा दिया एक चिह्नांकन-सूची विषय से '%s' अंदर में %s",
|
||||
@@ -73,8 +73,8 @@
|
||||
"activity-unchecked-item-card": "अचिह्नित %s अंदर में चिह्नांकन-सूची %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-uncompleted-card": "अपूर्ण चिह्नांकन-सूची %s",
|
||||
"activity-editComment": "edited comment %s",
|
||||
"activity-deleteComment": "deleted comment %s",
|
||||
"activity-editComment": "संपादित टिप्पणी",
|
||||
"activity-deleteComment": "टिप्पणी हटा दी गई",
|
||||
"add-attachment": "संलग्न करें",
|
||||
"add-board": "बोर्ड जोड़ें",
|
||||
"add-card": "कार्ड जोड़ें",
|
||||
@@ -137,7 +137,7 @@
|
||||
"board-view": "बोर्ड दृष्टिकोण",
|
||||
"board-view-cal": "तिथि-पत्र",
|
||||
"board-view-swimlanes": "तैरना",
|
||||
"board-view-collapse": "Collapse",
|
||||
"board-view-collapse": "संक्षिप्त करें",
|
||||
"board-view-lists": "सूचियाँ",
|
||||
"bucket-example": "उदाहरण के लिए “बाल्टी सूची” की तरह",
|
||||
"cancel": "रद्द करें",
|
||||
@@ -161,18 +161,18 @@
|
||||
"cardAttachmentsPopup-title": "से अनुलग्न करें",
|
||||
"cardCustomField-datePopup-title": "तारीख बदलें",
|
||||
"cardCustomFieldsPopup-title": "संपादित करें प्रचलन क्षेत्र",
|
||||
"cardStartVotingPopup-title": "Start a vote",
|
||||
"positiveVoteMembersPopup-title": "Proponents",
|
||||
"negativeVoteMembersPopup-title": "Opponents",
|
||||
"card-edit-voting": "Edit voting",
|
||||
"editVoteEndDatePopup-title": "Change vote end date",
|
||||
"allowNonBoardMembers": "Allow all logged in users",
|
||||
"vote-question": "Voting question",
|
||||
"vote-public": "Show who voted what",
|
||||
"vote-for-it": "for it",
|
||||
"vote-against": "against",
|
||||
"deleteVotePopup-title": "Delete vote?",
|
||||
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
|
||||
"cardStartVotingPopup-title": "वोट शुरू करें",
|
||||
"positiveVoteMembersPopup-title": "समर्थकों का",
|
||||
"negativeVoteMembersPopup-title": "प्रतिद्वंद्वी",
|
||||
"card-edit-voting": "मतदान संपादित करें",
|
||||
"editVoteEndDatePopup-title": "मतदान समाप्ति की तारीख बदलें",
|
||||
"allowNonBoardMembers": "सभी लॉग इन उपयोगकर्ताओं को अनुमति दें",
|
||||
"vote-question": "मतदान का सवाल",
|
||||
"vote-public": "दिखाएँ कि किसने क्या मतदान किया",
|
||||
"vote-for-it": "इसके लिए",
|
||||
"vote-against": "के प्रतिकूल",
|
||||
"deleteVotePopup-title": "मतदान हटाएं?",
|
||||
"vote-delete-pop": "हटाना स्थायी है। आप इस मतदान से जुड़े सभी कार्यों को खो देंगे।",
|
||||
"cardDeletePopup-title": "मिटाएँ कार्ड?",
|
||||
"cardDetailsActionsPopup-title": "कार्ड क्रियाएँ",
|
||||
"cardLabelsPopup-title": "नामपत्र",
|
||||
@@ -235,8 +235,8 @@
|
||||
"comment-only-desc": "केवल कार्ड पर टिप्पणी कर सकते हैं।",
|
||||
"no-comments": "कोई टिप्पणी नहीं",
|
||||
"no-comments-desc": "टिप्पणियां और गतिविधियां नहीं देख पा रहे हैं।",
|
||||
"worker": "Worker",
|
||||
"worker-desc": "Can only move cards, assign itself to card and comment.",
|
||||
"worker": "कामगार",
|
||||
"worker-desc": "केवल कार्ड ले जा सकते हैं, खुद को कार्ड और टिप्पणी करने के लिए असाइन करें।",
|
||||
"computer": "संगणक",
|
||||
"confirm-subtask-delete-dialog": "क्या आप वाकई उपकार्य हटाना चाहते हैं?",
|
||||
"confirm-checklist-delete-dialog": "क्या आप वाकई जांचसूची हटाना चाहते हैं?",
|
||||
@@ -256,6 +256,8 @@
|
||||
"current": "वर्तमान",
|
||||
"custom-field-delete-pop": "कोई पूर्ववत् नहीं है । यह सभी कार्ड से इस कस्टम क्षेत्र को हटा दें और इसके इतिहास को नष्ट कर देगा ।",
|
||||
"custom-field-checkbox": "निशानबक्से",
|
||||
"custom-field-currency": "मुद्रा",
|
||||
"custom-field-currency-option": "मुद्रा संहिता",
|
||||
"custom-field-date": "दिनांक",
|
||||
"custom-field-dropdown": "ड्रॉपडाउन सूची",
|
||||
"custom-field-dropdown-none": "(कोई नहीं)",
|
||||
@@ -309,7 +311,7 @@
|
||||
"error-board-notAMember": "You need तक be एक सदस्य of यह बोर्ड तक do that",
|
||||
"error-json-malformed": "Your text is not valid JSON",
|
||||
"error-json-schema": "आपके JSON डेटा में सही प्रारूप में सही जानकारी शामिल नहीं है",
|
||||
"error-csv-schema": "Your CSV(Comma Separated Values)/TSV (Tab Separated Values) does not include the proper information in the correct format",
|
||||
"error-csv-schema": "आपके CSV (कोमा सेपरेटेड वैल्यूज़) / TSV (टैब सेपरेटेड वैल्यूज़) में सही फॉर्मेट में उचित जानकारी शामिल नहीं है",
|
||||
"error-list-doesNotExist": "यह सूची does not exist",
|
||||
"error-user-doesNotExist": "यह user does not exist",
|
||||
"error-user-notAllowSelf": "You can not invite yourself",
|
||||
@@ -317,30 +319,30 @@
|
||||
"error-username-taken": "यह username is already taken",
|
||||
"error-email-taken": "Email has already been taken",
|
||||
"export-board": "Export बोर्ड",
|
||||
"export-board-json": "Export board to JSON",
|
||||
"export-board-csv": "Export board to CSV",
|
||||
"export-board-tsv": "Export board to TSV",
|
||||
"export-board-html": "Export board to HTML",
|
||||
"export-board-json": "JSON को निर्यात बोर्ड",
|
||||
"export-board-csv": "निर्यात बोर्ड को सी.एस.वी.",
|
||||
"export-board-tsv": "टी.एस.वी. को निर्यात बोर्ड",
|
||||
"export-board-html": "HTML को निर्यात बोर्ड",
|
||||
"exportBoardPopup-title": "Export बोर्ड",
|
||||
"sort": "Sort",
|
||||
"sort-desc": "Click to Sort List",
|
||||
"list-sort-by": "Sort the List By:",
|
||||
"list-label-modifiedAt": "Last Access Time",
|
||||
"list-label-title": "Name of the List",
|
||||
"list-label-sort": "Your Manual Order",
|
||||
"list-label-short-modifiedAt": "(L)",
|
||||
"list-label-short-title": "(N)",
|
||||
"list-label-short-sort": "(M)",
|
||||
"sort": "भांति",
|
||||
"sort-desc": "क्रमबद्ध सूची पर क्लिक करें",
|
||||
"list-sort-by": "सूची क्रमबद्ध करें:",
|
||||
"list-label-modifiedAt": "अंतिम पहुंच समय",
|
||||
"list-label-title": "सूची का नाम",
|
||||
"list-label-sort": "आपका नियमावलीआदेश",
|
||||
"list-label-short-modifiedAt": "(बड़ा)",
|
||||
"list-label-short-title": "(साधारण)",
|
||||
"list-label-short-sort": "(मध्यम)",
|
||||
"filter": "Filter",
|
||||
"filter-cards": "Filter Cards or Lists",
|
||||
"list-filter-label": "Filter List by Title",
|
||||
"filter-cards": "निस्पंदन पत्ते या सूची",
|
||||
"list-filter-label": "शीर्षक द्वारा निस्पंदन सूची",
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No सदस्य",
|
||||
"filter-no-assignee": "No assignee",
|
||||
"filter-no-assignee": "कोई अभिहस्तांकिती नहीं",
|
||||
"filter-no-custom-fields": "No प्रचलन क्षेत्र",
|
||||
"filter-show-archive": "Show archived lists",
|
||||
"filter-hide-empty": "Hide empty lists",
|
||||
"filter-show-archive": "संग्रहित सूची दिखाएं",
|
||||
"filter-hide-empty": "खाली सूची छिपाएं",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering कार्ड इस पर बोर्ड. Click here तक संपादित करें filter.",
|
||||
"filter-to-selection": "Filter तक selection",
|
||||
@@ -357,16 +359,16 @@
|
||||
"import-board-c": "Import बोर्ड",
|
||||
"import-board-title-trello": "Import बोर्ड से Trello",
|
||||
"import-board-title-wekan": "Import board from previous export",
|
||||
"import-board-title-csv": "Import board from CSV/TSV",
|
||||
"import-board-title-csv": "CSV / TSV से आयात बोर्ड",
|
||||
"from-trello": "From Trello",
|
||||
"from-wekan": "From previous export",
|
||||
"from-csv": "From CSV/TSV",
|
||||
"from-csv": "CSV / TSV से",
|
||||
"import-board-instruction-trello": "In your Trello बोर्ड, go तक 'Menu', then 'More', 'Print और Export', 'Export JSON', और copy the resulting text.",
|
||||
"import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
|
||||
"import-board-instruction-csv": "अपने कोमा सेपरेटेड वैल्यू (CSV) / टैब सेपरेटेड वैल्यू (TSV) में पेस्ट करें।",
|
||||
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
|
||||
"import-board-instruction-about-errors": "If you get errors when importing board, sometimes importing still works, and board is at All Boards page.",
|
||||
"import-json-placeholder": "Paste your valid JSON data here",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-csv-placeholder": "अपना वैध CSV / TSV सामग्री यहां पेस्ट करें",
|
||||
"import-map-members": "Map सदस्य",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-show-user-mapping": "Re आलोकन सदस्य mapping",
|
||||
@@ -399,7 +401,7 @@
|
||||
"swimlaneActionPopup-title": "तैरन Actions",
|
||||
"swimlaneAddPopup-title": "Add a Swimlane below",
|
||||
"listImportCardPopup-title": "Import एक Trello कार्ड",
|
||||
"listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
|
||||
"listImportCardsTsvPopup-title": "एक्सेल CSV / TSV आयात करें",
|
||||
"listMorePopup-title": "More",
|
||||
"link-list": "Link तक यह list",
|
||||
"list-delete-pop": "All actions हो जाएगा हटा दिया से the activity feed और you won't be able तक recover the list. There is no undo.",
|
||||
@@ -462,7 +464,7 @@
|
||||
"save": "Save",
|
||||
"search": "Search",
|
||||
"rules": "Rules",
|
||||
"search-cards": "Search from card/list titles, descriptions and custom fields on this board",
|
||||
"search-cards": "इस बोर्ड पर कार्ड / सूची शीर्षक, विवरण और आदत क्षेत्र से खोजें",
|
||||
"search-example": "Text तक search for?",
|
||||
"select-color": "Select Color",
|
||||
"set-wip-limit-value": "Set एक limit for the maximum number of tasks अंदर में यह list",
|
||||
@@ -546,8 +548,8 @@
|
||||
"email-smtp-test-text": "You have successfully प्रेषित an email",
|
||||
"error-invitation-code-not-exist": "Invitation code doesn't exist",
|
||||
"error-notAuthorized": "You are not authorized तक आलोकन यह page.",
|
||||
"webhook-title": "Webhook Name",
|
||||
"webhook-token": "Token (Optional for Authentication)",
|
||||
"webhook-title": "वेबहुक नाम",
|
||||
"webhook-token": "टोकन (प्रमाणीकरण के लिए वैकल्पिक)",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"bidirectional-webhooks": "Two-Way Webhooks",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Dátum",
|
||||
"custom-field-dropdown": "Legördülő lista",
|
||||
"custom-field-dropdown-none": "(nincs)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+179
-176
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"accept": "Terima",
|
||||
"act-activity-notify": "Activity Notification",
|
||||
"act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-activity-notify": "Pemeberitahuan Aktifitas",
|
||||
"act-addAttachment": "ditambahkan lampiran __attachment__ di kartu __card__ pada daftar __list__ pada swimline __swimline__ pada papan __board__",
|
||||
"act-deleteAttachment": "deleted attachment __attachment__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addSubtask": "added subtask __subtask__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
@@ -25,7 +25,7 @@
|
||||
"act-createCustomField": "created custom field __customField__ at board __board__",
|
||||
"act-deleteCustomField": "deleted custom field __customField__ at board __board__",
|
||||
"act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createList": "added list __list__ to board __board__",
|
||||
"act-createList": "ditambahkan daftar __list__ pada papan __board__",
|
||||
"act-addBoardMember": "added member __member__ to board __board__",
|
||||
"act-archivedBoard": "Board __board__ moved to Archive",
|
||||
"act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
@@ -98,7 +98,7 @@
|
||||
"and-n-other-card_plural": "Dan__menghitung__kartu lain",
|
||||
"apply": "Terapkan",
|
||||
"app-is-offline": "Loading, please wait. Refreshing the page will cause data loss. If loading does not work, please check that server has not stopped.",
|
||||
"archive": "Move to Archive",
|
||||
"archive": "Pindahlan ke Arsip",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
@@ -108,11 +108,11 @@
|
||||
"archiveBoardPopup-title": "Move Board to Archive?",
|
||||
"archived-items": "Arsip",
|
||||
"archived-boards": "Boards in Archive",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Boards in Archive.",
|
||||
"restore-board": "Pulihkan Papan",
|
||||
"no-archived-boards": "Tidak ada Papan pada Arsip",
|
||||
"archives": "Arsip",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"template": "Klise",
|
||||
"templates": "Klise",
|
||||
"assign-member": "Tugaskan anggota",
|
||||
"attached": "terlampir",
|
||||
"attachment": "Lampiran",
|
||||
@@ -131,22 +131,22 @@
|
||||
"boardChangeTitlePopup-title": "Ganti Nama Panel",
|
||||
"boardChangeVisibilityPopup-title": "Ubah Penampakan",
|
||||
"boardChangeWatchPopup-title": "Ubah Pengamatan",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boardChangeViewPopup-title": "Board View",
|
||||
"boardMenuPopup-title": "Pengaturan Papan",
|
||||
"boardChangeViewPopup-title": "Tampilan Papan",
|
||||
"boards": "Panel",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view": "Tampilan Papan",
|
||||
"board-view-cal": "Kalender",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-collapse": "Collapse",
|
||||
"board-view-collapse": "Ciutkan",
|
||||
"board-view-lists": "Daftar",
|
||||
"bucket-example": "Contohnya seperti “Bucket List” ",
|
||||
"cancel": "Batal",
|
||||
"card-archived": "This card is moved to Archive.",
|
||||
"board-archived": "This board is moved to Archive.",
|
||||
"card-archived": "Kartu ini telah dipindahkan ke Arsip",
|
||||
"board-archived": "Kartu ini telah dipindahkan ke Arsip",
|
||||
"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": "You can move a card to Archive to remove it from the board and preserve the activity.",
|
||||
"card-delete-suggest-archive": "Kamu bisa memindahkan Kartu ke Arsip untuk menghapusnya dari Papan dan mempertahankan Aktifitas",
|
||||
"card-due": "Jatuh Tempo",
|
||||
"card-due-on": "Jatuh Tempo pada",
|
||||
"card-spent": "Spent Time",
|
||||
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Tanggal",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -423,8 +425,8 @@
|
||||
"muted-info": "Anda tidak akan pernah dinotifikasi semua perubahan di panel ini",
|
||||
"my-boards": "Panel saya",
|
||||
"name": "Nama",
|
||||
"no-archived-cards": "No cards in Archive.",
|
||||
"no-archived-lists": "No lists in Archive.",
|
||||
"no-archived-cards": "Tidak ada kartu di arsip.",
|
||||
"no-archived-lists": "Tidak ada daftar di arsip.",
|
||||
"no-archived-swimlanes": "No swimlanes in Archive.",
|
||||
"no-results": "Tidak ada hasil",
|
||||
"normal": "Normal",
|
||||
@@ -450,8 +452,8 @@
|
||||
"quick-access-description": "Beri bintang panel untuk menambah shortcut di papan ini",
|
||||
"remove-cover": "Hapus Sampul",
|
||||
"remove-from-board": "Hapus dari panel",
|
||||
"remove-label": "Remove Label",
|
||||
"listDeletePopup-title": "Delete List ?",
|
||||
"remove-label": "Hapus Label",
|
||||
"listDeletePopup-title": "Hapus Daftar ?",
|
||||
"remove-member": "Hapus Anggota",
|
||||
"remove-member-from-card": "Hapus dari Kartu",
|
||||
"remove-member-pop": "Hapus__nama__(__username__) dari __boardTitle__? Partisipan akan dihapus dari semua kartu di panel ini. Mereka akan diberi tahu",
|
||||
@@ -461,21 +463,21 @@
|
||||
"restore": "Pulihkan",
|
||||
"save": "Simpan",
|
||||
"search": "Cari",
|
||||
"rules": "Rules",
|
||||
"search-cards": "Search from card/list titles, descriptions and custom fields 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",
|
||||
"rules": "Peraturan",
|
||||
"search-cards": "Cari dari judul kartu/daftar, deskripsi dan bidang khusus di papan ini",
|
||||
"search-example": "Teks untuk dicari ?",
|
||||
"select-color": "Pilih Warna",
|
||||
"set-wip-limit-value": "Tetapkan batas untuk jumlah tugas maksimum dalam daftar ini",
|
||||
"setWipLimitPopup-title": "Tetapkan Batas WIP ",
|
||||
"shortcut-assign-self": "Masukkan diri anda sendiri ke kartu ini",
|
||||
"shortcut-autocomplete-emoji": "Autocomplete emoji",
|
||||
"shortcut-autocomplete-emoji": "Pelengkap Otomatis emoji",
|
||||
"shortcut-autocomplete-members": "Autocomplete partisipan",
|
||||
"shortcut-clear-filters": "Bersihkan semua saringan",
|
||||
"shortcut-close-dialog": "Tutup Dialog",
|
||||
"shortcut-filter-my-cards": "Filter kartu saya",
|
||||
"shortcut-show-shortcuts": "Angkat naik shortcut daftar ini",
|
||||
"shortcut-toggle-filterbar": "Toggle Filter Sidebar",
|
||||
"shortcut-toggle-sidebar": "Toggle Board Sidebar",
|
||||
"shortcut-toggle-filterbar": "Toggle Filter Bilah Samping",
|
||||
"shortcut-toggle-sidebar": "Toggle Papan Bilah Samping",
|
||||
"show-cards-minimum-count": "Tampilkan jumlah kartu jika daftar punya lebih dari ",
|
||||
"sidebar-open": "Buka Sidebar",
|
||||
"sidebar-close": "Tutup Sidebar",
|
||||
@@ -487,16 +489,16 @@
|
||||
"team": "Tim",
|
||||
"this-board": "Panel ini",
|
||||
"this-card": "Kartu ini",
|
||||
"spent-time-hours": "Spent time (hours)",
|
||||
"overtime-hours": "Overtime (hours)",
|
||||
"overtime": "Overtime",
|
||||
"has-overtime-cards": "Has overtime cards",
|
||||
"spent-time-hours": "Waktu yang dihabiskan (jam)",
|
||||
"overtime-hours": "Lembur (jam)",
|
||||
"overtime": "Lembur",
|
||||
"has-overtime-cards": "Punya kartu lembur",
|
||||
"has-spenttime-cards": "Has spent time cards",
|
||||
"time": "Waktu",
|
||||
"title": "Judul",
|
||||
"tracking": "Pelacakan",
|
||||
"tracking-info": "Anda akan dinotifikasi semua perubahan di kartu tersebut diaman anda terlibat sebagai creator atau partisipan",
|
||||
"type": "Type",
|
||||
"type": "tipe",
|
||||
"unassign-member": "Tidak sertakan partisipan",
|
||||
"unsaved-description": "Anda memiliki deskripsi yang belum disimpan.",
|
||||
"unwatch": "Tidak mengamati",
|
||||
@@ -513,11 +515,11 @@
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-list1": "Tingkat dasar",
|
||||
"welcome-list2": "Tingkat lanjut",
|
||||
"card-templates-swimlane": "Card Templates",
|
||||
"list-templates-swimlane": "List Templates",
|
||||
"board-templates-swimlane": "Board Templates",
|
||||
"card-templates-swimlane": "Klise Kartu",
|
||||
"list-templates-swimlane": "Klise Daftar",
|
||||
"board-templates-swimlane": "Klise Papan",
|
||||
"what-to-do": "Apa yang mau Anda lakukan?",
|
||||
"wipLimitErrorPopup-title": "Invalid WIP Limit",
|
||||
"wipLimitErrorPopup-title": "Batas WIP tidak valid",
|
||||
"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": "Panel Admin",
|
||||
@@ -542,11 +544,11 @@
|
||||
"invitation-code": "Kode Undangan",
|
||||
"email-invite-register-subject": "__inviter__ mengirim undangan ke Anda",
|
||||
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to kanban board 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",
|
||||
"email-smtp-test-subject": "SMTP Tes Surel",
|
||||
"email-smtp-test-text": "You have successfully sent an email",
|
||||
"error-invitation-code-not-exist": "Kode undangan tidak ada",
|
||||
"error-notAuthorized": "You are not authorized to view this page.",
|
||||
"webhook-title": "Webhook Name",
|
||||
"webhook-title": "Nama Webhook",
|
||||
"webhook-token": "Token (Optional for Authentication)",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"bidirectional-webhooks": "Two-Way Webhooks",
|
||||
@@ -556,10 +558,10 @@
|
||||
"global-webhook": "Global Webhooks",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"no-name": "(Unknown)",
|
||||
"Node_version": "Node version",
|
||||
"Meteor_version": "Meteor version",
|
||||
"MongoDB_version": "MongoDB version",
|
||||
"MongoDB_storage_engine": "MongoDB storage engine",
|
||||
"Node_version": "Versi Node",
|
||||
"Meteor_version": "Versi Meteor",
|
||||
"MongoDB_version": "Versi MongoDB",
|
||||
"MongoDB_storage_engine": "Mesin penyimpanan MongoDb",
|
||||
"MongoDB_Oplog_enabled": "MongoDB Oplog enabled",
|
||||
"OS_Arch": "OS Arch",
|
||||
"OS_Cpus": "OS CPU Count",
|
||||
@@ -570,44 +572,44 @@
|
||||
"OS_Totalmem": "OS Total Memory",
|
||||
"OS_Type": "OS Type",
|
||||
"OS_Uptime": "OS Uptime",
|
||||
"days": "days",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"days": "hari",
|
||||
"hours": "m",
|
||||
"minutes": "menit",
|
||||
"seconds": "detik",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"accounts": "Accounts",
|
||||
"yes": "Ya",
|
||||
"no": "Tidak",
|
||||
"accounts": "Akun",
|
||||
"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",
|
||||
"setCardColorPopup-title": "Set color",
|
||||
"setCardActionsColorPopup-title": "Choose a color",
|
||||
"setSwimlaneColorPopup-title": "Choose a color",
|
||||
"setListColorPopup-title": "Choose a color",
|
||||
"assigned-by": "Assigned By",
|
||||
"requested-by": "Requested By",
|
||||
"createdAt": "Dibuat pada",
|
||||
"verified": "Terverifikasi",
|
||||
"active": "Aktif",
|
||||
"card-received": "Diterima",
|
||||
"card-received-on": "Diterima pada",
|
||||
"card-end": "Berakhir",
|
||||
"card-end-on": "Berakhir pada",
|
||||
"editCardReceivedDatePopup-title": "Ubah tanggal diterima",
|
||||
"editCardEndDatePopup-title": "Ubah tanggal berakhir",
|
||||
"setCardColorPopup-title": "Tetapkan warna",
|
||||
"setCardActionsColorPopup-title": "Pilih warna",
|
||||
"setSwimlaneColorPopup-title": "Pilih warna",
|
||||
"setListColorPopup-title": "Pilih warna",
|
||||
"assigned-by": "Ditandatangani Oleh",
|
||||
"requested-by": "Diminta Oleh",
|
||||
"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",
|
||||
"boardDeletePopup-title": "Hapus Papan?",
|
||||
"delete-board": "Hapus Papan",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"default": "Standar",
|
||||
"queue": "Antrian",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"card-settings": "Card Settings",
|
||||
"card-settings": "Pengaturan Kartu",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"boardCardSettingsPopup-title": "Card Settings",
|
||||
"boardCardSettingsPopup-title": "Pengaturan Kartu",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
@@ -627,34 +629,34 @@
|
||||
"activity-delete-attach-card": "deleted an attachment",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "Rule",
|
||||
"r-add-trigger": "Add trigger",
|
||||
"r-add-action": "Add action",
|
||||
"r-board-rules": "Board rules",
|
||||
"r-add-rule": "Add rule",
|
||||
"r-view-rule": "View rule",
|
||||
"r-rule": "Aturan",
|
||||
"r-add-trigger": "Tambahkan pelatuk",
|
||||
"r-add-action": "Tambahkan aksi",
|
||||
"r-board-rules": "Aturan papan",
|
||||
"r-add-rule": "Tambahkan aturan",
|
||||
"r-view-rule": "Lihat aturan",
|
||||
"r-delete-rule": "Delete rule",
|
||||
"r-new-rule-name": "New rule title",
|
||||
"r-no-rules": "No rules",
|
||||
"r-when-a-card": "When a card",
|
||||
"r-is": "is",
|
||||
"r-is-moved": "is moved",
|
||||
"r-added-to": "Added to",
|
||||
"r-removed-from": "Removed from",
|
||||
"r-the-board": "the board",
|
||||
"r-list": "list",
|
||||
"set-filter": "Set Filter",
|
||||
"r-moved-to": "Moved to",
|
||||
"r-moved-from": "Moved from",
|
||||
"r-archived": "Moved to Archive",
|
||||
"r-unarchived": "Restored from Archive",
|
||||
"r-a-card": "a card",
|
||||
"r-when-a-label-is": "When a label is",
|
||||
"r-when-the-label": "When the label",
|
||||
"r-list-name": "list name",
|
||||
"r-when-a-member": "When a member is",
|
||||
"r-when-the-member": "When the member",
|
||||
"r-name": "name",
|
||||
"r-when-a-card": "Ketika kartu",
|
||||
"r-is": "adalah",
|
||||
"r-is-moved": "dipindahkan",
|
||||
"r-added-to": "Ditambahkan ke",
|
||||
"r-removed-from": "Dihapus dari",
|
||||
"r-the-board": "papan",
|
||||
"r-list": "daftar",
|
||||
"set-filter": "Atur Saringan",
|
||||
"r-moved-to": "Dipindahkan ke",
|
||||
"r-moved-from": "Dipindahkan dari",
|
||||
"r-archived": "Dipindahkan ke Arsip",
|
||||
"r-unarchived": "Dipulihkan dari Arsip",
|
||||
"r-a-card": "Kartu",
|
||||
"r-when-a-label-is": "Ketika label adalah",
|
||||
"r-when-the-label": "Ketika label",
|
||||
"r-list-name": "nama daftar",
|
||||
"r-when-a-member": "Ketika anggota adalah",
|
||||
"r-when-the-member": "Ketika anggota",
|
||||
"r-name": "nama",
|
||||
"r-when-a-attach": "When an attachment",
|
||||
"r-when-a-checklist": "When a checklist is",
|
||||
"r-when-the-checklist": "When the checklist",
|
||||
@@ -667,70 +669,70 @@
|
||||
"r-move-card-to": "Move card to",
|
||||
"r-top-of": "Top of",
|
||||
"r-bottom-of": "Bottom of",
|
||||
"r-its-list": "its list",
|
||||
"r-archive": "Move to Archive",
|
||||
"r-unarchive": "Restore from Archive",
|
||||
"r-card": "card",
|
||||
"r-its-list": "daftar ini",
|
||||
"r-archive": "Pindahlan ke Arsip",
|
||||
"r-unarchive": "Pulihkan dari Arsip",
|
||||
"r-card": "Kartu",
|
||||
"r-add": "Tambah",
|
||||
"r-remove": "Remove",
|
||||
"r-remove": "hapus",
|
||||
"r-label": "label",
|
||||
"r-member": "member",
|
||||
"r-remove-all": "Remove all members from the card",
|
||||
"r-set-color": "Set color to",
|
||||
"r-member": "anggota",
|
||||
"r-remove-all": "Hapus semua anggota dari kartu",
|
||||
"r-set-color": "Tetapkan warna ke",
|
||||
"r-checklist": "checklist",
|
||||
"r-check-all": "Check all",
|
||||
"r-uncheck-all": "Uncheck all",
|
||||
"r-items-check": "items of checklist",
|
||||
"r-check": "Check",
|
||||
"r-uncheck": "Uncheck",
|
||||
"r-item": "item",
|
||||
"r-item": "Item",
|
||||
"r-of-checklist": "of checklist",
|
||||
"r-send-email": "Send an email",
|
||||
"r-to": "to",
|
||||
"r-of": "of",
|
||||
"r-subject": "subject",
|
||||
"r-to": "kepada",
|
||||
"r-of": "dari",
|
||||
"r-subject": "Subyek",
|
||||
"r-rule-details": "Rule details",
|
||||
"r-d-move-to-top-gen": "Move card to top of its list",
|
||||
"r-d-move-to-top-spec": "Move card to top of list",
|
||||
"r-d-move-to-bottom-gen": "Move card to bottom of its list",
|
||||
"r-d-move-to-bottom-spec": "Move card to bottom of list",
|
||||
"r-d-send-email": "Send email",
|
||||
"r-d-send-email-to": "to",
|
||||
"r-d-send-email-subject": "subject",
|
||||
"r-d-send-email-message": "message",
|
||||
"r-d-archive": "Move card to Archive",
|
||||
"r-d-unarchive": "Restore card from Archive",
|
||||
"r-d-send-email": "Kirim surel",
|
||||
"r-d-send-email-to": "kepada",
|
||||
"r-d-send-email-subject": "Subyek",
|
||||
"r-d-send-email-message": "pesan",
|
||||
"r-d-archive": "Pindahlan kartu ke Arsip",
|
||||
"r-d-unarchive": "Pulihkan kartu dari Arsip",
|
||||
"r-d-add-label": "Tambahkan label",
|
||||
"r-d-remove-label": "Remove label",
|
||||
"r-create-card": "Create new card",
|
||||
"r-in-list": "in list",
|
||||
"r-d-remove-label": "Hapus label",
|
||||
"r-create-card": "Buat kartu baru",
|
||||
"r-in-list": "pada daftar",
|
||||
"r-in-swimlane": "in swimlane",
|
||||
"r-d-add-member": "Add member",
|
||||
"r-d-remove-member": "Remove member",
|
||||
"r-d-remove-all-member": "Remove all member",
|
||||
"r-d-add-member": "Tambahkan anggota",
|
||||
"r-d-remove-member": "Hapus anggota",
|
||||
"r-d-remove-all-member": "Hapus semua anggota",
|
||||
"r-d-check-all": "Check all items of a list",
|
||||
"r-d-uncheck-all": "Uncheck all items of a list",
|
||||
"r-d-check-one": "Check item",
|
||||
"r-d-uncheck-one": "Uncheck item",
|
||||
"r-d-check-of-list": "of checklist",
|
||||
"r-d-add-checklist": "Add checklist",
|
||||
"r-d-remove-checklist": "Remove checklist",
|
||||
"r-by": "by",
|
||||
"r-add-checklist": "Add checklist",
|
||||
"r-with-items": "with items",
|
||||
"r-items-list": "item1,item2,item3",
|
||||
"r-d-add-checklist": "Tambahkan daftar periksa",
|
||||
"r-d-remove-checklist": "Hapus daftar periksa",
|
||||
"r-by": "oleh",
|
||||
"r-add-checklist": "Tambahkan daftar periksa",
|
||||
"r-with-items": "dengan item",
|
||||
"r-items-list": "item 1, item2, item 3",
|
||||
"r-add-swimlane": "Add swimlane",
|
||||
"r-swimlane-name": "swimlane name",
|
||||
"r-board-note": "Note: leave a field empty to match every possible value.",
|
||||
"r-checklist-note": "Note: checklist's items have to be written as comma separated values.",
|
||||
"r-when-a-card-is-moved": "When a card is moved to another list",
|
||||
"r-set": "Set",
|
||||
"r-update": "Update",
|
||||
"r-datefield": "date field",
|
||||
"r-df-start-at": "start",
|
||||
"r-df-due-at": "due",
|
||||
"r-df-end-at": "end",
|
||||
"r-df-received-at": "received",
|
||||
"r-set": "Tetapkan",
|
||||
"r-update": "Ubah",
|
||||
"r-datefield": "bidang tanggal",
|
||||
"r-df-start-at": "mulai",
|
||||
"r-df-due-at": "sampai",
|
||||
"r-df-end-at": "berakhir",
|
||||
"r-df-received-at": "diterima",
|
||||
"r-to-current-datetime": "to current date/time",
|
||||
"r-remove-value-from": "Remove value from",
|
||||
"ldap": "LDAP",
|
||||
@@ -739,22 +741,22 @@
|
||||
"authentication-method": "Metode Autentikasi",
|
||||
"authentication-type": "Tipe Autentikasi",
|
||||
"custom-product-name": "Custom Product Name",
|
||||
"layout": "Layout",
|
||||
"layout": "Tata letak",
|
||||
"hide-logo": "Sembunyikan Logo",
|
||||
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
|
||||
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
|
||||
"error-undefined": "Something went wrong",
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"add-custom-html-after-body-start": "Tambahkan HTML khusus setelah <body> mulai",
|
||||
"add-custom-html-before-body-end": "Tambahkan HTML khusus sebelum </body> berakhir",
|
||||
"error-undefined": "Ada yang salah",
|
||||
"error-ldap-login": "Terjadi kesalahan saat mencoba masuk",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"duplicate-board": "Duplikat Papan",
|
||||
"people-number": "Jumlah orang:",
|
||||
"swimlaneDeletePopup-title": "Delete Swimlane ?",
|
||||
"swimlane-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the swimlane. There is no undo.",
|
||||
"restore-all": "Restore all",
|
||||
"delete-all": "Delete all",
|
||||
"loading": "Loading, please wait.",
|
||||
"previous_as": "last time was",
|
||||
"restore-all": "Pulihkan semua",
|
||||
"delete-all": "Hapus semua",
|
||||
"loading": "Sedang memuat, harap tunggu.",
|
||||
"previous_as": "terakhir kali adalah",
|
||||
"act-a-dueAt": "modified due time to \nWhen: __timeValue__\nWhere: __card__\n previous due was __timeOldValue__",
|
||||
"act-a-endAt": "modified ending time to __timeValue__ from (__timeOldValue__)",
|
||||
"act-a-startAt": "modified starting time to __timeValue__ from (__timeOldValue__)",
|
||||
@@ -774,37 +776,38 @@
|
||||
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
|
||||
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
|
||||
"accounts-allowUserDelete": "Allow users to self delete their account",
|
||||
"hide-minicard-label-text": "Hide minicard label text",
|
||||
"show-desktop-drag-handles": "Show desktop drag handles",
|
||||
"assignee": "Assignee",
|
||||
"cardAssigneesPopup-title": "Assignee",
|
||||
"addmore-detail": "Add a more detailed description",
|
||||
"show-on-card": "Show on Card",
|
||||
"new": "New",
|
||||
"editUserPopup-title": "Edit User",
|
||||
"newUserPopup-title": "New User",
|
||||
"notifications": "Notifications",
|
||||
"view-all": "View All",
|
||||
"filter-by-unread": "Filter by Unread",
|
||||
"mark-all-as-read": "Mark all as read",
|
||||
"remove-all-read": "Remove all read",
|
||||
"allow-rename": "Allow Rename",
|
||||
"allowRenamePopup-title": "Allow Rename",
|
||||
"start-day-of-week": "Set day of the week start",
|
||||
"monday": "Monday",
|
||||
"tuesday": "Tuesday",
|
||||
"wednesday": "Wednesday",
|
||||
"thursday": "Thursday",
|
||||
"friday": "Friday",
|
||||
"saturday": "Saturday",
|
||||
"sunday": "Sunday",
|
||||
"hide-minicard-label-text": "Sembunyikan teks label kartu mini",
|
||||
"show-desktop-drag-handles": "Tampilkan gagang seret desktop",
|
||||
"assignee": "Penerima tugas",
|
||||
"cardAssigneesPopup-title": "Penerima tugas",
|
||||
"addmore-detail": "Tambahkan deskripsi yang lebih rinci",
|
||||
"show-on-card": "Tampilkan pada Kartu",
|
||||
"new": "Baru",
|
||||
"editUserPopup-title": "Ubah Pengguna",
|
||||
"newUserPopup-title": "Pengguna Baru",
|
||||
"notifications": "Pemberitahuan",
|
||||
"view-all": "Lihat Semua",
|
||||
"filter-by-unread": "Saring yang Belum Dibaca",
|
||||
"mark-all-as-read": "Tandai semua telah dibaca",
|
||||
"remove-all-read": "Hapus semua yang telah dibaca",
|
||||
"allow-rename": "Ijinkan Ganti Nama",
|
||||
"allowRenamePopup-title": "Ijinkan Ganti Nama",
|
||||
"start-day-of-week": "Tetapkan hari dimulai dalam minggu",
|
||||
"monday": "Senin",
|
||||
"tuesday": "Selasa",
|
||||
"wednesday": "Rabu",
|
||||
"thursday": "Kamis",
|
||||
"friday": "Jum'at",
|
||||
"saturday": "Sabtu",
|
||||
"sunday": "Minggu",
|
||||
"status": "Status",
|
||||
"swimlane": "Swimlane",
|
||||
"owner": "Owner",
|
||||
"last-modified-at": "Last modified at",
|
||||
"last-activity": "Last activity",
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"owner": "Pemilik",
|
||||
"last-modified-at": "Terakhir diubah pada",
|
||||
"last-activity": "Aktifitas terakhir",
|
||||
"voting": "Pemungutan Suara",
|
||||
"archived": "Diarsipkan",
|
||||
"delete-linked-card-before-this-card": "Kamu tidak dapat menghapus kartu ini sebelum menghapus kartu tertaut yang telah",
|
||||
"delete-linked-cards-before-this-list": "Kamu tidak dapat menghapus daftar ini sebelum menghapus kartu tertaut yang mengarah ke kartu dalam daftar ini",
|
||||
"hide-checked-items": "Sembunyikan item yang dicentang"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Valuta",
|
||||
"custom-field-currency-option": "Codice Valuta",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Lista a discesa",
|
||||
"custom-field-dropdown-none": "(niente)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Votazione",
|
||||
"archived": "Archiviato",
|
||||
"delete-linked-card-before-this-card": "Non puoi eliminare questa scheda prima di avere eliminato una scheda collegata che ha",
|
||||
"delete-linked-cards-before-this-list": "Non puoi eliminare questa lista prima di avere eliminato le schede collegate che puntano su schede in questa lista"
|
||||
"delete-linked-cards-before-this-list": "Non puoi eliminare questa lista prima di avere eliminato le schede collegate che puntano su schede in questa lista",
|
||||
"hide-checked-items": "Nascondi articoli controllati"
|
||||
}
|
||||
+12
-9
@@ -166,7 +166,7 @@
|
||||
"negativeVoteMembersPopup-title": "反対者",
|
||||
"card-edit-voting": "投票を編集",
|
||||
"editVoteEndDatePopup-title": "投票終了日の変更",
|
||||
"allowNonBoardMembers": "Allow all logged in users",
|
||||
"allowNonBoardMembers": "ログイン中のすべてのユーザーに許可",
|
||||
"vote-question": "投票の質問事項",
|
||||
"vote-public": "誰が何に投票したか表示",
|
||||
"vote-for-it": "賛成",
|
||||
@@ -256,6 +256,8 @@
|
||||
"current": "現在",
|
||||
"custom-field-delete-pop": "この操作は取り消しできません。このカスタムフィールドはすべてのカードから外され履歴からも見えなくなります。",
|
||||
"custom-field-checkbox": "チェックボックス",
|
||||
"custom-field-currency": "通貨",
|
||||
"custom-field-currency-option": "通貨コード",
|
||||
"custom-field-date": "日付",
|
||||
"custom-field-dropdown": "ドロップダウンリスト",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -360,9 +362,9 @@
|
||||
"import-board-title-csv": "ボードをCSV/TSVからインポート",
|
||||
"from-trello": "Trelloから",
|
||||
"from-wekan": "以前のエクスポートから",
|
||||
"from-csv": "From CSV/TSV",
|
||||
"from-csv": "CSV/TSV から",
|
||||
"import-board-instruction-trello": "Trelloボードの、 'Menu' → 'More' → 'Print and Export' → 'Export JSON'を選択し、テキストをコピーしてください。",
|
||||
"import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
|
||||
"import-board-instruction-csv": "カンマ区切り(CSV) / タブ区切り(TSV) ファイルに貼り付けてください。",
|
||||
"import-board-instruction-wekan": "ボードの、 'メニュー' → 'ボードのエクスポート'を選択し、ダウンロードされたファイルの中のテキストをコピーしてください。",
|
||||
"import-board-instruction-about-errors": "ボードのインポート中にエラーが発生した場合、インポートがまだ進行中のまま、全てのボードページに表示されている場合があります。",
|
||||
"import-json-placeholder": "JSONデータをここに貼り付けする",
|
||||
@@ -639,7 +641,7 @@
|
||||
"r-when-a-card": "カード:",
|
||||
"r-is": "が",
|
||||
"r-is-moved": "が移動された時",
|
||||
"r-added-to": "Added to",
|
||||
"r-added-to": "次に追加された時",
|
||||
"r-removed-from": "次から削除された時",
|
||||
"r-the-board": "ボード:",
|
||||
"r-list": "リスト:",
|
||||
@@ -798,13 +800,14 @@
|
||||
"friday": "金曜",
|
||||
"saturday": "土曜",
|
||||
"sunday": "日曜",
|
||||
"status": "Status",
|
||||
"status": "ステータス",
|
||||
"swimlane": "スイムレーン",
|
||||
"owner": "オーナー",
|
||||
"last-modified-at": "Last modified at",
|
||||
"last-activity": "Last activity",
|
||||
"last-modified-at": "最終更新",
|
||||
"last-activity": "最終アクティビティ",
|
||||
"voting": "投票",
|
||||
"archived": "アーカイブ",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-card-before-this-card": "カード内にある、リンクされているカードを削除しなければ、このカードは削除できません",
|
||||
"delete-linked-cards-before-this-list": "リスト内にある、他のカードを参照しているカードを削除しなければ、このリストは削除できません",
|
||||
"hide-checked-items": "チェックした項目を隠す"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"current": "მიმდინარე",
|
||||
"custom-field-delete-pop": "ქმედება გამოიწვევს მომხმარებლის ველის წაშლას ყველა ბარათიდან და გაანადგურებს მის ისტორიას, რის შემდეგაც შეუძლებელი იქნება მისი უკან დაბრუნება. ",
|
||||
"custom-field-checkbox": "მოსანიშნი გრაფა",
|
||||
"custom-field-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "თარიღი",
|
||||
"custom-field-dropdown": "ჩამოსაშლელი სია",
|
||||
"custom-field-dropdown-none": "(ცარიელი)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+7
-4
@@ -90,7 +90,7 @@
|
||||
"addMemberPopup-title": "멤버",
|
||||
"admin": "관리자",
|
||||
"admin-desc": "카드를 보거나 수정하고, 멤버를 삭제하고, 보드에 대한 설정을 수정할 수 있습니다.",
|
||||
"admin-announcement": "Announcement",
|
||||
"admin-announcement": "공지사항",
|
||||
"admin-announcement-active": "시스템에 공지사항을 표시합니다",
|
||||
"admin-announcement-title": "관리자 공지사항 메시지",
|
||||
"all-boards": "전체 보드",
|
||||
@@ -147,7 +147,7 @@
|
||||
"card-delete-notice": "영구 삭제입니다. 이 카드와 관련된 모든 작업들을 잃게됩니다.",
|
||||
"card-delete-pop": "모든 작업이 활동 내역에서 제거되며 카드를 다시 열 수 없습니다. 복구가 안되니 주의하시기 바랍니다.",
|
||||
"card-delete-suggest-archive": "You can move a card to Archive to remove it from the board and preserve the activity.",
|
||||
"card-due": "종료일",
|
||||
"card-due": "마감기한",
|
||||
"card-due-on": "종료일",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "첨부 파일 수정",
|
||||
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "날짜",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -587,7 +589,7 @@
|
||||
"active": "Active",
|
||||
"card-received": "Received",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "End",
|
||||
"card-end": "종료일",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Дата",
|
||||
"custom-field-dropdown": "Падащо меню",
|
||||
"custom-field-dropdown-none": "(няма)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Dato",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"current": "Huidige",
|
||||
"custom-field-delete-pop": "Er is geen herstelmogelijkheid. Deze actie zal dit maatwerkveld van alle kaarten verwijderen en de bijbehorende historie wissen.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-currency": "Valuta",
|
||||
"custom-field-currency-option": "Valuta Teken",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Dropdown Lijst",
|
||||
"custom-field-dropdown-none": "(geen)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Stemmen",
|
||||
"archived": "Gearchiveerd",
|
||||
"delete-linked-card-before-this-card": "Je kunt deze kaart niet verwijderen voordat de gekoppelde kaart is verwijderd ",
|
||||
"delete-linked-cards-before-this-list": "Je kunt deze lijst niet verwijderen voordat de gekoppelde kaarten verwijderd zijn die verwijzen naar kaarten in deze lijst"
|
||||
"delete-linked-cards-before-this-list": "Je kunt deze lijst niet verwijderen voordat de gekoppelde kaarten verwijderd zijn die verwijzen naar kaarten in deze lijst",
|
||||
"hide-checked-items": "Verberg aangevinkte items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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": "Casa de croiar",
|
||||
"custom-field-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Tièra de causidas",
|
||||
"custom-field-dropdown-none": "(pas res)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+164
-161
@@ -1,95 +1,95 @@
|
||||
{
|
||||
"accept": "Akceptuj",
|
||||
"act-activity-notify": "Powiadomienia aktywności",
|
||||
"act-addAttachment": "dodał(a) załącznik __attachment__ do karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-deleteAttachment": "usunął załącznik __attachment__ na karcie __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addSubtask": "dodał(a) podzadanie __subtask__ na karcie __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addLabel": "dodał(a) etykietę __label__ do karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addedLabel": "dodał(a) etykietę __label__ do karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-removeLabel": "usunął etykietę __label__ z karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-removedLabel": "usunął etykietę __label__ z karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addChecklist": "dodał(a) listę zadań __checklist__ do karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addChecklistItem": "dodał(a) element listy zadań __checklistItem__ do listy zadań __checklist__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-removeChecklist": "usunął listę zadań __checklist__ z karty __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-removeChecklistItem": "usunął element listy zadań __checklistItem__ z listy zadań __checkList__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-checkedItem": "zaznaczył(a) __checklistItem__ na liście zadań __checklist__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-uncheckedItem": "odznaczył(a) __checklistItem__ na liście __checklist__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-completeChecklist": "wykonał(a) wszystkie zadania z listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"act-uncompleteChecklist": "wycofał(a) ukończenie wykonania listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"act-addComment": "dodał(a) komentarz na karcie __card__: __comment__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-editComment": "edytował(a) komentarz na karcie __card__: __comment__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-deleteComment": "usunął komentarz na karcie __card__: __comment__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addAttachment": "dodał załącznik __attachment__ do karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-deleteAttachment": "usunął załącznik __attachment__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-addSubtask": "dodał podzadanie __subtask__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-addLabel": "dodał etykietę __label__ do karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-addedLabel": "dodał etykietę __label__ do karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-removeLabel": "usunął etykietę __label__ z karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-removedLabel": "usunął etykietę __label__ z karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-addChecklist": "dodał czeklistę __checklist__ do karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-addChecklistItem": "dodał element __checklistItem__ do czeklisty __checklist__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-removeChecklist": "usunął czeklistę __checklist__ z karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-removeChecklistItem": "usunął element __checklistItem__ z czeklisty __checkList__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-checkedItem": "zaznaczył(a) __checklistItem__ na czekliście __checklist__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-uncheckedItem": "odznaczył(a) __checklistItem__ na czekliście __checklist__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-completeChecklist": "wykonał(a) wszystkie elementy z czeklisty __checklist__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-uncompleteChecklist": "wycofał(a) ukończenie wykonania czeklisty __checklist__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-addComment": "dodał komentarz na karcie __card__: __comment__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-editComment": "edytował(a) komentarz na karcie __card__: __comment__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-deleteComment": "usunął komentarz na karcie __card__: __comment__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-createBoard": "utworzył(a) tablicę __board__",
|
||||
"act-createSwimlane": "utworzył(a) diagram czynności __swimlane__ na tablicy __board__",
|
||||
"act-createCard": "utworzył(a) kartę __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-createSwimlane": "utworzył(a) ścieżkę __swimlane__ na tablicy __board__",
|
||||
"act-createCard": "utworzył(a) kartę __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-createCustomField": "utworzył(a) niestandardowe pole __customField__ na tablicy __board__",
|
||||
"act-deleteCustomField": "usunął niestandardowe pole __customField__ na tablicy __board__",
|
||||
"act-setCustomField": "zmienił(a) niestandardowe pole __customField__: __customFieldValue__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-createList": "dodał(a) listę __list__ do tablicy __board__",
|
||||
"act-addBoardMember": "dodał(a) użytykownika __member__ do tablicy __board__",
|
||||
"act-setCustomField": "zmienił(a) niestandardowe pole __customField__: __customFieldValue__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-createList": "dodał listę __list__ do tablicy __board__",
|
||||
"act-addBoardMember": "dodał użytkownika __member__ do tablicy __board__",
|
||||
"act-archivedBoard": "Tablica __board__ została przeniesiona do Archiwum",
|
||||
"act-archivedCard": "przeniósł kartę __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__ do Archiwum",
|
||||
"act-archivedList": "przeniósł listę __list__ na diagramie czynności __swimlane__ na tablicy __board__ do Archiwum",
|
||||
"act-archivedSwimlane": "przeniósł diagram czynności __swimlane__ na tablicy __board__ do Archiwum",
|
||||
"act-archivedCard": "przeniósł kartę __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__ do Archiwum",
|
||||
"act-archivedList": "przeniósł listę __list__ na ścieżce __swimlane__ na tablicy __board__ do Archiwum",
|
||||
"act-archivedSwimlane": "przeniósł ścieżkę __swimlane__ na tablicy __board__ do Archiwum",
|
||||
"act-importBoard": "zaimportował(a) tablicę __board__",
|
||||
"act-importCard": "zaimportował(a) kartę __card__ do listy __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-importList": "zaimportował(a) listę __list__ na diagram czynności __swimlane__ do tablicy __board__",
|
||||
"act-joinMember": "dodał(a) użytkownika __member__ do karty __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-moveCard": "przeniósł kartę __card__ na tablicy __board__ z listy __oldList__ na diagramie czynności __oldSwimlane__ na listę __list__ na diagramie czynności __swimlane__",
|
||||
"act-moveCardToOtherBoard": "przeniósł kartę __card__ z listy __oldList__ na diagramie czynności __oldSwimlane__ na tablicy __oldBoard__ do listy __listy__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-importCard": "zaimportował(a) kartę __card__ do listy __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-importList": "zaimportował(a) listę __list__ do ścieżki __swimlane__ na tablicy __board__",
|
||||
"act-joinMember": "dodał użytkownika __member__ do karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-moveCard": "przeniósł kartę __card__ na tablicy __board__ z listy __oldList__ na ścieżce __oldSwimlane__ na listę __list__ na ścieżce __swimlane__",
|
||||
"act-moveCardToOtherBoard": "przeniósł kartę __card__ z listy __oldList__ na ścieżce __oldSwimlane__ na tablicy __oldBoard__ do listy __listy__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-removeBoardMember": "usunął użytkownika __member__ z tablicy __board__",
|
||||
"act-restoredCard": "przywrócił(a) kartę __card__ na listę __list__ na diagram czynności__ na tablicy __board__",
|
||||
"act-unjoinMember": "usunął użytkownika __member__ z karty __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-restoredCard": "przywrócił(a) kartę __card__ na listę __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-unjoinMember": "usunął użytkownika __member__ z karty __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Akcje",
|
||||
"activities": "Ostatnia aktywność",
|
||||
"activity": "Aktywność",
|
||||
"activity-added": "dodał(a) %s z %s",
|
||||
"activity-added": "dodał %s do %s",
|
||||
"activity-archived": "%s została przeniesiona do Archiwum",
|
||||
"activity-attached": "załączono %s z %s",
|
||||
"activity-attached": "dodał załącznik %s do %s",
|
||||
"activity-created": "utworzył(a) %s",
|
||||
"activity-customfield-created": "utworzył(a) niestandardowe pole %s",
|
||||
"activity-excluded": "wyłączono %s z %s",
|
||||
"activity-excluded": "odłączył %s od %s",
|
||||
"activity-imported": "zaimportowano %s to %s z %s",
|
||||
"activity-imported-board": "zaimportowano %s z %s",
|
||||
"activity-joined": "dołączono %s",
|
||||
"activity-moved": "przeniesiono % z %s to %s",
|
||||
"activity-joined": "dodał się do %s",
|
||||
"activity-moved": "przeniósł %s z %s do %s",
|
||||
"activity-on": "w %s",
|
||||
"activity-removed": "usunięto %s z %s",
|
||||
"activity-sent": "wysłano %s z %s",
|
||||
"activity-unjoined": "odłączono %s",
|
||||
"activity-unjoined": "odłączył się od %s",
|
||||
"activity-subtask-added": "dodano podzadanie do %s",
|
||||
"activity-checked-item": "zaznaczono %s w liście zadań%s z %s",
|
||||
"activity-unchecked-item": "odznaczono %s w liście zadań %s z %s",
|
||||
"activity-checklist-added": "dodał(a) listę zadań do %s",
|
||||
"activity-checklist-removed": "usunął listę zadań z %s",
|
||||
"activity-checklist-completed": "ukończono listę zadań %s z %s",
|
||||
"activity-checklist-uncompleted": "nieukończono listy zadań %s z %s",
|
||||
"activity-checklist-item-added": "dodał(a) zadanie '%s' do %s",
|
||||
"activity-checklist-item-removed": "usunął element z listy zadań '%s' w %s",
|
||||
"activity-checked-item": "zaznaczył %s w czekliście %s w %s",
|
||||
"activity-unchecked-item": "odznaczył %s w czekliście %s w %s",
|
||||
"activity-checklist-added": "dodał czeklistę do %s",
|
||||
"activity-checklist-removed": "usunął czeklistę z %s",
|
||||
"activity-checklist-completed": "ukończył czeklistę %s z %s",
|
||||
"activity-checklist-uncompleted": "cofnął ukończenie czeklisty %s z %s",
|
||||
"activity-checklist-item-added": "dodał element do czeklisty '%s' w %s",
|
||||
"activity-checklist-item-removed": "usunął element '%s' z %s",
|
||||
"add": "Dodaj",
|
||||
"activity-checked-item-card": "zaznaczono %s w liście zadań %s",
|
||||
"activity-unchecked-item-card": "odznaczono %s w liście zadań %s",
|
||||
"activity-checklist-completed-card": "wykonał(a) wszystkie zadania z listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"activity-checklist-uncompleted-card": "wycofano ukończenie listy zadań %s",
|
||||
"activity-checked-item-card": "zaznaczył %s w czekliście %s",
|
||||
"activity-unchecked-item-card": "odznaczył %s w czekliście %s",
|
||||
"activity-checklist-completed-card": "wykonał(a) wszystkie elementy z czeklisty __checklist__ na karcie __card__ na liście __list__ na ścieżce __swimlane__ na tablicy __board__",
|
||||
"activity-checklist-uncompleted-card": "wycofano ukończenie czeklisty %s",
|
||||
"activity-editComment": "edytował(a) komentarz %s",
|
||||
"activity-deleteComment": "usunął komentarz %s",
|
||||
"add-attachment": "Dodaj załącznik",
|
||||
"add-board": "Dodaj tablicę",
|
||||
"add-card": "Dodaj kartę",
|
||||
"add-swimlane": "Dodaj diagram czynności",
|
||||
"add-swimlane": "Dodaj ścieżkę",
|
||||
"add-subtask": "Dodaj podzadanie",
|
||||
"add-checklist": "Dodaj listę kontrolną",
|
||||
"add-checklist-item": "Dodaj element do listy kontrolnej",
|
||||
"add-checklist": "Dodaj czeklistę",
|
||||
"add-checklist-item": "Dodaj element do czeklisty",
|
||||
"add-cover": "Dodaj okładkę",
|
||||
"add-label": "Dodaj etykietę",
|
||||
"add-list": "Dodaj listę",
|
||||
"add-members": "Dodaj członków",
|
||||
"add-members": "Dodaj użytkowników",
|
||||
"added": "Dodane",
|
||||
"addMemberPopup-title": "Członkowie",
|
||||
"addMemberPopup-title": "Użytkownicy",
|
||||
"admin": "Administrator",
|
||||
"admin-desc": "Może widzieć i edytować karty, usuwać członków oraz zmieniać ustawienia tablicy.",
|
||||
"admin-desc": "Może widzieć i edytować karty, usuwać użytkowników oraz zmieniać ustawienia tablicy.",
|
||||
"admin-announcement": "Ogłoszenie",
|
||||
"admin-announcement-active": "Włącz ogłoszenie systemowe",
|
||||
"admin-announcement-title": "Ogłoszenie od administratora",
|
||||
@@ -103,7 +103,7 @@
|
||||
"archive-board": "Przenieś tablicę do Archiwum",
|
||||
"archive-card": "Przenieś kartę do Archiwum",
|
||||
"archive-list": "Przenieś listę do Archiwum",
|
||||
"archive-swimlane": "Przenieś diagram czynności do Archiwum",
|
||||
"archive-swimlane": "Przenieś ścieżkę do Archiwum",
|
||||
"archive-selection": "Przenieś zaznaczone do Archiwum",
|
||||
"archiveBoardPopup-title": "Przenieść tablicę do Archiwum?",
|
||||
"archived-items": "Archiwum",
|
||||
@@ -113,8 +113,8 @@
|
||||
"archives": "Archiwum",
|
||||
"template": "Szablon",
|
||||
"templates": "Szablony",
|
||||
"assign-member": "Dodaj członka",
|
||||
"attached": "załączono",
|
||||
"assign-member": "Dodaj użytkownika",
|
||||
"attached": "dodał załącznik",
|
||||
"attachment": "Załącznik",
|
||||
"attachment-delete-pop": "Usunięcie załącznika jest nieodwracalne.",
|
||||
"attachmentDeletePopup-title": "Usunąć załącznik?",
|
||||
@@ -136,7 +136,7 @@
|
||||
"boards": "Tablice",
|
||||
"board-view": "Widok tablicy",
|
||||
"board-view-cal": "Kalendarz",
|
||||
"board-view-swimlanes": "Diagramy czynności",
|
||||
"board-view-swimlanes": "Ścieżki",
|
||||
"board-view-collapse": "Zwiń",
|
||||
"board-view-lists": "Listy",
|
||||
"bucket-example": "Tak jak na przykład \"lista kubełkowa\"",
|
||||
@@ -147,15 +147,15 @@
|
||||
"card-delete-notice": "Usunięcie jest trwałe. Stracisz wszystkie akcje powiązane z tą kartą.",
|
||||
"card-delete-pop": "Wszystkie akcje będą usunięte z widoku aktywności, nie można będzie ponownie otworzyć karty. Usunięcie jest nieodwracalne.",
|
||||
"card-delete-suggest-archive": "Możesz przenieść kartę do Archiwum, a następnie usunąć ją z tablicy i zachować ją w Aktywności.",
|
||||
"card-due": "Ukończenie",
|
||||
"card-due-on": "Ukończenie w",
|
||||
"card-spent": "Spędzony czas",
|
||||
"card-due": "Termin",
|
||||
"card-due-on": "Termin ukończenia",
|
||||
"card-spent": "Czas pracy",
|
||||
"card-edit-attachments": "Edytuj załączniki",
|
||||
"card-edit-custom-fields": "Edytuj niestandardowe pola",
|
||||
"card-edit-labels": "Edytuj etykiety",
|
||||
"card-edit-members": "Edytuj członków",
|
||||
"card-edit-members": "Edytuj użytkowników",
|
||||
"card-labels-title": "Zmień etykiety karty",
|
||||
"card-members-title": "Dodaj lub usuń członków tablicy z karty.",
|
||||
"card-members-title": "Dodaj lub usuń użytkowników tablicy z karty.",
|
||||
"card-start": "Rozpoczęcie",
|
||||
"card-start-on": "Zaczyna się o",
|
||||
"cardAttachmentsPopup-title": "Dodaj załącznik z",
|
||||
@@ -176,11 +176,11 @@
|
||||
"cardDeletePopup-title": "Usunąć kartę?",
|
||||
"cardDetailsActionsPopup-title": "Czynności kart",
|
||||
"cardLabelsPopup-title": "Etykiety",
|
||||
"cardMembersPopup-title": "Członkowie",
|
||||
"cardMembersPopup-title": "Użytkownicy",
|
||||
"cardMorePopup-title": "Więcej",
|
||||
"cardTemplatePopup-title": "Utwórz szablon",
|
||||
"cards": "Karty",
|
||||
"cards-count": "Karty",
|
||||
"cards-count": "kart",
|
||||
"casSignIn": "Zaloguj się poprzez CAS",
|
||||
"cardType-card": "Karta",
|
||||
"cardType-linkedCard": "Podpięta karta",
|
||||
@@ -196,7 +196,7 @@
|
||||
"changePermissionsPopup-title": "Zmień uprawnienia",
|
||||
"changeSettingsPopup-title": "Zmień ustawienia",
|
||||
"subtasks": "Podzadania",
|
||||
"checklists": "Listy zadań",
|
||||
"checklists": "Czeklisty",
|
||||
"click-to-star": "Kliknij by odznaczyć tę tablicę.",
|
||||
"click-to-unstar": "Kliknij by usunąć odznaczenie tej tablicy.",
|
||||
"clipboard": "Schowka lub poprzez przeciągnij & upuść",
|
||||
@@ -239,12 +239,12 @@
|
||||
"worker-desc": "Możesz tylko przenieść karty, przypisać je do siebie i na nich komentować.",
|
||||
"computer": "Komputera",
|
||||
"confirm-subtask-delete-dialog": "Czy jesteś pewien, że chcesz usunąć to podzadanie?",
|
||||
"confirm-checklist-delete-dialog": "Czy jesteś pewien, że chcesz usunąć listę zadań?",
|
||||
"confirm-checklist-delete-dialog": "Czy jesteś pewien, że chcesz usunąć czeklistę?",
|
||||
"copy-card-link-to-clipboard": "Skopiuj łącze karty do schowka",
|
||||
"linkCardPopup-title": "Podepnij kartę",
|
||||
"searchElementPopup-title": "Wyszukaj",
|
||||
"copyCardPopup-title": "Skopiuj kartę",
|
||||
"copyChecklistToManyCardsPopup-title": "Kopiuj szablon listy zadań do wielu kart",
|
||||
"copyChecklistToManyCardsPopup-title": "Kopiuj szablon czeklisty do wielu kart",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Docelowe tytuły i opisy kart są w formacie JSON",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Tytuł pierwszej karty\", \"description\":\"Opis pierwszej karty\"}, {\"title\":\"Tytuł drugiej karty\",\"description\":\"Opis drugiej karty\"},{\"title\":\"Tytuł ostatniej karty\",\"description\":\"Opis ostatniej karty\"} ]",
|
||||
"create": "Utwórz",
|
||||
@@ -256,6 +256,8 @@
|
||||
"current": "obecny",
|
||||
"custom-field-delete-pop": "Nie ma możliwości wycofania tej operacji. To usunie te niestandardowe pole ze wszystkich kart oraz usunie ich całą historię.",
|
||||
"custom-field-checkbox": "Pole wyboru",
|
||||
"custom-field-currency": "Waluta",
|
||||
"custom-field-currency-option": "Kod waluty",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Lista rozwijana",
|
||||
"custom-field-dropdown-none": "(puste)",
|
||||
@@ -273,9 +275,9 @@
|
||||
"deleteLabelPopup-title": "Usunąć etykietę?",
|
||||
"description": "Opis",
|
||||
"disambiguateMultiLabelPopup-title": "Ujednolić etykiety czynności",
|
||||
"disambiguateMultiMemberPopup-title": "Ujednolić etykiety członków",
|
||||
"disambiguateMultiMemberPopup-title": "Doprecyzuj czynności użytkowników",
|
||||
"discard": "Odrzuć",
|
||||
"done": "Zrobiono",
|
||||
"done": "Zakończone",
|
||||
"download": "Pobierz",
|
||||
"edit": "Edytuj",
|
||||
"edit-avatar": "Zmień avatar",
|
||||
@@ -283,9 +285,9 @@
|
||||
"edit-wip-limit": "Zmień limit kart na liście",
|
||||
"soft-wip-limit": "Pozwól na nadmiarowe karty na liście",
|
||||
"editCardStartDatePopup-title": "Zmień datę rozpoczęcia",
|
||||
"editCardDueDatePopup-title": "Zmień datę ukończenia",
|
||||
"editCardDueDatePopup-title": "Zmień termin ukończenia",
|
||||
"editCustomFieldPopup-title": "Edytuj pole",
|
||||
"editCardSpentTimePopup-title": "Zmień spędzony czas",
|
||||
"editCardSpentTimePopup-title": "Zmień ilość przepracowanego czasu",
|
||||
"editLabelPopup-title": "Zmień etykietę",
|
||||
"editNotificationPopup-title": "Zmień tryb powiadamiania",
|
||||
"editProfilePopup-title": "Edytuj profil",
|
||||
@@ -306,7 +308,7 @@
|
||||
"enable-wip-limit": "Włącz limit kart na liście",
|
||||
"error-board-doesNotExist": "Ta tablica nie istnieje",
|
||||
"error-board-notAdmin": "Musisz być administratorem tej tablicy żeby to zrobić",
|
||||
"error-board-notAMember": "Musisz być członkiem tej tablicy, żeby wykonać tę czynność",
|
||||
"error-board-notAMember": "Musisz być użytkownikiem tej tablicy, żeby wykonać tę czynność",
|
||||
"error-json-malformed": "Twoja fraza nie jest w formacie JSON",
|
||||
"error-json-schema": "Twoje dane JSON nie zawierają prawidłowych informacji w poprawnym formacie",
|
||||
"error-csv-schema": "Twój plik CSV(plik oddzielony przecinkami)/TSV (plik oddzielony tabulatorami) nie zawiera danych w poprawnym formacie",
|
||||
@@ -325,7 +327,7 @@
|
||||
"sort": "Sortuj",
|
||||
"sort-desc": "Kliknij by sortować listę",
|
||||
"list-sort-by": "Sortuj listę przez:",
|
||||
"list-label-modifiedAt": "Ostatni czas dostępu",
|
||||
"list-label-modifiedAt": "Ostatni dostęp",
|
||||
"list-label-title": "Nazwa listy",
|
||||
"list-label-sort": "Twoja kolejność ustawiona ręcznie",
|
||||
"list-label-short-modifiedAt": "(O)",
|
||||
@@ -336,7 +338,7 @@
|
||||
"list-filter-label": "Filtruj listy względem tytułu",
|
||||
"filter-clear": "Usuń filter",
|
||||
"filter-no-label": "Brak etykiety",
|
||||
"filter-no-member": "Brak członków",
|
||||
"filter-no-member": "Brak użytkowników",
|
||||
"filter-no-assignee": "Nieprzypisane ",
|
||||
"filter-no-custom-fields": "Brak niestandardowych pól",
|
||||
"filter-show-archive": "Pokaż zarchiwizowane listy",
|
||||
@@ -364,13 +366,13 @@
|
||||
"import-board-instruction-trello": "W twojej tablicy na Trello przejdź do 'Menu', następnie 'Więcej', 'Drukuj i eksportuj', 'Eksportuj jako JSON' i skopiuj wynik",
|
||||
"import-board-instruction-csv": "Wklej swoje dane w postaci wartości oddzielanych przecinkiem (CSV) lub tabulatorem (TSV)",
|
||||
"import-board-instruction-wekan": "Na Twojej tablicy przejdź do 'Menu', a następnie wybierz 'Eksportuj tablicę' i skopiuj tekst w pobranym pliku.",
|
||||
"import-board-instruction-about-errors": "W przypadku, gdy otrzymujesz błędy importowania tablicy, czasami importowanie pomimo wszystko działa poprawnie i tablica znajduje się w oknie Wszystkie tablice.",
|
||||
"import-board-instruction-about-errors": "Czasami mimo komunikatu o błędzie importowanie tablicy przebiega poprawnie i jest ona widoczna na liście tablic (Wszystkie tablice).",
|
||||
"import-json-placeholder": "Wklej Twoje dane JSON tutaj",
|
||||
"import-csv-placeholder": "Wklej swoje dane z pliku CSV/TSV tutaj",
|
||||
"import-map-members": "Przypisz członków",
|
||||
"import-members-map": "Twoje zaimportowane tablice mają kilku członków. Proszę wybierz członków których chcesz zaimportować dla Twoich użytkowników",
|
||||
"import-show-user-mapping": "Przejrzyj wybranych członków",
|
||||
"import-user-select": "Wybierz istniejącego użytkownika, który ma stać się członkiem",
|
||||
"import-map-members": "Przypisz użytkowników",
|
||||
"import-members-map": "Zaimportowana tablica ma kilku użytkowników. Wybierz spośród nich osoby, które chcesz zaimportować jako użytkowników Twojej tablicy",
|
||||
"import-show-user-mapping": "Przejrzyj przypisanych użytkowników",
|
||||
"import-user-select": "Wybierz istniejącego użytkownika, którego chcesz dodać",
|
||||
"importMapMembersAddPopup-title": "Wybierz użytkownika",
|
||||
"info": "Wersja",
|
||||
"initials": "Inicjały",
|
||||
@@ -396,8 +398,8 @@
|
||||
"list-select-cards": "Zaznacz wszystkie karty z tej listy",
|
||||
"set-color-list": "Ustaw kolor",
|
||||
"listActionPopup-title": "Lista akcji",
|
||||
"swimlaneActionPopup-title": "Opcje diagramu czynności",
|
||||
"swimlaneAddPopup-title": "Dodaj diagram czynności poniżej",
|
||||
"swimlaneActionPopup-title": "Opcje ścieżki",
|
||||
"swimlaneAddPopup-title": "Dodaj ścieżkę poniżej",
|
||||
"listImportCardPopup-title": "Zaimportuj kartę z Trello",
|
||||
"listImportCardsTsvPopup-title": "Importuj CSV/TSV z Excela",
|
||||
"listMorePopup-title": "Więcej",
|
||||
@@ -405,12 +407,12 @@
|
||||
"list-delete-pop": "Wszystkie czynności zostaną usunięte z Aktywności i nie będziesz w stanie przywrócić listy. Nie ma możliwości cofnięcia tej operacji.",
|
||||
"list-delete-suggest-archive": "Możesz przenieść listę do Archiwum, a następnie usunąć ją z tablicy i zachować ją w Aktywności.",
|
||||
"lists": "Listy",
|
||||
"swimlanes": "Diagramy czynności",
|
||||
"swimlanes": "Ścieżki",
|
||||
"log-out": "Wyloguj",
|
||||
"log-in": "Zaloguj",
|
||||
"loginPopup-title": "Zaloguj",
|
||||
"memberMenuPopup-title": "Ustawienia członków",
|
||||
"members": "Członkowie",
|
||||
"memberMenuPopup-title": "Ustawienia użytkowników",
|
||||
"members": "Użytkownicy",
|
||||
"menu": "Menu",
|
||||
"move-selection": "Przenieś zaznaczone",
|
||||
"moveCardPopup-title": "Przenieś kartę",
|
||||
@@ -425,12 +427,12 @@
|
||||
"name": "Nazwa",
|
||||
"no-archived-cards": "Brak kart w Archiwum.",
|
||||
"no-archived-lists": "Brak list w Archiwum.",
|
||||
"no-archived-swimlanes": "Brak diagramów czynności w Archiwum",
|
||||
"no-archived-swimlanes": "Brak ścieżek w Archiwum",
|
||||
"no-results": "Brak wyników",
|
||||
"normal": "Użytkownik standardowy",
|
||||
"normal-desc": "Może widzieć i edytować karty. Nie może zmieniać ustawiań.",
|
||||
"not-accepted-yet": "Zaproszenie jeszcze niezaakceptowane",
|
||||
"notify-participate": "Otrzymuj aktualizacje kart, w których uczestniczysz jako twórca lub członek.",
|
||||
"notify-participate": "Otrzymuj informacje o aktywności w kartach, które stworzyłeś(aś) lub do których jesteś przypisany(a)",
|
||||
"notify-watch": "Otrzymuj powiadomienia z tablic, list i kart, które obserwujesz",
|
||||
"optional": "opcjonalny",
|
||||
"or": "lub",
|
||||
@@ -452,10 +454,10 @@
|
||||
"remove-from-board": "Usuń z tablicy",
|
||||
"remove-label": "Usuń etykietę",
|
||||
"listDeletePopup-title": "Usunąć listę?",
|
||||
"remove-member": "Usuń członka",
|
||||
"remove-member": "Usuń użytkownika",
|
||||
"remove-member-from-card": "Usuń z karty",
|
||||
"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": "Usunąć członka?",
|
||||
"removeMemberPopup-title": "Usunąć użytkownika?",
|
||||
"rename": "Zmień nazwę",
|
||||
"rename-board": "Zmień nazwę tablicy",
|
||||
"restore": "Przywróć",
|
||||
@@ -465,11 +467,11 @@
|
||||
"search-cards": "Szukaj w tytułach kart/list oraz opisach i niestandardowych polach na tej tablicy",
|
||||
"search-example": "Czego mam szukać?",
|
||||
"select-color": "Wybierz kolor",
|
||||
"set-wip-limit-value": "Ustaw maksymalny limit zadań na tej liście",
|
||||
"set-wip-limit-value": "Ustaw maksymalny limit kart na tej liście",
|
||||
"setWipLimitPopup-title": "Ustaw limit kart na liście",
|
||||
"shortcut-assign-self": "Przypisz siebie do obecnej karty",
|
||||
"shortcut-autocomplete-emoji": "Autouzupełnianie emoji",
|
||||
"shortcut-autocomplete-members": "Autouzupełnianie członków",
|
||||
"shortcut-autocomplete-members": "Autouzupełnianie użytkowników",
|
||||
"shortcut-clear-filters": "Usuń wszystkie filtry",
|
||||
"shortcut-close-dialog": "Zamknij okno",
|
||||
"shortcut-filter-my-cards": "Filtruj moje karty",
|
||||
@@ -487,17 +489,17 @@
|
||||
"team": "Zespół",
|
||||
"this-board": "ta tablica",
|
||||
"this-card": "ta karta",
|
||||
"spent-time-hours": "Spędzony czas (w godzinach)",
|
||||
"overtime-hours": "Nadgodziny (czas)",
|
||||
"overtime": "Dodatkowo",
|
||||
"has-overtime-cards": "Ma dodatkowych kart",
|
||||
"has-spenttime-cards": "Ma karty z wykorzystanym czasem",
|
||||
"spent-time-hours": "Czas pracy (h)",
|
||||
"overtime-hours": "Nadgodziny (h)",
|
||||
"overtime": "Nadgodziny",
|
||||
"has-overtime-cards": "Ma karty z wykazanymi nadgodzinami",
|
||||
"has-spenttime-cards": "Ma karty z wykazanym czasem pracy",
|
||||
"time": "Czas",
|
||||
"title": "Tytuł",
|
||||
"tracking": "Śledź",
|
||||
"tracking-info": "Dostaniesz powiadomienie o zmianach kart, w których bierzesz udział jako twórca lub członek.",
|
||||
"tracking-info": "Będziesz powiadamiany(a) o wszelkich zmianach w kartach, które stworzyłeś(aś) lub do których jesteś przypisany(a).",
|
||||
"type": "Typ",
|
||||
"unassign-member": "Nieprzypisany członek",
|
||||
"unassign-member": "Odłącz użytkownika",
|
||||
"unsaved-description": "Masz niezapisany opis.",
|
||||
"unwatch": "Nie obserwuj",
|
||||
"upload": "Wyślij",
|
||||
@@ -519,7 +521,7 @@
|
||||
"what-to-do": "Co chcesz zrobić?",
|
||||
"wipLimitErrorPopup-title": "Nieprawidłowy limit kart na liście",
|
||||
"wipLimitErrorPopup-dialog-pt1": "Aktualna ilość kart na tej liście jest większa niż aktualny zdefiniowany limit kart.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Proszę przenieś zadania z tej listy lub zmień limit kart na tej liście na wyższy.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Wycofaj jakieś karty z tej listy lub zwiększ limit kart na tej liście.",
|
||||
"admin-panel": "Panel administracyjny",
|
||||
"settings": "Ustawienia",
|
||||
"people": "Osoby",
|
||||
@@ -582,14 +584,14 @@
|
||||
"accounts": "Konto",
|
||||
"accounts-allowEmailChange": "Zezwól na zmianę adresu email",
|
||||
"accounts-allowUserNameChange": "Zezwól na zmianę nazwy użytkownika",
|
||||
"createdAt": "Stworzono o",
|
||||
"createdAt": "Utworzone o",
|
||||
"verified": "Zweryfikowane",
|
||||
"active": "Aktywny",
|
||||
"card-received": "Odebrano",
|
||||
"card-received-on": "Odebrano",
|
||||
"card-received": "Przyjęto",
|
||||
"card-received-on": "Przyjęto",
|
||||
"card-end": "Koniec",
|
||||
"card-end-on": "Kończy się",
|
||||
"editCardReceivedDatePopup-title": "Zmień datę odebrania",
|
||||
"editCardReceivedDatePopup-title": "Zmień datę przyjęcia",
|
||||
"editCardEndDatePopup-title": "Zmień datę ukończenia",
|
||||
"setCardColorPopup-title": "Ustaw kolor",
|
||||
"setCardActionsColorPopup-title": "Wybierz kolor",
|
||||
@@ -608,7 +610,7 @@
|
||||
"card-settings": "Ustawienia karty",
|
||||
"boardSubtaskSettingsPopup-title": "Ustawienia tablicy podzadań",
|
||||
"boardCardSettingsPopup-title": "Ustawienia kart",
|
||||
"deposit-subtasks-board": "Przechowuj podzadania na tablicy:",
|
||||
"deposit-subtasks-board": "Twórz podzadania na tablicy:",
|
||||
"deposit-subtasks-list": "Początkowa lista dla podzadań jest przechowywana w:",
|
||||
"show-parent-in-minicard": "Pokaż rodzica w minikarcie:",
|
||||
"prefix-with-full-path": "Prefix z pełną ścieżką",
|
||||
@@ -619,14 +621,14 @@
|
||||
"parent-card": "Karta rodzica",
|
||||
"source-board": "Tablica źródłowa",
|
||||
"no-parent": "Nie pokazuj rodzica",
|
||||
"activity-added-label": "dodał(a) etykietę '%s' z '%s'",
|
||||
"activity-added-label": "dodał etykietę '%s' z '%s'",
|
||||
"activity-removed-label": "usunął etykietę '%s' z '%s'",
|
||||
"activity-delete-attach": "usunął załącznik z %s",
|
||||
"activity-added-label-card": "dodał(a) etykietę '%s'",
|
||||
"activity-added-label-card": "dodał etykietę '%s'",
|
||||
"activity-removed-label-card": "usunął etykietę '%s'",
|
||||
"activity-delete-attach-card": "usunął załącznik",
|
||||
"activity-set-customfield": "ustawiono niestandardowe pole '%s' do '%s' na '%s'",
|
||||
"activity-unset-customfield": "wyczyszczono niestandardowe pole '%s' na '%s'",
|
||||
"activity-set-customfield": "ustawił niestandardowe pole '%s' na '%s' w '%s'",
|
||||
"activity-unset-customfield": "wyczyścił niestandardowe pole '%s' w '%s'",
|
||||
"r-rule": "Reguła",
|
||||
"r-add-trigger": "Dodaj przełącznik",
|
||||
"r-add-action": "Dodaj czynność",
|
||||
@@ -644,24 +646,24 @@
|
||||
"r-the-board": "tablicy",
|
||||
"r-list": "lista",
|
||||
"set-filter": "Ustaw filtr",
|
||||
"r-moved-to": "Przeniesiono do",
|
||||
"r-moved-from": "Przeniesiono z",
|
||||
"r-moved-to": "Przeniesione do",
|
||||
"r-moved-from": "Przeniesione z",
|
||||
"r-archived": "Przeniesione z Archiwum",
|
||||
"r-unarchived": "Przywrócone z Archiwum",
|
||||
"r-a-card": "karta",
|
||||
"r-when-a-label-is": "Gdy etykieta jest",
|
||||
"r-when-the-label": "Gdy etykieta jest",
|
||||
"r-list-name": "nazwa listy",
|
||||
"r-when-a-member": "Gdy członek jest",
|
||||
"r-when-the-member": "Gdy członek jest",
|
||||
"r-when-a-member": "Gdy jakikolwiek użytkownik jest",
|
||||
"r-when-the-member": "Gdy użytkownik",
|
||||
"r-name": "nazwa",
|
||||
"r-when-a-attach": "Gdy załącznik",
|
||||
"r-when-a-checklist": "Gdy lista zadań jest",
|
||||
"r-when-the-checklist": "Gdy lista zadań",
|
||||
"r-completed": "Ukończono",
|
||||
"r-when-a-checklist": "Gdy jakaś czeklista jest",
|
||||
"r-when-the-checklist": "Gdy czeklista",
|
||||
"r-completed": "Ukończone",
|
||||
"r-made-incomplete": "Niedokończone",
|
||||
"r-when-a-item": "Gdy lista zadań jest",
|
||||
"r-when-the-item": "Gdy element listy zadań",
|
||||
"r-when-a-item": "Gdy jakiś element czeklisty jest",
|
||||
"r-when-the-item": "Gdy element",
|
||||
"r-checked": "Zaznaczony",
|
||||
"r-unchecked": "Odznaczony",
|
||||
"r-move-card-to": "Przenieś kartę do",
|
||||
@@ -674,17 +676,17 @@
|
||||
"r-add": "Dodaj",
|
||||
"r-remove": "Usuń",
|
||||
"r-label": "etykieta",
|
||||
"r-member": "członek",
|
||||
"r-remove-all": "Usuń wszystkich członków tej karty",
|
||||
"r-member": "użytkownik",
|
||||
"r-remove-all": "Usuń wszystkich użytkowników tej karty",
|
||||
"r-set-color": "Ustaw kolor na",
|
||||
"r-checklist": "lista zadań",
|
||||
"r-checklist": "czekliście",
|
||||
"r-check-all": "Zaznacz wszystkie",
|
||||
"r-uncheck-all": "Odznacz wszystkie",
|
||||
"r-items-check": "elementy listy",
|
||||
"r-items-check": "elementy czeklisty",
|
||||
"r-check": "Zaznacz",
|
||||
"r-uncheck": "Odznacz",
|
||||
"r-item": "element",
|
||||
"r-of-checklist": "z listy zadań",
|
||||
"r-of-checklist": "z czeklisty",
|
||||
"r-send-email": "Wyślij wiadomość email",
|
||||
"r-to": "do",
|
||||
"r-of": "z",
|
||||
@@ -704,33 +706,33 @@
|
||||
"r-d-remove-label": "Usuń etykietę",
|
||||
"r-create-card": "Utwórz nową kartę",
|
||||
"r-in-list": "na liście",
|
||||
"r-in-swimlane": "w diagramie zdarzeń",
|
||||
"r-d-add-member": "Dodaj członka",
|
||||
"r-d-remove-member": "Usuń członka",
|
||||
"r-d-remove-all-member": "Usuń wszystkich członków",
|
||||
"r-in-swimlane": "na ścieżce",
|
||||
"r-d-add-member": "Dodaj użytkownika",
|
||||
"r-d-remove-member": "Usuń użytkownika",
|
||||
"r-d-remove-all-member": "Usuń wszystkich użytkowników",
|
||||
"r-d-check-all": "Zaznacz wszystkie elementy listy",
|
||||
"r-d-uncheck-all": "Odznacz wszystkie elementy listy",
|
||||
"r-d-check-one": "Zaznacz element",
|
||||
"r-d-uncheck-one": "Odznacz element",
|
||||
"r-d-check-of-list": "z listy zadań",
|
||||
"r-d-add-checklist": "Dodaj listę zadań",
|
||||
"r-d-remove-checklist": "Usuń listę zadań",
|
||||
"r-d-check-of-list": "z czeklisty",
|
||||
"r-d-add-checklist": "Dodaj czeklistę",
|
||||
"r-d-remove-checklist": "Usuń czeklistę",
|
||||
"r-by": "przez",
|
||||
"r-add-checklist": "Dodaj listę zadań",
|
||||
"r-add-checklist": "Dodaj czeklistę",
|
||||
"r-with-items": "z elementami",
|
||||
"r-items-list": "element1,element2,element3",
|
||||
"r-add-swimlane": "Dodaj diagram zdarzeń",
|
||||
"r-swimlane-name": "Nazwa diagramu",
|
||||
"r-add-swimlane": "Dodaj ścieżkę",
|
||||
"r-swimlane-name": "Nazwa ścieżki",
|
||||
"r-board-note": "Uwaga: pozostaw pole puste, aby każda wartość była brana pod uwagę.",
|
||||
"r-checklist-note": "Uwaga: wartości elementów listy muszą być oddzielone przecinkami.",
|
||||
"r-checklist-note": "Uwaga: elementy czeklisty muszą być oddzielone przecinkami.",
|
||||
"r-when-a-card-is-moved": "Gdy karta jest przeniesiona do innej listy",
|
||||
"r-set": "Ustaw",
|
||||
"r-update": "Aktualizuj",
|
||||
"r-datefield": "pole daty",
|
||||
"r-df-start-at": "start",
|
||||
"r-df-due-at": "rozpoczęcie",
|
||||
"r-df-due-at": "termin ukończenia jest",
|
||||
"r-df-end-at": "zakończenie",
|
||||
"r-df-received-at": "odebrano",
|
||||
"r-df-received-at": "przyjęte",
|
||||
"r-to-current-datetime": "o aktualnej dacie/godzinie",
|
||||
"r-remove-value-from": "usunął wartość z",
|
||||
"ldap": "LDAP",
|
||||
@@ -749,35 +751,35 @@
|
||||
"default-authentication-method": "Domyślna metoda logowania",
|
||||
"duplicate-board": "Duplikuj tablicę",
|
||||
"people-number": "Liczba użytkowników to:",
|
||||
"swimlaneDeletePopup-title": "Usunąć diagram czynności?",
|
||||
"swimlane-delete-pop": "Wszystkie akcje będą usunięte z widoku aktywności, nie można będzie przywrócić diagramu czynności. Usunięcie jest nieodwracalne.",
|
||||
"swimlaneDeletePopup-title": "Usunąć ścieżkę?",
|
||||
"swimlane-delete-pop": "Wszystkie czynności wykonane na tej ścieżce zostaną usunięte z historii aktywności. Tej operacji nie można cofnąć. Usunięcie jest nieodwracalne.",
|
||||
"restore-all": "Przywróć wszystkie",
|
||||
"delete-all": "Usuń wszystkie",
|
||||
"loading": "Ładowanie, proszę czekać.",
|
||||
"previous_as": "ostatni czas był",
|
||||
"act-a-dueAt": "zmienił(a) czas zakończenia na: __timeValue__ w karcie __card__, poprzedni czas: __timeOldValue__",
|
||||
"act-a-endAt": "zmienił(a) czas zakończenia na __timeValue__ z __timeOldValue__",
|
||||
"act-a-startAt": "zmienił(a) czas rozpoczęcia na __timeValue__ z __timeOldValue__",
|
||||
"act-a-receivedAt": "zmienił(a) czas odebrania zadania na __timeValue__ z __timeOldValue__",
|
||||
"a-dueAt": "zmieniono czas zakończenia na",
|
||||
"a-endAt": "zmieniono czas zakończenia na",
|
||||
"a-startAt": "zmieniono czas startu na",
|
||||
"a-receivedAt": "zmieniono czas odebrania zadania na",
|
||||
"almostdue": "aktualny termin ukończenia %s dobiega końca",
|
||||
"pastdue": "aktualny termin ukończenia %s jest w przeszłości",
|
||||
"duenow": "aktualny termin ukończenia %s jest dzisiaj",
|
||||
"act-newDue": "__list__/__card__ przypomina o 1szym zakończeniu terminu [__board__]",
|
||||
"act-withDue": "__list__/__card__ posiada przypomnienia zakończenia terminu [__board__]",
|
||||
"act-almostdue": "przypomina o zbliżającej się dacie ukończenia (__timeValue__) karty __card__",
|
||||
"act-pastdue": "przypomina o ubiegłej dacie ukończenia (__timeValue__) karty __card__",
|
||||
"act-duenow": "przypomina o ubiegającej teraz dacie ukończenia (__timeValue__) karty __card__",
|
||||
"previous_as": "ostatni raz był",
|
||||
"act-a-dueAt": "zmienił(a) termin ukończenia na: __timeValue__ w karcie __card__, poprzedni termin: __timeOldValue__",
|
||||
"act-a-endAt": "zmienił czas zakończenia na __timeValue__ z __timeOldValue__",
|
||||
"act-a-startAt": "zmienił czas rozpoczęcia na __timeValue__ z __timeOldValue__",
|
||||
"act-a-receivedAt": "zmienił czas przyjęcia zadania na __timeValue__ z __timeOldValue__",
|
||||
"a-dueAt": "zmienił termin ukończenia na",
|
||||
"a-endAt": "zmienił czas zakończenia na",
|
||||
"a-startAt": "zmienił czas rozpoczęcia na",
|
||||
"a-receivedAt": "zmienił czas przyjęcia zadania na",
|
||||
"almostdue": "termin ukończenia %s jest bliski",
|
||||
"pastdue": "termin ukończenia %s minął",
|
||||
"duenow": "termin ukończenia %s przypada dzisiaj",
|
||||
"act-newDue": "__list__/__card__ pierwszy raz przypomina o terminie ukończenia [__board__]",
|
||||
"act-withDue": "__list__/__card__ ma przypomnienia o terminie ukończenia [__board__]",
|
||||
"act-almostdue": "przypominał o zbliżającym się terminie ukończenia (__timeValue__) karty __card__",
|
||||
"act-pastdue": "przypominał o upłynięciu terminu ukończenia (__timeValue__) karty __card__",
|
||||
"act-duenow": "przypominał o przypadającym właśnie terminie ukończenia (__timeValue__) karty __card__",
|
||||
"act-atUserComment": "Zostałeś wspomniany w [__board] __list__/__card__",
|
||||
"delete-user-confirm-popup": "Czy jesteś pewien, że chcesz usunąć te konto? Nie można tego wycofać.",
|
||||
"accounts-allowUserDelete": "Pozwól użytkownikom na usuwanie własnych kont",
|
||||
"hide-minicard-label-text": "Ukryj opisy etykiet minikart",
|
||||
"show-desktop-drag-handles": "Pokaż przeciągnięcia na pulpit",
|
||||
"assignee": "Przypisujący",
|
||||
"cardAssigneesPopup-title": "Przypisujący",
|
||||
"assignee": "Przypisani",
|
||||
"cardAssigneesPopup-title": "Przypisani",
|
||||
"addmore-detail": "Dodaj bardziej szczegółowy opis",
|
||||
"show-on-card": "Pokaż na karcie",
|
||||
"new": "Nowy",
|
||||
@@ -799,12 +801,13 @@
|
||||
"saturday": "Sobota",
|
||||
"sunday": "Niedziela",
|
||||
"status": "Status",
|
||||
"swimlane": "Diagram czynności",
|
||||
"swimlane": "Ścieżka",
|
||||
"owner": "Właściciel",
|
||||
"last-modified-at": "Ostatnio zmodyfikowano",
|
||||
"last-activity": "Ostatnia aktywność",
|
||||
"voting": "Głosowanie",
|
||||
"archived": "Zarchiwizowany",
|
||||
"delete-linked-card-before-this-card": "Nie możesz usunąć tej karty, dopóki nie usuniesz podpiętej karty, w której są",
|
||||
"delete-linked-cards-before-this-list": "Nie możesz usunąć tej karty, dopóki nie usuniesz podpiętych kart, które wskazują na karty w tej liście"
|
||||
"delete-linked-cards-before-this-list": "Nie możesz usunąć tej karty, dopóki nie usuniesz podpiętych kart, które wskazują na karty w tej liście",
|
||||
"hide-checked-items": "Ukryj ukończone"
|
||||
}
|
||||
@@ -256,6 +256,8 @@
|
||||
"current": "atual",
|
||||
"custom-field-delete-pop": "Não existe desfazer. Isso irá excluir o campo customizado de todos os cartões e destruir seu histórico",
|
||||
"custom-field-checkbox": "Caixa de seleção",
|
||||
"custom-field-currency": "Moeda",
|
||||
"custom-field-currency-option": "Código de moeda",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Lista suspensa",
|
||||
"custom-field-dropdown-none": "(nada)",
|
||||
@@ -805,6 +807,7 @@
|
||||
"last-activity": "Última atividade",
|
||||
"voting": "Votação",
|
||||
"archived": "Arquivado",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-card-before-this-card": "Você não pode excluir este cartão antes de excluir primeiro o cartão vinculado que possui",
|
||||
"delete-linked-cards-before-this-list": "Você não pode excluir esta lista antes de excluir primeiro os cartões vinculados que estão apontando para os cartões nesta lista",
|
||||
"hide-checked-items": "Esconder itens marcados"
|
||||
}
|
||||
+39
-36
@@ -137,7 +137,7 @@
|
||||
"board-view": "Visão do Quadro",
|
||||
"board-view-cal": "Calendário",
|
||||
"board-view-swimlanes": "Pistas",
|
||||
"board-view-collapse": "Collapse",
|
||||
"board-view-collapse": "Colapsar ",
|
||||
"board-view-lists": "Listas",
|
||||
"bucket-example": "\"Lista de Desejos\", por exemplo",
|
||||
"cancel": "Cancelar",
|
||||
@@ -164,14 +164,14 @@
|
||||
"cardStartVotingPopup-title": "Start a vote",
|
||||
"positiveVoteMembersPopup-title": "Proponents",
|
||||
"negativeVoteMembersPopup-title": "Opponents",
|
||||
"card-edit-voting": "Edit voting",
|
||||
"card-edit-voting": "Alterar voto",
|
||||
"editVoteEndDatePopup-title": "Change vote end date",
|
||||
"allowNonBoardMembers": "Allow all logged in users",
|
||||
"vote-question": "Voting question",
|
||||
"vote-public": "Show who voted what",
|
||||
"vote-for-it": "for it",
|
||||
"vote-against": "against",
|
||||
"deleteVotePopup-title": "Delete vote?",
|
||||
"deleteVotePopup-title": "Apagar voto?",
|
||||
"vote-delete-pop": "Deleting is permanent. You will lose all actions associated with this vote.",
|
||||
"cardDeletePopup-title": "Apagar Cartão?",
|
||||
"cardDetailsActionsPopup-title": "Acções do Cartão",
|
||||
@@ -256,6 +256,8 @@
|
||||
"current": "actual",
|
||||
"custom-field-delete-pop": "Não existe desfazer. Isto irá remover este campo personalizado de todos os cartões e destruir o seu histórico",
|
||||
"custom-field-checkbox": "Caixa de selecção",
|
||||
"custom-field-currency": "Moeda",
|
||||
"custom-field-currency-option": "Código de Moeda",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Lista Suspensa",
|
||||
"custom-field-dropdown-none": "(nada)",
|
||||
@@ -322,18 +324,18 @@
|
||||
"export-board-tsv": "Export board to TSV",
|
||||
"export-board-html": "Export board to HTML",
|
||||
"exportBoardPopup-title": "Exportar quadro",
|
||||
"sort": "Sort",
|
||||
"sort-desc": "Click to Sort List",
|
||||
"list-sort-by": "Sort the List By:",
|
||||
"sort": "Ordenar",
|
||||
"sort-desc": "Clique para ordenar a Lista",
|
||||
"list-sort-by": "Ordenar a Lista por:",
|
||||
"list-label-modifiedAt": "Last Access Time",
|
||||
"list-label-title": "Name of the List",
|
||||
"list-label-title": "Nome da Lista",
|
||||
"list-label-sort": "Your Manual Order",
|
||||
"list-label-short-modifiedAt": "(L)",
|
||||
"list-label-short-title": "(N)",
|
||||
"list-label-short-sort": "(M)",
|
||||
"filter": "Filtrar",
|
||||
"filter-cards": "Filter Cards or Lists",
|
||||
"list-filter-label": "Filter List by Title",
|
||||
"filter-cards": "Filtrar Cartões ou Listas",
|
||||
"list-filter-label": "Filtrar Lista por Título",
|
||||
"filter-clear": "Limpar filtro",
|
||||
"filter-no-label": "Sem etiquetas",
|
||||
"filter-no-member": "Sem membros",
|
||||
@@ -360,13 +362,13 @@
|
||||
"import-board-title-csv": "Import board from CSV/TSV",
|
||||
"from-trello": "Do Trello",
|
||||
"from-wekan": "A partir de exportação prévia",
|
||||
"from-csv": "From CSV/TSV",
|
||||
"from-csv": "De CSV/TSV",
|
||||
"import-board-instruction-trello": "No seu quadro do Trello, vá em 'Menu', depois em 'Mais', 'Imprimir e Exportar', 'Exportar JSON', e copie o texto resultante.",
|
||||
"import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
|
||||
"import-board-instruction-wekan": "No seu quadro vá para 'Menu', depois 'Exportar quadro' e copie o texto no ficheiro descarregado.",
|
||||
"import-board-instruction-about-errors": "Se receber erros ao importar o quadro, às vezes a importação ainda funciona e o quadro está na página Todos os Quadros.",
|
||||
"import-json-placeholder": "Cole seus dados JSON válidos aqui",
|
||||
"import-csv-placeholder": "Paste your valid CSV/TSV data here",
|
||||
"import-csv-placeholder": "Copie aqui os seus dados CSV/TSV",
|
||||
"import-map-members": "Mapear membros",
|
||||
"import-members-map": "O seu quadro importado possui alguns membros. Por favor, mapeie os membros que deseja importar para seus utilizadores",
|
||||
"import-show-user-mapping": "Rever mapeamento dos membros",
|
||||
@@ -399,7 +401,7 @@
|
||||
"swimlaneActionPopup-title": "Acções de Pista",
|
||||
"swimlaneAddPopup-title": "Adicionar uma Pista abaixo",
|
||||
"listImportCardPopup-title": "Importe um cartão do Trello",
|
||||
"listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
|
||||
"listImportCardsTsvPopup-title": "Importar Excel CSV/TSV",
|
||||
"listMorePopup-title": "Mais",
|
||||
"link-list": "Ligar a esta lista",
|
||||
"list-delete-pop": "Todas as acções serão removidas do feed de actividade e não poderá recuperar a lista. Não há como desfazer.",
|
||||
@@ -639,7 +641,7 @@
|
||||
"r-when-a-card": "Quando um cartão",
|
||||
"r-is": "é",
|
||||
"r-is-moved": "é movido",
|
||||
"r-added-to": "Added to",
|
||||
"r-added-to": "Adicionado a",
|
||||
"r-removed-from": "Removido de",
|
||||
"r-the-board": "o quadro",
|
||||
"r-list": "lista",
|
||||
@@ -687,7 +689,7 @@
|
||||
"r-of-checklist": "da lista de verificação",
|
||||
"r-send-email": "Enviar um e-mail",
|
||||
"r-to": "para",
|
||||
"r-of": "of",
|
||||
"r-of": "de",
|
||||
"r-subject": "assunto",
|
||||
"r-rule-details": "Detalhes da regra",
|
||||
"r-d-move-to-top-gen": "Mover cartão para o topo da sua lista",
|
||||
@@ -778,33 +780,34 @@
|
||||
"show-desktop-drag-handles": "Show desktop drag handles",
|
||||
"assignee": "Assignee",
|
||||
"cardAssigneesPopup-title": "Assignee",
|
||||
"addmore-detail": "Add a more detailed description",
|
||||
"addmore-detail": "Adicionar uma descrição mais detalhada",
|
||||
"show-on-card": "Show on Card",
|
||||
"new": "New",
|
||||
"editUserPopup-title": "Edit User",
|
||||
"newUserPopup-title": "New User",
|
||||
"notifications": "Notifications",
|
||||
"view-all": "View All",
|
||||
"filter-by-unread": "Filter by Unread",
|
||||
"mark-all-as-read": "Mark all as read",
|
||||
"remove-all-read": "Remove all read",
|
||||
"allow-rename": "Allow Rename",
|
||||
"allowRenamePopup-title": "Allow Rename",
|
||||
"new": "Novo",
|
||||
"editUserPopup-title": "Editar Utilizador",
|
||||
"newUserPopup-title": "Novo Utilizador",
|
||||
"notifications": "Notificações",
|
||||
"view-all": "Ver Todos",
|
||||
"filter-by-unread": "Filtrar por não lidos",
|
||||
"mark-all-as-read": "Marcar todos como lidos",
|
||||
"remove-all-read": "Apagar todos os lidos",
|
||||
"allow-rename": "Permitir Renomear",
|
||||
"allowRenamePopup-title": "Permitir Renomear",
|
||||
"start-day-of-week": "Set day of the week start",
|
||||
"monday": "Monday",
|
||||
"tuesday": "Tuesday",
|
||||
"wednesday": "Wednesday",
|
||||
"thursday": "Thursday",
|
||||
"friday": "Friday",
|
||||
"saturday": "Saturday",
|
||||
"sunday": "Sunday",
|
||||
"monday": "Segunda-feira",
|
||||
"tuesday": "Terça-feira",
|
||||
"wednesday": "Quarta-feira",
|
||||
"thursday": "Quinta-feira",
|
||||
"friday": "Sexta-feira",
|
||||
"saturday": "Sábado",
|
||||
"sunday": "Domingo",
|
||||
"status": "Status",
|
||||
"swimlane": "Swimlane",
|
||||
"owner": "Owner",
|
||||
"last-modified-at": "Last modified at",
|
||||
"last-activity": "Last activity",
|
||||
"last-modified-at": "Modificado pela última vez em",
|
||||
"last-activity": "Última actividade",
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"archived": "Arquivado",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"current": "текущий",
|
||||
"custom-field-delete-pop": "Отменить нельзя. Это удалит настраиваемое поле со всех карт и уничтожит его историю.",
|
||||
"custom-field-checkbox": "Галочка",
|
||||
"custom-field-currency": "Валюта",
|
||||
"custom-field-currency-option": "Код валюты",
|
||||
"custom-field-date": "Дата",
|
||||
"custom-field-dropdown": "Выпадающий список",
|
||||
"custom-field-dropdown-none": "(нет)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Голосование",
|
||||
"archived": "Архивировано",
|
||||
"delete-linked-card-before-this-card": "Вы не можете удалить карточку, не удалив связанную c ней карточку, которая имеет ",
|
||||
"delete-linked-cards-before-this-list": "Вы не можете удалить этот список, не удалив карточки, которые указывают на карточки в этом списке"
|
||||
"delete-linked-cards-before-this-list": "Вы не можете удалить этот список, не удалив карточки, которые указывают на карточки в этом списке",
|
||||
"hide-checked-items": "Спрятать отмеченные"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"current": "trenutno",
|
||||
"custom-field-delete-pop": "Razveljavitve ni. To bo odstranilo to poljubno polje iz vseh kartic in izbrisalo njegovo zgodovino.",
|
||||
"custom-field-checkbox": "Potrditveno polje",
|
||||
"custom-field-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Spustni seznam",
|
||||
"custom-field-dropdown-none": "(nobeno)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Padajuća lista",
|
||||
"custom-field-dropdown-none": "(ništa)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"current": "aktuell",
|
||||
"custom-field-delete-pop": "Det går inte att ångra. Detta tar bort det här anpassade fältet från alla kort och förstör dess historia.",
|
||||
"custom-field-checkbox": "Kryssruta",
|
||||
"custom-field-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Rullgardingsmeny",
|
||||
"custom-field-dropdown-none": "(inga)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Röstning",
|
||||
"archived": "Arkiverad",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "நாள் ",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "วันที่",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+26
-23
@@ -256,6 +256,8 @@
|
||||
"current": "mevcut",
|
||||
"custom-field-delete-pop": "Bunun geri dönüşü yoktur. Bu özel alan tüm kartlardan kaldırılıp tarihçesi yokedilecektir.",
|
||||
"custom-field-checkbox": "İşaret kutusu",
|
||||
"custom-field-currency": "Para birimi",
|
||||
"custom-field-currency-option": "Para birimi kodu",
|
||||
"custom-field-date": "Tarih",
|
||||
"custom-field-dropdown": "Açılır liste",
|
||||
"custom-field-dropdown-none": "(hiçbiri)",
|
||||
@@ -317,12 +319,12 @@
|
||||
"error-username-taken": "Kullanıcı adı zaten alınmış",
|
||||
"error-email-taken": "Bu e-posta adresi daha önceden alınmış",
|
||||
"export-board": "Panoyu dışarı aktar",
|
||||
"export-board-json": "Export board to JSON",
|
||||
"export-board-csv": "Export board to CSV",
|
||||
"export-board-tsv": "Export board to TSV",
|
||||
"export-board-html": "Export board to HTML",
|
||||
"export-board-json": "Panoyu JSON olarak dışarı aktar",
|
||||
"export-board-csv": "Panoyu CSV olarak dışarı aktar",
|
||||
"export-board-tsv": "Panoyu TSV olarak dışarı aktar",
|
||||
"export-board-html": "Panoyu HTML olarak dışarı aktar",
|
||||
"exportBoardPopup-title": "Panoyu dışarı aktar",
|
||||
"sort": "Sort",
|
||||
"sort": "Sırala",
|
||||
"sort-desc": "Click to Sort List",
|
||||
"list-sort-by": "Sort the List By:",
|
||||
"list-label-modifiedAt": "Son Erişim Zamanı...",
|
||||
@@ -339,8 +341,8 @@
|
||||
"filter-no-member": "Üye yok",
|
||||
"filter-no-assignee": "No assignee",
|
||||
"filter-no-custom-fields": "Hiç özel alan yok",
|
||||
"filter-show-archive": "Show archived lists",
|
||||
"filter-hide-empty": "Hide empty lists",
|
||||
"filter-show-archive": "Arşivlenmiş listeleri göster",
|
||||
"filter-hide-empty": "Boş listeleri gizle",
|
||||
"filter-on": "Filtre aktif",
|
||||
"filter-on-desc": "Bu panodaki kartları filtreliyorsunuz. Fitreyi düzenlemek için tıklayın.",
|
||||
"filter-to-selection": "Seçime göre filtreleme yap",
|
||||
@@ -357,10 +359,10 @@
|
||||
"import-board-c": "Panoyu içe aktar",
|
||||
"import-board-title-trello": "Trello'dan panoyu içeri aktar",
|
||||
"import-board-title-wekan": "Import board from previous export",
|
||||
"import-board-title-csv": "Import board from CSV/TSV",
|
||||
"import-board-title-csv": "CSV/TSV formatındaki panoyu içeri aktar",
|
||||
"from-trello": "Trello'dan",
|
||||
"from-wekan": "From previous export",
|
||||
"from-csv": "From CSV/TSV",
|
||||
"from-csv": "CSV/TSV'den",
|
||||
"import-board-instruction-trello": "Trello panonuzda 'Menü'ye gidip 'Daha fazlası'na tıklayın, ardından 'Yazdır ve Çıktı Al'ı seçip 'JSON biçiminde çıktı al' diyerek çıkan metni buraya kopyalayın.",
|
||||
"import-board-instruction-csv": "Paste in your Comma Separated Values(CSV)/ Tab Separated Values (TSV) .",
|
||||
"import-board-instruction-wekan": "In your board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
|
||||
@@ -397,10 +399,10 @@
|
||||
"set-color-list": "Rengi Ayarla",
|
||||
"listActionPopup-title": "Liste İşlemleri",
|
||||
"swimlaneActionPopup-title": "Kulvar İşlemleri",
|
||||
"swimlaneAddPopup-title": "Add a Swimlane below",
|
||||
"swimlaneAddPopup-title": "Aşağı kulvar ekle",
|
||||
"listImportCardPopup-title": "Bir Trello kartını içeri aktar",
|
||||
"listImportCardsTsvPopup-title": "Import Excel CSV/TSV",
|
||||
"listMorePopup-title": "Daha",
|
||||
"listMorePopup-title": "Daha fazla",
|
||||
"link-list": "Listeye doğrudan bağlantı",
|
||||
"list-delete-pop": "Etkinlik akışınızdaki tüm eylemler geri kurtarılamaz şekilde kaldırılacak. Bu işlem geri alınamaz.",
|
||||
"list-delete-suggest-archive": "You can move a list to Archive to remove it from the board and preserve the activity.",
|
||||
@@ -435,7 +437,7 @@
|
||||
"optional": "isteğe bağlı",
|
||||
"or": "veya",
|
||||
"page-maybe-private": "Bu sayfa gizli olabilir. <a href='%s'>Oturum açarak</a> görmeyi deneyin.",
|
||||
"page-not-found": "Sayda bulunamadı.",
|
||||
"page-not-found": "Sayfa bulunamadı.",
|
||||
"password": "Parola",
|
||||
"paste-or-dragdrop": "Dosya eklemek için yapıştırabilir, veya (eğer resimse) sürükle bırak yapabilirsiniz",
|
||||
"participating": "Katılımcılar",
|
||||
@@ -446,8 +448,8 @@
|
||||
"private-desc": "Bu pano gizli. Sadece panoya ekli kişiler görüntüleyebilir ve düzenleyebilir.",
|
||||
"profile": "Kullanıcı Sayfası",
|
||||
"public": "Genel",
|
||||
"public-desc": "Bu pano genel. Bağlantı adresi ile herhangi bir kimseye görünür ve Google gibi arama motorlarında gösterilecektir. Panoyu, sadece eklenen kişiler düzenleyebilir.",
|
||||
"quick-access-description": "Bu bara kısayol olarak bir pano eklemek için panoyu yıldızlamalısınız",
|
||||
"public-desc": "Bu pano genel bir panodur. Bağlantıya sahip olan herkes panoyu görüntüleyebilir, ayrıca panonuz Google gibi arama motorlarında görünür. Panoyu, sadece panoya eklenen kişiler düzenleyebilir.",
|
||||
"quick-access-description": "Yıldızladığınız panolar burada gözükür",
|
||||
"remove-cover": "Kapak Resmini Kaldır",
|
||||
"remove-from-board": "Panodan Kaldır",
|
||||
"remove-label": "Etiketi Kaldır",
|
||||
@@ -513,9 +515,9 @@
|
||||
"welcome-swimlane": "Kilometre taşı",
|
||||
"welcome-list1": "Temel",
|
||||
"welcome-list2": "Gelişmiş",
|
||||
"card-templates-swimlane": "Card Templates",
|
||||
"list-templates-swimlane": "List Templates",
|
||||
"board-templates-swimlane": "Board Templates",
|
||||
"card-templates-swimlane": "Kart şablonları",
|
||||
"list-templates-swimlane": "Liste şablonları",
|
||||
"board-templates-swimlane": "Pano şablonları",
|
||||
"what-to-do": "Ne yapmak istiyorsunuz?",
|
||||
"wipLimitErrorPopup-title": "Geçersiz Devam Eden İş Sınırı",
|
||||
"wipLimitErrorPopup-dialog-pt1": "Bu listedeki iş sayısı belirlediğiniz sınırdan daha fazla.",
|
||||
@@ -557,8 +559,8 @@
|
||||
"new-outgoing-webhook": "Yeni Dışarı Giden Web Bağlantısı",
|
||||
"no-name": "(Bilinmeyen)",
|
||||
"Node_version": "Node sürümü",
|
||||
"Meteor_version": "Meteor version",
|
||||
"MongoDB_version": "MongoDB version",
|
||||
"Meteor_version": "Meteor sürümü",
|
||||
"MongoDB_version": "MongoDB sürümü",
|
||||
"MongoDB_storage_engine": "MongoDB storage engine",
|
||||
"MongoDB_Oplog_enabled": "MongoDB Oplog enabled",
|
||||
"OS_Arch": "İşletim Sistemi Mimarisi",
|
||||
@@ -601,13 +603,13 @@
|
||||
"delete-board-confirm-popup": "Tüm listeler, kartlar, etiketler ve etkinlikler silinecek ve pano içeriğini kurtaramayacaksınız. Geri dönüş yok.",
|
||||
"boardDeletePopup-title": "Panoyu Sil?",
|
||||
"delete-board": "Panoyu Sil",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default-subtasks-board": "__board__ panosu için alt görevler",
|
||||
"default": "Varsayılan",
|
||||
"queue": "Sıra",
|
||||
"subtask-settings": "Alt Görev ayarları",
|
||||
"card-settings": "Card Settings",
|
||||
"card-settings": "Kart ayarları",
|
||||
"boardSubtaskSettingsPopup-title": "Pano alt görev ayarları",
|
||||
"boardCardSettingsPopup-title": "Card Settings",
|
||||
"boardCardSettingsPopup-title": "Kart ayarları",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Alt görevlerin açılacağı liste:",
|
||||
"show-parent-in-minicard": "Mini kart içinde üst kartı göster",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+4
-1
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
@@ -256,6 +256,8 @@
|
||||
"current": "当前",
|
||||
"custom-field-delete-pop": "没有撤销,此动作将从所有卡片中移除自定义字段并销毁历史。",
|
||||
"custom-field-checkbox": "选择框",
|
||||
"custom-field-currency": "货币",
|
||||
"custom-field-currency-option": "货币代码",
|
||||
"custom-field-date": "日期",
|
||||
"custom-field-dropdown": "下拉列表",
|
||||
"custom-field-dropdown-none": "(无)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "投票",
|
||||
"archived": "存档",
|
||||
"delete-linked-card-before-this-card": "在你首次删除卡片前你无法删除此选项卡片",
|
||||
"delete-linked-cards-before-this-list": "在首先删除指向此列表中的卡的链接卡之前,不能删除此列表"
|
||||
"delete-linked-cards-before-this-list": "在首先删除指向此列表中的卡的链接卡之前,不能删除此列表",
|
||||
"hide-checked-items": "隐藏选中项"
|
||||
}
|
||||
@@ -256,6 +256,8 @@
|
||||
"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-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
@@ -256,6 +256,8 @@
|
||||
"current": "目前",
|
||||
"custom-field-delete-pop": "此操作將會從所有卡片中移除自訂欄位以及銷毀歷史紀錄,並且無法撤消。",
|
||||
"custom-field-checkbox": "複選框",
|
||||
"custom-field-currency": "Currency",
|
||||
"custom-field-currency-option": "Currency Code",
|
||||
"custom-field-date": "日期",
|
||||
"custom-field-dropdown": "下拉式選單",
|
||||
"custom-field-dropdown-none": "(無)",
|
||||
@@ -806,5 +808,6 @@
|
||||
"voting": "Voting",
|
||||
"archived": "Archived",
|
||||
"delete-linked-card-before-this-card": "You can not delete this card before first deleting linked card that has",
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list"
|
||||
"delete-linked-cards-before-this-list": "You can not delete this list before first deleting linked cards that are pointing to cards in this list",
|
||||
"hide-checked-items": "Hide checked items"
|
||||
}
|
||||
+12
-8
@@ -18,18 +18,14 @@ Boards.attachSchema(
|
||||
type: String,
|
||||
// eslint-disable-next-line consistent-return
|
||||
autoValue() {
|
||||
// XXX We need to improve slug management. Only the id should be necessary
|
||||
// to identify a board in the code.
|
||||
// XXX If the board title is updated, the slug should also be updated.
|
||||
// In some cases (Chinese and Japanese for instance) the `getSlug` function
|
||||
// return an empty string. This is causes bugs in our application so we set
|
||||
// a default slug in this case.
|
||||
if (this.isInsert && !this.isSet) {
|
||||
// Improvment would be to change client URL after slug is changed
|
||||
const title = this.field('title');
|
||||
if (title.isSet && !this.isSet) {
|
||||
let slug = 'board';
|
||||
const title = this.field('title');
|
||||
if (title.isSet) {
|
||||
slug = getSlug(title.value) || slug;
|
||||
}
|
||||
slug = getSlug(title.value) || slug;
|
||||
return slug;
|
||||
}
|
||||
},
|
||||
@@ -1219,6 +1215,14 @@ if (Meteor.isServer) {
|
||||
fetch: ['members'],
|
||||
});
|
||||
|
||||
// All logged in users are allowed to reorder boards by dragging at All Boards page and Public Boards page.
|
||||
Boards.allow({
|
||||
update(userId, board, fieldNames) {
|
||||
return _.contains(fieldNames, 'sort');
|
||||
},
|
||||
fetch: [],
|
||||
});
|
||||
|
||||
// The number of users that have starred this board is managed by trusted code
|
||||
// and the user is not allowed to update it
|
||||
Boards.deny({
|
||||
|
||||
+177
-84
@@ -368,30 +368,36 @@ Cards.allow({
|
||||
|
||||
Cards.helpers({
|
||||
copy(boardId, swimlaneId, listId) {
|
||||
const oldBoard = Boards.findOne(this.boardId);
|
||||
const oldBoardLabels = oldBoard.labels;
|
||||
// Get old label names
|
||||
const oldCardLabels = _.pluck(
|
||||
_.filter(oldBoardLabels, label => {
|
||||
return _.contains(this.labelIds, label._id);
|
||||
}),
|
||||
'name',
|
||||
);
|
||||
|
||||
const newBoard = Boards.findOne(boardId);
|
||||
const newBoardLabels = newBoard.labels;
|
||||
const newCardLabels = _.pluck(
|
||||
_.filter(newBoardLabels, label => {
|
||||
return _.contains(oldCardLabels, label.name);
|
||||
}),
|
||||
'_id',
|
||||
);
|
||||
|
||||
const oldId = this._id;
|
||||
const oldCard = Cards.findOne(oldId);
|
||||
|
||||
// Copy Custom Fields
|
||||
if (oldBoard._id !== boardId) {
|
||||
// we must only copy the labels and custom fields if the target board
|
||||
// differs from the source board
|
||||
if (this.boardId !== boardId) {
|
||||
const oldBoard = Boards.findOne(this.boardId);
|
||||
const oldBoardLabels = oldBoard.labels;
|
||||
|
||||
// Get old label names
|
||||
const oldCardLabels = _.pluck(
|
||||
_.filter(oldBoardLabels, label => {
|
||||
return _.contains(this.labelIds, label._id);
|
||||
}),
|
||||
'name',
|
||||
);
|
||||
|
||||
const newBoard = Boards.findOne(boardId);
|
||||
const newBoardLabels = newBoard.labels;
|
||||
const newCardLabels = _.pluck(
|
||||
_.filter(newBoardLabels, label => {
|
||||
return _.contains(oldCardLabels, label.name);
|
||||
}),
|
||||
'_id',
|
||||
);
|
||||
// now set the new label ids
|
||||
delete this.labelIds;
|
||||
this.labelIds = newCardLabels;
|
||||
|
||||
// Copy Custom Fields
|
||||
CustomFields.find({
|
||||
_id: {
|
||||
$in: oldCard.customFields.map(cf => {
|
||||
@@ -404,8 +410,6 @@ Cards.helpers({
|
||||
}
|
||||
|
||||
delete this._id;
|
||||
delete this.labelIds;
|
||||
this.labelIds = newCardLabels;
|
||||
this.boardId = boardId;
|
||||
this.swimlaneId = swimlaneId;
|
||||
this.listId = listId;
|
||||
@@ -1108,6 +1112,21 @@ Cards.helpers({
|
||||
return Users.find({ _id: { $in: this.vote.negative } });
|
||||
return [];
|
||||
},
|
||||
voteState() {
|
||||
const userId = Meteor.userId();
|
||||
let state;
|
||||
if (this.vote) {
|
||||
if (this.vote.positive) {
|
||||
state = _.contains(this.vote.positive, userId);
|
||||
if (state === true) return true;
|
||||
}
|
||||
if (this.vote.negative) {
|
||||
state = _.contains(this.vote.negative, userId);
|
||||
if (state === true) return false;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
},
|
||||
|
||||
getId() {
|
||||
if (this.isLinked()) {
|
||||
@@ -1276,9 +1295,9 @@ Cards.mutations({
|
||||
if (lastCardDom) sortIndex = Utils.calculateIndex(lastCardDom, null).base;
|
||||
|
||||
return this.moveOptionalArgs({
|
||||
boardId: boardId,
|
||||
swimlaneId: swimlaneId,
|
||||
listId: listId,
|
||||
boardId,
|
||||
swimlaneId,
|
||||
listId,
|
||||
sort: sortIndex,
|
||||
});
|
||||
},
|
||||
@@ -1293,14 +1312,45 @@ Cards.mutations({
|
||||
swimlaneId = board.getDefaultSwimline()._id;
|
||||
}
|
||||
listId = listId || this.listId;
|
||||
if (sort === undefined || sort === null)
|
||||
sort = this.sort;
|
||||
if (sort === undefined || sort === null) sort = this.sort;
|
||||
return this.move(boardId, swimlaneId, listId, sort);
|
||||
},
|
||||
|
||||
move(boardId, swimlaneId, listId, sort) {
|
||||
// Copy Custom Fields
|
||||
const mutatedFields = {
|
||||
boardId,
|
||||
swimlaneId,
|
||||
listId,
|
||||
sort,
|
||||
};
|
||||
|
||||
// we must only copy the labels and custom fields if the target board
|
||||
// differs from the source board
|
||||
if (this.boardId !== boardId) {
|
||||
// Get label names
|
||||
const oldBoard = Boards.findOne(this.boardId);
|
||||
const oldBoardLabels = oldBoard.labels;
|
||||
const oldCardLabels = _.pluck(
|
||||
_.filter(oldBoardLabels, label => {
|
||||
return _.contains(this.labelIds, label._id);
|
||||
}),
|
||||
'name',
|
||||
);
|
||||
|
||||
const newBoard = Boards.findOne(boardId);
|
||||
const newBoardLabels = newBoard.labels;
|
||||
const newCardLabelIds = _.pluck(
|
||||
_.filter(newBoardLabels, label => {
|
||||
return label.name && _.contains(oldCardLabels, label.name);
|
||||
}),
|
||||
'_id',
|
||||
);
|
||||
|
||||
Object.assign(mutatedFields, {
|
||||
labelIds: newCardLabelIds,
|
||||
});
|
||||
|
||||
// Copy custom fields
|
||||
CustomFields.find({
|
||||
_id: {
|
||||
$in: this.customFields.map(cf => {
|
||||
@@ -1312,33 +1362,6 @@ Cards.mutations({
|
||||
});
|
||||
}
|
||||
|
||||
// Get label names
|
||||
const oldBoard = Boards.findOne(this.boardId);
|
||||
const oldBoardLabels = oldBoard.labels;
|
||||
const oldCardLabels = _.pluck(
|
||||
_.filter(oldBoardLabels, label => {
|
||||
return _.contains(this.labelIds, label._id);
|
||||
}),
|
||||
'name',
|
||||
);
|
||||
|
||||
const newBoard = Boards.findOne(boardId);
|
||||
const newBoardLabels = newBoard.labels;
|
||||
const newCardLabelIds = _.pluck(
|
||||
_.filter(newBoardLabels, label => {
|
||||
return label.name && _.contains(oldCardLabels, label.name);
|
||||
}),
|
||||
'_id',
|
||||
);
|
||||
|
||||
const mutatedFields = {
|
||||
boardId,
|
||||
swimlaneId,
|
||||
listId,
|
||||
sort,
|
||||
labelIds: newCardLabelIds,
|
||||
};
|
||||
|
||||
Cards.update(this._id, {
|
||||
$set: mutatedFields,
|
||||
});
|
||||
@@ -2169,6 +2192,11 @@ if (Meteor.isServer) {
|
||||
title: doc.title,
|
||||
description: doc.description,
|
||||
listId: doc.listId,
|
||||
receivedAt: doc.receivedAt,
|
||||
startAt: doc.startAt,
|
||||
dueAt: doc.dueAt,
|
||||
endAt: doc.endAt,
|
||||
assignees: doc.assignees,
|
||||
};
|
||||
}),
|
||||
});
|
||||
@@ -2205,6 +2233,11 @@ if (Meteor.isServer) {
|
||||
_id: doc._id,
|
||||
title: doc.title,
|
||||
description: doc.description,
|
||||
receivedAt: doc.receivedAt,
|
||||
startAt: doc.startAt,
|
||||
dueAt: doc.dueAt,
|
||||
endAt: doc.endAt,
|
||||
assignees: doc.assignees,
|
||||
};
|
||||
}),
|
||||
});
|
||||
@@ -2356,6 +2389,10 @@ if (Meteor.isServer) {
|
||||
* @param {boolean} [isOverTime] the new isOverTime field of the card
|
||||
* @param {string} [customFields] the new customFields value of the card
|
||||
* @param {string} [color] the new color of the card
|
||||
* @param {Object} [vote] the vote object
|
||||
* @param {string} vote.question the vote question
|
||||
* @param {boolean} vote.public show who voted what
|
||||
* @param {boolean} vote.allowNonBoardMembers allow all logged in users to vote?
|
||||
* @return_type {_id: string}
|
||||
*/
|
||||
JsonRoutes.add(
|
||||
@@ -2383,34 +2420,6 @@ if (Meteor.isServer) {
|
||||
},
|
||||
);
|
||||
}
|
||||
if (req.body.hasOwnProperty('listId')) {
|
||||
const newParamListId = req.body.listId;
|
||||
Cards.direct.update(
|
||||
{
|
||||
_id: paramCardId,
|
||||
listId: paramListId,
|
||||
boardId: paramBoardId,
|
||||
archived: false,
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
listId: newParamListId,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
const card = Cards.findOne({
|
||||
_id: paramCardId,
|
||||
});
|
||||
cardMove(
|
||||
req.body.authorId,
|
||||
card,
|
||||
{
|
||||
fieldName: 'listId',
|
||||
},
|
||||
paramListId,
|
||||
);
|
||||
}
|
||||
if (req.body.hasOwnProperty('parentId')) {
|
||||
const newParentId = req.body.parentId;
|
||||
Cards.direct.update(
|
||||
@@ -2455,6 +2464,24 @@ if (Meteor.isServer) {
|
||||
{ $set: { color: newColor } },
|
||||
);
|
||||
}
|
||||
if (req.body.hasOwnProperty('vote')) {
|
||||
const newVote = req.body.vote;
|
||||
newVote.positive = [];
|
||||
newVote.negative = [];
|
||||
if (!newVote.hasOwnProperty('public')) newVote.public = false;
|
||||
if (!newVote.hasOwnProperty('allowNonBoardMembers'))
|
||||
newVote.allowNonBoardMembers = false;
|
||||
|
||||
Cards.direct.update(
|
||||
{
|
||||
_id: paramCardId,
|
||||
listId: paramListId,
|
||||
boardId: paramBoardId,
|
||||
archived: false,
|
||||
},
|
||||
{ $set: { vote: newVote } },
|
||||
);
|
||||
}
|
||||
if (req.body.hasOwnProperty('labelIds')) {
|
||||
let newlabelIds = req.body.labelIds;
|
||||
if (_.isString(newlabelIds)) {
|
||||
@@ -2636,6 +2663,34 @@ if (Meteor.isServer) {
|
||||
{ $set: { swimlaneId: newParamSwimlaneId } },
|
||||
);
|
||||
}
|
||||
if (req.body.hasOwnProperty('listId')) {
|
||||
const newParamListId = req.body.listId;
|
||||
Cards.direct.update(
|
||||
{
|
||||
_id: paramCardId,
|
||||
listId: paramListId,
|
||||
boardId: paramBoardId,
|
||||
archived: false,
|
||||
},
|
||||
{
|
||||
$set: {
|
||||
listId: newParamListId,
|
||||
},
|
||||
},
|
||||
);
|
||||
|
||||
const card = Cards.findOne({
|
||||
_id: paramCardId,
|
||||
});
|
||||
cardMove(
|
||||
req.body.authorId,
|
||||
card,
|
||||
{
|
||||
fieldName: 'listId',
|
||||
},
|
||||
paramListId,
|
||||
);
|
||||
}
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: {
|
||||
@@ -2683,6 +2738,44 @@ if (Meteor.isServer) {
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* @operation get_cards_by_custom_field
|
||||
* @summary Get all Cards that matchs a value of a specific custom field
|
||||
*
|
||||
* @param {string} boardId the board ID
|
||||
* @param {string} customFieldId the list ID
|
||||
* @param {string} customFieldValue the value to look for
|
||||
* @return_type [{_id: string,
|
||||
* title: string,
|
||||
* description: string,
|
||||
* listId: string,
|
||||
* swinlaneId: string}]
|
||||
*/
|
||||
JsonRoutes.add(
|
||||
'GET',
|
||||
'/api/boards/:boardId/cardsByCustomField/:customFieldId/:customFieldValue',
|
||||
function(req, res) {
|
||||
const paramBoardId = req.params.boardId;
|
||||
const paramCustomFieldId = req.params.customFieldId;
|
||||
const paramCustomFieldValue = req.params.customFieldValue;
|
||||
|
||||
Authentication.checkBoardAccess(req.userId, paramBoardId);
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: Cards.find({
|
||||
boardId: paramBoardId,
|
||||
customFields: {
|
||||
$elemMatch: {
|
||||
_id: paramCustomFieldId,
|
||||
value: paramCustomFieldValue,
|
||||
},
|
||||
},
|
||||
archived: false,
|
||||
}).fetch(),
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
export default Cards;
|
||||
@@ -302,10 +302,18 @@ if (Meteor.isServer) {
|
||||
|
||||
const paramItemId = req.params.itemId;
|
||||
|
||||
function isTrue(data) {
|
||||
try {
|
||||
return data.toLowerCase() === 'true';
|
||||
} catch (error) {
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
if (req.body.hasOwnProperty('isFinished')) {
|
||||
ChecklistItems.direct.update(
|
||||
{ _id: paramItemId },
|
||||
{ $set: { isFinished: req.body.isFinished } },
|
||||
{ $set: { isFinished: isTrue(req.body.isFinished) } },
|
||||
);
|
||||
}
|
||||
if (req.body.hasOwnProperty('title')) {
|
||||
|
||||
@@ -107,6 +107,13 @@ export class CsvCreator {
|
||||
options: headerRow[i].split('-')[3].split('/'),
|
||||
position: i,
|
||||
});
|
||||
} else if (headerRow[i].split('-')[2] === 'currency') {
|
||||
index.customFields.push({
|
||||
name: headerRow[i].split('-')[1],
|
||||
type: headerRow[i].split('-')[2],
|
||||
currencyCode: headerRow[i].split('-')[3],
|
||||
position: i,
|
||||
});
|
||||
} else {
|
||||
index.customFields.push({
|
||||
name: headerRow[i].split('-')[1],
|
||||
@@ -127,6 +134,10 @@ export class CsvCreator {
|
||||
return { _id: Random.id(6), name: option };
|
||||
}),
|
||||
};
|
||||
} else if (customField.type === 'currency') {
|
||||
settings = {
|
||||
currencyCode: customField.currencyCode,
|
||||
};
|
||||
} else {
|
||||
settings = {};
|
||||
}
|
||||
|
||||
+10
-8
@@ -22,7 +22,7 @@ CustomFields.attachSchema(
|
||||
* type of the custom field
|
||||
*/
|
||||
type: String,
|
||||
allowedValues: ['text', 'number', 'date', 'dropdown'],
|
||||
allowedValues: ['text', 'number', 'date', 'dropdown', 'currency'],
|
||||
},
|
||||
settings: {
|
||||
/**
|
||||
@@ -30,6 +30,10 @@ CustomFields.attachSchema(
|
||||
*/
|
||||
type: Object,
|
||||
},
|
||||
'settings.currencyCode': {
|
||||
type: String,
|
||||
optional: true,
|
||||
},
|
||||
'settings.dropdownItems': {
|
||||
/**
|
||||
* list of drop down items objects
|
||||
@@ -168,16 +172,14 @@ function customFieldDeletion(userId, doc) {
|
||||
function customFieldEdit(userId, doc) {
|
||||
const card = Cards.findOne(doc.cardId);
|
||||
const customFieldValue = Activities.findOne({ customFieldId: doc._id }).value;
|
||||
const boardId = card.boardId;
|
||||
//boardId: doc.boardIds[0], // We are creating a customField, it has only one boardId
|
||||
Activities.insert({
|
||||
userId,
|
||||
activityType: 'setCustomField',
|
||||
boardId,
|
||||
boardId: doc.boardIds[0], // We are creating a customField, it has only one boardId
|
||||
customFieldId: doc._id,
|
||||
customFieldValue,
|
||||
listId: card.listId,
|
||||
swimlaneId: card.swimlaneId,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -202,8 +204,8 @@ if (Meteor.isServer) {
|
||||
Activities.remove({
|
||||
customFieldId: doc._id,
|
||||
boardId: modifier.$pull.boardIds,
|
||||
listId: card.listId,
|
||||
swimlaneId: card.swimlaneId,
|
||||
listId: doc.listId,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
});
|
||||
} else if (_.contains(fieldNames, 'boardIds') && modifier.$push) {
|
||||
Activities.insert({
|
||||
|
||||
+14
-14
@@ -80,19 +80,19 @@ if (Meteor.isServer) {
|
||||
});
|
||||
}
|
||||
const exporter = new Exporter(boardId);
|
||||
if (exporter.canExport(user)) {
|
||||
body = params.query.delimiter
|
||||
? exporter.buildCsv(params.query.delimiter)
|
||||
: exporter.buildCsv();
|
||||
res.writeHead(200, {
|
||||
'Content-Length': body[0].length,
|
||||
'Content-Type': params.query.delimiter ? 'text/csv' : 'text/tsv',
|
||||
});
|
||||
res.write(body[0]);
|
||||
res.end();
|
||||
} else {
|
||||
res.writeHead(403);
|
||||
res.end('Permission Error');
|
||||
}
|
||||
//if (exporter.canExport(user)) {
|
||||
body = params.query.delimiter
|
||||
? exporter.buildCsv(params.query.delimiter)
|
||||
: exporter.buildCsv();
|
||||
//'Content-Length': body.length,
|
||||
res.writeHead(200, {
|
||||
'Content-Type': params.query.delimiter ? 'text/csv' : 'text/tsv',
|
||||
});
|
||||
res.write(body);
|
||||
res.end();
|
||||
//} else {
|
||||
// res.writeHead(403);
|
||||
// res.end('Permission Error');
|
||||
//}
|
||||
});
|
||||
}
|
||||
+28
-23
@@ -1,4 +1,4 @@
|
||||
const stringify = require('csv-stringify');
|
||||
//const stringify = require('csv-stringify');
|
||||
|
||||
// exporter maybe is broken since Gridfs introduced, add fs and path
|
||||
export class Exporter {
|
||||
@@ -37,7 +37,7 @@ export class Exporter {
|
||||
result.cards = Cards.find(byBoardNoLinked, noBoardId).fetch();
|
||||
result.swimlanes = Swimlanes.find(byBoard, noBoardId).fetch();
|
||||
result.customFields = CustomFields.find(
|
||||
{ boardIds: this.boardId },
|
||||
{ boardIds: this._boardId },
|
||||
{ fields: { boardIds: 0 } },
|
||||
).fetch();
|
||||
result.comments = CardComments.find(byBoard, noBoardId).fetch();
|
||||
@@ -217,7 +217,6 @@ export class Exporter {
|
||||
const customFieldMap = {};
|
||||
let i = 0;
|
||||
result.customFields.forEach(customField => {
|
||||
customFieldMap[customField._id] = i;
|
||||
customFieldMap[customField._id] = {
|
||||
position: i,
|
||||
type: customField.type,
|
||||
@@ -225,11 +224,15 @@ export class Exporter {
|
||||
if (customField.type === 'dropdown') {
|
||||
let options = '';
|
||||
customField.settings.dropdownItems.forEach(item => {
|
||||
options = options === '' ? item.name : `/${options + item.name}`;
|
||||
options = options === '' ? item.name : `${`${options}/${item.name}`}`;
|
||||
});
|
||||
columnHeaders.push(
|
||||
`CustomField-${customField.name}-${customField.type}-${options}`,
|
||||
);
|
||||
} else if (customField.type === 'currency') {
|
||||
columnHeaders.push(
|
||||
`CustomField-${customField.name}-${customField.type}-${customField.settings.currencyCode}`,
|
||||
);
|
||||
} else {
|
||||
columnHeaders.push(
|
||||
`CustomField-${customField.name}-${customField.type}`,
|
||||
@@ -322,7 +325,7 @@ export class Exporter {
|
||||
currentRow.push(
|
||||
card.dateLastActivity ? moment(card.dateLastActivity).format() : ' ',
|
||||
);
|
||||
if (card.vote.question !== undefined) {
|
||||
if (card.vote && card.vote.question !== '') {
|
||||
let positiveVoters = '';
|
||||
let negativeVoters = '';
|
||||
card.vote.positive.forEach(userId => {
|
||||
@@ -350,23 +353,25 @@ export class Exporter {
|
||||
//Custom fields
|
||||
const customFieldValuesToPush = new Array(result.customFields.length);
|
||||
card.customFields.forEach(field => {
|
||||
if (customFieldMap[field._id].type === 'date') {
|
||||
customFieldValuesToPush[customFieldMap[field._id].position] = moment(
|
||||
field.value,
|
||||
).format();
|
||||
} else if (customFieldMap[field._id].type === 'dropdown') {
|
||||
const dropdownOptions = result.customFields.find(
|
||||
({ _id }) => _id === field._id,
|
||||
).settings.dropdownItems;
|
||||
const fieldValue = dropdownOptions.find(
|
||||
({ _id }) => _id === field.value,
|
||||
).name;
|
||||
customFieldValuesToPush[
|
||||
customFieldMap[field._id].position
|
||||
] = fieldValue;
|
||||
} else {
|
||||
customFieldValuesToPush[customFieldMap[field._id].position] =
|
||||
field.value;
|
||||
if (field.value !== null) {
|
||||
if (customFieldMap[field._id].type === 'date') {
|
||||
customFieldValuesToPush[
|
||||
customFieldMap[field._id].position
|
||||
] = moment(field.value).format();
|
||||
} else if (customFieldMap[field._id].type === 'dropdown') {
|
||||
const dropdownOptions = result.customFields.find(
|
||||
({ _id }) => _id === field._id,
|
||||
).settings.dropdownItems;
|
||||
const fieldValue = dropdownOptions.find(
|
||||
({ _id }) => _id === field.value,
|
||||
).name;
|
||||
customFieldValuesToPush[
|
||||
customFieldMap[field._id].position
|
||||
] = fieldValue;
|
||||
} else {
|
||||
customFieldValuesToPush[customFieldMap[field._id].position] =
|
||||
field.value;
|
||||
}
|
||||
}
|
||||
});
|
||||
for (
|
||||
@@ -383,7 +388,7 @@ export class Exporter {
|
||||
stringifier.write(currentRow);
|
||||
});
|
||||
stringifier.end();
|
||||
return cardRows;
|
||||
return cardRows[0];
|
||||
}
|
||||
|
||||
canExport(user) {
|
||||
|
||||
+1
-1
@@ -259,7 +259,7 @@ if (Meteor.isServer) {
|
||||
throw new Meteor.Error('invalid-user');
|
||||
}
|
||||
const user = Meteor.user();
|
||||
if (!user.emails || !user.emails[0] || user.emails[0].address) {
|
||||
if (!user.emails || !user.emails[0] || !user.emails[0].address) {
|
||||
throw new Meteor.Error('email-invalid');
|
||||
}
|
||||
this.unblock();
|
||||
|
||||
+45
-5
@@ -95,7 +95,7 @@ Users.attachSchema(
|
||||
autoValue() {
|
||||
if (this.isInsert && !this.isSet) {
|
||||
return {
|
||||
boardView: 'board-view-lists',
|
||||
boardView: 'board-view-swimlanes',
|
||||
};
|
||||
}
|
||||
},
|
||||
@@ -128,6 +128,13 @@ Users.attachSchema(
|
||||
type: Boolean,
|
||||
optional: true,
|
||||
},
|
||||
'profile.hideCheckedItems': {
|
||||
/**
|
||||
* does the user want to hide checked checklist items?
|
||||
*/
|
||||
type: Boolean,
|
||||
optional: true,
|
||||
},
|
||||
'profile.hiddenSystemMessages': {
|
||||
/**
|
||||
* does the user want to hide system messages?
|
||||
@@ -218,8 +225,8 @@ Users.attachSchema(
|
||||
type: String,
|
||||
optional: true,
|
||||
allowedValues: [
|
||||
'board-view-lists',
|
||||
'board-view-swimlanes',
|
||||
'board-view-lists',
|
||||
'board-view-cal',
|
||||
],
|
||||
},
|
||||
@@ -483,6 +490,11 @@ Users.helpers({
|
||||
return profile.showDesktopDragHandles || false;
|
||||
},
|
||||
|
||||
hasHideCheckedItems() {
|
||||
const profile = this.profile || {};
|
||||
return profile.hideCheckedItems || false;
|
||||
},
|
||||
|
||||
hasHiddenSystemMessages() {
|
||||
const profile = this.profile || {};
|
||||
return profile.hiddenSystemMessages || false;
|
||||
@@ -612,6 +624,15 @@ Users.mutations({
|
||||
};
|
||||
},
|
||||
|
||||
toggleHideCheckedItems() {
|
||||
const value = this.hasHideCheckedItems();
|
||||
return {
|
||||
$set: {
|
||||
'profile.hideCheckedItems': !value,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
toggleSystem(value = false) {
|
||||
return {
|
||||
$set: {
|
||||
@@ -690,6 +711,10 @@ Meteor.methods({
|
||||
const user = Meteor.user();
|
||||
user.toggleDesktopHandles(user.hasShowDesktopDragHandles());
|
||||
},
|
||||
toggleHideCheckedItems() {
|
||||
const user = Meteor.user();
|
||||
user.toggleHideCheckedItems();
|
||||
},
|
||||
toggleSystemMessages() {
|
||||
const user = Meteor.user();
|
||||
user.toggleSystem(user.hasHiddenSystemMessages());
|
||||
@@ -903,7 +928,7 @@ if (Meteor.isServer) {
|
||||
user.profile = {
|
||||
initials,
|
||||
fullname: user.services.oidc.fullname,
|
||||
boardView: 'board-view-lists',
|
||||
boardView: 'board-view-swimlanes',
|
||||
};
|
||||
user.authenticationMethod = 'oauth2';
|
||||
|
||||
@@ -921,7 +946,8 @@ if (Meteor.isServer) {
|
||||
existingUser.profile = user.profile;
|
||||
existingUser.authenticationMethod = user.authenticationMethod;
|
||||
|
||||
Meteor.users.remove({ _id: existingUser._id }); // remove existing record
|
||||
Meteor.users.remove({ _id: user._id });
|
||||
Meteor.users.remove({ _id: existingUser._id }); // is going to be created again
|
||||
return existingUser;
|
||||
}
|
||||
|
||||
@@ -961,7 +987,7 @@ if (Meteor.isServer) {
|
||||
);
|
||||
} else {
|
||||
user.profile = { icode: options.profile.invitationcode };
|
||||
user.profile.boardView = 'board-view-lists';
|
||||
user.profile.boardView = 'board-view-swimlanes';
|
||||
|
||||
// Deletes the invitation code after the user was created successfully.
|
||||
setTimeout(
|
||||
@@ -1075,6 +1101,7 @@ if (Meteor.isServer) {
|
||||
incrementBoards(_.difference(newIds, oldIds), +1);
|
||||
});
|
||||
|
||||
// Override getUserId so that we can TODO get the current userId
|
||||
const fakeUserId = new Meteor.EnvironmentVariable();
|
||||
const getUserId = CollectionHooks.getUserId;
|
||||
CollectionHooks.getUserId = () => {
|
||||
@@ -1108,6 +1135,10 @@ if (Meteor.isServer) {
|
||||
});
|
||||
*/
|
||||
|
||||
const Future = require('fibers/future');
|
||||
const future1 = new Future();
|
||||
const future2 = new Future();
|
||||
const future3 = new Future();
|
||||
Boards.insert(
|
||||
{
|
||||
title: TAPi18n.__('templates'),
|
||||
@@ -1135,6 +1166,7 @@ if (Meteor.isServer) {
|
||||
Users.update(fakeUserId.get(), {
|
||||
$set: { 'profile.cardTemplatesSwimlaneId': swimlaneId },
|
||||
});
|
||||
future1.return();
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1152,6 +1184,7 @@ if (Meteor.isServer) {
|
||||
Users.update(fakeUserId.get(), {
|
||||
$set: { 'profile.listTemplatesSwimlaneId': swimlaneId },
|
||||
});
|
||||
future2.return();
|
||||
},
|
||||
);
|
||||
|
||||
@@ -1169,15 +1202,22 @@ if (Meteor.isServer) {
|
||||
Users.update(fakeUserId.get(), {
|
||||
$set: { 'profile.boardTemplatesSwimlaneId': swimlaneId },
|
||||
});
|
||||
future3.return();
|
||||
},
|
||||
);
|
||||
},
|
||||
);
|
||||
// HACK
|
||||
future1.wait();
|
||||
future2.wait();
|
||||
future3.wait();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Users.after.insert((userId, doc) => {
|
||||
// HACK
|
||||
doc = Users.findOne({ _id: doc._id });
|
||||
if (doc.createdThroughApi) {
|
||||
// The admin user should be able to create a user despite disabling registration because
|
||||
// it is two different things (registration and creation).
|
||||
|
||||
@@ -249,7 +249,10 @@ class EntryPoint(object):
|
||||
|
||||
if name.startswith('{'):
|
||||
param_type = name.strip('{}')
|
||||
if param_type not in ['string', 'number', 'boolean', 'integer', 'array', 'file']:
|
||||
if param_type == 'Object':
|
||||
# hope for the best
|
||||
param_type = 'object'
|
||||
elif param_type not in ['string', 'number', 'boolean', 'integer', 'array', 'file']:
|
||||
self.warn('unknown type {}\n allowed values: string, number, boolean, integer, array, file'.format(param_type))
|
||||
try:
|
||||
name, desc = desc.split(maxsplit=1)
|
||||
@@ -814,13 +817,21 @@ def parse_schemas(schemas_dir):
|
||||
for d in data]
|
||||
entry_points.extend(schema_entry_points)
|
||||
|
||||
end_of_previous_operation = -1
|
||||
|
||||
# try to match JSDoc to the operations
|
||||
for entry_point in schema_entry_points:
|
||||
operation = entry_point.method # POST/GET/PUT/DELETE
|
||||
|
||||
# find all jsdocs that end before the current operation,
|
||||
# the last item in the list is the one we need
|
||||
jsdoc = [j for j in jsdocs
|
||||
if j.loc.end.line + 1 == operation.loc.start.line]
|
||||
if j.loc.end.line + 1 <= operation.loc.start.line and
|
||||
j.loc.start.line > end_of_previous_operation]
|
||||
if bool(jsdoc):
|
||||
entry_point.doc = jsdoc[0]
|
||||
entry_point.doc = jsdoc[-1]
|
||||
|
||||
end_of_previous_operation = operation.loc.end.line
|
||||
except TypeError:
|
||||
logger.warning(context.txt_for(statement))
|
||||
logger.error('{}:{}-{} can not parse {}'.format(path,
|
||||
|
||||
+2
-16
@@ -64,8 +64,6 @@ objects:
|
||||
name: "${WEKAN_SERVICE_NAME}"
|
||||
sessionAffinity: None
|
||||
type: ClusterIP
|
||||
status:
|
||||
loadBalancer: {}
|
||||
- apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
@@ -86,8 +84,6 @@ objects:
|
||||
name: "${DATABASE_SERVICE_NAME}"
|
||||
sessionAffinity: None
|
||||
type: ClusterIP
|
||||
status:
|
||||
loadBalancer: {}
|
||||
- apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
@@ -276,7 +272,6 @@ objects:
|
||||
lastTriggeredImage: ''
|
||||
type: ImageChange
|
||||
- type: ConfigChange
|
||||
status: {}
|
||||
- apiVersion: route.openshift.io/v1
|
||||
kind: Route
|
||||
metadata:
|
||||
@@ -297,15 +292,6 @@ objects:
|
||||
name: wekan
|
||||
weight: 100
|
||||
wildcardPolicy: None
|
||||
status:
|
||||
ingress:
|
||||
- conditions:
|
||||
- lastTransitionTime: '2018-08-28T14:45:21Z'
|
||||
status: 'True'
|
||||
type: Admitted
|
||||
host: ${FQDN}
|
||||
routerName: router
|
||||
wildcardPolicy: None
|
||||
parameters:
|
||||
- description: The Fully Qualified Hostname (FQDN) of the application
|
||||
displayName: FQDN
|
||||
@@ -323,7 +309,7 @@ parameters:
|
||||
displayName: Database Service Name
|
||||
name: DATABASE_SERVICE_NAME
|
||||
required: true
|
||||
value: mongodb
|
||||
value: wekan-mongodb
|
||||
- description: Username for MongoDB user that will be used for accessing the database.
|
||||
displayName: MongoDB Connection Username
|
||||
from: user[A-Z0-9]{3}
|
||||
@@ -356,7 +342,7 @@ parameters:
|
||||
displayName: Version of MongoDB Image
|
||||
name: MONGODB_VERSION
|
||||
required: true
|
||||
value: '4.0.10'
|
||||
value: '3.6'
|
||||
- name: WEKAN_SERVICE_NAME
|
||||
displayName: Wekan Service Name
|
||||
value: wekan
|
||||
|
||||
Loaded 100 of 132 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user