Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98c6ea467a | ||
|
|
6e73abde50 | ||
|
|
7ff6f24a90 | ||
|
|
8368461b57 | ||
|
|
7dc8a2d659 | ||
|
|
bddbaa7bc2 | ||
|
|
f9abfe5244 | ||
|
|
97d57b05ad | ||
|
|
4334fbbb9d | ||
|
|
595c657b57 | ||
|
|
ed04769947 | ||
|
|
44dbd462b1 | ||
|
|
291797b238 | ||
|
|
1178a48e68 | ||
|
|
34b7bfd19c | ||
|
|
02c418f4bb | ||
|
|
ae3b061d4c | ||
|
|
eb49bb5e10 | ||
|
|
79745d1892 | ||
|
|
8b31c0768c | ||
|
|
25e294fd92 | ||
|
|
017d2deeee | ||
|
|
e1e20275a6 | ||
|
|
3c4f8f6796 | ||
|
|
406a9492fd | ||
|
|
c859cd2278 | ||
|
|
cd70d9d09e | ||
|
|
86e7e1c600 | ||
|
|
e540148d09 | ||
|
|
30b108ab36 | ||
|
|
ec535aaa9c | ||
|
|
bb108b2144 | ||
|
|
f3c76ac60b | ||
|
|
23ccb3b991 | ||
|
|
992ecfefa2 | ||
|
|
fd390d2560 | ||
|
|
3f1ac6b5db | ||
|
|
d8f112278b | ||
|
|
0704cfb8b6 | ||
|
|
5e806c3879 | ||
|
|
27b0fd35b4 | ||
|
|
5c1818fc9a | ||
|
|
a7fb9662e3 | ||
|
|
cb00cfc1b7 | ||
|
|
d7bc8d100d | ||
|
|
d067b3976c | ||
|
|
892ee60527 | ||
|
|
d83cb75f95 | ||
|
|
697aaa895d | ||
|
|
8add28d328 | ||
|
|
634df8f6f2 | ||
|
|
d194cc7a5a | ||
|
|
0834f6ed1e | ||
|
|
9d5e288bca | ||
|
|
0fe40ad9ec | ||
|
|
0765278195 | ||
|
|
f782b9c298 | ||
|
|
e611685e50 | ||
|
|
3edef95c4e | ||
|
|
9b902e1ca0 | ||
|
|
fc835815d8 | ||
|
|
da083c2e20 | ||
|
|
6ee17ab080 | ||
|
|
1e34585548 | ||
|
|
76cd5a2844 | ||
|
|
ffd1b93abf | ||
|
|
1eea102f26 | ||
|
|
94c1367684 | ||
|
|
9bf19f81a4 | ||
|
|
21de0ec396 | ||
|
|
ab4fec0f3c | ||
|
|
b983479476 | ||
|
|
f6e5e514ef | ||
|
|
ddd828083e | ||
|
|
e079b4df17 | ||
|
|
4e5ff17e18 | ||
|
|
86e1a9cd5d | ||
|
|
8a0efffdf8 | ||
|
|
c21f710a70 | ||
|
|
f3382abe3b | ||
|
|
d6c86f3cba | ||
|
|
3a6516f0cb | ||
|
|
b795115042 | ||
|
|
52fe845d24 | ||
|
|
b2b6bb2d39 | ||
|
|
db40ca25ac | ||
|
|
3eef42eee0 | ||
|
|
38d0ad74a9 | ||
|
|
3bbc805ee4 | ||
|
|
c37a454bd5 | ||
|
|
6f98be5608 | ||
|
|
ab4dab2ade | ||
|
|
88ffddfeba | ||
|
|
36f148a7cb | ||
|
|
fd1af07e43 | ||
|
|
fca87b53f0 | ||
|
|
ce0473480b | ||
|
|
828f6ea321 | ||
|
|
7ff4067e88 | ||
|
|
491d27638a | ||
|
|
e1b016cf3d | ||
|
|
c850669777 | ||
|
|
04c7372a4e | ||
|
|
64ee60a008 | ||
|
|
434ed895ed | ||
|
|
1bdc1017d6 | ||
|
|
6218d8c7ed | ||
|
|
c250554177 | ||
|
|
de772a8c3b | ||
|
|
23f1cf5f49 | ||
|
|
723fa11a74 | ||
|
|
94b602e167 | ||
|
|
b17359ec6f | ||
|
|
cdef8a33e4 | ||
|
|
11a91bfc78 | ||
|
|
aeb3dd0220 | ||
|
|
9647a33209 | ||
|
|
2d966863e3 | ||
|
|
a66632f767 | ||
|
|
1c2ee631f4 | ||
|
|
259ff3436f | ||
|
|
a750ecaafd | ||
|
|
8b3601248d | ||
|
|
6420020309 | ||
|
|
65d86a42d7 | ||
|
|
4eaffdc6a4 | ||
|
|
454e8a3962 | ||
|
|
11e8a9d5c4 | ||
|
|
8137f2692f | ||
|
|
6933424fca | ||
|
|
ff8a10c231 | ||
|
|
6a94500170 | ||
|
|
41eb47bc15 | ||
|
|
211f772447 | ||
|
|
6d6e3fd127 | ||
|
|
14ef0ab6d1 | ||
|
|
8434069539 | ||
|
|
c7621f251f | ||
|
|
a5122cc076 | ||
|
|
5993d6862b | ||
|
|
348b612f98 | ||
|
|
f714b59c88 | ||
|
|
b627499acd | ||
|
|
43beccc2eb | ||
|
|
b8275b3404 | ||
|
|
6e4da08164 | ||
|
|
f2ac52bcdf | ||
|
|
46e976513b | ||
|
|
816ccf6509 | ||
|
|
73e265d8fd | ||
|
|
6117097a93 | ||
|
|
fee732dba1 | ||
|
|
1138e8062f | ||
|
|
123cf0d7b8 | ||
|
|
bd14ee3b1f | ||
|
|
e63eee0c68 | ||
|
|
070feb4b66 | ||
|
|
308417852c | ||
|
|
9c3a976250 | ||
|
|
688973bae5 | ||
|
|
d93b0be0d4 | ||
|
|
773abbae13 | ||
|
|
0f3579fd7b | ||
|
|
db7b7158fa | ||
|
|
b5a61f2dd8 | ||
|
|
8347f15de2 | ||
|
|
26309fad10 | ||
|
|
ba4d8b0b35 | ||
|
|
dc11e0c79c | ||
|
|
a13d931cfd | ||
|
|
fea2ad3d7d | ||
|
|
b8c10def8e | ||
|
|
80afc28719 | ||
|
|
561cd77e68 | ||
|
|
d8554ec67e | ||
|
|
a43237d4f9 | ||
|
|
6af7d782d4 | ||
|
|
6d2b778ac5 | ||
|
|
eada773048 | ||
|
|
9bff4e061e |
No files matched your search
@@ -1,7 +1,6 @@
|
||||
## Issue
|
||||
|
||||
Add these issues to elsewhere:
|
||||
- LDAP: https://github.com/wekan/wekan-ldap/issues
|
||||
- Snap: https://github.com/wekan/wekan-snap/issues
|
||||
|
||||
Other Wekan issues can be added here.
|
||||
|
||||
+13
-1
@@ -8,7 +8,6 @@ npm-debug.log
|
||||
.vscode/
|
||||
.idea/
|
||||
.build/*
|
||||
packages/
|
||||
package-lock.json
|
||||
**/parts/
|
||||
**/stage
|
||||
@@ -17,3 +16,16 @@ package-lock.json
|
||||
snap/.snapcraft/
|
||||
.idea
|
||||
.DS_Store
|
||||
.DS_Store?
|
||||
.build*
|
||||
*.browserify.js.cached
|
||||
*.browserify.js.map
|
||||
.build*
|
||||
versions.json
|
||||
.versions
|
||||
.npm
|
||||
.build*
|
||||
._*
|
||||
.Trashes
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
+3
-3
@@ -31,8 +31,8 @@ kenton:accounts-sandstorm
|
||||
service-configuration@1.0.11
|
||||
useraccounts:unstyled
|
||||
useraccounts:flow-routing
|
||||
wekan:wekan-ldap
|
||||
wekan:accounts-cas
|
||||
wekan-ldap
|
||||
wekan-accounts-cas
|
||||
wekan-accounts-oidc
|
||||
|
||||
# Utilities
|
||||
@@ -66,7 +66,6 @@ mquandalle:jquery-textcomplete
|
||||
mquandalle:jquery-ui-drag-drop-sort
|
||||
mquandalle:mousetrap-bindglobal
|
||||
peerlibrary:blaze-components@=0.15.1
|
||||
perak:markdown
|
||||
templates:tabs
|
||||
verron:autosize
|
||||
simple:json-routes
|
||||
@@ -92,3 +91,4 @@ mquandalle:perfect-scrollbar
|
||||
mdg:meteor-apm-agent
|
||||
meteorhacks:unblock
|
||||
lucasantoniassi:accounts-lockout
|
||||
wekan-markdown
|
||||
+3
-3
@@ -132,7 +132,6 @@ peerlibrary:base-component@0.16.0
|
||||
peerlibrary:blaze-components@0.15.1
|
||||
peerlibrary:computed-field@0.7.0
|
||||
peerlibrary:reactive-field@0.3.0
|
||||
perak:markdown@1.0.5
|
||||
promise@0.10.0
|
||||
raix:eventemitter@0.1.3
|
||||
raix:handlebar-helpers@0.2.5
|
||||
@@ -180,9 +179,10 @@ verron:autosize@3.0.8
|
||||
webapp@1.4.0
|
||||
webapp-hashing@1.0.9
|
||||
wekan-accounts-oidc@1.0.10
|
||||
wekan-markdown@1.0.7
|
||||
wekan-oidc@1.0.12
|
||||
wekan-scrollbar@3.1.3
|
||||
wekan:accounts-cas@0.1.0
|
||||
wekan:wekan-ldap@0.0.2
|
||||
wekan-accounts-cas@0.1.0
|
||||
wekan-ldap@0.0.2
|
||||
yasaricli:slugify@0.0.7
|
||||
zimme:active-route@2.3.2
|
||||
+1
-1
@@ -39,7 +39,7 @@ host = https://www.transifex.com
|
||||
# tap:i18n requires us to use `-` separator in the language identifiers whereas
|
||||
# Transifex uses a `_` separator, without an option to customize it on one side
|
||||
# or the other, so we need to do a Manual mapping.
|
||||
lang_map = bg_BG:bg, en_GB:en-GB, es_AR:es-AR, el_GR:el, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
|
||||
lang_map = bg_BG:bg, en_GB:en-GB, es_AR:es-AR, el_GR:el, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW, zh_HK:zh-HK
|
||||
|
||||
[wekan.application]
|
||||
file_filter = i18n/<lang>.i18n.json
|
||||
|
||||
+335
-29
@@ -1,10 +1,316 @@
|
||||
# v2.83 2019-06-17 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Bug: Unable to click board submenu on mobile](https://github.com/wekan/wekan/commit/7ff6f24a90374ae95edbb87b37e0c235e7aee434).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.82 2019-06-14 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix OIDC Docker login. Empty string results to empty array at wekan/server/authentication.js](https://github.com/wekan/wekan/commit/bddbaa7bc2f3cfe8553a2265e168231ab51876f3).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.81 2019-06-13 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Change OAuth2 whitelist default to empty string at snap, so it would be used as array on
|
||||
wekan/server/authentication.js](https://github.com/wekan/wekan/commit/4334fbbb9dacf45b0262019526a9697b015049a1).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.80 2019-06-13 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix OAuth2 typos in snap-src/bin/config](https://github.com/wekan/wekan/commit/44dbd462b19e613fcb47161d44e4046d5d91a319).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.79 2019-06-13 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix OAuth2 typos in Dockerfile and docker-compose.yml](https://github.com/wekan/wekan/pull/2488).
|
||||
Thanks to DominikPf.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.78 2019-06-12 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Try to fix OIDC login](https://github.com/wekan/wekan/commit/8b31c0768c34fc4557b54cec936a0b4288a8e722).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.77 2019-06-11 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Snap build](https://github.com/wekan/wekan/commit/e1e20275a673d3065c6cf239db8d2f1a505baa69).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.76 2019-06-11 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Add support for CORS headers "Access-control-allow-headers" and
|
||||
"Access-control-expose-headers"](https://github.com/wekan/wekan/pull/2429).
|
||||
Thanks to risacher and xet7.
|
||||
- [Support scopes in OAuth2, so that Authentication via OAuth2 with Google is now possible](https://github.com/wekan/wekan/pull/2483).
|
||||
Thanks to moserben16.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix Scope parsing Issue for OAuth2 Login with simple String](https://github.com/wekan/wekan/pulls/2427).
|
||||
Thanks to DominikPf.
|
||||
- [Show attachment name in Outgoing Webhook when attachment is added to card](https://github.com/wekan/wekan/commit/992ecfefa2e46ee7321ec9b8bfc3400532e5645e).
|
||||
Thanks to xet7. Related [#2285](https://github.com/wekan/wekan/issues/2285).
|
||||
- [Show attachment name in Outgoing Webhook when attachment is removed from card](https://github.com/wekan/wekan/commit/23ccb3b991be6d7196e59f7d68df17b8949df049).
|
||||
Thanks to xet7. Related [#2285](https://github.com/wekan/wekan/issues/2285).
|
||||
- [Allow BoardAdmin to create board rules](https://github.com/wekan/wekan/pull/2433).
|
||||
Thanks to road42.
|
||||
- [Fix typo](https://github.com/wekan/wekan/pull/2442).
|
||||
Thanks to Jason-Cooke.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.75 2019-05-22 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [CAS allowed LDAP groups](https://github.com/wekan/meteor-accounts-cas/pull/4).
|
||||
Thanks to ppoulard. Please test. Related [#2356](https://github.com/wekan/wekan/issues/2356).
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix](https://github.com/wekan/wekan/commit/634df8f6f26a7a7a2df6f87a705d322d88638425):
|
||||
[OAuth2 Requested Scopes are wrong / cannot be configured](https://github.com/wekan/wekan/issues/2412).
|
||||
Thanks to DominikPf and xet7. Please test.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.74 2019-05-14 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Add missing [wekan-ldap#40](https://github.com/wekan/wekan-ldap/pull/40) code about
|
||||
[LDAP_SYNC_ADMIN_STATUS](https://github.com/wekan/wekan/commit/0fe40ad9ec82ef2045578f4cc1e2ebb6cc80d47a).
|
||||
Thanks to JulianJacobi, n-st, chirrut2 and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.73 2019-05-14 Wekan release
|
||||
|
||||
This release fixes the following bugs with Apache I-CLA:
|
||||
|
||||
- [Card count placement and export API functionality back](https://github.com/wekan/wekan/pulls/2406).
|
||||
Thanks to bentiss.
|
||||
- [Few fixes for Dockerfile](https://github.com/wekan/wekan/pulls/2407).
|
||||
Thanks to bentiss.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- Fixed [#2338](https://github.com/wekan/wekan/issues/2338) -> [Slow opening of big boards with too many archived items](https://github.com/wekan/wekan/pull/2402).
|
||||
If some Wekan users see errors with this, please empty your browser cache.
|
||||
Thanks to nerminator.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.72 2019-05-13 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Added BIDI support to "Add Card"](https://github.com/wekan/wekan/pull/2401).
|
||||
Related [#884](https://github.com/wekan/wekan/issues/884).
|
||||
Thanks to guyzyl.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.71 2019-05-12 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Add partentId support on card web API](https://github.com/wekan/wekan/pulls/2400).
|
||||
Thanks to atilaromero.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.70 2019-05-11 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [View markdown on List names, Custom Fields (Text and Dropdown), Label names,
|
||||
All Boards view Board names and Board descriptions](https://github.com/wekan/wekan/commit/b795115042c2eb6bccbf029f21d78849a44128ca).
|
||||
Related [#2334](https://github.com/wekan/wekan/issues/2334).
|
||||
Thanks to shaygover and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.69 2019-05-11 Wekan release
|
||||
|
||||
This release fixes the following translation names:
|
||||
|
||||
- [Fix translation name in Wekan menu: oc to Occitan](https://github.com/wekan/wekan/commit/db40ca25ac5df17fcc8b7c93f12b7e2bffc349d2).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.68 2019-05-10 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Option to login to the LDAP server with the user's own username and password, instead of an administrator
|
||||
key](https://github.com/wekan/wekan/pull/2399). Default: false (use administrator key).
|
||||
With new setting: LDAP_USER_AUTHENTICATION=true.
|
||||
Thanks to thiagofernando.
|
||||
- [Added above new LDAP_USER_AUTHENTION=true option to Snap, Docker and Source settings](https://github.com/wekan/wekan/commit/3bbc805ee42e3c1638b50260d3fafc2b5f936923).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.67 2019-05-10 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Move board to Archive button at each board at All Boards page](https://github.com/wekan/wekan/commit/828f6ea321020eda77fea399df52889e2081dfac).
|
||||
Thanks to xet7. Related [#2389](https://github.com/wekan/wekan/issues/2389).
|
||||
- [If adding Subtasks does not work on old board, added wiki page how to make it work again](https://github.com/wekan/wekan/wiki/Subtasks).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.66 2019-05-09 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Delete user feature](https://github.com/wekan/wekan/pull/2384).
|
||||
Thanks to Akuket.
|
||||
- Change to Delete user feature: [When last board admin is removed, board is not deleted, other board users can
|
||||
still use it](https://github.com/wekan/wekan/commit/e1b016cf3d4ff93e9e0fe1feb96372e3e1625233).
|
||||
Thanks to xet7.
|
||||
|
||||
and adds the following new translations:
|
||||
|
||||
- Add Chinese (Hong Kong).
|
||||
Thanks to translators.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix OIDC login](https://github.com/wekan/wekan/pull/2385). Related [#2383](https://github.com/wekan/wekan/issues/2383).
|
||||
Thanks to faust64.
|
||||
- [Fix missing profile checks](https://github.com/wekan/wekan/pull/2396).
|
||||
Thanks to justinr1234.
|
||||
- [Fix RTL issue #884, part 1](https://github.com/wekan/wekan/pull/2395).
|
||||
Thanks to guyzyl.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.65 2019-04-24 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Now a loading animation is displayed when the authentication is performed. This allows users
|
||||
to know that it's in progress](https://github.com/wekan/wekan/pull/2379).
|
||||
Thanks to Akuket.
|
||||
|
||||
and removes the following UI duplicates:
|
||||
|
||||
- [Remove from card menu, because they also exist at card:
|
||||
members, labels, attachments, dates received/start/due/end](https://github.com/wekan/wekan/issues/2242).
|
||||
Thanks to sfahrenholz, jrsupplee and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.64 2019-04-23 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Board Archive: Restore All/Delete All of Cards/Lists/Swimlanes](https://github.com/wekan/wekan/pull/2376).
|
||||
Thanks to Akuket.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.63 2019-04-23 Wekan release
|
||||
|
||||
This release removes the following Caddy plugins:
|
||||
|
||||
- [Remove Caddy plugins http.filter, http.ipfilter and http.realip from Caddy](https://github.com/wekan/wekan/commot/6a94500170509d2d82bd9a0fdc94a7ce66215b3d)
|
||||
because they are currently broken, preventing download of Caddy during Wekan Snap build.
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.62 2019-04-23 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Mobile UI: Center cards in list view](https://github.com/wekan/wekan/issues/2371).
|
||||
Thanks to hupptechnologies.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.61 2019-04-20 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- Admin Panel/People: Can now search users by username, full name or email and using regex to find them.
|
||||
Display the number of users. All registered users by default else the number of users selected by the search.
|
||||
Thanks to Akuket.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- [Update to use newest GitHub flawored markdown](https://github.com/wekan/wekan/commit/fea2ad3d7d09b44c3de1dbcdd3f8750aaa6776d5),
|
||||
because [it was found old version was in use](https://github.com/wekan/wekan/issues/2334).
|
||||
Thanks to shaygover and xet7.
|
||||
- [Upgrade to Node 8.16.0](https://github.com/wekan/wekan/commit/6117097a93bfb11c8bd4c87a23c44a50e22ceb87).
|
||||
Thanks to Node developers and xet7.
|
||||
- [Upgrade Docker base image to ubuntu:disco](https://github.com/wekan/wekan/commit/bd14ee3b1f450ddc6dec26ccc8da702b839942e5).
|
||||
Thanks to Ubuntu developers and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix Full width of lists and space before first list](https://github.com/wekan/wekan/pull/2343).
|
||||
Thanks to hupptechnologies.
|
||||
- Remove [extra](https://github.com/wekan/wekan/pull/2332) [quotes](https://github.com/wekan/wekan/pull/2333) from docker-compose.yml.
|
||||
Thanks to hibare.
|
||||
- Fix Docker builds by moving all separately cloned wekan/packages/* repos like ldap, oidc, etc code to wekan repo code,
|
||||
so that in build scripts it's not needed to clone those. Also archived those wekan repos and moved issues
|
||||
to https://github.com/wekan/wekan/issues because changes and development to those packages now happends on wekan/wekan repo.
|
||||
There was also fixes to repo urls etc. Thanks to xet7.
|
||||
- [Additional updates](https://github.com/wekan/wekan/pull/2347) to meteor-1.8 branch, that contains
|
||||
Meteor 1.8.1 version that works in Docker but not yet at Snap and Sandstorm. Thanks to justinr1234.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.60 2019-04-08 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix: Description of Board is out of visible after Feature "Duplicate Board"](https://github.com/wekan/wekan/issues/2324).
|
||||
Thanks to sfahrenholz and xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.59 2019-04-06 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Add variables for activity notifications, Fixes #2285](https://github.com/wekan/wekan/pull/2320).
|
||||
Thanks to rinnaz.
|
||||
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.58 2019-04-06 Wekan release
|
||||
@@ -34,7 +340,7 @@ Thanks to above GitHub users for their contributions and translators for their t
|
||||
This release fixes the following bugs, thanks to justinr1234:
|
||||
|
||||
- [Add proper variables for join card](https://github.com/wekan/wekan/commit/289f1fe1340c85eb2af19825f4972e9057a86b7a),
|
||||
fixes [Incorrect variable replacement on email notifications](https://github.com/wekan/wekan/issues/2295).
|
||||
fixes [Incorrect variable replacement on email notifications](https://github.com/wekan/wekan/issues/2285).
|
||||
|
||||
and fixes the following bugs with Apache I-CLA, thanks to bentiss:
|
||||
|
||||
@@ -69,7 +375,7 @@ Thanks to above GitHub users for their contributions and translators for their t
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Fix typos.
|
||||
- Fix typos.
|
||||
- [Fix Outgoing Webhook message about created new swimlane](https://github.com/wekan/wekan/issues/1969).
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
@@ -102,7 +408,7 @@ and fixes the following bugs:
|
||||
|
||||
- [Fix IFTTT email sending](https://github.com/wekan/wekan/pull/2279).
|
||||
Thanks to justinr1234.
|
||||
|
||||
|
||||
Thanks to above GitHub users for their contributions.
|
||||
|
||||
# v2.51 2019-03-21 Wekan release
|
||||
@@ -223,7 +529,7 @@ and reverts the following change of v2.42, because they did not fix anything, th
|
||||
|
||||
- [Revert: Tried to fix snap mongodb-control not starting database](https://github.com/wekan/wekan/commit/4055f451fdadfbfdef9a10be29a0eb6aed91182c).
|
||||
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
|
||||
# v2.42 2019-03-07 Wekan release
|
||||
|
||||
@@ -262,7 +568,7 @@ This release fixes the following bugs:
|
||||
- [Fix](https://github.com/wekan/wekan/commit/e845fe3e7130d111be4c3a73e2551738c980ff7b)
|
||||
[manifest](https://github.com/wekan/wekan/issues/2168) and
|
||||
[icon](https://github.com/wekan/wekan/issues/1692) paths. Thanks to xet7.
|
||||
|
||||
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
|
||||
# v2.38 2019-03-06 Wekan release
|
||||
@@ -314,13 +620,13 @@ and moved the following code around:
|
||||
xet7 can make changes directly and GitHub issues are enabled.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
|
||||
# v2.35 2019-03-01 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Add Filter fix back](https://github.com/wekan/wekan/issues/2213),
|
||||
because there was no bug in filter fix.
|
||||
- [Add Filter fix back](https://github.com/wekan/wekan/issues/2213),
|
||||
because there was no bug in filter fix.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
@@ -386,7 +692,7 @@ This release adds the following new Sandstorm features and fixes:
|
||||
- New Sandstorm board first user is Admin and [has IFTTT Rules](https://github.com/wekan/wekan/issues/2125) and Standalone Wekan Admin Panel.
|
||||
Probably some Admin Panel features do not work yet. Please keep backup of your grains before testing Admin Panel.
|
||||
- Linked Cards and Linked Boards.
|
||||
- Some not needed options like Logout etc have been hidden from top bar right menu.
|
||||
- Some not needed options like Logout etc have been hidden from top bar right menu.
|
||||
- [Import board now works. "Board not found" is not problem anymore](https://github.com/wekan/wekan/issues/1430), because you can go to All Boards page to change to imported board.
|
||||
|
||||
and removes the following features:
|
||||
@@ -468,7 +774,7 @@ and fixes the following bugs:
|
||||
mobile browser](https://github.com/wekan/wekan/issues/2183). Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
|
||||
|
||||
# v2.21 2019-02-12 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
@@ -525,12 +831,12 @@ and fixes the following bugs with Apache I-CLA, thanks to bentiss:
|
||||
header)
|
||||
- make sure the placeholder never get placed between the header and the
|
||||
list of cards in a swimlane
|
||||
- fix the finding of the next and previous list of cards.
|
||||
- fix the finding of the next and previous list of cards.
|
||||
For all of this to be successful, we need to resize the swimlanes to a
|
||||
known value. This can lead to some visual jumps with scrolling when you
|
||||
drag or drop the swimlanea. I tried to remedy that by computing the new
|
||||
scroll value. Still not ideal however, as there are still some jumps when
|
||||
dropping.
|
||||
dropping.
|
||||
Fixes [#2159](https://github.com/wekan/wekan/issues/2159).
|
||||
|
||||
Thanks to above GitHub users and translators for contributions.
|
||||
@@ -558,7 +864,7 @@ Thanks to GitHub user ChronikEwok for contributions.
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix: Not displaying card content of public board: Snap, Docker and Sandstorm Shared Wekan Board
|
||||
- [Fix: Not displaying card content of public board: Snap, Docker and Sandstorm Shared Wekan Board
|
||||
Link](https://github.com/wekan/wekan/issues/1623) with
|
||||
[code from ChronikEwok](https://github.com/ChronikEwok/wekan/commit/cad9b20451bb6149bfb527a99b5001873b06c3de).
|
||||
|
||||
@@ -590,7 +896,7 @@ This release adds the following new features with Apache I-CLA, thanks to bentis
|
||||
- [When writing to minicard, press Shift-Enter on minicard to go to next line
|
||||
below](https://github.com/wekan/wekan/commit/7a35099fb9778d5f3656a57c74af426cfb20fba3),
|
||||
to continue writing on same minicard 2nd line.
|
||||
|
||||
|
||||
Thanks to GitHub user bentiss for contributions.
|
||||
|
||||
# v2.12 2019-01-31 Wekan release
|
||||
@@ -715,7 +1021,7 @@ and fixes the following bugs with Apache I-CLA, thanks to bentiss:
|
||||
- [Make sure Swimlanes and Lists have a populated sort field](https://github.com/wekan/wekan/commit/5c6a725712a443b4d03b4f86262033ddfb66bc3d).
|
||||
When moving around the swimlanes or the lists, if one element has a sort
|
||||
with a null value, the computation of the new sort value is aborted,
|
||||
meaning that there are glitches in the UI.
|
||||
meaning that there are glitches in the UI.
|
||||
This happens on the first swimlane created with the new board, or when
|
||||
a swimlane or a list gets added through the API;
|
||||
- UI: Lists: [Make sure all lists boxes are the same height](https://github.com/wekan/wekan/commit/97d95b4bcbcab86629e368ea41bb9f00450b21f6).
|
||||
@@ -785,7 +1091,7 @@ and fixes the following bugs:
|
||||
- When clicking Move Card, go to correct page position. Currently it's at empty page position, and there is
|
||||
need to scroll page up to see Move Card options. It should work similarly like Copy Card, that is visible.
|
||||
- Also check that other buttons go to visible page.
|
||||
|
||||
|
||||
Thanks to above GitHub users for their contributions.
|
||||
|
||||
# v1.97 2018-12-26 Wekan release
|
||||
@@ -794,7 +1100,7 @@ This release adds the following new features:
|
||||
|
||||
- Upgrade to Node 8.15.0 and MongoDB 3.2.22.
|
||||
- Stacksmith: back to Meteor 1.6.x based Wekan, because Meteor 1.8.x based is currently broken.
|
||||
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.96 2018-12-24 Wekan release
|
||||
@@ -956,7 +1262,7 @@ Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Remove extra commas `,` and add missing backslash `\`.
|
||||
- Remove extra commas `,` and add missing backslash `\`.
|
||||
Maybe after that login, logout and CORS works.
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
@@ -1111,7 +1417,7 @@ and hides the following features at Sandstorm:
|
||||
|
||||
- Hide Linked Card and Linked Board on Sandstorm, because they are only
|
||||
useful when having multiple boards, and at Sandstorm
|
||||
there is only one board per grain. Thanks to ocdtrekkie and xet7. Closes #1982
|
||||
there is only one board per grain. Thanks to ocdtrekkie and xet7. Closes #1982
|
||||
|
||||
Thanks to above mentioned GitHub users for their contributions.
|
||||
|
||||
@@ -1273,7 +1579,7 @@ and tries to fix the following bugs:
|
||||
- Try to fix snap.
|
||||
|
||||
Thanks to GitHub users Akuket and xet7 for their contributions.
|
||||
|
||||
|
||||
# v1.53.5 2018-10-10 Wekan Edge relase
|
||||
|
||||
This release tries to fix the following bugs:
|
||||
@@ -1297,7 +1603,7 @@ This release adds the following new features:
|
||||
- [Upgrade](https://github.com/wekan/wekan/issues/1522) to [Meteor](https://blog.meteor.com/meteor-1-8-erases-the-debts-of-1-7-77af4c931fe3) [1.8.1-beta.0](https://github.com/meteor/meteor/issues/10216).
|
||||
with [these](https://github.com/wekan/wekan/commit/079e45eb52a0f62ddb6051bf2ea80fac8860d3d5)
|
||||
[commits](https://github.com/wekan/wekan/commit/dd47d46f4341a8c4ced05749633f783e88623e1b). So now it's possible to use MongoDB 2.6 - 4.0.
|
||||
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.53.2 2018-10-10 Wekan Edge release
|
||||
@@ -1325,7 +1631,7 @@ and fixes the following bugs:
|
||||
- [Feature rules: fixes and enhancements](https://github.com/wekan/wekan/pull/1936).
|
||||
|
||||
Thanks to GitHub users Akuket, Angtrim, dcmcand, lberk, maximest-pierre, InfoSec812, schulz and xet7 for their contributions.
|
||||
|
||||
|
||||
# v1.52.1 2018-10-02 Wekan Edge release
|
||||
|
||||
This release adds the following new features:
|
||||
@@ -1340,7 +1646,7 @@ and reverts previous change:
|
||||
Oidc already works with [doorkeeper](https://github.com/doorkeeper-gem/doorkeeper-provider-app).
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
|
||||
# v1.51.2 2018-09-30 Wekan Edge release
|
||||
|
||||
This release adds the following new features:
|
||||
@@ -1399,7 +1705,7 @@ Thanks to GitHub users Angtrim, maurice-schleussinger, suprovsky and xet7 for th
|
||||
This release adds the following new features:
|
||||
|
||||
- Change from Node v8.12.0 prerelease to use official Node v8.12.0.
|
||||
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v1.49 2018-09-17 Wekan release
|
||||
@@ -1557,10 +1863,10 @@ Thanks to GitHub users hever, salleman33, tlevine and xet7 for their contributio
|
||||
This release adds the following new features:
|
||||
|
||||
Add Caddy plugins:
|
||||
- [http.filter](https://caddyserver.com/docs/http.filter)
|
||||
- [http.filter](https://caddyserver.com/docs/http.filter)
|
||||
for changing Wekan UI on the fly, for example custom logo,
|
||||
or changing to all different CSS file to have custom theme;
|
||||
- [http.ipfilter](https://caddyserver.com/docs/http.ipfilter)
|
||||
- [http.ipfilter](https://caddyserver.com/docs/http.ipfilter)
|
||||
to block requests by ip address;
|
||||
- [http.realip](https://caddyserver.com/docs/http.realip)
|
||||
for showing real X-Forwarded-For IP to behind proxy;
|
||||
@@ -1856,7 +2162,7 @@ and fixes the following bugs:
|
||||
* To fix ["title is required"](https://github.com/wekan/wekan/issues/1576) fix only
|
||||
[add-checklist-items and revert all other migration changes](https://github.com/wekan/wekan/issues/1734);
|
||||
* [Restore invitation code logic](https://github.com/wekan/wekan/pull/1732). Please test and add comment
|
||||
to those invitation code issues that this fixes.
|
||||
to those invitation code issues that this fixes.
|
||||
|
||||
Thanks to GitHub users TNick and xet7 for their contributions.
|
||||
|
||||
@@ -2027,7 +2333,7 @@ This release adds the following new features:
|
||||
and fixes the following bugs:
|
||||
|
||||
* [Error: title is required](https://github.com/wekan/wekan/issues/1576).
|
||||
|
||||
|
||||
Thanks to GitHub users Shahar-Y, thiagofernando and ThisNeko for their contributions.
|
||||
|
||||
# v0.94 2018-05-03 Wekan release
|
||||
|
||||
+28
-20
@@ -1,12 +1,12 @@
|
||||
FROM ubuntu:cosmic
|
||||
FROM ubuntu:disco
|
||||
LABEL maintainer="wekan"
|
||||
|
||||
# Set the environment variables (defaults where required)
|
||||
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
|
||||
# ENV BUILD_DEPS="paxctl"
|
||||
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python python3 python3-distutils git ca-certificates gcc-7" \
|
||||
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential python3 python3-pip git ca-certificates gcc-8" \
|
||||
DEBUG=false \
|
||||
NODE_VERSION=v8.15.1 \
|
||||
NODE_VERSION=v8.16.0 \
|
||||
METEOR_RELEASE=1.6.0.1 \
|
||||
USE_EDGE=false \
|
||||
METEOR_EDGE=1.5-beta.17 \
|
||||
@@ -40,6 +40,8 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
|
||||
OAUTH2_ID_MAP="" \
|
||||
OAUTH2_USERNAME_MAP="" \
|
||||
OAUTH2_FULLNAME_MAP="" \
|
||||
OAUTH2_ID_TOKEN_WHITELIST_FIELDS="" \
|
||||
OAUTH2_REQUEST_PERMISSIONS='openid profile email' \
|
||||
OAUTH2_EMAIL_MAP="" \
|
||||
LDAP_ENABLE=false \
|
||||
LDAP_PORT=389 \
|
||||
@@ -61,6 +63,7 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
|
||||
LDAP_ENCRYPTION=false \
|
||||
LDAP_CA_CERT="" \
|
||||
LDAP_REJECT_UNAUTHORIZED=false \
|
||||
LDAP_USER_AUTHENTICATION=false \
|
||||
LDAP_USER_SEARCH_FILTER="" \
|
||||
LDAP_USER_SEARCH_SCOPE="" \
|
||||
LDAP_USER_SEARCH_FIELD="" \
|
||||
@@ -96,6 +99,8 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
|
||||
LOGOUT_ON_HOURS="" \
|
||||
LOGOUT_ON_MINUTES="" \
|
||||
CORS="" \
|
||||
CORS_ALLOW_HEADERS="" \
|
||||
CORS_EXPOSE_HEADERS="" \
|
||||
DEFAULT_AUTHENTICATION_METHOD=""
|
||||
|
||||
# Copy the app to the image
|
||||
@@ -108,6 +113,7 @@ RUN \
|
||||
\
|
||||
# OS dependencies
|
||||
apt-get update -y && apt-get install -y --no-install-recommends ${BUILD_DEPS} && \
|
||||
pip3 install -U pip setuptools wheel && \
|
||||
\
|
||||
# Meteor installer doesn't work with the default tar binary, so using bsdtar while installing.
|
||||
# https://github.com/coreos/bugs/issues/1095#issuecomment-350574389
|
||||
@@ -191,34 +197,36 @@ RUN \
|
||||
fi; \
|
||||
\
|
||||
# Get additional packages
|
||||
mkdir -p /home/wekan/app/packages && \
|
||||
chown wekan:wekan --recursive /home/wekan && \
|
||||
cd /home/wekan/app/packages && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/flow-router.git kadira-flow-router && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/meteor-useraccounts/core.git meteor-useraccounts-core && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/meteor-accounts-cas.git && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/wekan-ldap.git && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/wekan-scrollbar.git && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/wekan/meteor-accounts-oidc.git && \
|
||||
gosu wekan:wekan mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan_accounts-oidc && \
|
||||
gosu wekan:wekan mv meteor-accounts-oidc/packages/switch_oidc wekan_oidc && \
|
||||
gosu wekan:wekan rm -rf meteor-accounts-oidc && \
|
||||
#mkdir -p /home/wekan/app/packages && \
|
||||
#chown wekan:wekan --recursive /home/wekan && \
|
||||
# REPOS BELOW ARE INCLUDED TO WEKAN REPO
|
||||
#cd /home/wekan/app/packages && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/flow-router.git kadira-flow-router && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/meteor-useraccounts/core.git meteor-useraccounts-core && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-cas.git && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/wekan-ldap.git && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/wekan-scrollbar.git && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master https://github.com/wekan/meteor-accounts-oidc.git && \
|
||||
#gosu wekan:wekan git clone --depth 1 -b master --recurse-submodules https://github.com/wekan/markdown.git && \
|
||||
#gosu wekan:wekan mv meteor-accounts-oidc/packages/switch_accounts-oidc wekan-accounts-oidc && \
|
||||
#gosu wekan:wekan mv meteor-accounts-oidc/packages/switch_oidc wekan-oidc && \
|
||||
#gosu wekan:wekan rm -rf meteor-accounts-oidc && \
|
||||
sed -i 's/api\.versionsFrom/\/\/api.versionsFrom/' /home/wekan/app/packages/meteor-useraccounts-core/package.js && \
|
||||
cd /home/wekan/.meteor && \
|
||||
gosu wekan:wekan /home/wekan/.meteor/meteor -- help; \
|
||||
\
|
||||
# extract the OpenAPI specification
|
||||
npm install -g api2html@0.3.0 && \
|
||||
npm install -g api2html@0.3.3 && \
|
||||
mkdir -p /home/wekan/python && \
|
||||
chown wekan:wekan --recursive /home/wekan/python && \
|
||||
cd /home/wekan/python && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master git://github.com/Kronuz/esprima-python && \
|
||||
gosu wekan:wekan git clone --depth 1 -b master https://github.com/Kronuz/esprima-python && \
|
||||
cd /home/wekan/python/esprima-python && \
|
||||
python3 setup.py install --record files.txt && \
|
||||
cd /home/wekan/app &&\
|
||||
mkdir -p ./public/api && \
|
||||
python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml && \
|
||||
/opt/nodejs/bin/api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml; \
|
||||
gosu wekan:wekan mkdir -p ./public/api && \
|
||||
gosu wekan:wekan python3 ./openapi/generate_openapi.py --release $(git describe --tags --abbrev=0) > ./public/api/wekan.yml && \
|
||||
gosu wekan:wekan /opt/nodejs/bin/api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml; \
|
||||
# Build app
|
||||
cd /home/wekan/app && \
|
||||
gosu wekan:wekan /home/wekan/.meteor/meteor add standard-minifier-js && \
|
||||
|
||||
@@ -61,7 +61,7 @@ that by providing one-click installation on various platforms.
|
||||
- 64bit: Linux [Snap](https://github.com/wekan/wekan-snap/wiki/Install) or [Sandstorm](https://sandstorm.io) /
|
||||
[Mac](https://github.com/wekan/wekan/wiki/Mac) / [Windows](https://github.com/wekan/wekan/wiki/Install-Wekan-from-source-on-Windows).
|
||||
[More Platforms](https://github.com/wekan/wekan/wiki/Platforms). [ARM progress](https://github.com/wekan/wekan/issues/1053#issuecomment-410919264).
|
||||
- 1 GB RAM minimum free for Wekan. Production server should have miminum total 4 GB RAM.
|
||||
- 1 GB RAM minimum free for Wekan. Production server should have minimum total 4 GB RAM.
|
||||
For thousands of users, for example with [Docker](https://github.com/wekan/wekan/blob/devel/docker-compose.yml): 3 frontend servers,
|
||||
each having 2 CPU and 2 wekan-app containers. One backend wekan-db server with many CPUs.
|
||||
- Enough disk space and alerts about low disk space. If you run out disk space, MongoDB database gets corrupted.
|
||||
@@ -136,4 +136,4 @@ with [Meteor](https://www.meteor.com).
|
||||
[wekan_chat]: https://community.vanila.io/wekan
|
||||
|
||||
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fwekan%2Fwekan?ref=badge_large)
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fwekan%2Fwekan?ref=badge_large)
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v2.59.0"
|
||||
appVersion: "v2.83.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -30,6 +30,8 @@ template(name="boardBody")
|
||||
+listsGroup(currentBoard)
|
||||
else if isViewCalendar
|
||||
+calendarView
|
||||
else
|
||||
+listsGroup(currentBoard)
|
||||
|
||||
template(name="calendarView")
|
||||
if isViewCalendar
|
||||
|
||||
@@ -14,7 +14,7 @@ BlazeComponent.extendComponent({
|
||||
const currentBoardId = Session.get('currentBoard');
|
||||
if (!currentBoardId)
|
||||
return;
|
||||
const handle = subManager.subscribe('board', currentBoardId);
|
||||
const handle = subManager.subscribe('board', currentBoardId, false);
|
||||
Tracker.nonreactive(() => {
|
||||
Tracker.autorun(() => {
|
||||
this.isBoardReady.set(handle.ready());
|
||||
@@ -191,19 +191,19 @@ BlazeComponent.extendComponent({
|
||||
isViewSwimlanes() {
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) return false;
|
||||
return (currentUser.profile.boardView === 'board-view-swimlanes');
|
||||
return ((currentUser.profile || {}).boardView === 'board-view-swimlanes');
|
||||
},
|
||||
|
||||
isViewLists() {
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) return true;
|
||||
return (currentUser.profile.boardView === 'board-view-lists');
|
||||
return ((currentUser.profile || {}).boardView === 'board-view-lists');
|
||||
},
|
||||
|
||||
isViewCalendar() {
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) return false;
|
||||
return (currentUser.profile.boardView === 'board-view-cal');
|
||||
return ((currentUser.profile || {}).boardView === 'board-view-cal');
|
||||
},
|
||||
|
||||
openNewListForm() {
|
||||
@@ -335,6 +335,6 @@ BlazeComponent.extendComponent({
|
||||
isViewCalendar() {
|
||||
const currentUser = Meteor.user();
|
||||
if (!currentUser) return false;
|
||||
return (currentUser.profile.boardView === 'board-view-cal');
|
||||
return ((currentUser.profile || {}).boardView === 'board-view-cal');
|
||||
},
|
||||
}).register('calendarView');
|
||||
@@ -50,6 +50,6 @@ position()
|
||||
display: flex
|
||||
flex-direction: column
|
||||
margin: 0
|
||||
padding: 0 40px 0px 0
|
||||
padding: 0 0px 0px 0
|
||||
overflow-x: hidden
|
||||
overflow-y: auto
|
||||
@@ -85,10 +85,15 @@ template(name="boardHeaderBar")
|
||||
if Filter.isActive
|
||||
a.board-header-btn-close.js-filter-reset(title="{{_ 'filter-clear'}}")
|
||||
i.fa.fa-times-thin
|
||||
|
||||
if currentUser.isAdmin
|
||||
a.board-header-btn.js-open-rules-view(title="{{_ 'rules'}}")
|
||||
i.fa.fa-magic
|
||||
span {{_ 'rules'}}
|
||||
else if currentUser.isBoardAdmin
|
||||
a.board-header-btn.js-open-rules-view(title="{{_ 'rules'}}")
|
||||
i.fa.fa-magic
|
||||
span {{_ 'rules'}}
|
||||
|
||||
a.board-header-btn.js-open-search-view(title="{{_ 'search'}}")
|
||||
i.fa.fa-search
|
||||
@@ -98,7 +103,7 @@ template(name="boardHeaderBar")
|
||||
a.board-header-btn.js-toggle-board-view(
|
||||
title="{{_ 'board-view'}}")
|
||||
i.fa.fa-th-large
|
||||
span {{_ currentUser.profile.boardView}}
|
||||
span {{#if currentUser.profile.boardView}}{{_ currentUser.profile.boardView}}{{else}}{{_ 'board-view-lists'}}{{/if}}
|
||||
|
||||
if canModifyBoard
|
||||
a.board-header-btn.js-multiselection-activate(
|
||||
@@ -193,10 +198,10 @@ template(name="boardChangeTitlePopup")
|
||||
form
|
||||
label
|
||||
| {{_ 'title'}}
|
||||
input.js-board-name(type="text" value=title autofocus)
|
||||
input.js-board-name(type="text" value=title autofocus dir="auto")
|
||||
label
|
||||
| {{_ 'description'}}
|
||||
textarea.js-board-desc= description
|
||||
textarea.js-board-desc(dir="auto")= description
|
||||
input.primary.wide(type="submit" value="{{_ 'rename'}}")
|
||||
|
||||
template(name="boardCreateRulePopup")
|
||||
|
||||
@@ -89,12 +89,14 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
'click .js-toggle-board-view'() {
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser.profile.boardView === 'board-view-swimlanes') {
|
||||
if ((currentUser.profile || {}).boardView === 'board-view-swimlanes') {
|
||||
currentUser.setBoardView('board-view-cal');
|
||||
} else if (currentUser.profile.boardView === 'board-view-lists') {
|
||||
} else if ((currentUser.profile || {}).boardView === 'board-view-lists') {
|
||||
currentUser.setBoardView('board-view-swimlanes');
|
||||
} else if (currentUser.profile.boardView === 'board-view-cal') {
|
||||
} else if ((currentUser.profile || {}).boardView === 'board-view-cal') {
|
||||
currentUser.setBoardView('board-view-lists');
|
||||
} else {
|
||||
currentUser.setBoardView('board-view-swimlanes');
|
||||
}
|
||||
},
|
||||
'click .js-toggle-sidebar'() {
|
||||
|
||||
@@ -18,19 +18,25 @@ template(name="boardList")
|
||||
else
|
||||
a.js-open-board.board-list-item(href="{{pathFor 'board' id=_id slug=slug}}")
|
||||
span.details
|
||||
span.board-list-item-name= title
|
||||
span.board-list-item-name
|
||||
+viewer
|
||||
= title
|
||||
i.fa.js-star-board(
|
||||
class="fa-star{{#if isStarred}} is-star-active{{else}}-o{{/if}}"
|
||||
title="{{_ 'star-board-title'}}")
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
p.board-list-item-desc
|
||||
+viewer
|
||||
= description
|
||||
if hasSpentTimeCards
|
||||
i.fa.js-has-spenttime-cards(
|
||||
class="fa-circle{{#if hasOvertimeCards}} has-overtime-card-active{{else}} no-overtime-card-active{{/if}}"
|
||||
title="{{#if hasOvertimeCards}}{{_ 'has-overtime-cards'}}{{else}}{{_ 'has-spenttime-cards'}}{{/if}}")
|
||||
|
||||
p.board-list-item-desc= description
|
||||
i.fa.js-clone-board(
|
||||
class="fa-clone"
|
||||
title="{{_ 'duplicate-board'}}")
|
||||
i.fa.js-archive-board(
|
||||
class="fa-archive"
|
||||
title="{{_ 'archive-board'}}")
|
||||
|
||||
template(name="boardListHeaderBar")
|
||||
h1 {{_ 'my-boards'}}
|
||||
|
||||
@@ -33,12 +33,12 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
hasOvertimeCards() {
|
||||
subManager.subscribe('board', this.currentData()._id);
|
||||
subManager.subscribe('board', this.currentData()._id, false);
|
||||
return this.currentData().hasOvertimeCards();
|
||||
},
|
||||
|
||||
hasSpentTimeCards() {
|
||||
subManager.subscribe('board', this.currentData()._id);
|
||||
subManager.subscribe('board', this.currentData()._id, false);
|
||||
return this.currentData().hasSpentTimeCards();
|
||||
},
|
||||
|
||||
@@ -70,6 +70,11 @@ BlazeComponent.extendComponent({
|
||||
);
|
||||
evt.preventDefault();
|
||||
},
|
||||
'click .js-archive-board'(evt) {
|
||||
const boardId = this.currentData()._id;
|
||||
Meteor.call('archiveBoard', boardId);
|
||||
evt.preventDefault();
|
||||
},
|
||||
'click .js-accept-invite'() {
|
||||
const boardId = this.currentData()._id;
|
||||
Meteor.user().removeInvite(boardId);
|
||||
|
||||
@@ -93,6 +93,7 @@ $spaceBetweenTiles = 16px
|
||||
|
||||
.is-star-active
|
||||
color: white
|
||||
|
||||
.fa-clone
|
||||
position: absolute;
|
||||
bottom: 0
|
||||
@@ -105,15 +106,29 @@ $spaceBetweenTiles = 16px
|
||||
transition-duration: .15s
|
||||
transition-property: color, font-size, background
|
||||
|
||||
.fa-archive
|
||||
position: absolute;
|
||||
bottom: 0
|
||||
font-size: 14px
|
||||
height: 18px
|
||||
line-height: 18px
|
||||
opacity: 0
|
||||
left: 0
|
||||
padding: 9px 9px
|
||||
transition-duration: .15s
|
||||
transition-property: color, font-size, background
|
||||
|
||||
li:hover a
|
||||
&:hover
|
||||
.fa-star,
|
||||
.fa-clone,
|
||||
.fa-archive,
|
||||
.fa-star-o
|
||||
color: white
|
||||
|
||||
.fa-star,
|
||||
.fa-clone,
|
||||
.fa-archive,
|
||||
.fa-star-o
|
||||
color: white
|
||||
opacity: .75
|
||||
|
||||
@@ -4,9 +4,10 @@ template(name="cardCustomFieldsPopup")
|
||||
li.item(class="")
|
||||
a.name.js-select-field(href="#")
|
||||
span.full-name
|
||||
+viewer
|
||||
= name
|
||||
if hasCustomField
|
||||
i.fa.fa-check
|
||||
i.fa.fa-check
|
||||
hr
|
||||
a.quiet-button.full.js-settings
|
||||
i.fa.fa-cog
|
||||
@@ -61,9 +62,13 @@ template(name="cardCustomField-dropdown")
|
||||
select.inline
|
||||
each items
|
||||
if($eq data.value this._id)
|
||||
option(value=_id selected="selected") {{name}}
|
||||
option(value=_id selected="selected")
|
||||
+viewer
|
||||
= name
|
||||
else
|
||||
option(value=_id) {{name}}
|
||||
option(value=_id)
|
||||
+viewer
|
||||
= name
|
||||
.edit-controls.clearfix
|
||||
button.primary(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
@@ -73,4 +78,4 @@ template(name="cardCustomField-dropdown")
|
||||
+viewer
|
||||
= selectedItem
|
||||
else
|
||||
| {{_ 'edit'}}
|
||||
| {{_ 'edit'}}
|
||||
@@ -77,7 +77,9 @@ template(name="cardDetails")
|
||||
h3.card-details-item-title {{_ 'labels'}}
|
||||
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
|
||||
each labels
|
||||
span.card-label(class="card-label-{{color}}" title=name)= name
|
||||
span.card-label(class="card-label-{{color}}" title=name)
|
||||
+viewer
|
||||
= name
|
||||
if canModifyCard
|
||||
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
|
||||
i.fa.fa-plus
|
||||
@@ -86,7 +88,8 @@ template(name="cardDetails")
|
||||
each customFieldsWD
|
||||
.card-details-item.card-details-item-customfield
|
||||
h3.card-details-item-title
|
||||
= definition.name
|
||||
+viewer
|
||||
= definition.name
|
||||
+cardCustomField
|
||||
|
||||
.card-details-items
|
||||
@@ -197,20 +200,20 @@ template(name="cardDetails")
|
||||
+activities(card=this mode="card")
|
||||
|
||||
template(name="editCardTitleForm")
|
||||
textarea.js-edit-card-title(rows='1' autofocus)
|
||||
textarea.js-edit-card-title(rows='1' autofocus dir="auto")
|
||||
= getTitle
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-submit-edit-card-title-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
|
||||
template(name="editCardRequesterForm")
|
||||
input.js-edit-card-requester(type='text' autofocus value=getRequestedBy)
|
||||
input.js-edit-card-requester(type='text' autofocus value=getRequestedBy dir="auto")
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-submit-edit-card-requester-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
|
||||
template(name="editCardAssignerForm")
|
||||
input.js-edit-card-assigner(type='text' autofocus value=getAssignedBy)
|
||||
input.js-edit-card-assigner(type='text' autofocus value=getAssignedBy dir="auto")
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-submit-edit-card-assigner-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
@@ -221,14 +224,14 @@ template(name="cardDetailsActionsPopup")
|
||||
if canModifyCard
|
||||
hr
|
||||
ul.pop-over-list
|
||||
li: a.js-members {{_ 'card-edit-members'}}
|
||||
li: a.js-labels {{_ 'card-edit-labels'}}
|
||||
li: a.js-attachments {{_ 'card-edit-attachments'}}
|
||||
//li: a.js-members {{_ 'card-edit-members'}}
|
||||
//li: a.js-labels {{_ 'card-edit-labels'}}
|
||||
//li: a.js-attachments {{_ 'card-edit-attachments'}}
|
||||
li: a.js-custom-fields {{_ 'card-edit-custom-fields'}}
|
||||
li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
|
||||
li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
|
||||
li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
|
||||
li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
|
||||
//li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
|
||||
//li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
|
||||
//li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
|
||||
//li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
|
||||
li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}}
|
||||
li: a.js-set-card-color {{_ 'setCardColorPopup-title'}}
|
||||
hr
|
||||
|
||||
@@ -424,7 +424,7 @@ Template.moveCardPopup.events({
|
||||
});
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
subManager.subscribe('board', Session.get('currentBoard'));
|
||||
subManager.subscribe('board', Session.get('currentBoard'), false);
|
||||
this.selectedBoardId = new ReactiveVar(Session.get('currentBoard'));
|
||||
},
|
||||
|
||||
@@ -453,7 +453,7 @@ BlazeComponent.extendComponent({
|
||||
return [{
|
||||
'change .js-select-boards'(evt) {
|
||||
this.selectedBoardId.set($(evt.currentTarget).val());
|
||||
subManager.subscribe('board', this.selectedBoardId.get());
|
||||
subManager.subscribe('board', this.selectedBoardId.get(), false);
|
||||
},
|
||||
}];
|
||||
},
|
||||
@@ -676,7 +676,7 @@ BlazeComponent.extendComponent({
|
||||
if (selection === 'none') {
|
||||
this.parentBoard.set(null);
|
||||
} else {
|
||||
subManager.subscribe('board', $(evt.currentTarget).val());
|
||||
subManager.subscribe('board', $(evt.currentTarget).val(), false);
|
||||
this.parentBoard.set(selection);
|
||||
list.prop('disabled', false);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ template(name="addChecklistItemForm")
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
|
||||
template(name="editChecklistItemForm")
|
||||
textarea.js-edit-checklist-item(rows='1' autofocus)
|
||||
textarea.js-edit-checklist-item(rows='1' autofocus dir="auto")
|
||||
if $eq type 'item'
|
||||
= item.title
|
||||
else
|
||||
|
||||
@@ -31,7 +31,8 @@ template(name="cardLabelsPopup")
|
||||
a.card-label-edit-button.fa.fa-pencil.js-edit-label
|
||||
span.card-label.card-label-selectable.js-select-label(class="card-label-{{color}}"
|
||||
class="{{# if isLabelSelected ../_id }}active{{/if}}")
|
||||
= name
|
||||
+viewer
|
||||
= name
|
||||
if(isLabelSelected ../_id)
|
||||
i.card-label-selectable-icon.fa.fa-check
|
||||
if currentUser.isBoardAdmin
|
||||
|
||||
@@ -58,7 +58,8 @@ template(name="minicard")
|
||||
.minicard-custom-field
|
||||
if definition.showLabelOnMiniCard
|
||||
.minicard-custom-field-item
|
||||
= definition.name
|
||||
+viewer
|
||||
= definition.name
|
||||
.minicard-custom-field-item
|
||||
+viewer
|
||||
= trueValue
|
||||
|
||||
@@ -50,13 +50,13 @@ template(name="subtaskDeleteDialog")
|
||||
button.toggle-delete-subtask-dialog(type="button") {{_ 'cancel'}}
|
||||
|
||||
template(name="addSubtaskItemForm")
|
||||
textarea.js-add-subtask-item(rows='1' autofocus)
|
||||
textarea.js-add-subtask-item(rows='1' autofocus dir="auto")
|
||||
.edit-controls.clearfix
|
||||
button.primary.confirm.js-submit-add-subtask-item-form(type="submit") {{_ 'save'}}
|
||||
a.fa.fa-times-thin.js-close-inlined-form
|
||||
|
||||
template(name="editSubtaskItemForm")
|
||||
textarea.js-edit-subtask-item(rows='1' autofocus)
|
||||
textarea.js-edit-subtask-item(rows='1' autofocus dir="auto")
|
||||
if $eq type 'item'
|
||||
= item.title
|
||||
else
|
||||
@@ -76,7 +76,7 @@ template(name="subtasksItems")
|
||||
else
|
||||
+subtaskItemDetail(item = item subtasks = subtasks)
|
||||
if canModifyCard
|
||||
+inlinedForm(autoclose=false classNames="js-add-subtask-item" subtasks = subtasks)
|
||||
+inlinedForm(autoclose=false classNames="js-add-subtask-item" subtasks = subtasks dir="auto")
|
||||
+addSubtaskItemForm
|
||||
else
|
||||
a.add-subtask-item.js-open-inlined-form
|
||||
|
||||
@@ -69,10 +69,10 @@ BlazeComponent.extendComponent({
|
||||
const listId = Blaze.getData(ui.item.parents('.list').get(0))._id;
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
let swimlaneId = '';
|
||||
const boardView = Meteor.user().profile.boardView;
|
||||
const boardView = (Meteor.user().profile || {}).boardView;
|
||||
if (boardView === 'board-view-swimlanes' || currentBoard.isTemplatesBoard())
|
||||
swimlaneId = Blaze.getData(ui.item.parents('.swimlane').get(0))._id;
|
||||
else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal'))
|
||||
else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal') || !boardView)
|
||||
swimlaneId = currentBoard.getDefaultSwimline()._id;
|
||||
|
||||
// Normally the jquery-ui sortable library moves the dragged DOM element
|
||||
|
||||
@@ -99,6 +99,10 @@
|
||||
.highlight
|
||||
color: #ce1414
|
||||
|
||||
.cardCount
|
||||
color: #8c8c8c
|
||||
font-size: 0.8em
|
||||
|
||||
.list-body
|
||||
flex: 1 1 auto
|
||||
flex-direction: column
|
||||
@@ -161,7 +165,7 @@
|
||||
|
||||
.mini-list
|
||||
flex: 0 0 60px
|
||||
height: 60px
|
||||
height: auto
|
||||
width: 100%
|
||||
border-left: 0px
|
||||
border-bottom: 1px solid darken(white, 20%)
|
||||
@@ -170,6 +174,8 @@
|
||||
display: block
|
||||
width: 100%
|
||||
border-left: 0px
|
||||
&:first-child
|
||||
margin-left: 0px
|
||||
|
||||
&.ui-sortable-helper
|
||||
flex: 0 0 60px
|
||||
@@ -188,8 +194,16 @@
|
||||
border-left: 0px
|
||||
border-bottom: 1px solid darken(white, 20%)
|
||||
|
||||
.list-header
|
||||
.list-body
|
||||
padding: 15px 19px;
|
||||
|
||||
.list-header
|
||||
padding: 0 12px 0px
|
||||
border-bottom: 0px solid #e4e4e4
|
||||
height: 60px
|
||||
margin-top: 10px
|
||||
display: flex
|
||||
align-items: center
|
||||
.list-header-left-icon
|
||||
display: inline
|
||||
padding: 7px
|
||||
@@ -201,8 +215,10 @@
|
||||
.list-header-menu-icon
|
||||
position: absolute
|
||||
padding: 7px
|
||||
top: -@padding
|
||||
top: 50%
|
||||
transform: translateY(-50%)
|
||||
right: 17px
|
||||
font-size: 20px
|
||||
|
||||
.link-board-wrapper
|
||||
display: flex
|
||||
|
||||
@@ -39,7 +39,7 @@ template(name="addCardForm")
|
||||
.minicard-labels
|
||||
each getLabels
|
||||
.minicard-label(class="card-label-{{color}}" title="{{name}}")
|
||||
textarea.minicard-composer-textarea.js-card-title(autofocus)
|
||||
textarea.minicard-composer-textarea.js-card-title(autofocus dir="auto")
|
||||
if members.get
|
||||
.minicard-members.js-minicard-composer-members
|
||||
each members.get
|
||||
@@ -96,7 +96,7 @@ template(name="searchElementPopup")
|
||||
form
|
||||
label
|
||||
| {{_ 'title'}}
|
||||
input.js-element-title(type="text" placeholder="{{_ 'title'}}" autofocus required)
|
||||
input.js-element-title(type="text" placeholder="{{_ 'title'}}" autofocus required dir="auto")
|
||||
unless isTemplateSearch
|
||||
label {{_ 'boards'}}:
|
||||
.link-board-wrapper
|
||||
@@ -105,7 +105,7 @@ template(name="searchElementPopup")
|
||||
each boards
|
||||
option(value="{{_id}}") {{title}}
|
||||
form.js-search-term-form
|
||||
input(type="text" name="searchTerm" placeholder="{{_ 'search-example'}}" autofocus)
|
||||
input(type="text" name="searchTerm" placeholder="{{_ 'search-example'}}" autofocus dir="auto")
|
||||
.list-body.js-perfect-scrollbar.search-card-results
|
||||
.minicards.clearfix.js-minicards
|
||||
if isBoardTemplateSearch
|
||||
|
||||
@@ -48,7 +48,7 @@ BlazeComponent.extendComponent({
|
||||
const board = this.data().board();
|
||||
let linkedId = '';
|
||||
let swimlaneId = '';
|
||||
const boardView = Meteor.user().profile.boardView;
|
||||
const boardView = (Meteor.user().profile || {}).boardView;
|
||||
let cardType = 'cardType-card';
|
||||
if (title) {
|
||||
if (board.isTemplatesBoard()) {
|
||||
@@ -72,7 +72,7 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
} else if (boardView === 'board-view-swimlanes')
|
||||
swimlaneId = this.parentComponent().parentComponent().data()._id;
|
||||
else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal'))
|
||||
else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal') || !boardView)
|
||||
swimlaneId = board.getDefaultSwimline()._id;
|
||||
|
||||
const _id = Cards.insert({
|
||||
@@ -149,7 +149,7 @@ BlazeComponent.extendComponent({
|
||||
|
||||
idOrNull(swimlaneId) {
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser.profile.boardView === 'board-view-swimlanes' ||
|
||||
if ((currentUser.profile || {}).boardView === 'board-view-swimlanes' ||
|
||||
this.data().board().isTemplatesBoard())
|
||||
return swimlaneId;
|
||||
return undefined;
|
||||
@@ -348,7 +348,7 @@ BlazeComponent.extendComponent({
|
||||
|
||||
this.boardId = Session.get('currentBoard');
|
||||
// In order to get current board info
|
||||
subManager.subscribe('board', this.boardId);
|
||||
subManager.subscribe('board', this.boardId, false);
|
||||
this.board = Boards.findOne(this.boardId);
|
||||
// List where to insert card
|
||||
const list = $(Popup._getTopStack().openerElement).closest('.js-list');
|
||||
@@ -356,10 +356,10 @@ BlazeComponent.extendComponent({
|
||||
// Swimlane where to insert card
|
||||
const swimlane = $(Popup._getTopStack().openerElement).closest('.js-swimlane');
|
||||
this.swimlaneId = '';
|
||||
const boardView = Meteor.user().profile.boardView;
|
||||
const boardView = (Meteor.user().profile || {}).boardView;
|
||||
if (boardView === 'board-view-swimlanes')
|
||||
this.swimlaneId = Blaze.getData(swimlane[0])._id;
|
||||
else if (boardView === 'board-view-lists')
|
||||
else if (boardView === 'board-view-lists' || !boardView)
|
||||
this.swimlaneId = Swimlanes.findOne({boardId: this.boardId})._id;
|
||||
},
|
||||
|
||||
@@ -414,7 +414,7 @@ BlazeComponent.extendComponent({
|
||||
events() {
|
||||
return [{
|
||||
'change .js-select-boards'(evt) {
|
||||
subManager.subscribe('board', $(evt.currentTarget).val());
|
||||
subManager.subscribe('board', $(evt.currentTarget).val(), false);
|
||||
this.selectedBoardId.set($(evt.currentTarget).val());
|
||||
},
|
||||
'change .js-select-swimlanes'(evt) {
|
||||
@@ -485,13 +485,13 @@ BlazeComponent.extendComponent({
|
||||
this.isBoardTemplateSearch;
|
||||
let board = {};
|
||||
if (this.isTemplateSearch) {
|
||||
board = Boards.findOne(Meteor.user().profile.templatesBoardId);
|
||||
board = Boards.findOne((Meteor.user().profile || {}).templatesBoardId);
|
||||
} else {
|
||||
// Prefetch first non-current board id
|
||||
board = Boards.findOne({
|
||||
archived: false,
|
||||
'members.userId': Meteor.userId(),
|
||||
_id: {$nin: [Session.get('currentBoard'), Meteor.user().profile.templatesBoardId]},
|
||||
_id: {$nin: [Session.get('currentBoard'), (Meteor.user().profile || {}).templatesBoardId]},
|
||||
});
|
||||
}
|
||||
if (!board) {
|
||||
@@ -500,17 +500,17 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
const boardId = board._id;
|
||||
// Subscribe to this board
|
||||
subManager.subscribe('board', boardId);
|
||||
subManager.subscribe('board', boardId, false);
|
||||
this.selectedBoardId = new ReactiveVar(boardId);
|
||||
|
||||
if (!this.isBoardTemplateSearch) {
|
||||
this.boardId = Session.get('currentBoard');
|
||||
// In order to get current board info
|
||||
subManager.subscribe('board', this.boardId);
|
||||
subManager.subscribe('board', this.boardId, false);
|
||||
this.swimlaneId = '';
|
||||
// Swimlane where to insert card
|
||||
const swimlane = $(Popup._getTopStack().openerElement).parents('.js-swimlane');
|
||||
if (Meteor.user().profile.boardView === 'board-view-swimlanes')
|
||||
if ((Meteor.user().profile || {}).boardView === 'board-view-swimlanes')
|
||||
this.swimlaneId = Blaze.getData(swimlane[0])._id;
|
||||
else
|
||||
this.swimlaneId = Swimlanes.findOne({boardId: this.boardId})._id;
|
||||
@@ -547,7 +547,7 @@ BlazeComponent.extendComponent({
|
||||
} else if (this.isBoardTemplateSearch) {
|
||||
const boards = board.searchBoards(this.term.get());
|
||||
boards.forEach((board) => {
|
||||
subManager.subscribe('board', board.linkedId);
|
||||
subManager.subscribe('board', board.linkedId, false);
|
||||
});
|
||||
return boards;
|
||||
} else {
|
||||
@@ -558,7 +558,7 @@ BlazeComponent.extendComponent({
|
||||
events() {
|
||||
return [{
|
||||
'change .js-select-boards'(evt) {
|
||||
subManager.subscribe('board', $(evt.currentTarget).val());
|
||||
subManager.subscribe('board', $(evt.currentTarget).val(), false);
|
||||
this.selectedBoardId.set($(evt.currentTarget).val());
|
||||
},
|
||||
'submit .js-search-term-form'(evt) {
|
||||
@@ -620,7 +620,7 @@ BlazeComponent.extendComponent({
|
||||
this.listId = this.parentComponent().data()._id;
|
||||
this.swimlaneId = '';
|
||||
|
||||
const boardView = Meteor.user().profile.boardView;
|
||||
const boardView = (Meteor.user().profile || {}).boardView;
|
||||
if (boardView === 'board-view-swimlanes')
|
||||
this.swimlaneId = this.parentComponent().parentComponent().parentComponent().data()._id;
|
||||
},
|
||||
|
||||
@@ -10,7 +10,8 @@ template(name="listHeader")
|
||||
a.list-header-left-icon.fa.fa-angle-left.js-unselect-list
|
||||
h2.list-header-name(
|
||||
class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
|
||||
= title
|
||||
+viewer
|
||||
= title
|
||||
if wipLimit.enabled
|
||||
| (
|
||||
span(class="{{#if reachedWipLimit}}highlight{{/if}}") {{cards.count}}
|
||||
@@ -18,7 +19,7 @@ template(name="listHeader")
|
||||
|
||||
if showCardsCountForList cards.count
|
||||
|
|
||||
p.quiet.small {{cardsCount}} {{_ 'cards-count'}}
|
||||
span(class="cardCount") {{cardsCount}} {{_ 'cards-count'}}
|
||||
if isMiniScreen
|
||||
if currentList
|
||||
if isWatching
|
||||
|
||||
@@ -30,7 +30,7 @@ BlazeComponent.extendComponent({
|
||||
cardsCount() {
|
||||
const list = Template.currentData();
|
||||
let swimlaneId = '';
|
||||
const boardView = Meteor.user().profile.boardView;
|
||||
const boardView = (Meteor.user().profile || {}).boardView;
|
||||
if (boardView === 'board-view-swimlanes')
|
||||
swimlaneId = this.parentComponent().parentComponent().data()._id;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
template(name="editor")
|
||||
textarea.editor(
|
||||
dir="auto"
|
||||
class="{{class}}"
|
||||
id=id
|
||||
autofocus=autofocus
|
||||
@@ -7,7 +8,7 @@ template(name="editor")
|
||||
+Template.contentBlock
|
||||
|
||||
template(name="viewer")
|
||||
.viewer
|
||||
.viewer(dir="auto")
|
||||
+mentions
|
||||
+markdown
|
||||
{{> UI.contentBlock }}
|
||||
@@ -1,7 +1,6 @@
|
||||
head
|
||||
title
|
||||
meta(name="viewport"
|
||||
content="maximum-scale=1.0,width=device-width,initial-scale=1.0,user-scalable=0")
|
||||
meta(name="viewport" content="maximum-scale=1.0,width=device-width,initial-scale=1.0,user-scalable=0")
|
||||
meta(http-equiv="X-UA-Compatible" content="IE=edge")
|
||||
//- XXX We should use pathFor in the following `href` to support the case
|
||||
where the application is deployed with a path prefix, but it seems to be
|
||||
@@ -14,20 +13,20 @@ head
|
||||
|
||||
template(name="userFormsLayout")
|
||||
section.auth-layout
|
||||
h1
|
||||
br
|
||||
br
|
||||
section.auth-dialog
|
||||
+Template.dynamic(template=content)
|
||||
if currentSetting.displayAuthenticationMethod
|
||||
+connectionMethod(authenticationMethod=currentSetting.defaultAuthenticationMethod)
|
||||
div.at-form-lang
|
||||
select.select-lang.js-userform-set-language
|
||||
each languages
|
||||
if isCurrentLanguage
|
||||
option(value="{{tag}}" selected="selected") {{name}}
|
||||
else
|
||||
option(value="{{tag}}") {{name}}
|
||||
if isLoading
|
||||
+loader
|
||||
else
|
||||
+Template.dynamic(template=content)
|
||||
if currentSetting.displayAuthenticationMethod
|
||||
+connectionMethod(authenticationMethod=currentSetting.defaultAuthenticationMethod)
|
||||
div.at-form-lang
|
||||
select.select-lang.js-userform-set-language
|
||||
each languages
|
||||
if isCurrentLanguage
|
||||
option(value="{{tag}}" selected="selected") {{name}}
|
||||
else
|
||||
option(value="{{tag}}") {{name}}
|
||||
|
||||
template(name="defaultLayout")
|
||||
+header
|
||||
@@ -60,3 +59,14 @@ template(name="message")
|
||||
unless currentUser
|
||||
with(pathFor route='atSignIn')
|
||||
p {{{_ 'page-maybe-private' this}}}
|
||||
|
||||
template(name="loader")
|
||||
h1.loadingText {{_ 'loading'}}
|
||||
.lds-roller
|
||||
div
|
||||
div
|
||||
div
|
||||
div
|
||||
div
|
||||
div
|
||||
div
|
||||
@@ -23,6 +23,7 @@ const validator = {
|
||||
Template.userFormsLayout.onCreated(function() {
|
||||
const instance = this;
|
||||
instance.currentSetting = new ReactiveVar();
|
||||
instance.isLoading = new ReactiveVar(false);
|
||||
|
||||
Meteor.subscribe('setting', {
|
||||
onReady() {
|
||||
@@ -47,6 +48,10 @@ Template.userFormsLayout.helpers({
|
||||
return Template.instance().currentSetting.get();
|
||||
},
|
||||
|
||||
isLoading() {
|
||||
return Template.instance().isLoading.get();
|
||||
},
|
||||
|
||||
afterBodyStart() {
|
||||
return currentSetting.customHTMLafterBodyStart;
|
||||
},
|
||||
@@ -63,6 +68,8 @@ Template.userFormsLayout.helpers({
|
||||
name = 'Brezhoneg';
|
||||
} else if (lang.name === 'ig') {
|
||||
name = 'Igbo';
|
||||
} else if (lang.name === 'oc') {
|
||||
name = 'Occitan';
|
||||
}
|
||||
return { tag, name };
|
||||
}).sort(function(a, b) {
|
||||
@@ -89,7 +96,11 @@ Template.userFormsLayout.events({
|
||||
},
|
||||
'click #at-btn'(event, instance) {
|
||||
if (FlowRouter.getRouteName() === 'atSignIn') {
|
||||
authentication(event, instance);
|
||||
instance.isLoading.set(true);
|
||||
authentication(event, instance)
|
||||
.then(() => {
|
||||
instance.isLoading.set(false);
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -104,11 +115,11 @@ async function authentication(event, instance) {
|
||||
const match = $('#at-field-username_and_email').val();
|
||||
const password = $('#at-field-password').val();
|
||||
|
||||
if (!match || !password) return;
|
||||
if (!match || !password) return undefined;
|
||||
|
||||
const result = await getAuthenticationMethod(instance.currentSetting.get(), match);
|
||||
|
||||
if (result === 'password') return;
|
||||
if (result === 'password') return undefined;
|
||||
|
||||
// Stop submit #at-pwd-form
|
||||
event.preventDefault();
|
||||
@@ -116,19 +127,21 @@ async function authentication(event, instance) {
|
||||
|
||||
switch (result) {
|
||||
case 'ldap':
|
||||
Meteor.loginWithLDAP(match, password, function() {
|
||||
FlowRouter.go('/');
|
||||
return new Promise((resolve) => {
|
||||
Meteor.loginWithLDAP(match, password, function() {
|
||||
resolve(FlowRouter.go('/'));
|
||||
});
|
||||
});
|
||||
break;
|
||||
|
||||
case 'cas':
|
||||
Meteor.loginWithCas(function() {
|
||||
FlowRouter.go('/');
|
||||
return new Promise((resolve) => {
|
||||
Meteor.loginWithCas(match, password, function() {
|
||||
resolve(FlowRouter.go('/'));
|
||||
});
|
||||
});
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ body
|
||||
display: block
|
||||
float: right
|
||||
font-size: 24px
|
||||
|
||||
|
||||
.modal-content-wide
|
||||
width: 800px
|
||||
min-height: 0px
|
||||
@@ -290,7 +290,7 @@ kbd
|
||||
// Implement a thiner close icon as suggested in
|
||||
// https://github.com/FortAwesome/Font-Awesome/issues/1540#issuecomment-68689950
|
||||
.fa.fa-times-thin:before
|
||||
content: '\00d7';
|
||||
content: '\00d7'
|
||||
|
||||
.fa.fa-globe.colorful, .fa.fa-bell.colorful
|
||||
color: #4caf50
|
||||
@@ -399,3 +399,103 @@ a
|
||||
height: 37px
|
||||
margin: 8px 10px 0 0
|
||||
width: 50px
|
||||
|
||||
.select-authentication
|
||||
width: 100%
|
||||
|
||||
.auth-layout
|
||||
display: flex
|
||||
flex-direction: column
|
||||
align-items: center
|
||||
justify-content: center
|
||||
height: 100%
|
||||
|
||||
.auth-dialog
|
||||
margin: 0 !important
|
||||
|
||||
.loadingText
|
||||
text-align: center
|
||||
|
||||
.lds-roller
|
||||
display: block
|
||||
margin: auto
|
||||
position: relative
|
||||
width: 64px
|
||||
height: 64px
|
||||
|
||||
div
|
||||
animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite
|
||||
transform-origin: 32px 32px
|
||||
|
||||
div:after
|
||||
content: " "
|
||||
display: block
|
||||
position: absolute
|
||||
width: 6px
|
||||
height: 6px
|
||||
border-radius: 50%
|
||||
background: #dedede
|
||||
margin: -3px 0 0 -3px
|
||||
|
||||
div:nth-child(1)
|
||||
animation-delay: -0.036s
|
||||
|
||||
div:nth-child(1):after
|
||||
top: 50px
|
||||
left: 50px
|
||||
|
||||
div:nth-child(2)
|
||||
animation-delay: -0.072s
|
||||
|
||||
div:nth-child(2):after
|
||||
top: 54px
|
||||
left: 45px
|
||||
|
||||
div:nth-child(3)
|
||||
animation-delay: -0.108s
|
||||
|
||||
div:nth-child(3):after
|
||||
top: 57px
|
||||
left: 39px
|
||||
|
||||
div:nth-child(4)
|
||||
animation-delay: -0.144s
|
||||
|
||||
div:nth-child(4):after
|
||||
top: 58px
|
||||
left: 32px
|
||||
|
||||
div:nth-child(5)
|
||||
animation-delay: -0.18s
|
||||
|
||||
div:nth-child(5):after
|
||||
top: 57px
|
||||
left: 25px
|
||||
|
||||
div:nth-child(6)
|
||||
animation-delay: -0.216s
|
||||
|
||||
div:nth-child(6):after
|
||||
top: 54px
|
||||
left: 19px
|
||||
|
||||
div:nth-child(7)
|
||||
animation-delay: -0.252s
|
||||
|
||||
div:nth-child(7):after
|
||||
top: 50px
|
||||
left: 14px
|
||||
|
||||
div:nth-child(8)
|
||||
animation-delay: -0.288s
|
||||
|
||||
div:nth-child(8):after
|
||||
top: 45px
|
||||
left: 10px
|
||||
|
||||
@keyframes lds-roller
|
||||
0%
|
||||
transform: rotate(0deg)
|
||||
|
||||
100%
|
||||
transform: rotate(360deg)
|
||||
@@ -3,8 +3,13 @@ template(name="people")
|
||||
unless currentUser.isAdmin
|
||||
| {{_ 'error-notAuthorized'}}
|
||||
else
|
||||
.content-title
|
||||
span {{_ 'people'}}
|
||||
.content-title.ext-box
|
||||
.ext-box-left
|
||||
span {{_ 'people'}}
|
||||
input#searchInput(placeholder="{{_ 'search'}}")
|
||||
button#searchButton {{_ 'search'}}
|
||||
.ext-box-right
|
||||
span {{_ 'people-number'}} #{peopleNumber}
|
||||
.content-body
|
||||
.side-menu
|
||||
ul
|
||||
@@ -102,5 +107,8 @@ template(name="editUserPopup")
|
||||
label
|
||||
| {{_ 'password'}}
|
||||
input.js-profile-password(type="password")
|
||||
div.buttonsContainer
|
||||
input.primary.wide(type="submit" value="{{_ 'save'}}")
|
||||
div
|
||||
input#deleteButton.primary.wide(type="button" value="{{_ 'delete'}}")
|
||||
|
||||
input.primary.wide(type="submit" value="{{_ 'save'}}")
|
||||
@@ -8,6 +8,8 @@ BlazeComponent.extendComponent({
|
||||
this.error = new ReactiveVar('');
|
||||
this.loading = new ReactiveVar(false);
|
||||
this.people = new ReactiveVar(true);
|
||||
this.findUsersOptions = new ReactiveVar({});
|
||||
this.number = new ReactiveVar(0);
|
||||
|
||||
this.page = new ReactiveVar(1);
|
||||
this.loadNextPageLocked = false;
|
||||
@@ -26,6 +28,33 @@ BlazeComponent.extendComponent({
|
||||
});
|
||||
});
|
||||
},
|
||||
events() {
|
||||
return [{
|
||||
'click #searchButton'() {
|
||||
this.filterPeople();
|
||||
},
|
||||
'keydown #searchInput'(event) {
|
||||
if (event.keyCode === 13 && !event.shiftKey) {
|
||||
this.filterPeople();
|
||||
}
|
||||
},
|
||||
}];
|
||||
},
|
||||
filterPeople() {
|
||||
const value = $('#searchInput').first().val();
|
||||
if (value === '') {
|
||||
this.findUsersOptions.set({});
|
||||
} else {
|
||||
const regex = new RegExp(value, 'i');
|
||||
this.findUsersOptions.set({
|
||||
$or: [
|
||||
{ username: regex },
|
||||
{ 'profile.fullname': regex },
|
||||
{ 'emails.address': regex },
|
||||
],
|
||||
});
|
||||
}
|
||||
},
|
||||
loadNextPage() {
|
||||
if (this.loadNextPageLocked === false) {
|
||||
this.page.set(this.page.get() + 1);
|
||||
@@ -49,9 +78,14 @@ BlazeComponent.extendComponent({
|
||||
this.loading.set(w);
|
||||
},
|
||||
peopleList() {
|
||||
return Users.find({}, {
|
||||
const users = Users.find(this.findUsersOptions.get(), {
|
||||
fields: {_id: true},
|
||||
});
|
||||
this.number.set(users.count());
|
||||
return users;
|
||||
},
|
||||
peopleNumber() {
|
||||
return this.number.get();
|
||||
},
|
||||
}).register('people');
|
||||
|
||||
@@ -64,6 +98,7 @@ Template.peopleRow.helpers({
|
||||
|
||||
Template.editUserPopup.onCreated(function() {
|
||||
this.authenticationMethods = new ReactiveVar([]);
|
||||
this.errorMessage = new ReactiveVar('');
|
||||
|
||||
Meteor.call('getAuthenticationsEnabled', (_, result) => {
|
||||
if (result) {
|
||||
@@ -95,6 +130,9 @@ Template.editUserPopup.helpers({
|
||||
const selected = Users.findOne(userId).authenticationMethod;
|
||||
return selected === 'ldap';
|
||||
},
|
||||
errorMessage() {
|
||||
return Template.instance().errorMessage.get();
|
||||
},
|
||||
});
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
@@ -186,4 +224,9 @@ Template.editUserPopup.events({
|
||||
});
|
||||
} else Popup.close();
|
||||
},
|
||||
|
||||
'click #deleteButton'() {
|
||||
Users.remove(this.userId);
|
||||
Popup.close();
|
||||
},
|
||||
});
|
||||
@@ -13,3 +13,36 @@ table
|
||||
|
||||
tr:nth-child(even)
|
||||
background-color: #dddddd;
|
||||
|
||||
.ext-box
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
height: 34px;
|
||||
|
||||
.ext-box-left
|
||||
display: flex;
|
||||
width: 40%
|
||||
|
||||
span
|
||||
vertical-align: center;
|
||||
line-height: 34px;
|
||||
margin-right: 10px;
|
||||
|
||||
input, button
|
||||
margin: 0 10px 0 0;
|
||||
padding: 0;
|
||||
|
||||
button
|
||||
min-width: 60px;
|
||||
|
||||
.content-wrapper
|
||||
margin-top: 10px
|
||||
|
||||
.buttonsContainer
|
||||
display: flex
|
||||
|
||||
input
|
||||
margin: 0
|
||||
|
||||
div
|
||||
margin: auto
|
||||
@@ -10,8 +10,8 @@ template(name="sidebar")
|
||||
i.fa.fa-keyboard-o
|
||||
span {{_ 'keyboard-shortcuts' }}
|
||||
.sidebar-content.js-board-sidebar-content.js-perfect-scrollbar
|
||||
a.hide-btn.js-hide-sidebar
|
||||
i.fa.fa-navicon
|
||||
//a.hide-btn.js-hide-sidebar
|
||||
// i.fa.fa-navicon
|
||||
unless isDefaultView
|
||||
h2
|
||||
a.fa.fa-chevron-left.js-back-home
|
||||
@@ -189,7 +189,9 @@ template(name="labelsWidget")
|
||||
each currentBoard.labels
|
||||
a.card-label(class="card-label-{{color}}"
|
||||
class="{{#if currentUser.isNotCommentOnly}}js-label{{/if}}")
|
||||
span.card-label-name= name
|
||||
span.card-label-name
|
||||
+viewer
|
||||
= name
|
||||
if currentUser.isBoardAdmin
|
||||
a.card-label.add-label.js-add-label
|
||||
i.fa.fa-plus
|
||||
|
||||
@@ -1,38 +1,56 @@
|
||||
template(name="archivesSidebar")
|
||||
+basicTabs(tabs=tabs)
|
||||
|
||||
+tabContent(slug="cards")
|
||||
each archivedCards
|
||||
.minicard-wrapper.js-minicard
|
||||
+minicard(this)
|
||||
if currentUser.isBoardMember
|
||||
if isArchiveReady.get
|
||||
+basicTabs(tabs=tabs)
|
||||
+tabContent(slug="cards")
|
||||
p.quiet
|
||||
a.js-restore-card {{_ 'restore'}}
|
||||
a.js-restore-all-cards {{_ 'restore-all'}}
|
||||
| -
|
||||
a.js-delete-card {{_ 'delete'}}
|
||||
if cardIsInArchivedList
|
||||
p.quiet.small ({{_ 'warn-list-archived'}})
|
||||
else
|
||||
p.no-items-message {{_ 'no-archived-cards'}}
|
||||
|
||||
+tabContent(slug="lists")
|
||||
ul.archived-lists
|
||||
each archivedLists
|
||||
li.archived-lists-item
|
||||
a.js-delete-all-cards {{_ 'delete-all'}}
|
||||
each archivedCards
|
||||
.minicard-wrapper.js-minicard
|
||||
+minicard(this)
|
||||
if currentUser.isBoardMember
|
||||
button.js-restore-list
|
||||
i.fa.fa-undo
|
||||
= title
|
||||
else
|
||||
li.no-items-message {{_ 'no-archived-lists'}}
|
||||
p.quiet
|
||||
a.js-restore-card {{_ 'restore'}}
|
||||
| -
|
||||
a.js-delete-card {{_ 'delete'}}
|
||||
if cardIsInArchivedList
|
||||
p.quiet.small ({{_ 'warn-list-archived'}})
|
||||
else
|
||||
p.no-items-message {{_ 'no-archived-cards'}}
|
||||
|
||||
+tabContent(slug="swimlanes")
|
||||
ul.archived-lists
|
||||
each archivedSwimlanes
|
||||
li.archived-lists-item
|
||||
if currentUser.isBoardMember
|
||||
button.js-restore-swimlane
|
||||
i.fa.fa-undo
|
||||
= title
|
||||
else
|
||||
li.no-items-message {{_ 'no-archived-swimlanes'}}
|
||||
+tabContent(slug="lists")
|
||||
p.quiet
|
||||
a.js-restore-all-lists {{_ 'restore-all'}}
|
||||
| -
|
||||
a.js-delete-all-lists {{_ 'delete-all'}}
|
||||
ul.archived-lists
|
||||
each archivedLists
|
||||
li.archived-lists-item
|
||||
= title
|
||||
if currentUser.isBoardMember
|
||||
p.quiet
|
||||
a.js-restore-list {{_ 'restore'}}
|
||||
| -
|
||||
a.js-delete-list {{_ 'delete'}}
|
||||
else
|
||||
li.no-items-message {{_ 'no-archived-lists'}}
|
||||
|
||||
+tabContent(slug="swimlanes")
|
||||
p.quiet
|
||||
a.js-restore-all-swimlanes {{_ 'restore-all'}}
|
||||
| -
|
||||
a.js-delete-all-swimlanes {{_ 'delete-all'}}
|
||||
ul.archived-lists
|
||||
each archivedSwimlanes
|
||||
li.archived-lists-item
|
||||
= title
|
||||
if currentUser.isBoardMember
|
||||
p.quiet
|
||||
a.js-restore-swimlane {{_ 'restore'}}
|
||||
| -
|
||||
a.js-delete-swimlane {{_ 'delete'}}
|
||||
else
|
||||
li.no-items-message {{_ 'no-archived-swimlanes'}}
|
||||
else
|
||||
+spinner
|
||||
@@ -1,4 +1,26 @@
|
||||
const subManager = new SubsManager();
|
||||
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.isArchiveReady = new ReactiveVar(false);
|
||||
|
||||
// The pattern we use to manually handle data loading is described here:
|
||||
// https://kadira.io/academy/meteor-routing-guide/content/subscriptions-and-data-management/using-subs-manager
|
||||
// XXX The boardId should be readed from some sort the component "props",
|
||||
// unfortunatly, Blaze doesn't have this notion.
|
||||
this.autorun(() => {
|
||||
const currentBoardId = Session.get('currentBoard');
|
||||
if (!currentBoardId)
|
||||
return;
|
||||
const handle = subManager.subscribe('board', currentBoardId, true);
|
||||
Tracker.nonreactive(() => {
|
||||
Tracker.autorun(() => {
|
||||
this.isArchiveReady.set( handle.ready() );
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
tabs() {
|
||||
return [
|
||||
{ name: TAPi18n.__('cards'), slug: 'cards' },
|
||||
@@ -44,19 +66,67 @@ BlazeComponent.extendComponent({
|
||||
card.restore();
|
||||
}
|
||||
},
|
||||
'click .js-restore-all-cards'() {
|
||||
this.archivedCards().forEach((card) => {
|
||||
if(card.canBeRestored()){
|
||||
card.restore();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
|
||||
const cardId = this._id;
|
||||
Cards.remove(cardId);
|
||||
Popup.close();
|
||||
}),
|
||||
'click .js-delete-all-cards': Popup.afterConfirm('cardDelete', () => {
|
||||
this.archivedCards().forEach((card) => {
|
||||
Cards.remove(card._id);
|
||||
});
|
||||
Popup.close();
|
||||
}),
|
||||
|
||||
'click .js-restore-list'() {
|
||||
const list = this.currentData();
|
||||
list.restore();
|
||||
},
|
||||
'click .js-restore-all-lists'() {
|
||||
this.archivedLists().forEach((list) => {
|
||||
list.restore();
|
||||
});
|
||||
},
|
||||
|
||||
'click .js-delete-list': Popup.afterConfirm('listDelete', function() {
|
||||
this.remove();
|
||||
Popup.close();
|
||||
}),
|
||||
'click .js-delete-all-lists': Popup.afterConfirm('listDelete', () => {
|
||||
this.archivedLists().forEach((list) => {
|
||||
list.remove();
|
||||
});
|
||||
Popup.close();
|
||||
}),
|
||||
|
||||
'click .js-restore-swimlane'() {
|
||||
const swimlane = this.currentData();
|
||||
swimlane.restore();
|
||||
},
|
||||
'click .js-restore-all-swimlanes'() {
|
||||
this.archivedSwimlanes().forEach((swimlane) => {
|
||||
swimlane.restore();
|
||||
});
|
||||
},
|
||||
|
||||
'click .js-delete-swimlane': Popup.afterConfirm('swimlaneDelete', function() {
|
||||
this.remove();
|
||||
Popup.close();
|
||||
}),
|
||||
'click .js-delete-all-swimlanes': Popup.afterConfirm('swimlaneDelete', () => {
|
||||
this.archivedSwimlanes().forEach((swimlane) => {
|
||||
swimlane.remove();
|
||||
});
|
||||
Popup.close();
|
||||
}),
|
||||
}];
|
||||
},
|
||||
}).register('archivesSidebar');
|
||||
@@ -6,7 +6,9 @@ template(name="customFieldsSidebar")
|
||||
div.minicard
|
||||
a.fa.fa-pencil.js-edit-custom-field.minicard-edit-button
|
||||
div.minicard-title
|
||||
| {{ name }} ({{ type }})
|
||||
+viewer
|
||||
=name
|
||||
| ({{ type }})
|
||||
|
||||
if currentUser.isBoardMember
|
||||
hr
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
template(name="searchSidebar")
|
||||
form.js-search-term-form
|
||||
input(type="text" name="searchTerm" placeholder="{{_ 'search-example'}}" autofocus)
|
||||
input(type="text" name="searchTerm" placeholder="{{_ 'search-example'}}" autofocus dir="auto")
|
||||
.list-body.js-perfect-scrollbar
|
||||
.minicards.clearfix.js-minicards
|
||||
each (results)
|
||||
|
||||
@@ -54,3 +54,7 @@ template(name="setSwimlaneColorPopup")
|
||||
i.fa.fa-check
|
||||
button.primary.confirm.js-submit {{_ 'save'}}
|
||||
button.js-remove-color.negate.wide.right {{_ 'unset-color'}}
|
||||
|
||||
template(name="swimlaneDeletePopup")
|
||||
p {{_ "swimlane-delete-pop"}}
|
||||
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
|
||||
@@ -8,7 +8,7 @@ function currentListIsInThisSwimlane(swimlaneId) {
|
||||
function currentCardIsInThisList(listId, swimlaneId) {
|
||||
const currentCard = Cards.findOne(Session.get('currentCard'));
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser && currentUser.profile.boardView === 'board-view-swimlanes')
|
||||
if (currentUser && currentUser.profile && currentUser.profile.boardView === 'board-view-swimlanes')
|
||||
return currentCard && currentCard.listId === listId && currentCard.swimlaneId === swimlaneId;
|
||||
else // Default view: board-view-lists
|
||||
return currentCard && currentCard.listId === listId;
|
||||
|
||||
@@ -53,7 +53,10 @@ template(name="editProfilePopup")
|
||||
input.js-profile-email(type="email" value="{{emails.[0].address}}")
|
||||
else
|
||||
input.js-profile-email(type="email" value="{{emails.[0].address}}" readonly)
|
||||
input.primary.wide(type="submit" value="{{_ 'save'}}")
|
||||
div.buttonsContainer
|
||||
input.primary.wide(type="submit" value="{{_ 'save'}}")
|
||||
div
|
||||
input#deleteButton.primary.wide(type="button" value="{{_ 'delete'}}")
|
||||
|
||||
template(name="changePasswordPopup")
|
||||
+atForm(state='changePwd')
|
||||
|
||||
@@ -95,6 +95,11 @@ Template.editProfilePopup.events({
|
||||
});
|
||||
} else Popup.back();
|
||||
},
|
||||
'click #deleteButton'() {
|
||||
Users.remove(Meteor.userId());
|
||||
Popup.close();
|
||||
AccountsTemplates.logout();
|
||||
},
|
||||
});
|
||||
|
||||
// XXX For some reason the useraccounts autofocus isnt working in this case.
|
||||
@@ -114,6 +119,8 @@ Template.changeLanguagePopup.helpers({
|
||||
name = 'Brezhoneg';
|
||||
} else if (lang.name === 'ig') {
|
||||
name = 'Igbo';
|
||||
} else if (lang.name === 'oc') {
|
||||
name = 'Occitan';
|
||||
}
|
||||
return { tag, name };
|
||||
}).sort(function (a, b) {
|
||||
|
||||
@@ -135,6 +135,6 @@ $(document).on('click', (evt) => {
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', 'a[href=#]', (evt) => {
|
||||
$(document).on('click', 'a[href=\\#]', (evt) => {
|
||||
evt.preventDefault();
|
||||
});
|
||||
+17
-6
@@ -170,8 +170,8 @@ services:
|
||||
# NOTE: Special characters need to be url-encoded in MAIL_URL.
|
||||
# You can encode those characters for example at: https://www.urlencoder.org
|
||||
#- MAIL_URL=smtp://user:pass@mailserver.example.com:25/
|
||||
- MAIL_URL='smtp://<mail_url>:25/?ignoreTLS=true&tls={rejectUnauthorized:false}'
|
||||
- MAIL_FROM='Wekan Notifications <noreply.wekan@mydomain.com>'
|
||||
- MAIL_URL=smtp://<mail_url>:25/?ignoreTLS=true&tls={rejectUnauthorized:false}
|
||||
- MAIL_FROM=Wekan Notifications <noreply.wekan@mydomain.com>
|
||||
#---------------------------------------------------------------
|
||||
# ==== OPTIONAL: MONGO OPLOG SETTINGS =====
|
||||
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-378343587
|
||||
@@ -239,6 +239,10 @@ services:
|
||||
# ==== CORS =====
|
||||
# CORS: Set Access-Control-Allow-Origin header.
|
||||
#- CORS=*
|
||||
# CORS_ALLOW_HEADERS: Set Access-Control-Allow-Headers header. "Authorization,Content-Type" is required for cross-origin use of the API.
|
||||
#- CORS_ALLOW_HEADERS=Authorization,Content-Type
|
||||
# CORS_EXPOSE_HEADERS: Set Access-Control-Expose-Headers header. This is not needed for typical CORS situations
|
||||
#- CORS_EXPOSE_HEADERS=*
|
||||
#-----------------------------------------------------------------
|
||||
# ==== MATOMO INTEGRATION ====
|
||||
# Optional: Integration with Matomo https://matomo.org that is installed to your server
|
||||
@@ -324,6 +328,10 @@ services:
|
||||
#- OAUTH2_USERINFO_ENDPOINT=/oauth/userinfo
|
||||
# OAuth2 Token Endpoint.
|
||||
#- OAUTH2_TOKEN_ENDPOINT=/oauth/token
|
||||
# OAUTH2 ID Token Whitelist Fields.
|
||||
#- OAUTH2_ID_TOKEN_WHITELIST_FIELDS=""
|
||||
# OAUTH2 Request Permissions.
|
||||
#- OAUTH2_REQUEST_PERMISSIONS=openid profile email
|
||||
# OAuth2 ID Mapping
|
||||
#- OAUTH2_ID_MAP=
|
||||
# OAuth2 Username Mapping
|
||||
@@ -400,6 +408,9 @@ services:
|
||||
# Reject Unauthorized Certificate
|
||||
#- LDAP_REJECT_UNAUTHORIZED=false
|
||||
#
|
||||
# Option to login to the LDAP server with the user's own username and password, instead of an administrator key. Default: false (use administrator key).
|
||||
#- LDAP_USER_AUTHENTICATION="true"
|
||||
#
|
||||
# Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
#- LDAP_USER_SEARCH_FILTER=
|
||||
#
|
||||
@@ -473,10 +484,10 @@ services:
|
||||
#---------------------------------------------------------------------
|
||||
# Login to LDAP automatically with HTTP header.
|
||||
# In below example for siteminder, at right side of = is header name.
|
||||
#- HEADER_LOGIN_ID=BNPPUID
|
||||
#- HEADER_LOGIN_FIRSTNAME=BNPPFIRSTNAME
|
||||
#- HEADER_LOGIN_LASTNAME=BNPPLASTNAME
|
||||
#- HEADER_LOGIN_EMAIL=BNPPEMAILADDRESS
|
||||
#- HEADER_LOGIN_ID=HEADERUID
|
||||
#- HEADER_LOGIN_FIRSTNAME=HEADERFIRSTNAME
|
||||
#- HEADER_LOGIN_LASTNAME=HEADERLASTNAME
|
||||
#- HEADER_LOGIN_EMAIL=HEADEREMAILADDRESS
|
||||
#---------------------------------------------------------------------
|
||||
# ==== LOGOUT TIMER, probably does not work yet ====
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Během přihlašování nastala chyba",
|
||||
"display-authentication-method": "Zobraz způsob ověřování",
|
||||
"default-authentication-method": "Zobraz způsob ověřování",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplikovat tablo",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+27
-21
@@ -271,9 +271,9 @@
|
||||
"email-enrollAccount-subject": "Ihr Benutzerkonto auf __siteName__ wurde erstellt",
|
||||
"email-enrollAccount-text": "Hallo __user__,\n\num den Dienst nutzen zu können, klicken Sie bitte auf folgenden Link:\n\n__url__\n\nDanke.",
|
||||
"email-fail": "Senden der E-Mail fehlgeschlagen",
|
||||
"email-fail-text": "Fehler beim Senden des E-Mails",
|
||||
"email-fail-text": "Fehler beim Senden der E-Mail",
|
||||
"email-invalid": "Ungültige E-Mail-Adresse",
|
||||
"email-invite": "via E-Mail einladen",
|
||||
"email-invite": "per E-Mail einladen",
|
||||
"email-invite-subject": "__inviter__ hat Ihnen eine Einladung geschickt",
|
||||
"email-invite-text": "Hallo __user__,\n\n__inviter__ hat Sie zu dem Board \"__board__\" eingeladen.\n\nBitte klicken Sie auf folgenden Link:\n\n__url__\n\nDanke.",
|
||||
"email-resetPassword-subject": "Setzten Sie ihr Passwort auf __siteName__ zurück",
|
||||
@@ -586,34 +586,34 @@
|
||||
"r-is": "wird",
|
||||
"r-is-moved": "verschoben wird",
|
||||
"r-added-to": "hinzugefügt zu",
|
||||
"r-removed-from": "Entfernt von",
|
||||
"r-removed-from": "entfernt von",
|
||||
"r-the-board": "das Board",
|
||||
"r-list": "Liste",
|
||||
"set-filter": "Setze Filter",
|
||||
"r-moved-to": "Verschieben nach",
|
||||
"r-moved-from": "Verschieben von",
|
||||
"r-archived": "Ins Archiv verschieben",
|
||||
"r-unarchived": "Aus dem Archiv wiederhergestellt",
|
||||
"r-a-card": "eine Karte",
|
||||
"r-when-a-label-is": "Wenn ein Label ist",
|
||||
"r-when-the-label-is": " Wenn das Label ist",
|
||||
"r-moved-to": "verschoben nach",
|
||||
"r-moved-from": "verschoben von",
|
||||
"r-archived": "ins Archiv verschoben",
|
||||
"r-unarchived": "aus dem Archiv wiederhergestellt",
|
||||
"r-a-card": "einer Karte",
|
||||
"r-when-a-label-is": "Wenn ein Label",
|
||||
"r-when-the-label-is": " Wenn das Label",
|
||||
"r-list-name": "Listenname",
|
||||
"r-when-a-member": "Wenn ein Mitglied ist",
|
||||
"r-when-a-member": "Wenn ein Mitglied",
|
||||
"r-when-the-member": "Wenn das Mitglied",
|
||||
"r-name": "Name",
|
||||
"r-when-a-attach": "Wenn ein Anhang",
|
||||
"r-when-a-checklist": "Wenn eine Checkliste ist",
|
||||
"r-when-a-checklist": "Wenn eine Checkliste wird",
|
||||
"r-when-the-checklist": "Wenn die Checkliste",
|
||||
"r-completed": "Abgeschlossen",
|
||||
"r-made-incomplete": "Unvollständig gemacht",
|
||||
"r-when-a-item": "Wenn ein Checklistenelement ist",
|
||||
"r-when-the-item": "Wenn das Checklistenelement",
|
||||
"r-checked": "Markiert",
|
||||
"r-unchecked": "Abgewählt",
|
||||
"r-move-card-to": "Verschiebe Karte nach",
|
||||
"r-completed": "abgeschlossen",
|
||||
"r-made-incomplete": "unvollständig gemacht",
|
||||
"r-when-a-item": "Wenn eine Checklistenposition",
|
||||
"r-when-the-item": "Wenn die Checklistenposition",
|
||||
"r-checked": "markiert wird",
|
||||
"r-unchecked": "abgewählt wird",
|
||||
"r-move-card-to": "Verschiebe Karte an",
|
||||
"r-top-of": "Anfang von",
|
||||
"r-bottom-of": "Ende von",
|
||||
"r-its-list": "seine Liste",
|
||||
"r-its-list": "seiner Liste",
|
||||
"r-archive": "Ins Archiv verschieben",
|
||||
"r-unarchive": "Aus dem Archiv wiederherstellen",
|
||||
"r-card": "Karte",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Es ist ein Fehler beim Anmelden aufgetreten",
|
||||
"display-authentication-method": "Anzeige Authentifizierungsverfahren",
|
||||
"default-authentication-method": "Standardauthentifizierungsverfahren",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Board duplizieren",
|
||||
"people-number": "Anzahl der Personen:",
|
||||
"swimlaneDeletePopup-title": "Swimlane löschen?",
|
||||
"swimlane-delete-pop": "Alle Aktionen werden aus dem Aktivitätenfeed entfernt und die Swimlane kann nicht wiederhergestellt werden. Es gibt kein Rückgängig!",
|
||||
"restore-all": "Alles wiederherstellen",
|
||||
"delete-all": "Alles löschen",
|
||||
"loading": "Laden, bitte warten."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -686,5 +686,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is: ",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+37
-31
@@ -23,10 +23,10 @@
|
||||
"act-createCustomField": "creó el campo personalizado __customField__ en la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-createList": "añadida la lista __list__ al tablero __board__",
|
||||
"act-addBoardMember": "añadido el mimbro __member__ al tablero __board__",
|
||||
"act-archivedBoard": "El tablero __board__ se ha movido a Archivo",
|
||||
"act-archivedCard": "La tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__ se ha movido a Archivo",
|
||||
"act-archivedList": "La lista __list__ del carril __swimlane__ del tablero __board__ se ha movido a Archivo",
|
||||
"act-archivedSwimlane": "El carril __swimlane__ del tablero __board__ se ha movido a Archivo",
|
||||
"act-archivedBoard": "El tablero __board__ se ha archivado",
|
||||
"act-archivedCard": "La tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__ se ha archivado",
|
||||
"act-archivedList": "La lista __list__ del carril __swimlane__ del tablero __board__ se ha archivado",
|
||||
"act-archivedSwimlane": "El carril __swimlane__ del tablero __board__ se ha archivado",
|
||||
"act-importBoard": "importado el tablero __board__",
|
||||
"act-importCard": "importada la tarjeta __card__ a la lista __list__ del carrril __swimlane__ del tablero __board__",
|
||||
"act-importList": "importada la lista __list__ al carril __swimlane__ del tablero __board__",
|
||||
@@ -42,7 +42,7 @@
|
||||
"activities": "Actividades",
|
||||
"activity": "Actividad",
|
||||
"activity-added": "ha añadido %s a %s",
|
||||
"activity-archived": "%s movido a Archivo",
|
||||
"activity-archived": "%s se ha archivado",
|
||||
"activity-attached": "ha adjuntado %s a %s",
|
||||
"activity-created": "ha creado %s",
|
||||
"activity-customfield-created": "creó el campo personalizado %s",
|
||||
@@ -92,19 +92,19 @@
|
||||
"and-n-other-card_plural": "y otras __count__ tarjetas",
|
||||
"apply": "Aplicar",
|
||||
"app-is-offline": "Cargando, espera por favor. Refrescar esta página causará pérdida de datos. Si la carga no funciona, por favor comprueba que el servidor no se ha parado.",
|
||||
"archive": "Mover al Archivo",
|
||||
"archive-all": "Mover todo al Archivo",
|
||||
"archive-board": "Mover Tablero al Archivo",
|
||||
"archive-card": "Mover tarjeta al Archivo",
|
||||
"archive-list": "Mover Lista al Archivo",
|
||||
"archive-swimlane": "Mover carril al Archivo",
|
||||
"archive-selection": "Mover selección al Archivo",
|
||||
"archiveBoardPopup-title": "¿Mover Tablero al Archivo?",
|
||||
"archived-items": "Archivar",
|
||||
"archive": "Archivar",
|
||||
"archive-all": "Archivar todo",
|
||||
"archive-board": "Archivar este tablero",
|
||||
"archive-card": "Archivar esta tarjeta",
|
||||
"archive-list": "Archivar esta lista",
|
||||
"archive-swimlane": "Archivar este carril",
|
||||
"archive-selection": "Archivar esta selección",
|
||||
"archiveBoardPopup-title": "¿Archivar este tablero?",
|
||||
"archived-items": "Archivo",
|
||||
"archived-boards": "Tableros en Archivo",
|
||||
"restore-board": "Restaurar el tablero",
|
||||
"no-archived-boards": "No hay Tableros en el Archivo",
|
||||
"archives": "Archivar",
|
||||
"archives": "Archivo",
|
||||
"template": "Plantilla",
|
||||
"templates": "Plantillas",
|
||||
"assign-member": "Asignar miembros",
|
||||
@@ -133,8 +133,8 @@
|
||||
"board-view-lists": "Listas",
|
||||
"bucket-example": "Como “Cosas por hacer” por ejemplo",
|
||||
"cancel": "Cancelar",
|
||||
"card-archived": "Esta tarjeta se movió al Archivo",
|
||||
"board-archived": "Este tablero se movió al Archivo",
|
||||
"card-archived": "Se archivó esta tarjeta",
|
||||
"board-archived": "Se archivó este tablero",
|
||||
"card-comments-title": "Esta tarjeta tiene %s comentarios.",
|
||||
"card-delete-notice": "la eliminación es permanente. Perderás todas las acciones asociadas a esta tarjeta.",
|
||||
"card-delete-pop": "Se eliminarán todas las acciones del historial de actividades y no se podrá volver a abrir la tarjeta. Esta acción no puede deshacerse.",
|
||||
@@ -347,7 +347,7 @@
|
||||
"leave-board-pop": "¿Seguro que quieres abandonar __boardTitle__? Serás desvinculado de todas las tarjetas en este tablero.",
|
||||
"leaveBoardPopup-title": "¿Abandonar el tablero?",
|
||||
"link-card": "Enlazar a esta tarjeta",
|
||||
"list-archive-cards": "Mover todas las tarjetas de la lista al Archivo",
|
||||
"list-archive-cards": "Archivar todas las tarjetas de esta lista",
|
||||
"list-archive-cards-pop": "Esto eliminará del tablero todas las tarjetas en esta lista. Para ver las tarjetas en el Archivo y recuperarlas al tablero haga click en \"Menu\" > \"Archivo\"",
|
||||
"list-move-cards": "Mover todas las tarjetas de esta lista",
|
||||
"list-select-cards": "Seleccionar todas las tarjetas de esta lista",
|
||||
@@ -514,7 +514,7 @@
|
||||
"OS_Loadavg": "Carga media del sistema",
|
||||
"OS_Platform": "Plataforma del sistema",
|
||||
"OS_Release": "Publicación del sistema",
|
||||
"OS_Totalmem": "Memoria Total del sistema",
|
||||
"OS_Totalmem": "Memoria total del sistema",
|
||||
"OS_Type": "Tipo de sistema",
|
||||
"OS_Uptime": "Tiempo activo del sistema",
|
||||
"days": "días",
|
||||
@@ -528,8 +528,8 @@
|
||||
"no": "No",
|
||||
"accounts": "Cuentas",
|
||||
"accounts-allowEmailChange": "Permitir cambiar el correo electrónico",
|
||||
"accounts-allowUserNameChange": "Permitir el cambio del nombre de usuario",
|
||||
"createdAt": "Creado en",
|
||||
"accounts-allowUserNameChange": "Permitir cambiar el nombre de usuario",
|
||||
"createdAt": "Fecha de alta",
|
||||
"verified": "Verificado",
|
||||
"active": "Activo",
|
||||
"card-received": "Recibido",
|
||||
@@ -592,7 +592,7 @@
|
||||
"set-filter": "Filtrar",
|
||||
"r-moved-to": "Movido a",
|
||||
"r-moved-from": "Movido desde",
|
||||
"r-archived": "Movido a Archivo",
|
||||
"r-archived": "Se archivó",
|
||||
"r-unarchived": "Restaurado del archivo",
|
||||
"r-a-card": "una tarjeta",
|
||||
"r-when-a-label-is": "Cuando una etiqueta es",
|
||||
@@ -610,11 +610,11 @@
|
||||
"r-when-the-item": "Cuando el elemento de la lista de verificación es",
|
||||
"r-checked": "Marcado",
|
||||
"r-unchecked": "Desmarcado",
|
||||
"r-move-card-to": "Mover tarjeta a",
|
||||
"r-move-card-to": "Mover la tarjeta a",
|
||||
"r-top-of": "Arriba de",
|
||||
"r-bottom-of": "Abajo de",
|
||||
"r-its-list": "su lista",
|
||||
"r-archive": "Mover al Archivo",
|
||||
"r-archive": "Archivar",
|
||||
"r-unarchive": "Restaurar del Archivo",
|
||||
"r-card": "tarjeta",
|
||||
"r-add": "Añadir",
|
||||
@@ -635,15 +635,15 @@
|
||||
"r-to": "a",
|
||||
"r-subject": "asunto",
|
||||
"r-rule-details": "Detalle de la regla",
|
||||
"r-d-move-to-top-gen": "Mover tarjeta arriba de su lista",
|
||||
"r-d-move-to-top-spec": "Mover tarjeta arriba de la lista",
|
||||
"r-d-move-to-bottom-gen": "Mover tarjeta abajo de su lista",
|
||||
"r-d-move-to-bottom-spec": "Mover tarjeta al fondo de la lista",
|
||||
"r-d-move-to-top-gen": "Mover la tarjeta al inicio de su lista",
|
||||
"r-d-move-to-top-spec": "Mover la tarjeta al inicio de la lista",
|
||||
"r-d-move-to-bottom-gen": "Mover la tarjeta al final de su lista",
|
||||
"r-d-move-to-bottom-spec": "Mover la tarjeta al final de la lista",
|
||||
"r-d-send-email": "Enviar email",
|
||||
"r-d-send-email-to": "a",
|
||||
"r-d-send-email-subject": "asunto",
|
||||
"r-d-send-email-message": "mensaje",
|
||||
"r-d-archive": "Mover tarjeta al Archivo",
|
||||
"r-d-archive": "Archivar la tarjeta",
|
||||
"r-d-unarchive": "Restaurar tarjeta del Archivo",
|
||||
"r-d-add-label": "Añadir etiqueta",
|
||||
"r-d-remove-label": "Eliminar etiqueta",
|
||||
@@ -675,7 +675,7 @@
|
||||
"authentication-method": "Método de autenticación",
|
||||
"authentication-type": "Tipo de autenticación",
|
||||
"custom-product-name": "Nombre de producto personalizado",
|
||||
"layout": "Disñeo",
|
||||
"layout": "Diseño",
|
||||
"hide-logo": "Ocultar logo",
|
||||
"add-custom-html-after-body-start": "Añade HTML personalizado después de <body> ",
|
||||
"add-custom-html-before-body-end": "Añade HTML personalizado después de </body>",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Ocurrió un error al intentar acceder",
|
||||
"display-authentication-method": "Mostrar el método de autenticación",
|
||||
"default-authentication-method": "Método de autenticación por defecto",
|
||||
"duplicate-board": "Duplicar tablero"
|
||||
"duplicate-board": "Duplicar tablero",
|
||||
"people-number": "El número de personas es:",
|
||||
"swimlaneDeletePopup-title": "¿Eliminar el carril de flujo?",
|
||||
"swimlane-delete-pop": "Todas las acciones serán eliminadas del historial de actividades y no se podrá recuperar el carril de flujo. Esta acción no puede deshacerse.",
|
||||
"restore-all": "Restaurar todas",
|
||||
"delete-all": "Borrar todas",
|
||||
"loading": "Cargando. Por favor, espere."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "هنگام تلاش برای ورود به یک خطا رخ داد",
|
||||
"display-authentication-method": "نمایش نوع اعتبارسنجی",
|
||||
"default-authentication-method": "نوع اعتبارسنجی پیشفرض",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+76
-70
@@ -83,7 +83,7 @@
|
||||
"added": "Lisätty",
|
||||
"addMemberPopup-title": "Jäsenet",
|
||||
"admin": "Ylläpitäjä",
|
||||
"admin-desc": "Voi nähfä ja muokata kortteja, poistaa jäseniä, ja muuttaa taulun asetuksia.",
|
||||
"admin-desc": "Voi nähdä ja muokata kortteja, poistaa jäseniä, ja muuttaa taulun asetuksia.",
|
||||
"admin-announcement": "Ilmoitus",
|
||||
"admin-announcement-active": "Aktiivinen järjestelmänlaajuinen ilmoitus",
|
||||
"admin-announcement-title": "Ilmoitus ylläpitäjältä",
|
||||
@@ -103,7 +103,7 @@
|
||||
"archived-items": "Arkisto",
|
||||
"archived-boards": "Taulut Arkistossa",
|
||||
"restore-board": "Palauta taulu",
|
||||
"no-archived-boards": "Ei tauluja Arkistossa",
|
||||
"no-archived-boards": "Ei tauluja Arkistossa.",
|
||||
"archives": "Arkisto",
|
||||
"template": "Malli",
|
||||
"templates": "Mallit",
|
||||
@@ -114,7 +114,7 @@
|
||||
"attachmentDeletePopup-title": "Poista liitetiedosto?",
|
||||
"attachments": "Liitetiedostot",
|
||||
"auto-watch": "Automaattisesti seuraa tauluja kun ne on luotu",
|
||||
"avatar-too-big": "Profiilikuva on liian suuri (70KB maksimi)",
|
||||
"avatar-too-big": "Profiilikuva on liian suuri (enintään 70 kt)",
|
||||
"back": "Takaisin",
|
||||
"board-change-color": "Muokkaa väriä",
|
||||
"board-nb-stars": "%s tähteä",
|
||||
@@ -125,9 +125,9 @@
|
||||
"boardChangeTitlePopup-title": "Nimeä taulu uudelleen",
|
||||
"boardChangeVisibilityPopup-title": "Muokkaa näkyvyyttä",
|
||||
"boardChangeWatchPopup-title": "Muokkaa seuraamista",
|
||||
"boardMenuPopup-title": "Taulu asetukset",
|
||||
"boardMenuPopup-title": "Tauluasetukset",
|
||||
"boards": "Taulut",
|
||||
"board-view": "Taulu näkymä",
|
||||
"board-view": "Taulunäkymä",
|
||||
"board-view-cal": "Kalenteri",
|
||||
"board-view-swimlanes": "Swimlanet",
|
||||
"board-view-lists": "Listat",
|
||||
@@ -136,8 +136,8 @@
|
||||
"card-archived": "Tämä kortti on siirretty Arkistoon.",
|
||||
"board-archived": "Tämä taulu on siirretty Arkistoon.",
|
||||
"card-comments-title": "Tässä kortissa on %s kommenttia.",
|
||||
"card-delete-notice": "Poistaminen on lopullista. Menetät kaikki toimet jotka on liitetty tähän korttiin.",
|
||||
"card-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja et tule pystymään uudelleenavaamaan korttia. Tätä ei voi peruuttaa.",
|
||||
"card-delete-notice": "Poistaminen on lopullista. Menetät kaikki tähän korttiin liitetyt toimet.",
|
||||
"card-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä, etkä pysty avata korttia uudelleen. Tätä ei voi peruuttaa.",
|
||||
"card-delete-suggest-archive": "Voit siirtää kortin Arkistoon poistaaksesi sen taululta ja säilyttääksesi toimintalokin.",
|
||||
"card-due": "Erääntyy",
|
||||
"card-due-on": "Erääntyy",
|
||||
@@ -154,14 +154,14 @@
|
||||
"cardCustomField-datePopup-title": "Muokkaa päivää",
|
||||
"cardCustomFieldsPopup-title": "Muokkaa mukautettuja kenttiä",
|
||||
"cardDeletePopup-title": "Poista kortti?",
|
||||
"cardDetailsActionsPopup-title": "Kortti toimet",
|
||||
"cardDetailsActionsPopup-title": "Korttitoimet",
|
||||
"cardLabelsPopup-title": "Tunnisteet",
|
||||
"cardMembersPopup-title": "Jäsenet",
|
||||
"cardMorePopup-title": "Lisää",
|
||||
"cardTemplatePopup-title": "Luo malli",
|
||||
"cards": "Kortit",
|
||||
"cards-count": "korttia",
|
||||
"casSignIn": "CAS kirjautuminen",
|
||||
"casSignIn": "CAS-kirjautuminen",
|
||||
"cardType-card": "Kortti",
|
||||
"cardType-linkedCard": "Linkitetty kortti",
|
||||
"cardType-linkedBoard": "Linkitetty taulu",
|
||||
@@ -182,7 +182,7 @@
|
||||
"clipboard": "Leikepöytä tai raahaa ja pudota",
|
||||
"close": "Sulje",
|
||||
"close-board": "Sulje taulu",
|
||||
"close-board-pop": "Voit palauttaa taulun klikkaamalla “Arkisto” painiketta taululistan yläpalkista.",
|
||||
"close-board-pop": "Voit palauttaa taulun klikkaamalla “Arkisto”-painiketta taululistan yläpalkista.",
|
||||
"color-black": "musta",
|
||||
"color-blue": "sininen",
|
||||
"color-crimson": "karmiininpunainen",
|
||||
@@ -216,14 +216,14 @@
|
||||
"no-comments": "Ei kommentteja",
|
||||
"no-comments-desc": "Ei voi nähdä kommentteja ja toimintaa.",
|
||||
"computer": "Tietokone",
|
||||
"confirm-subtask-delete-dialog": "Oletko varma että haluat poistaa alitehtävän?",
|
||||
"confirm-checklist-delete-dialog": "Oletko varma että haluat poistaa tarkistuslistan?",
|
||||
"confirm-subtask-delete-dialog": "Haluatko varmasti poistaa alitehtävän?",
|
||||
"confirm-checklist-delete-dialog": "Haluatko varmasti poistaa tarkistuslistan?",
|
||||
"copy-card-link-to-clipboard": "Kopioi kortin linkki leikepöydälle",
|
||||
"linkCardPopup-title": "Linkitä kortti",
|
||||
"searchElementPopup-title": "Etsi",
|
||||
"copyCardPopup-title": "Kopioi kortti",
|
||||
"copyChecklistToManyCardsPopup-title": "Kopioi tarkistuslistan malli monille korteille",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Kohde korttien otsikot ja kuvaukset JSON muodossa",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Kohde korttien otsikot ja kuvaukset JSON-muodossa",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Ensimmäisen kortin otsikko\", \"description\":\"Ensimmäisen kortin kuvaus\"}, {\"title\":\"Toisen kortin otsikko\",\"description\":\"Toisen kortin kuvaus\"},{\"title\":\"Viimeisen kortin otsikko\",\"description\":\"Viimeisen kortin kuvaus\"} ]",
|
||||
"create": "Luo",
|
||||
"createBoardPopup-title": "Luo taulu",
|
||||
@@ -237,7 +237,7 @@
|
||||
"custom-field-date": "Päivämäärä",
|
||||
"custom-field-dropdown": "Pudotusvalikko",
|
||||
"custom-field-dropdown-none": "(ei mitään)",
|
||||
"custom-field-dropdown-options": "Luettelon vaihtoehdot",
|
||||
"custom-field-dropdown-options": "Listan vaihtoehdot",
|
||||
"custom-field-dropdown-options-placeholder": "Paina Enter lisätäksesi lisää vaihtoehtoja",
|
||||
"custom-field-dropdown-unknown": "(tuntematon)",
|
||||
"custom-field-number": "Numero",
|
||||
@@ -245,13 +245,13 @@
|
||||
"custom-fields": "Mukautetut kentät",
|
||||
"date": "Päivämäärä",
|
||||
"decline": "Kieltäydy",
|
||||
"default-avatar": "Oletus profiilikuva",
|
||||
"default-avatar": "Oletusprofiilikuva",
|
||||
"delete": "Poista",
|
||||
"deleteCustomFieldPopup-title": "Poista mukautettu kenttä?",
|
||||
"deleteLabelPopup-title": "Poista tunniste?",
|
||||
"description": "Kuvaus",
|
||||
"disambiguateMultiLabelPopup-title": "Yksikäsitteistä tunniste toiminta",
|
||||
"disambiguateMultiMemberPopup-title": "Yksikäsitteistä jäsen toiminta",
|
||||
"disambiguateMultiLabelPopup-title": "Yksikäsitteistä tunnistetoiminta",
|
||||
"disambiguateMultiMemberPopup-title": "Yksikäsitteistä jäsentoiminta",
|
||||
"discard": "Hylkää",
|
||||
"done": "Valmis",
|
||||
"download": "Lataa",
|
||||
@@ -259,7 +259,7 @@
|
||||
"edit-avatar": "Muokkaa profiilikuvaa",
|
||||
"edit-profile": "Muokkaa profiilia",
|
||||
"edit-wip-limit": "Muokkaa WIP-rajaa",
|
||||
"soft-wip-limit": "Pehmeä WIP raja",
|
||||
"soft-wip-limit": "Pehmeä WIP-raja",
|
||||
"editCardStartDatePopup-title": "Muokkaa aloituspäivää",
|
||||
"editCardDueDatePopup-title": "Muokkaa eräpäivää",
|
||||
"editCustomFieldPopup-title": "Muokkaa kenttää",
|
||||
@@ -268,25 +268,25 @@
|
||||
"editNotificationPopup-title": "Muokkaa ilmoituksia",
|
||||
"editProfilePopup-title": "Muokkaa profiilia",
|
||||
"email": "Sähköposti",
|
||||
"email-enrollAccount-subject": "An account created for you on __siteName__",
|
||||
"email-enrollAccount-text": "Hei __user__,\n\nAlkaaksesi käyttämään palvelua, klikkaa allaolevaa linkkiä.\n\n__url__\n\nKiitos.",
|
||||
"email-enrollAccount-subject": "Sinulle on luotu tili palveluun __siteName__",
|
||||
"email-enrollAccount-text": "Hei __user__,\n\nKlikkaa alla olevaa linkkiä aloittaaksesi palvelun käytön.\n\n__url__\n\nKiitos.",
|
||||
"email-fail": "Sähköpostin lähettäminen epäonnistui",
|
||||
"email-fail-text": "Virhe yrittäessä lähettää sähköpostia",
|
||||
"email-invalid": "Virheellinen sähköposti",
|
||||
"email-invite": "Kutsu sähköpostilla",
|
||||
"email-invite-subject": "__inviter__ lähetti sinulle kutsun",
|
||||
"email-invite-text": "Hyvä __user__,\n\n__inviter__ kutsuu sinut liittymään taululle \"__board__\" yhteistyötä varten.\n\nOle hyvä ja seuraa allaolevaa linkkiä:\n\n__url__\n\nKiitos.",
|
||||
"email-resetPassword-subject": "Reset your password on __siteName__",
|
||||
"email-resetPassword-text": "Hei __user__,\n\nNollataksesi salasanasi, klikkaa allaolevaa linkkiä.\n\n__url__\n\nKiitos.",
|
||||
"email-invite-text": "Hyvä __user__,\n\n__inviter__ kutsuu sinut liittymään taululle \"__board__\" yhteistyötä varten.\n\nOle hyvä ja seuraa alla olevaa linkkiä:\n\n__url__\n\nKiitos.",
|
||||
"email-resetPassword-subject": "Nollaa salasanasi palvelussa __siteName__",
|
||||
"email-resetPassword-text": "Hei __user__,\n\nNollataksesi salasanasi, klikkaa alla olevaa linkkiä.\n\n__url__\n\nKiitos.",
|
||||
"email-sent": "Sähköposti lähetetty",
|
||||
"email-verifyEmail-subject": "Varmista sähköpostiosoitteesi osoitteessa __url__",
|
||||
"email-verifyEmail-text": "Hei __user__,\n\nvahvistaaksesi sähköpostiosoitteesi, klikkaa allaolevaa linkkiä.\n\n__url__\n\nKiitos.",
|
||||
"email-verifyEmail-text": "Hei __user__,\n\nvahvistaaksesi sähköpostiosoitteesi, klikkaa alla olevaa linkkiä.\n\n__url__\n\nKiitos.",
|
||||
"enable-wip-limit": "Ota käyttöön WIP-raja",
|
||||
"error-board-doesNotExist": "Tämä taulu ei ole olemassa",
|
||||
"error-board-doesNotExist": "Tätä taulua ei ole olemassa",
|
||||
"error-board-notAdmin": "Tehdäksesi tämän sinun täytyy olla tämän taulun ylläpitäjä",
|
||||
"error-board-notAMember": "Tehdäksesi tämän sinun täytyy olla tämän taulun jäsen",
|
||||
"error-json-malformed": "Tekstisi ei ole kelvollisessa JSON muodossa",
|
||||
"error-json-schema": "JSON tietosi ei sisällä oikeaa tietoa oikeassa muodossa",
|
||||
"error-json-malformed": "Tekstisi ei ole kelvollisessa JSON-muodossa",
|
||||
"error-json-schema": "JSON-tietosi ei sisällä oikeaa tietoa oikeassa muodossa",
|
||||
"error-list-doesNotExist": "Tätä listaa ei ole olemassa",
|
||||
"error-user-doesNotExist": "Tätä käyttäjää ei ole olemassa",
|
||||
"error-user-notAllowSelf": "Et voi kutsua itseäsi",
|
||||
@@ -316,14 +316,14 @@
|
||||
"import-board-c": "Tuo taulu",
|
||||
"import-board-title-trello": "Tuo taulu Trellosta",
|
||||
"import-board-title-wekan": "Tuo taulu edellisestä viennistä",
|
||||
"import-sandstorm-backup-warning": "Älä poista tietoja joita toit alkuperäisestä viennistä tai Trellosta ennenkuin tarkistat onnistuuko sulkea ja avata tämä jyvä uudelleen, vai näkyykö Board not found virhe, joka tarkoittaa tietojen häviämistä.",
|
||||
"import-sandstorm-warning": "Tuotu taulu poistaa kaikki olemassaolevan taulun tiedot ja korvaa ne tuodulla taululla.",
|
||||
"import-sandstorm-backup-warning": "Älä poista tietoja joita toit alkuperäisestä viennistä tai Trellosta ennen kuin tarkistat onnistuuko sulkea ja avata tämä jyvä uudelleen, vai näkyykö Board not found -virhe, joka tarkoittaa tietojen häviämistä.",
|
||||
"import-sandstorm-warning": "Tuotu taulu poistaa kaikki olemassa olevan taulun tiedot ja korvaa ne tuodulla taululla.",
|
||||
"from-trello": "Trellosta",
|
||||
"from-wekan": "Edellisestä viennistä",
|
||||
"import-board-instruction-trello": "Trello taulullasi, mene 'Menu', sitten 'More', 'Print and Export', 'Export JSON', ja kopioi tuloksena saamasi teksti",
|
||||
"import-board-instruction-trello": "Mene Trello-taulullasi 'Menu', sitten 'More', 'Print and Export', 'Export JSON', ja kopioi tuloksena saamasi teksti",
|
||||
"import-board-instruction-wekan": "Taulullasi, mene 'Valikko', sitten 'Vie taulu', ja kopioi teksti ladatusta tiedostosta.",
|
||||
"import-board-instruction-about-errors": "Jos virheitä tulee taulua tuotaessa, joskus tuonti silti toimii, ja taulu on Kaikki taulut sivulla.",
|
||||
"import-json-placeholder": "Liitä kelvollinen JSON tietosi tähän",
|
||||
"import-json-placeholder": "Liitä kelvollinen JSON-tietosi tähän",
|
||||
"import-map-members": "Vastaavat jäsenet",
|
||||
"import-members-map": "Tuomallasi taululla on muutamia jäseniä. Ole hyvä ja valitse tuomiasi jäseniä vastaavat käyttäjäsi",
|
||||
"import-show-user-mapping": "Tarkasta vastaavat jäsenet",
|
||||
@@ -345,17 +345,17 @@
|
||||
"last-admin-desc": "Et voi vaihtaa rooleja koska täytyy olla olemassa ainakin yksi ylläpitäjä.",
|
||||
"leave-board": "Jää pois taululta",
|
||||
"leave-board-pop": "Haluatko varmasti poistua taululta __boardTitle__? Sinut poistetaan kaikista tämän taulun korteista.",
|
||||
"leaveBoardPopup-title": "Jää pois taululta ?",
|
||||
"leaveBoardPopup-title": "Poistu taululta?",
|
||||
"link-card": "Linkki tähän korttiin",
|
||||
"list-archive-cards": "Siirrä kaikki tämän listan kortit Arkistoon",
|
||||
"list-archive-cards-pop": "Tämä poistaa kaikki tämän listan kortit taululta. Nähdäksesi Arkistossa olevat kortit ja tuodaksesi ne takaisin taululle, klikkaa “Valikko” > “Arkisto”.",
|
||||
"list-move-cards": "Siirrä kaikki kortit tässä listassa",
|
||||
"list-select-cards": "Valitse kaikki kortit tässä listassa",
|
||||
"set-color-list": "Aseta väri",
|
||||
"listActionPopup-title": "Listaa toimet",
|
||||
"swimlaneActionPopup-title": "Swimlane toimet",
|
||||
"listActionPopup-title": "Listatoimet",
|
||||
"swimlaneActionPopup-title": "Swimlane-toimet",
|
||||
"swimlaneAddPopup-title": "Lisää Swimlane alle",
|
||||
"listImportCardPopup-title": "Tuo Trello kortti",
|
||||
"listImportCardPopup-title": "Tuo Trello-kortti",
|
||||
"listMorePopup-title": "Lisää",
|
||||
"link-list": "Linkki tähän listaan",
|
||||
"list-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja listan poistaminen on lopullista. Tätä ei pysty peruuttamaan.",
|
||||
@@ -365,7 +365,7 @@
|
||||
"log-out": "Kirjaudu ulos",
|
||||
"log-in": "Kirjaudu sisään",
|
||||
"loginPopup-title": "Kirjaudu sisään",
|
||||
"memberMenuPopup-title": "Jäsen asetukset",
|
||||
"memberMenuPopup-title": "Jäsenasetukset",
|
||||
"members": "Jäsenet",
|
||||
"menu": "Valikko",
|
||||
"move-selection": "Siirrä valinta",
|
||||
@@ -390,7 +390,7 @@
|
||||
"notify-watch": "Vastaanota päivityksiä kaikilta tauluilta, listoilta tai korteilta joita seuraat.",
|
||||
"optional": "valinnainen",
|
||||
"or": "tai",
|
||||
"page-maybe-private": "Tämä sivu voi olla yksityinen. Voit ehkä pystyä näkemään sen <a href='%s'>kirjautumalla sisään</a>.",
|
||||
"page-maybe-private": "Tämä sivu voi olla yksityinen. Saatat nähdä sen <a href='%s'>kirjautumalla sisään</a>.",
|
||||
"page-not-found": "Sivua ei löytynyt.",
|
||||
"password": "Salasana",
|
||||
"paste-or-dragdrop": "liittääksesi, tai vedä & pudota kuvatiedosto siihen (vain kuva)",
|
||||
@@ -407,7 +407,7 @@
|
||||
"remove-cover": "Poista kansi",
|
||||
"remove-from-board": "Poista taululta",
|
||||
"remove-label": "Poista tunniste",
|
||||
"listDeletePopup-title": "Poista lista ?",
|
||||
"listDeletePopup-title": "Poista lista?",
|
||||
"remove-member": "Poista jäsen",
|
||||
"remove-member-from-card": "Poista kortilta",
|
||||
"remove-member-pop": "Poista __name__ (__username__) taululta __boardTitle__? Jäsen poistetaan kaikilta taulun korteilta. Heille lähetetään ilmoitus.",
|
||||
@@ -419,7 +419,7 @@
|
||||
"search": "Etsi",
|
||||
"rules": "Säännöt",
|
||||
"search-cards": "Etsi korttien otsikoista ja kuvauksista tällä taululla",
|
||||
"search-example": "Teksti jota etsitään?",
|
||||
"search-example": "Etsittävä teksti?",
|
||||
"select-color": "Valitse väri",
|
||||
"set-wip-limit-value": "Aseta tämän listan tehtävien enimmäismäärä",
|
||||
"setWipLimitPopup-title": "Aseta WIP-raja",
|
||||
@@ -429,9 +429,9 @@
|
||||
"shortcut-clear-filters": "Poista kaikki suodattimet",
|
||||
"shortcut-close-dialog": "Sulje valintaikkuna",
|
||||
"shortcut-filter-my-cards": "Suodata korttini",
|
||||
"shortcut-show-shortcuts": "Tuo esiin tämä pikavalinta lista",
|
||||
"shortcut-toggle-filterbar": "Muokkaa suodatus sivupalkin näkyvyyttä",
|
||||
"shortcut-toggle-sidebar": "Muokkaa taulu sivupalkin näkyvyyttä",
|
||||
"shortcut-show-shortcuts": "Tuo esiin tämä pikavalintalista",
|
||||
"shortcut-toggle-filterbar": "Muokkaa suodatussivupalkin näkyvyyttä",
|
||||
"shortcut-toggle-sidebar": "Muokkaa taulusivupalkin näkyvyyttä",
|
||||
"show-cards-minimum-count": "Näytä korttien lukumäärä jos lista sisältää enemmän kuin",
|
||||
"sidebar-open": "Avaa sivupalkki",
|
||||
"sidebar-close": "Sulje sivupalkki",
|
||||
@@ -446,8 +446,8 @@
|
||||
"spent-time-hours": "Käytetty aika (tuntia)",
|
||||
"overtime-hours": "Ylityö (tuntia)",
|
||||
"overtime": "Ylityö",
|
||||
"has-overtime-cards": "Sisältää ylityö kortteja",
|
||||
"has-spenttime-cards": "Sisältää käytetty aika kortteja",
|
||||
"has-overtime-cards": "Sisältää ylityökortteja",
|
||||
"has-spenttime-cards": "Sisältää käytetty aika -kortteja",
|
||||
"time": "Aika",
|
||||
"title": "Otsikko",
|
||||
"tracking": "Ilmoitukset",
|
||||
@@ -465,13 +465,13 @@
|
||||
"watch": "Seuraa",
|
||||
"watching": "Seurataan",
|
||||
"watching-info": "Sinulle ilmoitetaan tämän taulun muutoksista",
|
||||
"welcome-board": "Tervetuloa taulu",
|
||||
"welcome-board": "Tervetuloa-taulu",
|
||||
"welcome-swimlane": "Merkkipaalu 1",
|
||||
"welcome-list1": "Perusasiat",
|
||||
"welcome-list2": "Edistynyt",
|
||||
"card-templates-swimlane": "Kortti mallit",
|
||||
"list-templates-swimlane": "Lista mallit",
|
||||
"board-templates-swimlane": "Taulu mallit",
|
||||
"card-templates-swimlane": "Korttimallit",
|
||||
"list-templates-swimlane": "Listamallit",
|
||||
"board-templates-swimlane": "Taulumallit",
|
||||
"what-to-do": "Mitä haluat tehdä?",
|
||||
"wipLimitErrorPopup-title": "Virheellinen WIP-raja",
|
||||
"wipLimitErrorPopup-dialog-pt1": "Tässä listassa olevien tehtävien määrä on korkeampi kuin asettamasi WIP-raja.",
|
||||
@@ -480,36 +480,36 @@
|
||||
"settings": "Asetukset",
|
||||
"people": "Ihmiset",
|
||||
"registration": "Rekisteröinti",
|
||||
"disable-self-registration": "Poista käytöstä itse-rekisteröityminen",
|
||||
"disable-self-registration": "Poista käytöstä itserekisteröityminen",
|
||||
"invite": "Kutsu",
|
||||
"invite-people": "Kutsu ihmisiä",
|
||||
"to-boards": "Taulu(i)lle",
|
||||
"email-addresses": "Sähköpostiosoite",
|
||||
"smtp-host-description": "SMTP palvelimen osoite jolla sähköpostit lähetetään.",
|
||||
"smtp-port-description": "Portti jota STMP palvelimesi käyttää lähteville sähköposteille.",
|
||||
"smtp-tls-description": "Ota käyttöön TLS tuki SMTP palvelimelle",
|
||||
"smtp-host": "SMTP isäntä",
|
||||
"smtp-port": "SMTP portti",
|
||||
"smtp-host-description": "SMTP-palvelimen osoite jolla sähköpostit lähetetään.",
|
||||
"smtp-port-description": "STMP-palvelimesi käyttämä lähteville sähköposteille tarkoitettu portti.",
|
||||
"smtp-tls-description": "Ota käyttöön TLS-tuki SMTP-palvelimelle",
|
||||
"smtp-host": "SMTP-isäntä",
|
||||
"smtp-port": "SMTP-portti",
|
||||
"smtp-username": "Käyttäjätunnus",
|
||||
"smtp-password": "Salasana",
|
||||
"smtp-tls": "TLS tuki",
|
||||
"smtp-tls": "TLS-tuki",
|
||||
"send-from": "Lähettäjä",
|
||||
"send-smtp-test": "Lähetä testi sähköposti itsellesi",
|
||||
"send-smtp-test": "Lähetä testisähköposti itsellesi",
|
||||
"invitation-code": "Kutsukoodi",
|
||||
"email-invite-register-subject": "__inviter__ lähetti sinulle kutsun",
|
||||
"email-invite-register-text": "Hei __user__,\n\n__inviter__ kutsuu sinut mukaan kanban taulun käyttöön.\n\nOle hyvä ja seuraa allaolevaa linkkiä:\n__url__\n\nJa kutsukoodisi on: __icode__\n\nKiitos.",
|
||||
"email-smtp-test-subject": "SMTP testi sähköposti",
|
||||
"email-invite-register-text": "Hei __user__,\n\n__inviter__ kutsuu sinut mukaan kanban-taulun käyttöön.\n\nOle hyvä ja seuraa alla olevaa linkkiä:\n__url__\n\nKutsukoodisi on: __icode__\n\nKiitos.",
|
||||
"email-smtp-test-subject": "SMTP-testisähköposti",
|
||||
"email-smtp-test-text": "Olet onnistuneesti lähettänyt sähköpostin",
|
||||
"error-invitation-code-not-exist": "Kutsukoodi ei ole olemassa",
|
||||
"error-invitation-code-not-exist": "Kutsukoodia ei ole olemassa",
|
||||
"error-notAuthorized": "Sinulla ei ole oikeutta tarkastella tätä sivua.",
|
||||
"outgoing-webhooks": "Lähtevät Webkoukut",
|
||||
"outgoingWebhooksPopup-title": "Lähtevät Webkoukut",
|
||||
"boardCardTitlePopup-title": "Kortin otsikko suodatin",
|
||||
"boardCardTitlePopup-title": "Kortin otsikkosuodatin",
|
||||
"new-outgoing-webhook": "Uusi lähtevä Webkoukku",
|
||||
"no-name": "(Tuntematon)",
|
||||
"Node_version": "Node versio",
|
||||
"Node_version": "Node-versio",
|
||||
"OS_Arch": "Käyttöjärjestelmän arkkitehtuuri",
|
||||
"OS_Cpus": "Käyttöjärjestelmän CPU määrä",
|
||||
"OS_Cpus": "Käyttöjärjestelmän CPU-määrä",
|
||||
"OS_Freemem": "Käyttöjärjestelmän vapaa muisti",
|
||||
"OS_Loadavg": "Käyttöjärjestelmän kuorman keskiarvo",
|
||||
"OS_Platform": "Käyttöjärjestelmäalusta",
|
||||
@@ -548,13 +548,13 @@
|
||||
"delete-board-confirm-popup": "Kaikki listat, kortit, tunnisteet ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
|
||||
"boardDeletePopup-title": "Poista taulu?",
|
||||
"delete-board": "Poista taulu",
|
||||
"default-subtasks-board": "Alitehtävät __board__ taululle",
|
||||
"default-subtasks-board": "Alitehtävät taululle __board__",
|
||||
"default": "Oletus",
|
||||
"queue": "Jono",
|
||||
"subtask-settings": "Alitehtävä asetukset",
|
||||
"boardSubtaskSettingsPopup-title": "Taulu alitehtävien asetukset",
|
||||
"subtask-settings": "Alitehtävä-asetukset",
|
||||
"boardSubtaskSettingsPopup-title": "Taulualitehtävien asetukset",
|
||||
"show-subtasks-field": "Korteilla voi olla alitehtäviä",
|
||||
"deposit-subtasks-board": "Tallenta alitehtävät tälle taululle:",
|
||||
"deposit-subtasks-board": "Talleta alitehtävät tälle taululle:",
|
||||
"deposit-subtasks-list": "Laskeutumislista alatehtäville tallennettu tänne:",
|
||||
"show-parent-in-minicard": "Näytä ylätehtävä minikortilla:",
|
||||
"prefix-with-full-path": "Etuliite koko polulla",
|
||||
@@ -562,7 +562,7 @@
|
||||
"subtext-with-full-path": "Aliteksti koko polulla",
|
||||
"subtext-with-parent": "Aliteksti ylätehtävällä",
|
||||
"change-card-parent": "Muuta kortin ylätehtävää",
|
||||
"parent-card": "Ylätehtävä kortti",
|
||||
"parent-card": "Ylätehtäväkortti",
|
||||
"source-board": "Lähdetaulu",
|
||||
"no-parent": "Älä näytä ylätehtävää",
|
||||
"activity-added-label": "lisätty tunniste '%s' kohteeseen %s",
|
||||
@@ -576,7 +576,7 @@
|
||||
"r-rule": "Sääntö",
|
||||
"r-add-trigger": "Lisää liipaisin",
|
||||
"r-add-action": "Lisää toimi",
|
||||
"r-board-rules": "Taulu säännöt",
|
||||
"r-board-rules": "Taulusäännöt",
|
||||
"r-add-rule": "Lisää sääntö",
|
||||
"r-view-rule": "Näytä sääntö",
|
||||
"r-delete-rule": "Poista sääntö",
|
||||
@@ -682,6 +682,12 @@
|
||||
"error-undefined": "Jotain meni pieleen",
|
||||
"error-ldap-login": "Virhe tapahtui yrittäessä kirjautua sisään",
|
||||
"display-authentication-method": "Näytä kirjautumistapa",
|
||||
"default-authentication-method": "Oletus kirjautumistapa",
|
||||
"duplicate-board": "Tee kaksoiskappale taulusta"
|
||||
"default-authentication-method": "Oletuskirjautumistapa",
|
||||
"duplicate-board": "Tee kaksoiskappale taulusta",
|
||||
"people-number": "Ihmisten määrä on:",
|
||||
"swimlaneDeletePopup-title": "Poista Swimlane?",
|
||||
"swimlane-delete-pop": "Kaikki toimet poistetaan toimintasyötteestä ja swimlanen poistaminen on lopullista. Tätä ei pysty peruuttamaan.",
|
||||
"restore-all": "Palauta kaikki",
|
||||
"delete-all": "Poista kaikki",
|
||||
"loading": "Ladataan, odota hetki."
|
||||
}
|
||||
+9
-3
@@ -386,7 +386,7 @@
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Peut voir et modifier les cartes. Ne peut pas changer les paramètres.",
|
||||
"not-accepted-yet": "L'invitation n'a pas encore été acceptée",
|
||||
"notify-participate": "Recevoir les mises à jour de toutes les cartes auxquelles vous participez en tant que créateur ou que participant ",
|
||||
"notify-participate": "Recevoir les mises à jour de toutes les cartes auxquelles vous participez en tant que créateur ou que participant",
|
||||
"notify-watch": "Recevoir les mises à jour de tous les tableaux, listes ou cartes que vous suivez",
|
||||
"optional": "optionnel",
|
||||
"or": "ou",
|
||||
@@ -432,7 +432,7 @@
|
||||
"shortcut-show-shortcuts": "Afficher cette liste de raccourcis",
|
||||
"shortcut-toggle-filterbar": "Afficher/Masquer la barre latérale des filtres",
|
||||
"shortcut-toggle-sidebar": "Afficher/Masquer la barre latérale du tableau",
|
||||
"show-cards-minimum-count": "Afficher le nombre de cartes si la liste en contient plus de ",
|
||||
"show-cards-minimum-count": "Afficher le nombre de cartes si la liste en contient plus de",
|
||||
"sidebar-open": "Ouvrir le panneau",
|
||||
"sidebar-close": "Fermer le panneau",
|
||||
"signupPopup-title": "Créer un compte",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Une erreur s'est produite lors de la tentative de connexion",
|
||||
"display-authentication-method": "Afficher la méthode d'authentification",
|
||||
"default-authentication-method": "Méthode d'authentification par défaut",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Dupliquer le tableau",
|
||||
"people-number": "Le nombre d'utilisateurs est de :",
|
||||
"swimlaneDeletePopup-title": "Supprimer le couloir ?",
|
||||
"swimlane-delete-pop": "Toutes les actions vont être supprimées du suivi d'activités et vous ne pourrez plus utiliser ce couloir. Cette action est irréversible.",
|
||||
"restore-all": "Tout supprimer",
|
||||
"delete-all": "Tout restaurer",
|
||||
"loading": "Chargement, merci de patienter."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+20
-14
@@ -11,12 +11,12 @@
|
||||
"act-addChecklist": "נוספה רשימת מטלות __checklist__ לכרטיס __card__ ברשימה __list__ שבמסלול __swimlane__ בלוח __board__",
|
||||
"act-addChecklistItem": "נוסף פריט סימון __checklistItem__ לרשימת המטלות __checklist__ לכרטיס __card__ ברשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-removeChecklist": "הוסרה רשימת מטלות __checklist__ מהכרטיס __card__ ברשימה __list__ שבמסלול __swimlane__ בלוח __board__",
|
||||
"act-removeChecklistItem": "removed checklist item __checklistItem__ from checklist __checkList__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-checkedItem": "checked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-uncheckedItem": "unchecked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"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-removeChecklistItem": "פריט הסימון __checklistItem__ הוסר מרשימת המטלות __checkList__ בכרטיס __card__ ברשימה __list__ מהמסלול __swimlane__ בלוח __board__",
|
||||
"act-checkedItem": "הפריט __checklistItem__ ששייך לרשימת המשימות __checklist__ בכרטיס __card__ שברשימת __list__ במסלול __swimlane__ שבלוח __board__ סומן",
|
||||
"act-uncheckedItem": "בוטל הסימון __checklistItem__ ברשימת המטלות __checklist__ בכרטיס __card__ ברשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-completeChecklist": "רשימת המטלות __checklist__ בכרטיס __card__ שברשימה __list__ תחת המסלול __swimlane__ בלוח __board__ הושלמה",
|
||||
"act-uncompleteChecklist": "ההשלמה של רשימת המטלות __checklist__ בכרטיס __card__ שברשימה __list__ תחת המסלול __swimlane__ בלוח __board__ בוטלה",
|
||||
"act-addComment": "התקבלה תגובה על הכרטיס __card__: __comment__ ברשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-createBoard": "הלוח __board__ נוצר",
|
||||
"act-createSwimlane": "נוצר מסלול __swimlane__ בלוח __board__",
|
||||
"act-createCard": "הכרטיס __card__ נוצר ברשימה __list__ במסלול __swimlane__ שבלוח __board__",
|
||||
@@ -31,7 +31,7 @@
|
||||
"act-importCard": "הייבוא של הכרטיס __card__ לרשימה __list__ למסלול __swimlane__ ללוח __board__ הושלם",
|
||||
"act-importList": "הרשימה __list__ ייובאה למסלול __swimlane__ שבלוח __board__",
|
||||
"act-joinMember": "החבר __member__ נוסף לכרטיס __card__ לרשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCard": "הועבר הכרטיס __card__ בלוח __board__ מהרשימה __oldList__ במסלול __oldSwimlane__ לרשימה __list__ במסלול __swimlane__.",
|
||||
"act-moveCardToOtherBoard": "הכרטיס __card__ הועבר מהרשימה __oldList__ במסלול __oldSwimlane__ בלוח __oldBoard__ לרשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-removeBoardMember": "החבר __member__ הוסר מהלוח __board__",
|
||||
"act-restoredCard": "הכרטיס __card__ שוחזר לרשימה __list__ למסלול __swimlane__ ללוח __board__",
|
||||
@@ -60,14 +60,14 @@
|
||||
"activity-unchecked-item": "בוטל הסימון של %s ברשימת המשימות %s מתוך %s",
|
||||
"activity-checklist-added": "נוספה רשימת משימות אל %s",
|
||||
"activity-checklist-removed": "הוסרה רשימת משימות מ־%s",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed": "רשימת המטלות __checklist__ בכרטיס __card__ שברשימה __list__ תחת המסלול __swimlane__ בלוח __board__ הושלמה",
|
||||
"activity-checklist-uncompleted": "רשימת המשימות %s מתוך %s סומנה כבלתי מושלמת",
|
||||
"activity-checklist-item-added": "נוסף פריט רשימת משימות אל ‚%s‘ תחת %s",
|
||||
"activity-checklist-item-removed": "הוסר פריט מרשימת המשימות ‚%s’ תחת %s",
|
||||
"add": "הוספה",
|
||||
"activity-checked-item-card": "סומן %s ברשימת המשימות %s",
|
||||
"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-completed-card": "רשימת המטלות __checklist__ בכרטיס __card__ שברשימה __list__ תחת המסלול __swimlane__ בלוח __board__ הושלמה",
|
||||
"activity-checklist-uncompleted-card": "רשימת המשימות %s סומנה כבלתי מושלמת",
|
||||
"add-attachment": "הוספת קובץ מצורף",
|
||||
"add-board": "הוספת לוח",
|
||||
@@ -211,17 +211,17 @@
|
||||
"unset-color": "בטל הגדרה",
|
||||
"comment": "לפרסם",
|
||||
"comment-placeholder": "כתיבת הערה",
|
||||
"comment-only": "תגובה בלבד",
|
||||
"comment-only": "הערה בלבד",
|
||||
"comment-only-desc": "ניתן להגיב על כרטיסים בלבד.",
|
||||
"no-comments": " אין תגובות",
|
||||
"no-comments": " אין הערות",
|
||||
"no-comments-desc": "לא ניתן לצפות בתגובות ובפעילויות.",
|
||||
"computer": "מחשב",
|
||||
"confirm-subtask-delete-dialog": "האם למחוק את תת המשימה?",
|
||||
"confirm-subtask-delete-dialog": "למחוק את תת המשימה?",
|
||||
"confirm-checklist-delete-dialog": "למחוק את רשימת המשימות?",
|
||||
"copy-card-link-to-clipboard": "העתקת קישור הכרטיס ללוח הגזירים",
|
||||
"linkCardPopup-title": "קישור כרטיס",
|
||||
"searchElementPopup-title": "חיפוש",
|
||||
"copyCardPopup-title": "העתק כרטיס",
|
||||
"copyCardPopup-title": "העתקת כרטיס",
|
||||
"copyChecklistToManyCardsPopup-title": "העתקת תבנית רשימת מטלות למגוון כרטיסים",
|
||||
"copyChecklistToManyCardsPopup-instructions": "כותרות ותיאורים של כרטיסי יעד בתצורת JSON זו",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"כותרת כרטיס ראשון\", \"description\":\"תיאור כרטיס ראשון\"}, {\"title\":\"כותרת כרטיס שני\",\"description\":\"תיאור כרטיס שני\"},{\"title\":\"כותרת כרטיס אחרון\",\"description\":\"תיאור כרטיס אחרון\"} ]",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "אירעה שגיאה בעת ניסיון הכניסה",
|
||||
"display-authentication-method": "הצגת שיטת אימות",
|
||||
"default-authentication-method": "שיטת אימות כבררת מחדל",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "שכפול לוח",
|
||||
"people-number": "מספר האנשים הוא:",
|
||||
"swimlaneDeletePopup-title": "למחוק מסלול?",
|
||||
"swimlane-delete-pop": "כל הפעולות יוסרו מהזנת הפעילות ולא תהיה לך אפשרות לשחזר את המסלול. אי אפשר לחזור אחורה.",
|
||||
"restore-all": "לשחזר הכול",
|
||||
"delete-all": "למחוק הכול",
|
||||
"loading": "העמוד בטעינה, אנא המתינו."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+20
-14
@@ -55,7 +55,7 @@
|
||||
"activity-removed": "%s eltávolítva innen: %s",
|
||||
"activity-sent": "%s elküldve ide: %s",
|
||||
"activity-unjoined": "%s kilépett a csoportból",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-subtask-added": "Alfeladat hozzáadva ehhez: %s",
|
||||
"activity-checked-item": "checked %s in checklist %s of %s",
|
||||
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
|
||||
"activity-checklist-added": "ellenőrzőlista hozzáadva ehhez: %s",
|
||||
@@ -73,7 +73,7 @@
|
||||
"add-board": "Tábla hozzáadása",
|
||||
"add-card": "Kártya hozzáadása",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-subtask": "Alfeladat hozzáadása",
|
||||
"add-checklist": "Ellenőrzőlista hozzáadása",
|
||||
"add-checklist-item": "Elem hozzáadása az ellenőrzőlistához",
|
||||
"add-cover": "Borító hozzáadása",
|
||||
@@ -92,7 +92,7 @@
|
||||
"and-n-other-card_plural": "És __count__ egyéb kártya",
|
||||
"apply": "Alkalmaz",
|
||||
"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": "Mozgatás az archívumba",
|
||||
"archive-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
@@ -125,10 +125,10 @@
|
||||
"boardChangeTitlePopup-title": "Tábla átnevezése",
|
||||
"boardChangeVisibilityPopup-title": "Láthatóság megváltoztatása",
|
||||
"boardChangeWatchPopup-title": "Megfigyelés megváltoztatása",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boardMenuPopup-title": "Tábla beállítások",
|
||||
"boards": "Táblák",
|
||||
"board-view": "Tábla nézet",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-cal": "Naptár",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Listák",
|
||||
"bucket-example": "Mint például „Bakancslista”",
|
||||
@@ -175,7 +175,7 @@
|
||||
"changePasswordPopup-title": "Jelszó megváltoztatása",
|
||||
"changePermissionsPopup-title": "Jogosultságok megváltoztatása",
|
||||
"changeSettingsPopup-title": "Beállítások megváltoztatása",
|
||||
"subtasks": "Subtasks",
|
||||
"subtasks": "Alfeladat",
|
||||
"checklists": "Ellenőrzőlisták",
|
||||
"click-to-star": "Kattintson a tábla csillagozásához.",
|
||||
"click-to-unstar": "Kattintson a tábla csillagának eltávolításához.",
|
||||
@@ -216,7 +216,7 @@
|
||||
"no-comments": "No comments",
|
||||
"no-comments-desc": "Can not see comments and activities.",
|
||||
"computer": "Számítógép",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-subtask-delete-dialog": "Biztosan törölni szeretnél az alfeladatot?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Kártya hivatkozásának másolása a vágólapra",
|
||||
"linkCardPopup-title": "Link Card",
|
||||
@@ -551,8 +551,8 @@
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"subtask-settings": "Alfeladat beállítások",
|
||||
"boardSubtaskSettingsPopup-title": "Tábla alfeladat beállítások",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
@@ -592,8 +592,8 @@
|
||||
"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-archived": "Archívumba helyezve",
|
||||
"r-unarchived": "Helyreállítva az archívumból",
|
||||
"r-a-card": "a card",
|
||||
"r-when-a-label-is": "When a label is",
|
||||
"r-when-the-label-is": "When the label is",
|
||||
@@ -614,8 +614,8 @@
|
||||
"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-archive": "Mozgatás az archívumba",
|
||||
"r-unarchive": "Helyreállítás az archívumból",
|
||||
"r-card": "card",
|
||||
"r-add": "Hozzáadás",
|
||||
"r-remove": "Remove",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Hiba történt bejelentkezés közben",
|
||||
"display-authentication-method": "Hitelelesítési mód mutatása",
|
||||
"default-authentication-method": "Alapértelmezett hitelesítési mód",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+9
-3
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"accept": "Accetta",
|
||||
"act-activity-notify": "Notifica attività ",
|
||||
"act-activity-notify": "Notifica attività",
|
||||
"act-addAttachment": "aggiunto allegato __attachment__ alla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-deleteAttachment": "eliminato allegato __attachment__ dalla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-addSubtask": "aggiunto sottotask __subtask__ alla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
@@ -18,7 +18,7 @@
|
||||
"act-uncompleteChecklist": "lista di controllo __checklist__ incompleta nella scheda __card__ della lista __list__ in corsia __swimlane__ della bacheca __board__",
|
||||
"act-addComment": "commento sulla scheda __card__: __comment__ nella lista __list__ della corsia __swimlane__ della bacheca __board__",
|
||||
"act-createBoard": "bacheca __board__ creata",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createSwimlane": "creata corsia __swimlane__ alla bacheca __board__",
|
||||
"act-createCard": "scheda __card__ creata nella lista __list__ della corsia __swimlane__ della bacheca __board__",
|
||||
"act-createCustomField": "campo personalizzato __customField__ creato nella scheda __card__ della lista __list__ in corsia __swimlane__ della bacheca __board__",
|
||||
"act-createList": "aggiunta lista __list__ alla bacheca __board__",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "C'è stato un errore mentre provavi ad effettuare il login",
|
||||
"display-authentication-method": "Mostra il metodo di autenticazione",
|
||||
"default-authentication-method": "Metodo di autenticazione predefinito",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplica bacheca",
|
||||
"people-number": "Il numero di persone è:",
|
||||
"swimlaneDeletePopup-title": "Cancella diagramma 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": "Cancella tutto",
|
||||
"loading": "Loading, please wait."
|
||||
}
|
||||
+45
-39
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"accept": "受け入れ",
|
||||
"act-activity-notify": "Activity Notification",
|
||||
"act-activity-notify": "アクティビティ通知",
|
||||
"act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __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__",
|
||||
@@ -42,7 +42,7 @@
|
||||
"activities": "アクティビティ",
|
||||
"activity": "アクティビティ",
|
||||
"activity-added": "%s を %s に追加しました",
|
||||
"activity-archived": "%s moved to Archive",
|
||||
"activity-archived": "%sをアーカイブしました",
|
||||
"activity-attached": "%s を %s に添付しました",
|
||||
"activity-created": "%s を作成しました",
|
||||
"activity-customfield-created": "%s を作成しました",
|
||||
@@ -55,7 +55,7 @@
|
||||
"activity-removed": "%s を %s から削除しました",
|
||||
"activity-sent": "%s を %s に送りました",
|
||||
"activity-unjoined": "%s への参加を止めました",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-subtask-added": "%sにサブタスクを追加しました",
|
||||
"activity-checked-item": "checked %s in checklist %s of %s",
|
||||
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
|
||||
"activity-checklist-added": "%s にチェックリストを追加しました",
|
||||
@@ -162,7 +162,7 @@
|
||||
"cards": "カード",
|
||||
"cards-count": "カード",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"cardType-card": "Card",
|
||||
"cardType-card": "カード",
|
||||
"cardType-linkedCard": "Linked Card",
|
||||
"cardType-linkedBoard": "Linked Board",
|
||||
"change": "変更",
|
||||
@@ -175,7 +175,7 @@
|
||||
"changePasswordPopup-title": "パスワードの変更",
|
||||
"changePermissionsPopup-title": "パーミッションの変更",
|
||||
"changeSettingsPopup-title": "設定の変更",
|
||||
"subtasks": "Subtasks",
|
||||
"subtasks": "サブタスク",
|
||||
"checklists": "チェックリスト",
|
||||
"click-to-star": "ボードにスターをつける",
|
||||
"click-to-unstar": "ボードからスターを外す",
|
||||
@@ -185,14 +185,14 @@
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
|
||||
"color-black": "黒",
|
||||
"color-blue": "青",
|
||||
"color-crimson": "crimson",
|
||||
"color-darkgreen": "darkgreen",
|
||||
"color-gold": "gold",
|
||||
"color-gray": "gray",
|
||||
"color-crimson": "濃赤",
|
||||
"color-darkgreen": "濃緑",
|
||||
"color-gold": "金",
|
||||
"color-gray": "灰",
|
||||
"color-green": "緑",
|
||||
"color-indigo": "indigo",
|
||||
"color-indigo": "藍",
|
||||
"color-lime": "ライム",
|
||||
"color-magenta": "magenta",
|
||||
"color-magenta": "マゼンタ",
|
||||
"color-mistyrose": "mistyrose",
|
||||
"color-navy": "navy",
|
||||
"color-orange": "オレンジ",
|
||||
@@ -203,12 +203,12 @@
|
||||
"color-purple": "紫",
|
||||
"color-red": "赤",
|
||||
"color-saddlebrown": "saddlebrown",
|
||||
"color-silver": "silver",
|
||||
"color-silver": "銀",
|
||||
"color-sky": "空",
|
||||
"color-slateblue": "slateblue",
|
||||
"color-white": "white",
|
||||
"color-white": "白",
|
||||
"color-yellow": "黄",
|
||||
"unset-color": "Unset",
|
||||
"unset-color": "設定しない",
|
||||
"comment": "コメント",
|
||||
"comment-placeholder": "コメントを書く",
|
||||
"comment-only": "コメントのみ",
|
||||
@@ -216,15 +216,15 @@
|
||||
"no-comments": "No comments",
|
||||
"no-comments-desc": "Can not see comments and activities.",
|
||||
"computer": "コンピューター",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"confirm-subtask-delete-dialog": "本当にサブタスクを削除してもよろしいでしょうか?",
|
||||
"confirm-checklist-delete-dialog": "本当にチェックリストを削除してもよろしいでしょうか?",
|
||||
"copy-card-link-to-clipboard": "カードへのリンクをクリップボードにコピー",
|
||||
"linkCardPopup-title": "Link Card",
|
||||
"searchElementPopup-title": "検索",
|
||||
"copyCardPopup-title": "カードをコピー",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"1つ目のカードタイトル\", \"description\":\"1つ目のカードの説明\"}, {\"title\":\"2つ目のカードタイトル\",\"description\":\"2つ目のカードの説明\"},{\"title\":\"最後のカードタイトル\",\"description\":\"最後のカードの説明\"} ]",
|
||||
"create": "作成",
|
||||
"createBoardPopup-title": "ボードの作成",
|
||||
"chooseBoardSourcePopup-title": "ボードをインポート",
|
||||
@@ -233,15 +233,15 @@
|
||||
"createCustomFieldPopup-title": "フィールドを作成",
|
||||
"current": "現在",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-checkbox": "チェックボックス",
|
||||
"custom-field-date": "日付",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown": "ドロップダウンリスト",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-field-text": "テキスト",
|
||||
"custom-fields": "カスタムフィールド",
|
||||
"date": "日付",
|
||||
"decline": "拒否",
|
||||
@@ -271,7 +271,7 @@
|
||||
"email-enrollAccount-subject": "__siteName__であなたのアカウントが作成されました",
|
||||
"email-enrollAccount-text": "こんにちは、__user__さん。\n\nサービスを開始するには、以下をクリックしてください。\n\n__url__\n\nよろしくお願いします。",
|
||||
"email-fail": "メールの送信に失敗しました",
|
||||
"email-fail-text": "Error trying to send email",
|
||||
"email-fail-text": "メールの送信中にエラーが発生しました",
|
||||
"email-invalid": "無効なメールアドレス",
|
||||
"email-invite": "メールで招待",
|
||||
"email-invite-subject": "__inviter__があなたを招待しています",
|
||||
@@ -311,7 +311,7 @@
|
||||
"headerBarCreateBoardPopup-title": "ボードの作成",
|
||||
"home": "ホーム",
|
||||
"import": "インポート",
|
||||
"link": "Link",
|
||||
"link": "リンク",
|
||||
"import-board": "ボードをインポート",
|
||||
"import-board-c": "ボードをインポート",
|
||||
"import-board-title-trello": "Trelloからボードをインポート",
|
||||
@@ -328,12 +328,12 @@
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-show-user-mapping": "メンバー紐付けの確認",
|
||||
"import-user-select": "Pick your existing user you want to use as this member",
|
||||
"importMapMembersAddPopup-title": "Select member",
|
||||
"importMapMembersAddPopup-title": "メンバーを選択",
|
||||
"info": "バージョン",
|
||||
"initials": "イニシャル",
|
||||
"invalid-date": "無効な日付",
|
||||
"invalid-time": "Invalid time",
|
||||
"invalid-user": "Invalid user",
|
||||
"invalid-time": "無効な時間",
|
||||
"invalid-user": "無効なユーザ",
|
||||
"joined": "参加しました",
|
||||
"just-invited": "このボードのメンバーに招待されています",
|
||||
"keyboard-shortcuts": "キーボード・ショートカット",
|
||||
@@ -347,11 +347,11 @@
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "ボードから退出しますか?",
|
||||
"link-card": "このカードへのリンク",
|
||||
"list-archive-cards": "Move all cards in this list to Archive",
|
||||
"list-archive-cards": "リスト内の全カードをアーカイブする",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
|
||||
"list-move-cards": "リストの全カードを移動する",
|
||||
"list-select-cards": "リストの全カードを選択",
|
||||
"set-color-list": "Set Color",
|
||||
"set-color-list": "色を選択",
|
||||
"listActionPopup-title": "操作一覧",
|
||||
"swimlaneActionPopup-title": "スイムレーン操作",
|
||||
"swimlaneAddPopup-title": "Add a Swimlane below",
|
||||
@@ -658,30 +658,36 @@
|
||||
"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-d-add-checklist": "チェックリストを追加",
|
||||
"r-d-remove-checklist": "チェックリストを削除",
|
||||
"r-by": "by",
|
||||
"r-add-checklist": "Add checklist",
|
||||
"r-add-checklist": "チェックリストを追加",
|
||||
"r-with-items": "with items",
|
||||
"r-items-list": "item1,item2,item3",
|
||||
"r-add-swimlane": "Add swimlane",
|
||||
"r-swimlane-name": "swimlane name",
|
||||
"r-items-list": "アイテム1、アイテム2、アイテム3",
|
||||
"r-add-swimlane": "スイムレーンを追加",
|
||||
"r-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-when-a-card-is-moved": "カードが別のリストに移動したとき",
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
"authentication-method": "Authentication method",
|
||||
"authentication-type": "Authentication type",
|
||||
"authentication-method": "認証方式",
|
||||
"authentication-type": "認証タイプ",
|
||||
"custom-product-name": "Custom Product Name",
|
||||
"layout": "Layout",
|
||||
"hide-logo": "Hide Logo",
|
||||
"layout": "レイアウト",
|
||||
"hide-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",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "ボードの複製",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "スイムレーンを削除しますか?",
|
||||
"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": "全てをリストアする",
|
||||
"delete-all": "全てを削除する",
|
||||
"loading": "ローディング中です、しばらくお待ちください。"
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+9
-3
@@ -31,8 +31,8 @@
|
||||
"act-importCard": "Zaimportowano kartę __card__ do listy __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-importList": "Zaimportowano listę __list__ na diagram czynności __swimlane__ do tablicy __board__",
|
||||
"act-joinMember": "Dodano użytkownika __member__ do karty __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-moveCard": "przeniesiono kartę __card__ na tablicy __board__ z listy __oldList__ na diagramie czynności __oldSwimlane__ na listę __list__ na diagramie czynności __swimlane__",
|
||||
"act-moveCardToOtherBoard": "Przeniesiono 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-moveCard": "przeniósł/a 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ł/a 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-removeBoardMember": "Usunięto użytkownika __member__ z tablicy __board__",
|
||||
"act-restoredCard": "Przywrócono kartę __card__ na listę __list__ na diagram czynności__ na tablicy __board__",
|
||||
"act-unjoinMember": "Usunięto użytkownika __member__ z karty __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Wystąpił błąd w trakcie logowania",
|
||||
"display-authentication-method": "Wyświetl metodę logowania",
|
||||
"default-authentication-method": "Domyślna metoda logowania",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"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.",
|
||||
"restore-all": "Przywróć wszystkie",
|
||||
"delete-all": "Usuń wszystkie",
|
||||
"loading": "Ładowanie, proszę czekać."
|
||||
}
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Um erro ocorreu enquanto tentava entrar",
|
||||
"display-authentication-method": "Mostrar Método de Autenticação",
|
||||
"default-authentication-method": "Método de Autenticação Padrão",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicar Quadro",
|
||||
"people-number": "O número de pessoas é:",
|
||||
"swimlaneDeletePopup-title": "Excluir Raia?",
|
||||
"swimlane-delete-pop": "Todas as ações serão excluídas da lista de atividades e você não poderá recuperar a raia. Não há como desfazer.",
|
||||
"restore-all": "Restaurar tudo",
|
||||
"delete-all": "Excluir tudo",
|
||||
"loading": "Carregando, aguarde por favor."
|
||||
}
|
||||
+649
-643
File diff suppressed because it is too large.
Load diff
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+12
-6
@@ -4,7 +4,7 @@
|
||||
"act-addAttachment": "прикрепил вложение __attachment__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-deleteAttachment": "удалил вложение __attachment__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addSubtask": "добавил подзадачу __subtask__ для карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addLabel": "Добавлена метка __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addLabel": "добавил метку __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addedLabel": "Добавлена метка __label__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-removeLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-removedLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
@@ -137,7 +137,7 @@
|
||||
"board-archived": "Эта доска перемещена в архив.",
|
||||
"card-comments-title": "Комментарии (%s)",
|
||||
"card-delete-notice": "Это действие невозможно будет отменить. Все изменения, которые вы вносили в карточку будут потеряны.",
|
||||
"card-delete-pop": "Все действия будут удалены из ленты активности участников и вы не сможете заново открыть карточку. Действие необратимо",
|
||||
"card-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете заново открыть карточку. Действие необратимо",
|
||||
"card-delete-suggest-archive": "Вы можете переместить карточку в архив, чтобы убрать ее с доски, сохранив всю историю действий участников.",
|
||||
"card-due": "Выполнить к",
|
||||
"card-due-on": "Выполнить до",
|
||||
@@ -148,7 +148,7 @@
|
||||
"card-edit-members": "Изменить участников",
|
||||
"card-labels-title": "Изменить метки для этой карточки.",
|
||||
"card-members-title": "Добавить или удалить с карточки участников доски.",
|
||||
"card-start": "Дата начала",
|
||||
"card-start": "В работе с",
|
||||
"card-start-on": "Начнётся с",
|
||||
"cardAttachmentsPopup-title": "Прикрепить из",
|
||||
"cardCustomField-datePopup-title": "Изменить дату",
|
||||
@@ -358,7 +358,7 @@
|
||||
"listImportCardPopup-title": "Импортировать Trello карточку",
|
||||
"listMorePopup-title": "Поделиться",
|
||||
"link-list": "Ссылка на список",
|
||||
"list-delete-pop": "Все действия будут удалены из ленты активности участников и вы не сможете восстановить список. Данное действие необратимо.",
|
||||
"list-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить список. Данное действие необратимо.",
|
||||
"list-delete-suggest-archive": "Вы можете отправить список в Архив, чтобы убрать его с доски и при этом сохранить результаты.",
|
||||
"lists": "Списки",
|
||||
"swimlanes": "Дорожки",
|
||||
@@ -534,7 +534,7 @@
|
||||
"active": "Действующий",
|
||||
"card-received": "Получено",
|
||||
"card-received-on": "Получено с",
|
||||
"card-end": "Дата окончания",
|
||||
"card-end": "Завершено",
|
||||
"card-end-on": "Завершится до",
|
||||
"editCardReceivedDatePopup-title": "Изменить дату получения",
|
||||
"editCardEndDatePopup-title": "Изменить дату завершения",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Ошибка при попытке авторизации",
|
||||
"display-authentication-method": "Показывать способ авторизации",
|
||||
"default-authentication-method": "Способ авторизации по умолчанию",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Клонировать доску",
|
||||
"people-number": "Количество человек:",
|
||||
"swimlaneDeletePopup-title": "Удалить дорожку?",
|
||||
"swimlane-delete-pop": "Все действия будут удалены из ленты активности участников, и вы не сможете восстановить дорожку. Данное действие необратимо.",
|
||||
"restore-all": "Восстановить все",
|
||||
"delete-all": "Удалить все",
|
||||
"loading": "Идет загрузка, пожалуйста подождите"
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+9
-3
@@ -18,7 +18,7 @@
|
||||
"act-uncompleteChecklist": "ofullbordade checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-addComment": "kommenterade på kort __card__: __comment__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-createBoard": "skapade tavla __board__",
|
||||
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
|
||||
"act-createSwimlane": "skapade simbana __swimlane__ till tavla __board__",
|
||||
"act-createCard": "skapade kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-createCustomField": "skapade anpassat fält __customField__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-createList": "la till lista __list__ på tavla __board__",
|
||||
@@ -31,7 +31,7 @@
|
||||
"act-importCard": "importerade kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-importList": "importerade lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-joinMember": "la till medlem __member__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCard": "flyttade kort __card__ på tavla __board__ från lista __oldList__ i sambana __oldSwimlane__ till lista list __list__ i simbana __swimlane__",
|
||||
"act-moveCardToOtherBoard": "flyttade kort __card__ från lista __oldList__ i simbana __oldSwimlane__ på tavla __oldBoard__ till lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-removeBoardMember": "borttagen medlem __member__ från tavla __board__",
|
||||
"act-restoredCard": "återställde kort __card__ till lista __lis__ i simbana __swimlane__ på tavla __board__",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Ett fel uppstod när du försökte logga in",
|
||||
"display-authentication-method": "Visa autentiseringsmetod",
|
||||
"default-authentication-method": "Standard autentiseringsmetod",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Dubbletttavla",
|
||||
"people-number": "Antalet personer är:",
|
||||
"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": "Återställ alla",
|
||||
"delete-all": "Ta bort alla",
|
||||
"loading": "Läser in, var god vänta."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+8
-2
@@ -59,7 +59,7 @@
|
||||
"activity-checked-item": "checked %s in checklist %s of %s",
|
||||
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
|
||||
"activity-checklist-added": "%s içine yapılacak listesi ekledi",
|
||||
"activity-checklist-removed": "removed a checklist from %s",
|
||||
"activity-checklist-removed": "%s Tarafından yapılacaklar listesi silinmiştir",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
|
||||
"activity-checklist-item-added": "%s içinde %s yapılacak listesine öğe ekledi",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "Giriş yapmaya çalışırken bir hata oluştu",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"swimlaneDeletePopup-title": "Kulvar silinsin mi?",
|
||||
"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": "Her şeyi eski haline getir",
|
||||
"delete-all": "Hepsini sil",
|
||||
"loading": "Yükleniyor, lütfen bekleyiniz"
|
||||
}
|
||||
+24
-18
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"accept": "Прийняти",
|
||||
"act-activity-notify": "Сповіщення діяльності",
|
||||
"act-activity-notify": "Сповіщення активності",
|
||||
"act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __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__",
|
||||
@@ -17,7 +17,7 @@
|
||||
"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-createBoard": "Створити Коробко",
|
||||
"act-createBoard": "Дошку __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__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
@@ -39,26 +39,26 @@
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Дії",
|
||||
"activities": "Діяльність",
|
||||
"activity": "Активність",
|
||||
"activity-added": "додав %s до %s",
|
||||
"activities": "Діяльності",
|
||||
"activity": "Діяльність",
|
||||
"activity-added": "%s додано до %s",
|
||||
"activity-archived": "%s перенесено до архіву",
|
||||
"activity-attached": "прикріпив %s до %s",
|
||||
"activity-created": "створив %s",
|
||||
"activity-customfield-created": "створив налаштовуване поле",
|
||||
"activity-excluded": "виключено %s з %s",
|
||||
"activity-imported": "імпортовано %s до %s з %s",
|
||||
"activity-imported-board": "імпортовано %s з %s",
|
||||
"activity-joined": "приєднався %s",
|
||||
"activity-moved": "переміщений %s з %s до %s",
|
||||
"activity-attached": "%s прикріплено до %s",
|
||||
"activity-created": "%sстворено",
|
||||
"activity-customfield-created": "Створено спеціальне поле",
|
||||
"activity-excluded": "%s виключено з %s",
|
||||
"activity-imported": "%s імпортовано до %s з %s",
|
||||
"activity-imported-board": "%s імпортовано з %s",
|
||||
"activity-joined": "%s приєднано",
|
||||
"activity-moved": "%s переміщено з %s до %s",
|
||||
"activity-on": "%s",
|
||||
"activity-removed": "видалив %s з %s",
|
||||
"activity-sent": "відправив %s до %s",
|
||||
"activity-removed": "%s видалено з %s",
|
||||
"activity-sent": "%s відправлено до %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "додав підзадачу до %s",
|
||||
"activity-subtask-added": "Додано підзадачу до %s",
|
||||
"activity-checked-item": "checked %s in checklist %s of %s",
|
||||
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
|
||||
"activity-checklist-added": "додав список до %s",
|
||||
"activity-checklist-added": "Додано контрольний список до %s",
|
||||
"activity-checklist-removed": "removed a checklist from %s",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+7
-1
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+16
-10
@@ -18,20 +18,20 @@
|
||||
"act-uncompleteChecklist": "看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的清单 __checklist__ 未完成",
|
||||
"act-addComment": "对看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 发表了评论: __comment__ ",
|
||||
"act-createBoard": "创建看板 __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__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createSwimlane": "创建泳道 __swimlane__ 到看板 __board__",
|
||||
"act-createCard": "在看板 __board__ 的泳道 __swimlane__ 的列表 __list__ 中添加卡片 __card__",
|
||||
"act-createCustomField": "在看板 __board__ 泳道 __swimlane__ 列表 __list__ 卡片 __card__ 中创建自定义字段 __customField__",
|
||||
"act-createList": "添加列表 __list__ 至看板 __board__",
|
||||
"act-addBoardMember": "added member __member__ to board __board__",
|
||||
"act-addBoardMember": "添加成员 __member__ 到看板 __board__",
|
||||
"act-archivedBoard": "看板 __board__ 已被移入归档",
|
||||
"act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-archivedCard": "将看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 移动到归档中",
|
||||
"act-archivedList": "看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 已被移入归档",
|
||||
"act-archivedSwimlane": "看板 __board__ 中的泳道 __swimlane__ 已被移入归档",
|
||||
"act-importBoard": "导入看板 __board__",
|
||||
"act-importCard": "imported card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
|
||||
"act-joinMember": "added member __member__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-importCard": "已将卡片 __card__ 导入到 __board__ 看板中的 __swimlane__ 泳道中的 __list__ 列表中",
|
||||
"act-importList": "已将列表导入到 __board__ 看板中的 __swimlane__ 泳道中的 __list__ 列表中",
|
||||
"act-joinMember": "已将成员 __member__ 添加到 __board__ 看板中的 __swimlane__ 泳道中的 __list__ 列表中的 __card__ 卡片中",
|
||||
"act-moveCard": "移动卡片 __card__ 到看板 __board__ 从列表 __oldList__ 泳道 __oldSwimlane__ 至列表 __list__ 泳道 __swimlane__",
|
||||
"act-moveCardToOtherBoard": "移动卡片 __card__ 从列表 __oldList__ 泳道 __oldSwimlane__ 看板 __oldBoard__ 至列表 __list__ 泳道 __swimlane__ 看板 __board__",
|
||||
"act-removeBoardMember": "从看板 __board__ 移除成员 __member__ ",
|
||||
"act-restoredCard": "恢复卡片 __card__ 至列表 __list__ 泳道 __swimlane__ 看板 __board__",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "尝试登陆时出错",
|
||||
"display-authentication-method": "显示认证方式",
|
||||
"default-authentication-method": "缺省认证方式",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "复制看板",
|
||||
"people-number": "人数是:",
|
||||
"swimlaneDeletePopup-title": "是否删除泳道?",
|
||||
"swimlane-delete-pop": "所有活动将从活动源中删除,您将无法恢复泳道。此操作无法撤销。",
|
||||
"restore-all": "全部恢复",
|
||||
"delete-all": "全部删除",
|
||||
"loading": "加载中,请稍等。"
|
||||
}
|
||||
@@ -0,0 +1,693 @@
|
||||
{
|
||||
"accept": "Accept",
|
||||
"act-activity-notify": "Activity Notification",
|
||||
"act-addAttachment": "added attachment __attachment__ to card __card__ at list __list__ at swimlane __swimlane__ at board __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__",
|
||||
"act-addedLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-removeLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-removedLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addChecklist": "added checklist __checklist__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addChecklistItem": "added checklist item __checklistItem__ to checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-removeChecklist": "removed checklist __checklist__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-removeChecklistItem": "removed checklist item __checklistItem__ from checklist __checkList__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-checkedItem": "checked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-uncheckedItem": "unchecked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"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-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__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createList": "added list __list__ to board __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",
|
||||
"act-archivedList": "List __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-archivedSwimlane": "Swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-importBoard": "imported board __board__",
|
||||
"act-importCard": "imported card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
|
||||
"act-joinMember": "added member __member__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "moved card __card__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-removeBoardMember": "removed member __member__ from board __board__",
|
||||
"act-restoredCard": "restored card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-unjoinMember": "removed member __member__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Actions",
|
||||
"activities": "Activities",
|
||||
"activity": "Activity",
|
||||
"activity-added": "added %s to %s",
|
||||
"activity-archived": "%s moved to Archive",
|
||||
"activity-attached": "attached %s to %s",
|
||||
"activity-created": "created %s",
|
||||
"activity-customfield-created": "created custom field %s",
|
||||
"activity-excluded": "excluded %s from %s",
|
||||
"activity-imported": "imported %s into %s from %s",
|
||||
"activity-imported-board": "imported %s from %s",
|
||||
"activity-joined": "joined %s",
|
||||
"activity-moved": "moved %s from %s to %s",
|
||||
"activity-on": "on %s",
|
||||
"activity-removed": "removed %s from %s",
|
||||
"activity-sent": "sent %s to %s",
|
||||
"activity-unjoined": "unjoined %s",
|
||||
"activity-subtask-added": "added subtask to %s",
|
||||
"activity-checked-item": "checked %s in checklist %s of %s",
|
||||
"activity-unchecked-item": "unchecked %s in checklist %s of %s",
|
||||
"activity-checklist-added": "added checklist to %s",
|
||||
"activity-checklist-removed": "removed a checklist from %s",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-uncompleted": "uncompleted the checklist %s of %s",
|
||||
"activity-checklist-item-added": "added checklist item to '%s' in %s",
|
||||
"activity-checklist-item-removed": "removed a checklist item from '%s' in %s",
|
||||
"add": "Add",
|
||||
"activity-checked-item-card": "checked %s in checklist %s",
|
||||
"activity-unchecked-item-card": "unchecked %s in checklist %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-uncompleted-card": "uncompleted the checklist %s",
|
||||
"add-attachment": "Add Attachment",
|
||||
"add-board": "Add Board",
|
||||
"add-card": "Add Card",
|
||||
"add-swimlane": "Add Swimlane",
|
||||
"add-subtask": "Add Subtask",
|
||||
"add-checklist": "Add Checklist",
|
||||
"add-checklist-item": "Add an item to checklist",
|
||||
"add-cover": "Add Cover",
|
||||
"add-label": "Add Label",
|
||||
"add-list": "Add List",
|
||||
"add-members": "Add Members",
|
||||
"added": "Added",
|
||||
"addMemberPopup-title": "Members",
|
||||
"admin": "Admin",
|
||||
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
|
||||
"admin-announcement": "Announcement",
|
||||
"admin-announcement-active": "Active System-Wide Announcement",
|
||||
"admin-announcement-title": "Announcement from Administrator",
|
||||
"all-boards": "All boards",
|
||||
"and-n-other-card": "And __count__ other card",
|
||||
"and-n-other-card_plural": "And __count__ other cards",
|
||||
"apply": "Apply",
|
||||
"app-is-offline": "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-all": "Move All to Archive",
|
||||
"archive-board": "Move Board to Archive",
|
||||
"archive-card": "Move Card to Archive",
|
||||
"archive-list": "Move List to Archive",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
"archive-selection": "Move selection to Archive",
|
||||
"archiveBoardPopup-title": "Move Board to Archive?",
|
||||
"archived-items": "Archive",
|
||||
"archived-boards": "Boards in Archive",
|
||||
"restore-board": "Restore Board",
|
||||
"no-archived-boards": "No Boards in Archive.",
|
||||
"archives": "Archive",
|
||||
"template": "Template",
|
||||
"templates": "Templates",
|
||||
"assign-member": "Assign member",
|
||||
"attached": "attached",
|
||||
"attachment": "Attachment",
|
||||
"attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.",
|
||||
"attachmentDeletePopup-title": "Delete Attachment?",
|
||||
"attachments": "Attachments",
|
||||
"auto-watch": "Automatically watch boards when they are created",
|
||||
"avatar-too-big": "The avatar is too large (70KB max)",
|
||||
"back": "Back",
|
||||
"board-change-color": "Change color",
|
||||
"board-nb-stars": "%s stars",
|
||||
"board-not-found": "Board not found",
|
||||
"board-private-info": "This board will be <strong>private</strong>.",
|
||||
"board-public-info": "This board will be <strong>public</strong>.",
|
||||
"boardChangeColorPopup-title": "Change Board Background",
|
||||
"boardChangeTitlePopup-title": "Rename Board",
|
||||
"boardChangeVisibilityPopup-title": "Change Visibility",
|
||||
"boardChangeWatchPopup-title": "Change Watch",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boards": "Boards",
|
||||
"board-view": "Board View",
|
||||
"board-view-cal": "Calendar",
|
||||
"board-view-swimlanes": "Swimlanes",
|
||||
"board-view-lists": "Lists",
|
||||
"bucket-example": "Like “Bucket List” for example",
|
||||
"cancel": "Cancel",
|
||||
"card-archived": "This card is moved to Archive.",
|
||||
"board-archived": "This board is moved to Archive.",
|
||||
"card-comments-title": "This card has %s comment.",
|
||||
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
|
||||
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
|
||||
"card-delete-suggest-archive": "You can move a card to Archive to remove it from the board and preserve the activity.",
|
||||
"card-due": "Due",
|
||||
"card-due-on": "Due on",
|
||||
"card-spent": "Spent Time",
|
||||
"card-edit-attachments": "Edit attachments",
|
||||
"card-edit-custom-fields": "Edit custom fields",
|
||||
"card-edit-labels": "Edit labels",
|
||||
"card-edit-members": "Edit members",
|
||||
"card-labels-title": "Change the labels for the card.",
|
||||
"card-members-title": "Add or remove members of the board from the card.",
|
||||
"card-start": "Start",
|
||||
"card-start-on": "Starts on",
|
||||
"cardAttachmentsPopup-title": "Attach From",
|
||||
"cardCustomField-datePopup-title": "Change date",
|
||||
"cardCustomFieldsPopup-title": "Edit custom fields",
|
||||
"cardDeletePopup-title": "Delete Card?",
|
||||
"cardDetailsActionsPopup-title": "Card Actions",
|
||||
"cardLabelsPopup-title": "Labels",
|
||||
"cardMembersPopup-title": "Members",
|
||||
"cardMorePopup-title": "More",
|
||||
"cardTemplatePopup-title": "Create template",
|
||||
"cards": "Cards",
|
||||
"cards-count": "Cards",
|
||||
"casSignIn": "Sign In with CAS",
|
||||
"cardType-card": "Card",
|
||||
"cardType-linkedCard": "Linked Card",
|
||||
"cardType-linkedBoard": "Linked Board",
|
||||
"change": "Change",
|
||||
"change-avatar": "Change Avatar",
|
||||
"change-password": "Change Password",
|
||||
"change-permissions": "Change permissions",
|
||||
"change-settings": "Change Settings",
|
||||
"changeAvatarPopup-title": "Change Avatar",
|
||||
"changeLanguagePopup-title": "Change Language",
|
||||
"changePasswordPopup-title": "Change Password",
|
||||
"changePermissionsPopup-title": "Change Permissions",
|
||||
"changeSettingsPopup-title": "Change Settings",
|
||||
"subtasks": "Subtasks",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Click to star this board.",
|
||||
"click-to-unstar": "Click to unstar this board.",
|
||||
"clipboard": "Clipboard or drag & drop",
|
||||
"close": "Close",
|
||||
"close-board": "Close Board",
|
||||
"close-board-pop": "You will be able to restore the board by clicking the “Archive” button from the home header.",
|
||||
"color-black": "black",
|
||||
"color-blue": "blue",
|
||||
"color-crimson": "crimson",
|
||||
"color-darkgreen": "darkgreen",
|
||||
"color-gold": "gold",
|
||||
"color-gray": "gray",
|
||||
"color-green": "green",
|
||||
"color-indigo": "indigo",
|
||||
"color-lime": "lime",
|
||||
"color-magenta": "magenta",
|
||||
"color-mistyrose": "mistyrose",
|
||||
"color-navy": "navy",
|
||||
"color-orange": "orange",
|
||||
"color-paleturquoise": "paleturquoise",
|
||||
"color-peachpuff": "peachpuff",
|
||||
"color-pink": "pink",
|
||||
"color-plum": "plum",
|
||||
"color-purple": "purple",
|
||||
"color-red": "red",
|
||||
"color-saddlebrown": "saddlebrown",
|
||||
"color-silver": "silver",
|
||||
"color-sky": "sky",
|
||||
"color-slateblue": "slateblue",
|
||||
"color-white": "white",
|
||||
"color-yellow": "yellow",
|
||||
"unset-color": "Unset",
|
||||
"comment": "Comment",
|
||||
"comment-placeholder": "Write Comment",
|
||||
"comment-only": "Comment only",
|
||||
"comment-only-desc": "Can comment on cards only.",
|
||||
"no-comments": "No comments",
|
||||
"no-comments-desc": "Can not see comments and activities.",
|
||||
"computer": "Computer",
|
||||
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
|
||||
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
|
||||
"copy-card-link-to-clipboard": "Copy card link to clipboard",
|
||||
"linkCardPopup-title": "Link Card",
|
||||
"searchElementPopup-title": "Search",
|
||||
"copyCardPopup-title": "Copy Card",
|
||||
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
|
||||
"create": "Create",
|
||||
"createBoardPopup-title": "Create Board",
|
||||
"chooseBoardSourcePopup-title": "Import board",
|
||||
"createLabelPopup-title": "Create Label",
|
||||
"createCustomField": "Create Field",
|
||||
"createCustomFieldPopup-title": "Create Field",
|
||||
"current": "current",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Checkbox",
|
||||
"custom-field-date": "Date",
|
||||
"custom-field-dropdown": "Dropdown List",
|
||||
"custom-field-dropdown-none": "(none)",
|
||||
"custom-field-dropdown-options": "List Options",
|
||||
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
|
||||
"custom-field-dropdown-unknown": "(unknown)",
|
||||
"custom-field-number": "Number",
|
||||
"custom-field-text": "Text",
|
||||
"custom-fields": "Custom Fields",
|
||||
"date": "Date",
|
||||
"decline": "Decline",
|
||||
"default-avatar": "Default avatar",
|
||||
"delete": "Delete",
|
||||
"deleteCustomFieldPopup-title": "Delete Custom Field?",
|
||||
"deleteLabelPopup-title": "Delete Label?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
|
||||
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
|
||||
"discard": "Discard",
|
||||
"done": "Done",
|
||||
"download": "Download",
|
||||
"edit": "Edit",
|
||||
"edit-avatar": "Change Avatar",
|
||||
"edit-profile": "Edit Profile",
|
||||
"edit-wip-limit": "Edit WIP Limit",
|
||||
"soft-wip-limit": "Soft WIP Limit",
|
||||
"editCardStartDatePopup-title": "Change start date",
|
||||
"editCardDueDatePopup-title": "Change due date",
|
||||
"editCustomFieldPopup-title": "Edit Field",
|
||||
"editCardSpentTimePopup-title": "Change spent time",
|
||||
"editLabelPopup-title": "Change Label",
|
||||
"editNotificationPopup-title": "Edit Notification",
|
||||
"editProfilePopup-title": "Edit Profile",
|
||||
"email": "Email",
|
||||
"email-enrollAccount-subject": "An account created for you on __siteName__",
|
||||
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"email-fail": "Sending email failed",
|
||||
"email-fail-text": "Error trying to send email",
|
||||
"email-invalid": "Invalid email",
|
||||
"email-invite": "Invite via Email",
|
||||
"email-invite-subject": "__inviter__ sent you an invitation",
|
||||
"email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.",
|
||||
"email-resetPassword-subject": "Reset your password on __siteName__",
|
||||
"email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"email-sent": "Email sent",
|
||||
"email-verifyEmail-subject": "Verify your email address on __siteName__",
|
||||
"email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
|
||||
"enable-wip-limit": "Enable WIP Limit",
|
||||
"error-board-doesNotExist": "This board does not exist",
|
||||
"error-board-notAdmin": "You need to be admin of this board to do that",
|
||||
"error-board-notAMember": "You need to be a member of this board to do that",
|
||||
"error-json-malformed": "Your text is not valid JSON",
|
||||
"error-json-schema": "Your JSON data does not include the proper information in the correct format",
|
||||
"error-list-doesNotExist": "This list does not exist",
|
||||
"error-user-doesNotExist": "This user does not exist",
|
||||
"error-user-notAllowSelf": "You can not invite yourself",
|
||||
"error-user-notCreated": "This user is not created",
|
||||
"error-username-taken": "This username is already taken",
|
||||
"error-email-taken": "Email has already been taken",
|
||||
"export-board": "Export board",
|
||||
"filter": "Filter",
|
||||
"filter-cards": "Filter Cards",
|
||||
"filter-clear": "Clear filter",
|
||||
"filter-no-label": "No label",
|
||||
"filter-no-member": "No member",
|
||||
"filter-no-custom-fields": "No Custom Fields",
|
||||
"filter-on": "Filter is on",
|
||||
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
|
||||
"filter-to-selection": "Filter to selection",
|
||||
"advanced-filter-label": "Advanced Filter",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Full Name",
|
||||
"header-logo-title": "Go back to your boards page.",
|
||||
"hide-system-messages": "Hide system messages",
|
||||
"headerBarCreateBoardPopup-title": "Create Board",
|
||||
"home": "Home",
|
||||
"import": "Import",
|
||||
"link": "Link",
|
||||
"import-board": "import board",
|
||||
"import-board-c": "Import board",
|
||||
"import-board-title-trello": "Import board from Trello",
|
||||
"import-board-title-wekan": "Import board from previous export",
|
||||
"import-sandstorm-backup-warning": "Do not delete data you import from original exported board or Trello before checking does this grain close and open again, or do you get Board not found error, that means data loss.",
|
||||
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
|
||||
"from-trello": "From Trello",
|
||||
"from-wekan": "From previous export",
|
||||
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
|
||||
"import-board-instruction-wekan": "In your 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-map-members": "Map members",
|
||||
"import-members-map": "Your imported board has some members. Please map the members you want to import to your users",
|
||||
"import-show-user-mapping": "Review members mapping",
|
||||
"import-user-select": "Pick your existing user you want to use as this member",
|
||||
"importMapMembersAddPopup-title": "Select member",
|
||||
"info": "Version",
|
||||
"initials": "Initials",
|
||||
"invalid-date": "Invalid date",
|
||||
"invalid-time": "Invalid time",
|
||||
"invalid-user": "Invalid user",
|
||||
"joined": "joined",
|
||||
"just-invited": "You are just invited to this board",
|
||||
"keyboard-shortcuts": "Keyboard shortcuts",
|
||||
"label-create": "Create Label",
|
||||
"label-default": "%s label (default)",
|
||||
"label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.",
|
||||
"labels": "Labels",
|
||||
"language": "Language",
|
||||
"last-admin-desc": "You can’t change roles because there must be at least one admin.",
|
||||
"leave-board": "Leave Board",
|
||||
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
|
||||
"leaveBoardPopup-title": "Leave Board ?",
|
||||
"link-card": "Link to this card",
|
||||
"list-archive-cards": "Move all cards in this list to Archive",
|
||||
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Archive and bring them back to the board, click “Menu” > “Archive”.",
|
||||
"list-move-cards": "Move all cards in this list",
|
||||
"list-select-cards": "Select all cards in this list",
|
||||
"set-color-list": "Set Color",
|
||||
"listActionPopup-title": "List Actions",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"swimlaneAddPopup-title": "Add a Swimlane below",
|
||||
"listImportCardPopup-title": "Import a Trello card",
|
||||
"listMorePopup-title": "More",
|
||||
"link-list": "Link to this list",
|
||||
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
|
||||
"list-delete-suggest-archive": "You can move a list to Archive to remove it from the board and preserve the activity.",
|
||||
"lists": "Lists",
|
||||
"swimlanes": "Swimlanes",
|
||||
"log-out": "Log Out",
|
||||
"log-in": "登入",
|
||||
"loginPopup-title": "登入",
|
||||
"memberMenuPopup-title": "Member Settings",
|
||||
"members": "Members",
|
||||
"menu": "Menu",
|
||||
"move-selection": "Move selection",
|
||||
"moveCardPopup-title": "Move Card",
|
||||
"moveCardToBottom-title": "Move to Bottom",
|
||||
"moveCardToTop-title": "Move to Top",
|
||||
"moveSelectionPopup-title": "Move selection",
|
||||
"multi-selection": "Multi-Selection",
|
||||
"multi-selection-on": "Multi-Selection is on",
|
||||
"muted": "Muted",
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "My Boards",
|
||||
"name": "Name",
|
||||
"no-archived-cards": "No cards in Archive.",
|
||||
"no-archived-lists": "No lists in Archive.",
|
||||
"no-archived-swimlanes": "No swimlanes in Archive.",
|
||||
"no-results": "No results",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Can view and edit cards. Can't change settings.",
|
||||
"not-accepted-yet": "Invitation not accepted yet",
|
||||
"notify-participate": "Receive updates to any cards you participate as creater or member",
|
||||
"notify-watch": "Receive updates to any boards, lists, or cards you’re watching",
|
||||
"optional": "optional",
|
||||
"or": "or",
|
||||
"page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
|
||||
"page-not-found": "Page not found.",
|
||||
"password": "Password",
|
||||
"paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)",
|
||||
"participating": "Participating",
|
||||
"preview": "Preview",
|
||||
"previewAttachedImagePopup-title": "Preview",
|
||||
"previewClipboardImagePopup-title": "Preview",
|
||||
"private": "Private",
|
||||
"private-desc": "This board is private. Only people added to the board can view and edit it.",
|
||||
"profile": "Profile",
|
||||
"public": "Public",
|
||||
"public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.",
|
||||
"quick-access-description": "Star a board to add a shortcut in this bar.",
|
||||
"remove-cover": "Remove Cover",
|
||||
"remove-from-board": "Remove from Board",
|
||||
"remove-label": "Remove Label",
|
||||
"listDeletePopup-title": "Delete List ?",
|
||||
"remove-member": "Remove Member",
|
||||
"remove-member-from-card": "Remove from Card",
|
||||
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
|
||||
"removeMemberPopup-title": "Remove Member?",
|
||||
"rename": "Rename",
|
||||
"rename-board": "Rename Board",
|
||||
"restore": "Restore",
|
||||
"save": "儲存",
|
||||
"search": "Search",
|
||||
"rules": "Rules",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"select-color": "Select Color",
|
||||
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
|
||||
"setWipLimitPopup-title": "Set WIP Limit",
|
||||
"shortcut-assign-self": "Assign yourself to current card",
|
||||
"shortcut-autocomplete-emoji": "Autocomplete emoji",
|
||||
"shortcut-autocomplete-members": "Autocomplete members",
|
||||
"shortcut-clear-filters": "Clear all filters",
|
||||
"shortcut-close-dialog": "Close Dialog",
|
||||
"shortcut-filter-my-cards": "Filter my cards",
|
||||
"shortcut-show-shortcuts": "Bring up this shortcuts list",
|
||||
"shortcut-toggle-filterbar": "Toggle Filter Sidebar",
|
||||
"shortcut-toggle-sidebar": "Toggle Board Sidebar",
|
||||
"show-cards-minimum-count": "Show cards count if list contains more than",
|
||||
"sidebar-open": "Open Sidebar",
|
||||
"sidebar-close": "Close Sidebar",
|
||||
"signupPopup-title": "Create an Account",
|
||||
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
|
||||
"starred-boards": "Starred Boards",
|
||||
"starred-boards-description": "Starred boards show up at the top of your boards list.",
|
||||
"subscribe": "Subscribe",
|
||||
"team": "Team",
|
||||
"this-board": "this board",
|
||||
"this-card": "this card",
|
||||
"spent-time-hours": "Spent time (hours)",
|
||||
"overtime-hours": "Overtime (hours)",
|
||||
"overtime": "Overtime",
|
||||
"has-overtime-cards": "Has overtime cards",
|
||||
"has-spenttime-cards": "Has spent time cards",
|
||||
"time": "Time",
|
||||
"title": "Title",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
"upload": "Upload",
|
||||
"upload-avatar": "Upload an avatar",
|
||||
"uploaded-avatar": "Uploaded an avatar",
|
||||
"username": "Username",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an list at Archive",
|
||||
"watch": "Watch",
|
||||
"watching": "Watching",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
"welcome-board": "Welcome Board",
|
||||
"welcome-swimlane": "Milestone 1",
|
||||
"welcome-list1": "Basics",
|
||||
"welcome-list2": "Advanced",
|
||||
"card-templates-swimlane": "Card Templates",
|
||||
"list-templates-swimlane": "List Templates",
|
||||
"board-templates-swimlane": "Board Templates",
|
||||
"what-to-do": "What do you want to do?",
|
||||
"wipLimitErrorPopup-title": "Invalid WIP Limit",
|
||||
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
|
||||
"admin-panel": "Admin Panel",
|
||||
"settings": "Settings",
|
||||
"people": "People",
|
||||
"registration": "Registration",
|
||||
"disable-self-registration": "Disable Self-Registration",
|
||||
"invite": "Invite",
|
||||
"invite-people": "Invite People",
|
||||
"to-boards": "To board(s)",
|
||||
"email-addresses": "Email Addresses",
|
||||
"smtp-host-description": "The address of the SMTP server that handles your emails.",
|
||||
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
|
||||
"smtp-tls-description": "Enable TLS support for SMTP server",
|
||||
"smtp-host": "SMTP Host",
|
||||
"smtp-port": "SMTP Port",
|
||||
"smtp-username": "Username",
|
||||
"smtp-password": "Password",
|
||||
"smtp-tls": "TLS support",
|
||||
"send-from": "From",
|
||||
"send-smtp-test": "Send a test email to yourself",
|
||||
"invitation-code": "Invitation Code",
|
||||
"email-invite-register-subject": "__inviter__ sent you an invitation",
|
||||
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to 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-text": "You have successfully sent an email",
|
||||
"error-invitation-code-not-exist": "Invitation code doesn't exist",
|
||||
"error-notAuthorized": "You are not authorized to view this page.",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
"boardCardTitlePopup-title": "Card Title Filter",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"no-name": "(Unknown)",
|
||||
"Node_version": "Node version",
|
||||
"OS_Arch": "OS Arch",
|
||||
"OS_Cpus": "OS CPU Count",
|
||||
"OS_Freemem": "OS Free Memory",
|
||||
"OS_Loadavg": "OS Load Average",
|
||||
"OS_Platform": "OS Platform",
|
||||
"OS_Release": "OS Release",
|
||||
"OS_Totalmem": "OS Total Memory",
|
||||
"OS_Type": "OS Type",
|
||||
"OS_Uptime": "OS Uptime",
|
||||
"days": "days",
|
||||
"hours": "hours",
|
||||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"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",
|
||||
"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",
|
||||
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
|
||||
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
|
||||
"boardDeletePopup-title": "Delete Board?",
|
||||
"delete-board": "Delete Board",
|
||||
"default-subtasks-board": "Subtasks for __board__ board",
|
||||
"default": "Default",
|
||||
"queue": "Queue",
|
||||
"subtask-settings": "Subtasks Settings",
|
||||
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
|
||||
"show-subtasks-field": "Cards can have subtasks",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"prefix-with-full-path": "Prefix with full path",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"subtext-with-full-path": "Subtext with full path",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"source-board": "Source board",
|
||||
"no-parent": "Don't show parent",
|
||||
"activity-added-label": "added label '%s' to %s",
|
||||
"activity-removed-label": "removed label '%s' from %s",
|
||||
"activity-delete-attach": "deleted an attachment from %s",
|
||||
"activity-added-label-card": "added label '%s'",
|
||||
"activity-removed-label-card": "removed label '%s'",
|
||||
"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-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-is": "When the label is",
|
||||
"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-attach": "When an attachment",
|
||||
"r-when-a-checklist": "When a checklist is",
|
||||
"r-when-the-checklist": "When the checklist",
|
||||
"r-completed": "Completed",
|
||||
"r-made-incomplete": "Made incomplete",
|
||||
"r-when-a-item": "When a checklist item is",
|
||||
"r-when-the-item": "When the checklist item",
|
||||
"r-checked": "Checked",
|
||||
"r-unchecked": "Unchecked",
|
||||
"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-add": "Add",
|
||||
"r-remove": "Remove",
|
||||
"r-label": "label",
|
||||
"r-member": "member",
|
||||
"r-remove-all": "Remove all members from the card",
|
||||
"r-set-color": "Set color to",
|
||||
"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-of-checklist": "of checklist",
|
||||
"r-send-email": "Send an email",
|
||||
"r-to": "to",
|
||||
"r-subject": "subject",
|
||||
"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-add-label": "Add label",
|
||||
"r-d-remove-label": "Remove label",
|
||||
"r-create-card": "Create new card",
|
||||
"r-in-list": "in list",
|
||||
"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-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-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",
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
"authentication-method": "Authentication method",
|
||||
"authentication-type": "Authentication type",
|
||||
"custom-product-name": "Custom Product Name",
|
||||
"layout": "Layout",
|
||||
"hide-logo": "Hide 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",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
+19
-13
@@ -17,17 +17,17 @@
|
||||
"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-createBoard": "created board __board__",
|
||||
"act-createBoard": "新增看板 __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__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createList": "added list __list__ to board __board__",
|
||||
"act-createList": "新增清單__list__至看板__board__",
|
||||
"act-addBoardMember": "added member __member__ to board __board__",
|
||||
"act-archivedBoard": "Board __board__ moved to Archive",
|
||||
"act-archivedBoard": "看板 __board__ 已被封存",
|
||||
"act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-archivedList": "List __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-archivedSwimlane": "Swimlane __swimlane__ at board __board__ moved to Archive",
|
||||
"act-importBoard": "imported board __board__",
|
||||
"act-importBoard": "看板 __board__ 已匯入",
|
||||
"act-importCard": "imported card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
|
||||
"act-joinMember": "added member __member__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
@@ -379,8 +379,8 @@
|
||||
"muted-info": "您將不會收到有關這個看板的任何訊息",
|
||||
"my-boards": "我的看板",
|
||||
"name": "名稱",
|
||||
"no-archived-cards": "No cards in Archive.",
|
||||
"no-archived-lists": "No lists in Archive.",
|
||||
"no-archived-cards": "沒有封存的卡片",
|
||||
"no-archived-lists": "沒有封存的清單",
|
||||
"no-archived-swimlanes": "No swimlanes in Archive.",
|
||||
"no-results": "無結果",
|
||||
"normal": "普通",
|
||||
@@ -417,7 +417,7 @@
|
||||
"restore": "還原",
|
||||
"save": "儲存",
|
||||
"search": "搜尋",
|
||||
"rules": "Rules",
|
||||
"rules": "規則",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"select-color": "選擇顏色",
|
||||
@@ -443,16 +443,16 @@
|
||||
"team": "團隊",
|
||||
"this-board": "這個看板",
|
||||
"this-card": "這個卡片",
|
||||
"spent-time-hours": "Spent time (hours)",
|
||||
"overtime-hours": "Overtime (hours)",
|
||||
"overtime": "Overtime",
|
||||
"spent-time-hours": "耗費時間 (小時)",
|
||||
"overtime-hours": "超時 (小時)",
|
||||
"overtime": "超時",
|
||||
"has-overtime-cards": "Has overtime cards",
|
||||
"has-spenttime-cards": "Has spent time cards",
|
||||
"time": "時間",
|
||||
"title": "標題",
|
||||
"tracking": "追蹤",
|
||||
"tracking-info": "你將會收到與你有關的卡片的所有變更通知",
|
||||
"type": "Type",
|
||||
"type": "類型",
|
||||
"unassign-member": "取消分配成員",
|
||||
"unsaved-description": "未儲存的描述",
|
||||
"unwatch": "取消觀察",
|
||||
@@ -461,7 +461,7 @@
|
||||
"uploaded-avatar": "大頭貼已經上傳",
|
||||
"username": "使用者名稱",
|
||||
"view-it": "檢視",
|
||||
"warn-list-archived": "warning: this card is in an list at Archive",
|
||||
"warn-list-archived": "警告: 卡片位在封存的清單中",
|
||||
"watch": "觀察",
|
||||
"watching": "觀察中",
|
||||
"watching-info": "你將會收到關於這個看板所有的變更通知",
|
||||
@@ -683,5 +683,11 @@
|
||||
"error-ldap-login": "An error occurred while trying to login",
|
||||
"display-authentication-method": "Display Authentication Method",
|
||||
"default-authentication-method": "Default Authentication Method",
|
||||
"duplicate-board": "Duplicate Board"
|
||||
"duplicate-board": "Duplicate Board",
|
||||
"people-number": "The number of people is:",
|
||||
"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."
|
||||
}
|
||||
@@ -166,7 +166,8 @@ if (Meteor.isServer) {
|
||||
}
|
||||
if (activity.attachmentId) {
|
||||
const attachment = activity.attachment();
|
||||
params.attachment = attachment._id;
|
||||
params.attachment = attachment.original.name;
|
||||
params.attachmentId = attachment._id;
|
||||
}
|
||||
if (activity.checklistId) {
|
||||
const checklist = activity.checklist();
|
||||
|
||||
Loaded 100 of 481 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user