Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
296349a83b | ||
|
|
563458e0b5 | ||
|
|
169301fa18 | ||
|
|
0363e6f122 | ||
|
|
c259324185 | ||
|
|
57767d9906 | ||
|
|
1a26f9fb82 | ||
|
|
19ab7db239 | ||
|
|
ded430c155 | ||
|
|
506acda70b | ||
|
|
d173844f98 | ||
|
|
7919ae3628 | ||
|
|
188d42dcd6 | ||
|
|
7735394373 | ||
|
|
30bf8a1724 | ||
|
|
0310560938 | ||
|
|
2969161afb | ||
|
|
a6213d4a6f | ||
|
|
12268bd065 | ||
|
|
35a66c3550 | ||
|
|
402a974a70 | ||
|
|
079cd95e0e | ||
|
|
e9f5aaa397 | ||
|
|
ca0236fdfd | ||
|
|
da3edb35cc | ||
|
|
ef6054b859 | ||
|
|
1046976c08 | ||
|
|
f8cbbfc2cd | ||
|
|
f083fc0d7b | ||
|
|
72cb820f1f | ||
|
|
d5d33247fb | ||
|
|
9f95a10591 | ||
|
|
5ca083105c | ||
|
|
6bc8d8dd56 | ||
|
|
dce89bcfa8 | ||
|
|
e5370ce859 | ||
|
|
6f35d73fe8 | ||
|
|
af2fb5f399 | ||
|
|
e976565550 | ||
|
|
7a6b4adcc1 | ||
|
|
ec30665bc4 | ||
|
|
9651d62b96 | ||
|
|
a6e3c8984d | ||
|
|
777d9ac353 | ||
|
|
d01fccd949 | ||
|
|
4cd0d1c397 | ||
|
|
bf3ec060f7 | ||
|
|
40a3267615 | ||
|
|
ff19d6744e | ||
|
|
c26af16688 | ||
|
|
216b3cfe01 | ||
|
|
fd70556c82 | ||
|
|
0fee20cc12 | ||
|
|
32f6de1eec | ||
|
|
8671f08a0e | ||
|
|
299484f7b2 | ||
|
|
d16086fcdb | ||
|
|
1968b7da31 | ||
|
|
95a40a45e5 | ||
|
|
0ad7f080b7 | ||
|
|
aca3048036 | ||
|
|
1158cd42cc | ||
|
|
0e2b7458d7 | ||
|
|
cf7d740004 | ||
|
|
dc4c4d9ade | ||
|
|
a347ae3676 | ||
|
|
7da2a8a15e | ||
|
|
0002559d6e | ||
|
|
afda0ed4da | ||
|
|
473f389bbe | ||
|
|
b7c000b78b | ||
|
|
4ac8247db0 | ||
|
|
0471d1ac97 | ||
|
|
c0221dafde | ||
|
|
8f337f17e4 | ||
|
|
de5a63f7b2 | ||
|
|
52a744b443 | ||
|
|
4be5fa598e | ||
|
|
d03a7e7a98 | ||
|
|
ebc4d6fdbd | ||
|
|
35ffd02814 | ||
|
|
4c72479d12 | ||
|
|
907c761f71 | ||
|
|
97206aa8f6 | ||
|
|
2ec1664408 | ||
|
|
97822f35fd | ||
|
|
c5e72d1a2b | ||
|
|
117c9e069e | ||
|
|
951a9f81d6 | ||
|
|
6f30c33f11 | ||
|
|
8050117adf | ||
|
|
98031aacce | ||
|
|
2781ce6fa0 | ||
|
|
08db39d76a | ||
|
|
da267e1488 | ||
|
|
ff825d6123 | ||
|
|
6d6bb8fc57 | ||
|
|
7836ab83d0 | ||
|
|
8568728152 | ||
|
|
8783983945 | ||
|
|
4055f451fd | ||
|
|
31777ce804 | ||
|
|
97a9e92969 | ||
|
|
c5ca414e8f | ||
|
|
2c5628b5fb | ||
|
|
a338e937e5 | ||
|
|
1089572d66 | ||
|
|
ddb2460187 | ||
|
|
745f39ed20 | ||
|
|
18cccd514f | ||
|
|
9c0eba4f00 | ||
|
|
f19625d835 | ||
|
|
c4754d9f85 | ||
|
|
acdc5dc1f4 | ||
|
|
4927609af0 | ||
|
|
e845fe3e71 | ||
|
|
d807efd4f8 | ||
|
|
5f76695298 | ||
|
|
aadb1f3109 | ||
|
|
cb986912c4 | ||
|
|
7e451d9033 | ||
|
|
a024b6d692 | ||
|
|
a45ccf1db7 | ||
|
|
30bf430a91 | ||
|
|
df00776e6c | ||
|
|
1dc0d0c12e | ||
|
|
002fd411ea | ||
|
|
6311cf0c5a | ||
|
|
d71543beb6 | ||
|
|
5a9837f676 | ||
|
|
77754cf32f | ||
|
|
43a74fb99b | ||
|
|
1bef3a3f8f | ||
|
|
b6b6be34f6 | ||
|
|
f1cde3e873 | ||
|
|
dcd6ae2e01 | ||
|
|
8984172ff6 | ||
|
|
87a5e7f030 | ||
|
|
115d07da5a | ||
|
|
e67ed023cd | ||
|
|
1f1d753791 | ||
|
|
34fcce60af | ||
|
|
e7a90d9a7c | ||
|
|
9d6d5e1a14 | ||
|
|
763cf81c97 | ||
|
|
0b64a46bdc |
No files matched your search
+1
-1
@@ -82,7 +82,6 @@ staringatlights:fast-render
|
||||
mixmax:smart-disconnect
|
||||
accounts-password@1.5.0
|
||||
cfs:gridfs
|
||||
eluck:accounts-lockout
|
||||
rzymek:fullcalendar
|
||||
momentjs:moment@2.22.2
|
||||
browser-policy-framing
|
||||
@@ -92,3 +91,4 @@ wekan-scrollbar
|
||||
mquandalle:perfect-scrollbar
|
||||
mdg:meteor-apm-agent
|
||||
meteorhacks:unblock
|
||||
lucasantoniassi:accounts-lockout
|
||||
+3
-3
@@ -60,7 +60,6 @@ ecmascript-runtime@0.5.0
|
||||
ecmascript-runtime-client@0.5.0
|
||||
ecmascript-runtime-server@0.5.0
|
||||
ejson@1.1.0
|
||||
eluck:accounts-lockout@0.9.0
|
||||
email@1.2.3
|
||||
es5-shim@4.6.15
|
||||
fastclick@1.0.13
|
||||
@@ -82,6 +81,7 @@ launch-screen@1.1.1
|
||||
livedata@1.0.18
|
||||
localstorage@1.2.0
|
||||
logging@1.1.19
|
||||
lucasantoniassi:accounts-lockout@1.0.0
|
||||
matb33:collection-hooks@0.8.4
|
||||
matteodem:easy-search@1.6.4
|
||||
mdg:meteor-apm-agent@3.1.2
|
||||
@@ -145,8 +145,6 @@ reload@1.1.11
|
||||
retry@1.0.9
|
||||
routepolicy@1.0.12
|
||||
rzymek:fullcalendar@3.8.0
|
||||
wekan-accounts-oidc@1.0.10
|
||||
wekan-oidc@1.0.12
|
||||
service-configuration@1.0.11
|
||||
session@1.1.7
|
||||
sha@1.0.9
|
||||
@@ -181,6 +179,8 @@ useraccounts:unstyled@1.14.2
|
||||
verron:autosize@3.0.8
|
||||
webapp@1.4.0
|
||||
webapp-hashing@1.0.9
|
||||
wekan-accounts-oidc@1.0.10
|
||||
wekan-oidc@1.0.12
|
||||
wekan-scrollbar@3.1.3
|
||||
wekan:accounts-cas@0.1.0
|
||||
wekan:wekan-ldap@0.0.2
|
||||
|
||||
+210
@@ -1,3 +1,213 @@
|
||||
# v2.52 2019-03-22 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [More whitelabeling: Hide Wekan logo and title by default, and don't show separate option to hide logo at
|
||||
Admin Panel/Layout](https://github.com/wekan/wekan/commit/2969161afbe60a1aa2e7da6cedc3ab48941faf3e).
|
||||
Thanks to xet7.
|
||||
- Added and then reverted option to redirect OIDC OAuth2 login [part1](https://github.com/wekan/wekan-ldap/commit/82a894ac20ba9e7c6fdf053cff1721cab709bf8a),
|
||||
[part 2](https://github.com/wekan/wekan-ldap/commit/36900cc360d0d406f8fba5e43378f85c92747870) and
|
||||
[part3](https://github.com/wekan/wekan/commit/7919ae362866c0cacf2a486bf91b12e4d25807d7).
|
||||
This does not work yet. In Progress.
|
||||
Thanks to xet7.
|
||||
- [Add LDAP config example, remove extra text](https://github.com/wekan/wekan/commit/506acda70b5e78737c52455e5eee9c8758243196).
|
||||
Thanks to xet7.
|
||||
|
||||
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
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Unable to change board card title (=Board name) at Templates page](https://github.com/wekan/wekan/issues/2275).
|
||||
and [Unable to change card title in Template](https://github.com/wekan/wekan/issues/2268) part 2.
|
||||
Thanks to andresmanelli.
|
||||
|
||||
Thanks to above GitHub users for their contributions.
|
||||
|
||||
# v2.50 2019-03-21 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix](https://github.com/wekan/wekan/pull/2269) [Unable to change card title in Template](https://github.com/wekan/wekan/issues/2268)
|
||||
and [Fix Unable to create a new board from a template](https://github.com/wekan/wekan/issues/2267).
|
||||
Thanks to andresmanelli.
|
||||
|
||||
Thanks to above GitHub users for their contributions.
|
||||
|
||||
# v2.49 2019-03-21 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [The invitation code doesn't exist - case-sensitive eMail](https://github.com/wekan/wekan/issues/1384). Thanks to neurolabs.
|
||||
- [Don't swallow email errors](https://github.com/wekan/wekan/pull/2272). Thanks to justinr1234.
|
||||
- [Migrate customFields model](https://github.com/wekan/wekan/pull/2264).
|
||||
Modifies the customFields model to keep an array of boardIds where the customField can be used.
|
||||
Adds name matching for labels when copying/moving cards between boards.
|
||||
This way, customFields are not lost when copying/moving a card. Particularly useful when templates have customFields or labels with specific names (not tested for templates yet).
|
||||
Thanks to andresmanelli.
|
||||
- [Fix dissapearing subtasks](https://github.com/wekan/wekan/pull/2265). Thanks to andresmanelli.
|
||||
- [Cards disappear when rearranged on template board](https://github.com/wekan/wekan/issues/2266). Thanks to andresmanelli.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.48 2019-03-15 Wekan release
|
||||
|
||||
This release fixes the following bugs, thanks to GitHub user xet7:
|
||||
|
||||
- [Fix LDAP login](https://github.com/wekan/wekan/commit/216b3cfe0121aa026139536c383aa27db0353411).
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.47 2019-03-14 Wekan release
|
||||
|
||||
This release fixes the following bugs, thanks to GitHub user xet7:
|
||||
|
||||
- [Remove ordering of cards by starred/color/description, so that cards would not reorder all the time](https://github.com/wekan/wekan/issues/2241).
|
||||
- Try to fix [LDAP Login: "Login forbidden", ReferenceError: req is not defined](https://github.com/wekan/wekan-ldap/44).
|
||||
|
||||
# v2.46 2019-03-13 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix watchers undefined](https://github.com/wekan/wekan/pull/2253).
|
||||
Thanks to justinr1234.
|
||||
- [Revert hiding of Subtask boards](https://github.com/wekan/wekan/commit/1968b7da31d75757fd6383417d729ff6af6bbc5b)
|
||||
because of feedback from Wekan users, that need Subtask boards to be visible.
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v2.45 2019-03-11 Wekan release
|
||||
|
||||
This release fixes the following bugs, thanks to andresmanelli:
|
||||
|
||||
- [Rename circular card migration to re run the fix](https://github.com/wekan/wekan/commit/a347ae367654258b7768e7571831ed8f75fb5b84).
|
||||
|
||||
# v2.44 2019-03-11 Wekan release
|
||||
|
||||
This release adds the following new features and fixes with Apache I-CLA, thanks to bentiss:
|
||||
|
||||
- [Activities: register customFields changes in the activities](https://github.com/wekan/wekan/pull/2239).
|
||||
- [customFields: fix leftover from lint](https://github.com/wekan/wekan/commit/4c72479d1206850d436261dc5c6a4127f246f6da).
|
||||
Looks like I forgot to use the camelCase notation here, and this leads to an exception while updating a custom field.
|
||||
- [Fix imports](https://github.com/wekan/wekan/pull/2245).
|
||||
|
||||
and adds the following new features:
|
||||
|
||||
- Add language: Occitan. Thanks to translators.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix removed checklistItem activity => dangling activities created](https://github.com/wekan/wekan/commit/2ec1664408d9515b5ca77fbb46ef99208eb8cff0).
|
||||
Closes #2240. Thanks to andresmanelli.
|
||||
- [Avoid set self as parent card to cause circular reference, for real](https://github.com/wekan/commit/97822f35fd6365e5631c5488e8ee595f76ab4e34).
|
||||
Thanks to andresmanelli.
|
||||
- Try to fix [Order All Boards by starred, color, board name and board description. Part 2](https://github.com/wekan/wekan/commit/8f337f17e45f8af8d96b6043d54466e5878b7e0b).
|
||||
Works on new Wekan install. Could still have boards keeping reording happening all the time on old Wekan installs.
|
||||
Thanks to xet7. Note: Ordering by starred/color/description was removed at Wekan v2.47.
|
||||
- [Changed brute force protection package from eluck:accounts-lockout to lucasantoniassi:accounts-lockout that is maintained and works.
|
||||
Added Snap/Docker/Source settings](https://github.com/wekan/wekan/commit/b7c000b78b9af253fb115bbfa5ef0d4c0681abbb).
|
||||
Thanks to xet7.
|
||||
|
||||
Thanks to above Wekan contributors for their contributions.
|
||||
|
||||
# v2.43 2019-03-08 Wekan release
|
||||
|
||||
This release adds the following new features, thanks to xet7:
|
||||
|
||||
- [Hide Subtask boards from All Boards](https://github.com/wekan/wekan/issues/1990). This was reverted in Wekan v2.46 to make Subtask boards visible again.
|
||||
- [Order All Boards by Starred, Color, Title and Description](https://github.com/wekan/wekan/commit/856872815292590e0c4eff2848ea1b857a318dc4).
|
||||
This was removed at Wekan v2.47.
|
||||
- [HTTP header automatic login](https://github.com/wekan/wekan/commit/ff825d6123ecfd033ccb08ce97c11cefee676104)
|
||||
for [3rd party authentication server method](https://github.com/wekan/wekan/issues/2019) like siteminder, and any webserver that
|
||||
handles authentication and based on it adds HTTP headers to be used for login. Please test.
|
||||
|
||||
and adds the following partial fix, thanks to andresmanelli:
|
||||
|
||||
- [Add migration to fix circular references](https://github.com/wekan/wekan/commit/a338e937e508568d1f6a15c5464126d30ef69a7d).
|
||||
This [runs only once](https://github.com/wekan/wekan/issues/2209#issuecomment-470445989),
|
||||
so later there will be another fix to make it run every time.
|
||||
|
||||
and reverts the following change of v2.42, because they did not fix anything, thanks to xet7:
|
||||
|
||||
- [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.
|
||||
|
||||
# v2.42 2019-03-07 Wekan release
|
||||
|
||||
This release tried to fix the following bugs:
|
||||
|
||||
- [Tried to fix snap mongodb-control not starting database](https://github.com/wekan/wekan/commit/2c5628b5fbcc25427021d0b22e74577a71149c21).
|
||||
Reverted in v2.43, because it did not fix anything.
|
||||
|
||||
Thanks to xet7 and qurqar[m] at IRC #wekan.
|
||||
|
||||
# v2.41 2019-03-07 Wekan release
|
||||
|
||||
This release tried to fix the following bugs:
|
||||
|
||||
- [Partial Fix: Card was selected as parent card (circular reference) and now board can be not opened anymore](https://github.com/wekan/wekan/issues/2202)
|
||||
with [Avoid setting same card as parentCard. Avoid listing templates board in copy/move/more menus](https://github.com/wekan/wekan/commit/745f39ed20169f56b99c0339f2043f8c4ed43873).
|
||||
This does not fully work yet, it will be fixed later.
|
||||
Thanks to andresmanelli.
|
||||
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
|
||||
# v2.40 2019-03-06 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- Part 2: [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.39 2019-03-06 Wekan release
|
||||
|
||||
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
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Added a Helm Chart to the project](https://github.com/wekan/wekan/pull/2227), thanks to TechnoTaff.
|
||||
- [Added support for LDAP admin status sync](https://github.com/wekan/wekan-ldap/pull/40).
|
||||
Examples: [LDAP_SYNC_ADMIN_STATUS=true, LDAP_SYNC_ADMIN_GROUP=group1,group2](https://github.com/wekan/wekan/commit/7e451d9033eb6162cd37de3e5ffabdc22e272948).
|
||||
Thanks to JulianJacobi and xet7.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix card deletion from archive](https://github.com/wekan/wekan/commit/77754cf32f28498e550a46325d90eb41f08f8552). Thanks to andresmanelli.
|
||||
- [Fix card move with wrong swimlaneId](https://github.com/wekan/wekan/commit/1bef3a3f8ff4eac43bf97cc8b86d85e618b0e2ef). Thanks to andresmanelli.
|
||||
NOTE: This does not yet fix card move [with Custom Field](https://github.com/wekan/wekan/issues/2233), it will be fixed later.
|
||||
- [Fix: LDAP Authentication with Recursive Group Filtering Does Not Work on Snap](https://github.com/wekan/wekan/issues/2228). Thanks to apages2.
|
||||
- [Use ubuntu:cosmic base in Dockerfile](https://github.com/wekan/wekan/commit/df00776e6ca47080435eca9a31a16fd24c0770ed). Thanks to xet7.
|
||||
- [Remove phantomjs binary from Docker/Snap/Stackerfile to reduce size](https://github.com/wekan/wekan/issues/2229). Thanks to soohwa.
|
||||
|
||||
Thanks to above GitHub users for their contributions, and translators for their translations.
|
||||
|
||||
# v2.37 2019-03-04 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [Fix Adding Labels to cards is not possible anymore](https://github.com/wekan/wekan/issues/2223).
|
||||
|
||||
Thanks to GitHub user xet7 for contributions.
|
||||
|
||||
# v2.36 2019-03-03 Wekan release
|
||||
|
||||
This release adds the following UI changes:
|
||||
|
||||
+29
-2
@@ -1,4 +1,4 @@
|
||||
FROM debian:buster-slim
|
||||
FROM ubuntu:cosmic
|
||||
LABEL maintainer="wekan"
|
||||
|
||||
# Declare Arguments
|
||||
@@ -12,6 +12,12 @@ ARG FIBERS_VERSION
|
||||
ARG ARCHITECTURE
|
||||
ARG SRC_PATH
|
||||
ARG WITH_API
|
||||
ARG ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE
|
||||
ARG ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD
|
||||
ARG ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW
|
||||
ARG ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE
|
||||
ARG ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD
|
||||
ARG ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW
|
||||
ARG EMAIL_NOTIFICATION_TIMEOUT
|
||||
ARG MATOMO_ADDRESS
|
||||
ARG MATOMO_SITE_ID
|
||||
@@ -21,6 +27,7 @@ ARG BROWSER_POLICY_ENABLED
|
||||
ARG TRUSTED_URL
|
||||
ARG WEBHOOKS_ATTRIBUTES
|
||||
ARG OAUTH2_ENABLED
|
||||
ARG OAUTH2_LOGIN_STYLE
|
||||
ARG OAUTH2_CLIENT_ID
|
||||
ARG OAUTH2_SECRET
|
||||
ARG OAUTH2_SERVER_URL
|
||||
@@ -75,6 +82,12 @@ ARG LDAP_SYNC_USER_DATA
|
||||
ARG LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
ARG LDAP_SYNC_GROUP_ROLES
|
||||
ARG LDAP_DEFAULT_DOMAIN
|
||||
ARG LDAP_SYNC_ADMIN_STATUS
|
||||
ARG LDAP_SYNC_ADMIN_GROUPS
|
||||
ARG HEADER_LOGIN_ID
|
||||
ARG HEADER_LOGIN_FIRSTNAME
|
||||
ARG HEADER_LOGIN_LASTNAME
|
||||
ARG HEADER_LOGIN_EMAIL
|
||||
ARG LOGOUT_WITH_TIMER
|
||||
ARG LOGOUT_IN
|
||||
ARG LOGOUT_ON_HOURS
|
||||
@@ -96,6 +109,12 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
|
||||
ARCHITECTURE=linux-x64 \
|
||||
SRC_PATH=./ \
|
||||
WITH_API=true \
|
||||
ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE=3 \
|
||||
ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD=60 \
|
||||
ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW=15 \
|
||||
ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE=3 \
|
||||
ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD=60 \
|
||||
ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW=15 \
|
||||
EMAIL_NOTIFICATION_TIMEOUT=30000 \
|
||||
MATOMO_ADDRESS="" \
|
||||
MATOMO_SITE_ID="" \
|
||||
@@ -105,6 +124,7 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
|
||||
TRUSTED_URL="" \
|
||||
WEBHOOKS_ATTRIBUTES="" \
|
||||
OAUTH2_ENABLED=false \
|
||||
OAUTH2_LOGIN_STYLE=redirect \
|
||||
OAUTH2_CLIENT_ID="" \
|
||||
OAUTH2_SECRET="" \
|
||||
OAUTH2_SERVER_URL="" \
|
||||
@@ -159,6 +179,12 @@ ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 build-essential pyth
|
||||
LDAP_SYNC_USER_DATA_FIELDMAP="" \
|
||||
LDAP_SYNC_GROUP_ROLES="" \
|
||||
LDAP_DEFAULT_DOMAIN="" \
|
||||
LDAP_SYNC_ADMIN_STATUS="" \
|
||||
LDAP_SYNC_ADMIN_GROUPS="" \
|
||||
HEADER_LOGIN_ID="" \
|
||||
HEADER_LOGIN_FIRSTNAME="" \
|
||||
HEADER_LOGIN_LASTNAME="" \
|
||||
HEADER_LOGIN_EMAIL="" \
|
||||
LOGOUT_WITH_TIMER=false \
|
||||
LOGOUT_IN="" \
|
||||
LOGOUT_ON_HOURS="" \
|
||||
@@ -286,13 +312,14 @@ RUN \
|
||||
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/wekan-logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml; \
|
||||
/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 && \
|
||||
gosu wekan:wekan /home/wekan/.meteor/meteor npm install && \
|
||||
gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \
|
||||
cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
|
||||
rm /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs && \
|
||||
chown wekan:wekan /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
|
||||
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
|
||||
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
|
||||
|
||||
@@ -22,9 +22,8 @@ It's better than at chat where details get lost when chat scrolls up.
|
||||
|
||||
## Chat
|
||||
|
||||
[![Wekan Vanila Chat][vanila_badge]][vanila_chat] - Most Wekan community and developers are here at #wekan chat channel.
|
||||
Use webbrowser to register, and after that you can also alternatively use mobile app Rocket.Chat by Rocket.Chat with
|
||||
address https://chat.vanila.io and same username and password.
|
||||
[![Wekan Chat][vanila_badge]][wekan_chat] - Most Wekan community and developers are here. Works on webbrowser
|
||||
and PWA app that can be added as icon on Android and bookmark on iOS, used like native app.
|
||||
|
||||
[Wekan IRC FAQ](https://github.com/wekan/wekan/wiki/IRC-FAQ)
|
||||
|
||||
@@ -133,4 +132,4 @@ with [Meteor](https://www.meteor.com).
|
||||
[open_source]: https://en.wikipedia.org/wiki/Open-source_software
|
||||
[free_software]: https://en.wikipedia.org/wiki/Free_software
|
||||
[vanila_badge]: https://vanila.io/img/join-chat-button2.png
|
||||
[vanila_chat]: https://chat.vanila.io/channel/wekan
|
||||
[wekan_chat]: https://community.vanila.io/wekan
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v2.36.0"
|
||||
appVersion: "v2.52.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -99,6 +99,9 @@ template(name="boardActivities")
|
||||
else
|
||||
| {{{_ 'activity-added' memberLink cardLink}}}.
|
||||
|
||||
if($eq activityType 'moveCardBoard')
|
||||
| {{{_ 'activity-moved' cardLink oldBoardName boardName}}}.
|
||||
|
||||
if($eq activityType 'moveCard')
|
||||
| {{{_ 'activity-moved' cardLink oldList.title list.title}}}.
|
||||
|
||||
@@ -114,6 +117,12 @@ template(name="boardActivities")
|
||||
if($eq activityType 'removedLabel')
|
||||
| {{{_ 'activity-removed-label' lastLabel cardLink}}}.
|
||||
|
||||
if($eq activityType 'setCustomField')
|
||||
| {{{_ 'activity-set-customfield' lastCustomField lastCustomFieldValue cardLink}}}.
|
||||
|
||||
if($eq activityType 'unsetCustomField')
|
||||
| {{{_ 'activity-unset-customfield' lastCustomField cardLink}}}.
|
||||
|
||||
if($eq activityType 'unjoinMember')
|
||||
if($eq user._id member._id)
|
||||
| {{{_ 'activity-unjoined' cardLink}}}.
|
||||
@@ -129,7 +138,7 @@ template(name="cardActivities")
|
||||
p.activity-desc
|
||||
+memberName(user=user)
|
||||
if($eq activityType 'createCard')
|
||||
| {{_ 'activity-added' cardLabel list.title}}.
|
||||
| {{_ 'activity-added' cardLabel listName}}.
|
||||
if($eq activityType 'importCard')
|
||||
| {{{_ 'activity-imported' cardLabel list.title sourceLink}}}.
|
||||
if($eq activityType 'joinMember')
|
||||
@@ -170,6 +179,10 @@ template(name="cardActivities")
|
||||
| {{_ 'activity-sent' cardLabel boardLabel}}.
|
||||
if($eq activityType 'moveCard')
|
||||
| {{_ 'activity-moved' cardLabel oldList.title list.title}}.
|
||||
|
||||
if($eq activityType 'moveCardBoard')
|
||||
| {{{_ 'activity-moved' cardLink oldBoardName boardName}}}.
|
||||
|
||||
if($eq activityType 'addAttachment')
|
||||
| {{{_ 'activity-attached' attachmentLink cardLabel}}}.
|
||||
if attachment.isImage
|
||||
|
||||
@@ -74,6 +74,8 @@ BlazeComponent.extendComponent({
|
||||
|
||||
lastLabel(){
|
||||
const lastLabelId = this.currentData().labelId;
|
||||
if (!lastLabelId)
|
||||
return null;
|
||||
const lastLabel = Boards.findOne(Session.get('currentBoard')).getLabelById(lastLabelId);
|
||||
if(lastLabel.name === undefined || lastLabel.name === ''){
|
||||
return lastLabel.color;
|
||||
@@ -82,6 +84,28 @@ BlazeComponent.extendComponent({
|
||||
}
|
||||
},
|
||||
|
||||
lastCustomField(){
|
||||
const lastCustomField = CustomFields.findOne(this.currentData().customFieldId);
|
||||
if (!lastCustomField)
|
||||
return null;
|
||||
return lastCustomField.name;
|
||||
},
|
||||
|
||||
lastCustomFieldValue(){
|
||||
const lastCustomField = CustomFields.findOne(this.currentData().customFieldId);
|
||||
if (!lastCustomField)
|
||||
return null;
|
||||
const value = this.currentData().value;
|
||||
if (lastCustomField.settings.dropdownItems && lastCustomField.settings.dropdownItems.length > 0) {
|
||||
const dropDownValue = _.find(lastCustomField.settings.dropdownItems, (item) => {
|
||||
return item._id === value;
|
||||
});
|
||||
if (dropDownValue)
|
||||
return dropDownValue.name;
|
||||
}
|
||||
return value;
|
||||
},
|
||||
|
||||
listLabel() {
|
||||
return this.currentData().list().title;
|
||||
},
|
||||
@@ -117,6 +141,8 @@ BlazeComponent.extendComponent({
|
||||
|
||||
customField() {
|
||||
const customField = this.currentData().customField();
|
||||
if (!customField)
|
||||
return null;
|
||||
return customField.name;
|
||||
},
|
||||
|
||||
|
||||
@@ -133,6 +133,36 @@ template(name="boardVisibilityList")
|
||||
i.fa.fa-check
|
||||
span.sub-name {{_ 'public-desc'}}
|
||||
|
||||
template(name="boardChangeVisibilityPopup")
|
||||
+boardVisibilityList
|
||||
|
||||
template(name="boardChangeWatchPopup")
|
||||
ul.pop-over-list
|
||||
li
|
||||
with "watching"
|
||||
a.js-select-watch
|
||||
i.fa.fa-eye.colorful
|
||||
| {{_ 'watching'}}
|
||||
if watchCheck
|
||||
i.fa.fa-check
|
||||
span.sub-name {{_ 'watching-info'}}
|
||||
li
|
||||
with "tracking"
|
||||
a.js-select-watch
|
||||
i.fa.fa-bell.colorful
|
||||
| {{_ 'tracking'}}
|
||||
if watchCheck
|
||||
i.fa.fa-check
|
||||
span.sub-name {{_ 'tracking-info'}}
|
||||
li
|
||||
with "muted"
|
||||
a.js-select-watch
|
||||
i.fa.fa-bell-slash.colorful
|
||||
| {{_ 'muted'}}
|
||||
if watchCheck
|
||||
i.fa.fa-check
|
||||
span.sub-name {{_ 'muted-info'}}
|
||||
|
||||
template(name="createBoard")
|
||||
form
|
||||
label
|
||||
|
||||
@@ -1,3 +1,49 @@
|
||||
Template.boardMenuPopup.events({
|
||||
'click .js-rename-board': Popup.open('boardChangeTitle'),
|
||||
'click .js-custom-fields'() {
|
||||
Sidebar.setView('customFields');
|
||||
Popup.close();
|
||||
},
|
||||
'click .js-open-archives'() {
|
||||
Sidebar.setView('archives');
|
||||
Popup.close();
|
||||
},
|
||||
'click .js-change-board-color': Popup.open('boardChangeColor'),
|
||||
'click .js-change-language': Popup.open('changeLanguage'),
|
||||
'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function() {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
currentBoard.archive();
|
||||
// XXX We should have some kind of notification on top of the page to
|
||||
// confirm that the board was successfully archived.
|
||||
FlowRouter.go('home');
|
||||
}),
|
||||
'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
Popup.close();
|
||||
Boards.remove(currentBoard._id);
|
||||
FlowRouter.go('home');
|
||||
}),
|
||||
'click .js-outgoing-webhooks': Popup.open('outgoingWebhooks'),
|
||||
'click .js-import-board': Popup.open('chooseBoardSource'),
|
||||
'click .js-subtask-settings': Popup.open('boardSubtaskSettings'),
|
||||
});
|
||||
|
||||
Template.boardMenuPopup.helpers({
|
||||
exportUrl() {
|
||||
const params = {
|
||||
boardId: Session.get('currentBoard'),
|
||||
};
|
||||
const queryParams = {
|
||||
authToken: Accounts._storedLoginToken(),
|
||||
};
|
||||
return FlowRouter.path('/api/boards/:boardId/export', params, queryParams);
|
||||
},
|
||||
exportFilename() {
|
||||
const boardId = Session.get('currentBoard');
|
||||
return `wekan-export-board-${boardId}.json`;
|
||||
},
|
||||
});
|
||||
|
||||
Template.boardChangeTitlePopup.events({
|
||||
submit(evt, tpl) {
|
||||
const newTitle = tpl.$('.js-board-name').val().trim();
|
||||
@@ -35,8 +81,12 @@ BlazeComponent.extendComponent({
|
||||
'click .js-star-board'() {
|
||||
Meteor.user().toggleBoardStar(Session.get('currentBoard'));
|
||||
},
|
||||
'click .js-open-board-menu': Popup.open('boardMenu'),
|
||||
'click .js-change-visibility': Popup.open('boardChangeVisibility'),
|
||||
'click .js-watch-board': Popup.open('boardChangeWatch'),
|
||||
'click .js-open-archived-board'() {
|
||||
Modal.open('archivedBoards');
|
||||
},
|
||||
'click .js-toggle-board-view'() {
|
||||
const currentUser = Meteor.user();
|
||||
if (currentUser.profile.boardView === 'board-view-swimlanes') {
|
||||
@@ -136,6 +186,9 @@ const CreateBoard = BlazeComponent.extendComponent({
|
||||
this.setVisibility(this.currentData());
|
||||
},
|
||||
'click .js-change-visibility': this.toggleVisibilityMenu,
|
||||
'click .js-import': Popup.open('boardImportBoard'),
|
||||
submit: this.onSubmit,
|
||||
'click .js-import-board': Popup.open('chooseBoardSource'),
|
||||
'click .js-board-template': Popup.open('searchElement'),
|
||||
}];
|
||||
},
|
||||
|
||||
@@ -25,11 +25,8 @@ BlazeComponent.extendComponent({
|
||||
archived: false,
|
||||
'members.userId': Meteor.userId(),
|
||||
type: 'board',
|
||||
}, {
|
||||
sort: ['title'],
|
||||
});
|
||||
}, { sort: ['title'] });
|
||||
},
|
||||
|
||||
isStarred() {
|
||||
const user = Meteor.user();
|
||||
return user && user.hasStarred(this.currentData()._id);
|
||||
|
||||
@@ -306,27 +306,27 @@ template(name="cardMorePopup")
|
||||
h2 {{_ 'change-card-parent'}}
|
||||
label {{_ 'source-board'}}:
|
||||
select.js-field-parent-board
|
||||
if isTopLevel
|
||||
option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
|
||||
else
|
||||
option(value="none") {{_ 'custom-field-dropdown-none'}}
|
||||
each boards
|
||||
if isParentBoard
|
||||
option(value="{{_id}}" selected) {{title}}
|
||||
else
|
||||
option(value="{{_id}}") {{title}}
|
||||
if isTopLevel
|
||||
option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
|
||||
else
|
||||
option(value="none") {{_ 'custom-field-dropdown-none'}}
|
||||
|
||||
label {{_ 'parent-card'}}:
|
||||
select.js-field-parent-card
|
||||
if isTopLevel
|
||||
option(value="none" selected) {{_ 'custom-field-dropdown-none'}}
|
||||
else
|
||||
option(value="none") {{_ 'custom-field-dropdown-none'}}
|
||||
each cards
|
||||
if isParentCard
|
||||
option(value="{{_id}}" selected) {{title}}
|
||||
else
|
||||
option(value="{{_id}}") {{title}}
|
||||
option(value="none") {{_ 'custom-field-dropdown-none'}}
|
||||
br
|
||||
| {{_ 'added'}}
|
||||
span.date(title=card.createdAt) {{ moment createdAt 'LLL' }}
|
||||
|
||||
@@ -412,11 +412,13 @@ Template.moveCardPopup.events({
|
||||
// XXX We should *not* get the currentCard from the global state, but
|
||||
// instead from a “component” state.
|
||||
const card = Cards.findOne(Session.get('currentCard'));
|
||||
const bSelect = $('.js-select-boards')[0];
|
||||
const boardId = bSelect.options[bSelect.selectedIndex].value;
|
||||
const lSelect = $('.js-select-lists')[0];
|
||||
const newListId = lSelect.options[lSelect.selectedIndex].value;
|
||||
const listId = lSelect.options[lSelect.selectedIndex].value;
|
||||
const slSelect = $('.js-select-swimlanes')[0];
|
||||
card.swimlaneId = slSelect.options[slSelect.selectedIndex].value;
|
||||
card.move(card.swimlaneId, newListId, 0);
|
||||
const swimlaneId = slSelect.options[slSelect.selectedIndex].value;
|
||||
card.move(boardId, swimlaneId, listId, 0);
|
||||
Popup.close();
|
||||
},
|
||||
});
|
||||
@@ -430,6 +432,7 @@ BlazeComponent.extendComponent({
|
||||
const boards = Boards.find({
|
||||
archived: false,
|
||||
'members.userId': Meteor.userId(),
|
||||
_id: {$ne: Meteor.user().getTemplatesBoardId()},
|
||||
}, {
|
||||
sort: ['title'],
|
||||
});
|
||||
@@ -577,11 +580,14 @@ BlazeComponent.extendComponent({
|
||||
BlazeComponent.extendComponent({
|
||||
onCreated() {
|
||||
this.currentCard = this.currentData();
|
||||
this.parentBoard = new ReactiveVar(null);
|
||||
this.parentCard = this.currentCard.parentCard();
|
||||
if (this.parentCard) {
|
||||
this.parentBoard = this.parentCard.board();
|
||||
const list = $('.js-field-parent-card');
|
||||
list.val(this.parentCard._id);
|
||||
this.parentBoard.set(this.parentCard.board()._id);
|
||||
} else {
|
||||
this.parentBoard = null;
|
||||
this.parentBoard.set(null);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -589,6 +595,9 @@ BlazeComponent.extendComponent({
|
||||
const boards = Boards.find({
|
||||
archived: false,
|
||||
'members.userId': Meteor.userId(),
|
||||
_id: {
|
||||
$ne: Meteor.user().getTemplatesBoardId(),
|
||||
},
|
||||
}, {
|
||||
sort: ['title'],
|
||||
});
|
||||
@@ -596,8 +605,12 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
cards() {
|
||||
if (this.parentBoard) {
|
||||
return this.parentBoard.cards();
|
||||
const currentId = Session.get('currentCard');
|
||||
if (this.parentBoard.get()) {
|
||||
return Cards.find({
|
||||
boardId: this.parentBoard.get(),
|
||||
_id: {$ne: currentId},
|
||||
});
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
@@ -605,8 +618,8 @@ BlazeComponent.extendComponent({
|
||||
|
||||
isParentBoard() {
|
||||
const board = this.currentData();
|
||||
if (this.parentBoard) {
|
||||
return board._id === this.parentBoard;
|
||||
if (this.parentBoard.get()) {
|
||||
return board._id === this.parentBoard.get();
|
||||
}
|
||||
return false;
|
||||
},
|
||||
@@ -620,11 +633,10 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
setParentCardId(cardId) {
|
||||
if (cardId === 'null') {
|
||||
cardId = null;
|
||||
this.parentCard = null;
|
||||
} else {
|
||||
if (cardId) {
|
||||
this.parentCard = Cards.findOne(cardId);
|
||||
} else {
|
||||
this.parentCard = null;
|
||||
}
|
||||
this.currentCard.setParentId(cardId);
|
||||
},
|
||||
@@ -661,23 +673,14 @@ BlazeComponent.extendComponent({
|
||||
'change .js-field-parent-board'(evt) {
|
||||
const selection = $(evt.currentTarget).val();
|
||||
const list = $('.js-field-parent-card');
|
||||
list.empty();
|
||||
if (selection === 'none') {
|
||||
this.parentBoard = null;
|
||||
list.prop('disabled', true);
|
||||
this.parentBoard.set(null);
|
||||
} else {
|
||||
this.parentBoard = Boards.findOne(selection);
|
||||
this.parentBoard.cards().forEach(function(card) {
|
||||
list.append(
|
||||
$('<option></option>').val(card._id).html(card.title)
|
||||
);
|
||||
});
|
||||
subManager.subscribe('board', $(evt.currentTarget).val());
|
||||
this.parentBoard.set(selection);
|
||||
list.prop('disabled', false);
|
||||
}
|
||||
list.append(
|
||||
`<option value='none' selected='selected'>${TAPi18n.__('custom-field-dropdown-none')}</option>`
|
||||
);
|
||||
this.setParentCardId('null');
|
||||
this.setParentCardId(null);
|
||||
},
|
||||
'change .js-field-parent-card'(evt) {
|
||||
const selection = $(evt.currentTarget).val();
|
||||
|
||||
@@ -67,7 +67,13 @@ BlazeComponent.extendComponent({
|
||||
const nCards = MultiSelection.isActive() ? MultiSelection.count() : 1;
|
||||
const sortIndex = calculateIndex(prevCardDom, nextCardDom, nCards);
|
||||
const listId = Blaze.getData(ui.item.parents('.list').get(0))._id;
|
||||
const swimlaneId = Blaze.getData(ui.item.parents('.swimlane').get(0))._id;
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
let swimlaneId = '';
|
||||
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'))
|
||||
swimlaneId = currentBoard.getDefaultSwimline()._id;
|
||||
|
||||
// Normally the jquery-ui sortable library moves the dragged DOM element
|
||||
// to its new position, which disrupts Blaze reactive updates mechanism
|
||||
@@ -80,12 +86,12 @@ BlazeComponent.extendComponent({
|
||||
|
||||
if (MultiSelection.isActive()) {
|
||||
Cards.find(MultiSelection.getMongoSelector()).forEach((card, i) => {
|
||||
card.move(swimlaneId, listId, sortIndex.base + i * sortIndex.increment);
|
||||
card.move(currentBoard._id, swimlaneId, listId, sortIndex.base + i * sortIndex.increment);
|
||||
});
|
||||
} else {
|
||||
const cardDomElement = ui.item.get(0);
|
||||
const card = Blaze.getData(cardDomElement);
|
||||
card.move(swimlaneId, listId, sortIndex.base);
|
||||
card.move(currentBoard._id, swimlaneId, listId, sortIndex.base);
|
||||
}
|
||||
boardComponent.setIsDragging(false);
|
||||
},
|
||||
|
||||
@@ -45,15 +45,16 @@ template(name="header")
|
||||
#header-main-bar(class="{{#if wrappedHeader}}wrapper{{/if}}")
|
||||
+Template.dynamic(template=headerBar)
|
||||
|
||||
unless hideLogo
|
||||
//unless hideLogo
|
||||
|
||||
//-
|
||||
On sandstorm, the logo shouldn't be clickable, because we only have one
|
||||
page/document on it, and we don't want to see the home page containing
|
||||
the list of all boards.
|
||||
unless currentSetting.hideLogo
|
||||
a.wekan-logo(href="{{pathFor 'home'}}" title="{{_ 'header-logo-title'}}")
|
||||
img(src="{{pathFor '/wekan-logo-header.png'}}" alt="Wekan")
|
||||
|
||||
// unless currentSetting.hideLogo
|
||||
// a.wekan-logo(href="{{pathFor 'home'}}" title="{{_ 'header-logo-title'}}")
|
||||
// img(src="{{pathFor '/logo-header.png'}}" alt="")
|
||||
|
||||
if appIsOffline
|
||||
+offlineWarning
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
head
|
||||
title Wekan
|
||||
title
|
||||
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")
|
||||
@@ -7,20 +7,20 @@ head
|
||||
where the application is deployed with a path prefix, but it seems to be
|
||||
difficult to do that cleanly with Blaze -- at least without adding extra
|
||||
packages.
|
||||
link(rel="shortcut icon" href="/public/wekan-favicon.png")
|
||||
link(rel="apple-touch-icon" href="/public/wekan-favicon.png")
|
||||
link(rel="mask-icon" href="/public/wekan-150.svg")
|
||||
link(rel="manifest" href="/public/wekan-manifest.json")
|
||||
link(rel="shortcut icon" href="/favicon.png")
|
||||
link(rel="apple-touch-icon" href="/favicon.png")
|
||||
link(rel="mask-icon" href="/logo-150.svg")
|
||||
link(rel="manifest" href="/manifest.json")
|
||||
|
||||
template(name="userFormsLayout")
|
||||
section.auth-layout
|
||||
if currentSetting.hideLogo
|
||||
h1
|
||||
br
|
||||
br
|
||||
else
|
||||
h1.at-form-landing-logo
|
||||
img(src="{{pathFor '/wekan-logo.png'}}" alt="Wekan")
|
||||
//if currentSetting.hideLogo
|
||||
h1
|
||||
br
|
||||
br
|
||||
//else
|
||||
// h1.at-form-landing-logo
|
||||
// img(src="{{pathFor '/logo.png'}}" alt="")
|
||||
section.auth-dialog
|
||||
+Template.dynamic(template=content)
|
||||
if currentSetting.displayAuthenticationMethod
|
||||
|
||||
@@ -134,7 +134,7 @@ template(name='announcementSettings')
|
||||
|
||||
template(name='layoutSettings')
|
||||
ul#layout-setting.setting-detail
|
||||
li.layout-form
|
||||
//li.layout-form
|
||||
.title {{_ 'hide-logo'}}
|
||||
.form-group.flex
|
||||
input.form-control#hide-logo(type="radio" name="hideLogo" value="true" checked="{{#if currentSetting.hideLogo}}checked{{/if}}")
|
||||
@@ -154,7 +154,7 @@ template(name='layoutSettings')
|
||||
li.layout-form
|
||||
.title {{_ 'custom-product-name'}}
|
||||
.form-group
|
||||
input.form-control#product-name(type="text", placeholder="Wekan" value="{{currentSetting.productName}}")
|
||||
input.form-control#product-name(type="text", placeholder="" value="{{currentSetting.productName}}")
|
||||
li.layout-form
|
||||
.title {{_ 'add-custom-html-after-body-start'}}
|
||||
textarea#customHTMLafterBodyStart.form-control= currentSetting.customHTMLafterBodyStart
|
||||
@@ -171,4 +171,4 @@ template(name='selectAuthenticationMethod')
|
||||
if isSelected value
|
||||
option(value="{{value}}" selected) {{_ value}}
|
||||
else
|
||||
option(value="{{value}}") {{_ value}}
|
||||
option(value="{{value}}") {{_ value}}
|
||||
@@ -90,7 +90,7 @@ BlazeComponent.extendComponent({
|
||||
},
|
||||
|
||||
inviteThroughEmail() {
|
||||
const emails = $('#email-to-invite').val().trim().split('\n').join(',').split(',');
|
||||
const emails = $('#email-to-invite').val().toLowerCase().trim().split('\n').join(',').split(',');
|
||||
const boardsToInvite = [];
|
||||
$('.js-toggle-board-choose .materialCheckBox.is-checked').each(function () {
|
||||
boardsToInvite.push($(this).data('id'));
|
||||
|
||||
@@ -52,6 +52,10 @@
|
||||
|
||||
.main-body
|
||||
padding: 0.1em 1em
|
||||
-webkit-user-select: auto // Safari 3.1+
|
||||
-moz-user-select: auto // Firefox 2+
|
||||
-ms-user-select: auto // IE 10+
|
||||
user-select: auto // Standard syntax
|
||||
|
||||
ul
|
||||
li
|
||||
|
||||
@@ -56,36 +56,6 @@ template(name="membersWidget")
|
||||
button.js-member-invite-accept.primary {{_ 'accept'}}
|
||||
button.js-member-invite-decline {{_ 'decline'}}
|
||||
|
||||
template(name="boardChangeVisibilityPopup")
|
||||
+boardVisibilityList
|
||||
|
||||
template(name="boardChangeWatchPopup")
|
||||
ul.pop-over-list
|
||||
li
|
||||
with "watching"
|
||||
a.js-select-watch
|
||||
i.fa.fa-eye.colorful
|
||||
| {{_ 'watching'}}
|
||||
if watchCheck
|
||||
i.fa.fa-check
|
||||
span.sub-name {{_ 'watching-info'}}
|
||||
li
|
||||
with "tracking"
|
||||
a.js-select-watch
|
||||
i.fa.fa-bell.colorful
|
||||
| {{_ 'tracking'}}
|
||||
if watchCheck
|
||||
i.fa.fa-check
|
||||
span.sub-name {{_ 'tracking-info'}}
|
||||
li
|
||||
with "muted"
|
||||
a.js-select-watch
|
||||
i.fa.fa-bell-slash.colorful
|
||||
| {{_ 'muted'}}
|
||||
if watchCheck
|
||||
i.fa.fa-check
|
||||
span.sub-name {{_ 'muted-info'}}
|
||||
|
||||
template(name="boardChangeColorPopup")
|
||||
.board-backgrounds-list.clearfix
|
||||
each backgroundColors
|
||||
|
||||
@@ -2,7 +2,7 @@ BlazeComponent.extendComponent({
|
||||
|
||||
customFields() {
|
||||
return CustomFields.find({
|
||||
boardId: Session.get('currentBoard'),
|
||||
boardIds: {$in: [Session.get('currentBoard')]},
|
||||
});
|
||||
},
|
||||
|
||||
@@ -103,7 +103,6 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
||||
evt.preventDefault();
|
||||
|
||||
const data = {
|
||||
boardId: Session.get('currentBoard'),
|
||||
name: this.find('.js-field-name').value.trim(),
|
||||
type: this.type.get(),
|
||||
settings: this.getSettings(),
|
||||
@@ -114,6 +113,7 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
||||
|
||||
// insert or update
|
||||
if (!this.data()._id) {
|
||||
data.boardIds = [Session.get('currentBoard')];
|
||||
CustomFields.insert(data);
|
||||
} else {
|
||||
CustomFields.update(this.data()._id, {$set: data});
|
||||
@@ -122,8 +122,16 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
||||
Popup.back();
|
||||
},
|
||||
'click .js-delete-custom-field': Popup.afterConfirm('deleteCustomField', function() {
|
||||
const customFieldId = this._id;
|
||||
CustomFields.remove(customFieldId);
|
||||
const customField = CustomFields.findOne(this._id);
|
||||
if (customField.boardIds.length > 1) {
|
||||
CustomFields.update(customField._id, {
|
||||
$pull: {
|
||||
boardIds: Session.get('currentBoard'),
|
||||
},
|
||||
});
|
||||
} else {
|
||||
CustomFields.remove(customField._id);
|
||||
}
|
||||
Popup.close();
|
||||
}),
|
||||
}];
|
||||
|
||||
+1
-1
@@ -184,7 +184,7 @@ window.Popup = new class {
|
||||
// positives.
|
||||
const title = TAPi18n.__(translationKey);
|
||||
// when popup showed as full of small screen, we need a default header to clearly see [X] button
|
||||
const defaultTitle = Utils.isMiniScreen() ? 'Wekan' : false;
|
||||
const defaultTitle = Utils.isMiniScreen() ? '' : false;
|
||||
return title !== translationKey ? title : defaultTitle;
|
||||
};
|
||||
}
|
||||
|
||||
+99
-117
@@ -90,11 +90,11 @@ services:
|
||||
wekandb:
|
||||
#-------------------------------------------------------------------------------------
|
||||
# ==== MONGODB AND METEOR VERSION ====
|
||||
# a) CURRENTLY BROKEN: For Wekan Meteor 1.8.x version at meteor-1.8 branch, use mongo 4.x
|
||||
# image: mongo:4.0.4
|
||||
# a) For Wekan Meteor 1.8.x version at meteor-1.8 branch, use mongo 4.x
|
||||
image: mongo:4.0.4
|
||||
# b) For Wekan Meteor 1.6.x version at master/devel/edge branches.
|
||||
# Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x
|
||||
image: mongo:3.2.21
|
||||
#image: mongo:3.2.21
|
||||
#-------------------------------------------------------------------------------------
|
||||
container_name: wekan-db
|
||||
restart: always
|
||||
@@ -110,12 +110,12 @@ services:
|
||||
wekan:
|
||||
#-------------------------------------------------------------------------------------
|
||||
# ==== MONGODB AND METEOR VERSION ====
|
||||
# a) CURRENTLY BROKEN: For Wekan Meteor 1.8.x version at meteor-1.8 branch,
|
||||
# a) For Wekan Meteor 1.8.x version at meteor-1.8 branch,
|
||||
# using https://quay.io/wekan/wekan automatic builds
|
||||
# image: quay.io/wekan/wekan:meteor-1.8
|
||||
image: quay.io/wekan/wekan:meteor-1.8
|
||||
# b) For Wekan Meteor 1.6.x version at master/devel/edge branches.
|
||||
# Only for Snap and Sandstorm while they are not upgraded yet to Meteor 1.8.x
|
||||
image: quay.io/wekan/wekan
|
||||
#image: quay.io/wekan/wekan
|
||||
# c) Using specific Meteor 1.6.x version tag:
|
||||
# image: quay.io/wekan/wekan:v1.95
|
||||
# c) Using Docker Hub automatic builds https://hub.docker.com/r/wekanteam/wekan
|
||||
@@ -169,8 +169,9 @@ services:
|
||||
# For SSL in email, change smtp:// to smtps://
|
||||
# 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_FROM='Example Wekan Support <support@example.com>'
|
||||
#- 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>'
|
||||
#---------------------------------------------------------------
|
||||
# ==== OPTIONAL: MONGO OPLOG SETTINGS =====
|
||||
# https://github.com/wekan/wekan-mongodb/issues/2#issuecomment-378343587
|
||||
@@ -221,6 +222,16 @@ services:
|
||||
# If you disable Wekan API with false, Export Board does not work.
|
||||
- WITH_API=true
|
||||
#---------------------------------------------------------------
|
||||
# ==== PASSWORD BRUTE FORCE PROTECTION ====
|
||||
#https://atmospherejs.com/lucasantoniassi/accounts-lockout
|
||||
#Defaults below. Uncomment to change. wekan/server/accounts-lockout.js
|
||||
#- ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURES_BEFORE=3
|
||||
#- ACCOUNTS_LOCKOUT_KNOWN_USERS_PERIOD=60
|
||||
#- ACCOUNTS_LOCKOUT_KNOWN_USERS_FAILURE_WINDOW=15
|
||||
#- ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURES_BERORE=3
|
||||
#- ACCOUNTS_LOCKOUT_UNKNOWN_USERS_LOCKOUT_PERIOD=60
|
||||
#- ACCOUNTS_LOCKOUT_UNKNOWN_USERS_FAILURE_WINDOW=15
|
||||
#---------------------------------------------------------------
|
||||
# ==== EMAIL NOTIFICATION TIMEOUT, ms =====
|
||||
# Defaut: 30000 ms = 30s
|
||||
#- EMAIL_NOTIFICATION_TIMEOUT=30000
|
||||
@@ -262,6 +273,8 @@ services:
|
||||
# 2) Configure the environment variables. This differs slightly
|
||||
# by installation type, but make sure you have the following:
|
||||
#- OAUTH2_ENABLED=true
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#- OAUTH2_LOGIN_STYLE=redirect
|
||||
# Application GUID captured during app registration:
|
||||
#- OAUTH2_CLIENT_ID=xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
|
||||
# Secret key generated during app registration:
|
||||
@@ -282,6 +295,8 @@ services:
|
||||
# ==== OAUTH2 KEYCLOAK ====
|
||||
# https://github.com/wekan/wekan/wiki/Keycloak <== MAPPING INFO, REQUIRED
|
||||
#- OAUTH2_ENABLED=true
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#- OAUTH2_LOGIN_STYLE=redirect
|
||||
#- OAUTH2_CLIENT_ID=<Keycloak create Client ID>
|
||||
#- OAUTH2_SERVER_URL=<Keycloak server name>/auth
|
||||
#- OAUTH2_AUTH_ENDPOINT=/realms/<keycloak realm>/protocol/openid-connect/auth
|
||||
@@ -295,6 +310,8 @@ services:
|
||||
# Enable the OAuth2 connection
|
||||
#- OAUTH2_ENABLED=true
|
||||
# OAuth2 docs: https://github.com/wekan/wekan/wiki/OAuth2
|
||||
# OAuth2 login style: popup or redirect.
|
||||
#- OAUTH2_LOGIN_STYLE=redirect
|
||||
# OAuth2 Client ID.
|
||||
#- OAUTH2_CLIENT_ID=abcde12345
|
||||
# OAuth2 Secret.
|
||||
@@ -316,191 +333,150 @@ services:
|
||||
# OAuth2 Email Mapping
|
||||
#- OAUTH2_EMAIL_MAP=
|
||||
#-----------------------------------------------------------------
|
||||
# ==== LDAP ====
|
||||
# ==== LDAP: UNCOMMENT ALL TO ENABLE LDAP ====
|
||||
# https://github.com/wekan/wekan/wiki/LDAP
|
||||
# For Snap settings see https://github.com/wekan/wekan-snap/wiki/Supported-settings-keys
|
||||
# Most settings work both on Snap and Docker below.
|
||||
# Note: Do not add single quotes '' to variables. Having spaces still works without quotes where required.
|
||||
#
|
||||
# DEFAULT_AUTHENTICATION_METHOD : The default authentication method used if a user does not exist to create and authenticate. Can be set as ldap.
|
||||
# example : DEFAULT_AUTHENTICATION_METHOD=ldap
|
||||
#- DEFAULT_AUTHENTICATION_METHOD=
|
||||
# The default authentication method used if a user does not exist to create and authenticate. Can be set as ldap.
|
||||
#- DEFAULT_AUTHENTICATION_METHOD=ldap
|
||||
#
|
||||
# LDAP_ENABLE : Enable or not the connection by the LDAP
|
||||
# example : LDAP_ENABLE=true
|
||||
#- LDAP_ENABLE=false
|
||||
# Enable or not the connection by the LDAP
|
||||
#- LDAP_ENABLE=true
|
||||
#
|
||||
# LDAP_PORT : The port of the LDAP server
|
||||
# example : LDAP_PORT=389
|
||||
# The port of the LDAP server
|
||||
#- LDAP_PORT=389
|
||||
#
|
||||
# LDAP_HOST : The host server for the LDAP server
|
||||
# example : LDAP_HOST=localhost
|
||||
#- LDAP_HOST=
|
||||
# The host server for the LDAP server
|
||||
#- LDAP_HOST=localhost
|
||||
#
|
||||
# LDAP_BASEDN : The base DN for the LDAP Tree
|
||||
# example : LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
#- LDAP_BASEDN=
|
||||
# The base DN for the LDAP Tree
|
||||
#- LDAP_BASEDN=ou=user,dc=example,dc=org
|
||||
#
|
||||
# LDAP_LOGIN_FALLBACK : Fallback on the default authentication method
|
||||
# example : LDAP_LOGIN_FALLBACK=true
|
||||
# Fallback on the default authentication method
|
||||
#- LDAP_LOGIN_FALLBACK=false
|
||||
#
|
||||
# LDAP_RECONNECT : Reconnect to the server if the connection is lost
|
||||
# example : LDAP_RECONNECT=false
|
||||
# Reconnect to the server if the connection is lost
|
||||
#- LDAP_RECONNECT=true
|
||||
#
|
||||
# LDAP_TIMEOUT : Overall timeout, in milliseconds
|
||||
# example : LDAP_TIMEOUT=12345
|
||||
# Overall timeout, in milliseconds
|
||||
#- LDAP_TIMEOUT=10000
|
||||
#
|
||||
# LDAP_IDLE_TIMEOUT : Specifies the timeout for idle LDAP connections in milliseconds
|
||||
# example : LDAP_IDLE_TIMEOUT=12345
|
||||
# Specifies the timeout for idle LDAP connections in milliseconds
|
||||
#- LDAP_IDLE_TIMEOUT=10000
|
||||
#
|
||||
# LDAP_CONNECT_TIMEOUT : Connection timeout, in milliseconds
|
||||
# example : LDAP_CONNECT_TIMEOUT=12345
|
||||
# Connection timeout, in milliseconds
|
||||
#- LDAP_CONNECT_TIMEOUT=10000
|
||||
#
|
||||
# LDAP_AUTHENTIFICATION : If the LDAP needs a user account to search
|
||||
# example : LDAP_AUTHENTIFICATION=true
|
||||
#- LDAP_AUTHENTIFICATION=false
|
||||
# If the LDAP needs a user account to search
|
||||
#- LDAP_AUTHENTIFICATION=true
|
||||
#
|
||||
# LDAP_AUTHENTIFICATION_USERDN : The search user DN
|
||||
# example : LDAP_AUTHENTIFICATION_USERDN=cn=admin,dc=example,dc=org
|
||||
#- LDAP_AUTHENTIFICATION_USERDN=
|
||||
# The search user DN
|
||||
#- LDAP_AUTHENTIFICATION_USERDN=cn=wekan_adm,ou=serviceaccounts,ou=admin,ou=prod,dc=mydomain,dc=com
|
||||
#
|
||||
# LDAP_AUTHENTIFICATION_PASSWORD : The password for the search user
|
||||
# example : AUTHENTIFICATION_PASSWORD=admin
|
||||
#- LDAP_AUTHENTIFICATION_PASSWORD=
|
||||
# The password for the search user
|
||||
#- LDAP_AUTHENTIFICATION_PASSWORD=pwd
|
||||
#
|
||||
# LDAP_LOG_ENABLED : Enable logs for the module
|
||||
# example : LDAP_LOG_ENABLED=true
|
||||
#- LDAP_LOG_ENABLED=false
|
||||
# Enable logs for the module
|
||||
#- LDAP_LOG_ENABLED=true
|
||||
#
|
||||
# LDAP_BACKGROUND_SYNC : If the sync of the users should be done in the background
|
||||
# example : LDAP_BACKGROUND_SYNC=true
|
||||
# If the sync of the users should be done in the background
|
||||
#- LDAP_BACKGROUND_SYNC=false
|
||||
#
|
||||
# LDAP_BACKGROUND_SYNC_INTERVAL : At which interval does the background task sync in milliseconds
|
||||
# example : LDAP_BACKGROUND_SYNC_INTERVAL=12345
|
||||
# At which interval does the background task sync in milliseconds
|
||||
#- LDAP_BACKGROUND_SYNC_INTERVAL=100
|
||||
#
|
||||
# LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED :
|
||||
# example : LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=true
|
||||
#- LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
|
||||
#
|
||||
# LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS :
|
||||
# example : LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=true
|
||||
#- LDAP_BACKGROUND_SYNC_IMPORT_NEW_USERS=false
|
||||
#
|
||||
# LDAP_ENCRYPTION : If using LDAPS
|
||||
# example : LDAP_ENCRYPTION=ssl
|
||||
# If using LDAPS: LDAP_ENCRYPTION=ssl
|
||||
#- LDAP_ENCRYPTION=false
|
||||
#
|
||||
# LDAP_CA_CERT : The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
|
||||
# example : LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+zCCA+OgAwIBAgIkAhwR/6TVLmdRY6hHxvUFWc0+Enmu/Hu6cj+G2FIdAgIC...-----END CERTIFICATE-----
|
||||
#- LDAP_CA_CERT=
|
||||
# The certification for the LDAPS server. Certificate needs to be included in this docker-compose.yml file.
|
||||
#- LDAP_CA_CERT=-----BEGIN CERTIFICATE-----MIIE+G2FIdAgIC...-----END CERTIFICATE-----
|
||||
#
|
||||
# LDAP_REJECT_UNAUTHORIZED : Reject Unauthorized Certificate
|
||||
# example : LDAP_REJECT_UNAUTHORIZED=true
|
||||
# Reject Unauthorized Certificate
|
||||
#- LDAP_REJECT_UNAUTHORIZED=false
|
||||
#
|
||||
# LDAP_USER_SEARCH_FILTER : Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
# example : LDAP_USER_SEARCH_FILTER=
|
||||
# Optional extra LDAP filters. Don't forget the outmost enclosing parentheses if needed
|
||||
#- LDAP_USER_SEARCH_FILTER=
|
||||
#
|
||||
# LDAP_USER_SEARCH_SCOPE : base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree)
|
||||
# example : LDAP_USER_SEARCH_SCOPE=one
|
||||
#- LDAP_USER_SEARCH_SCOPE=
|
||||
# base (search only in the provided DN), one (search only in the provided DN and one level deep), or sub (search the whole subtree)
|
||||
#- LDAP_USER_SEARCH_SCOPE=one
|
||||
#
|
||||
# LDAP_USER_SEARCH_FIELD : Which field is used to find the user
|
||||
# example : LDAP_USER_SEARCH_FIELD=uid
|
||||
#- LDAP_USER_SEARCH_FIELD=
|
||||
# Which field is used to find the user, like uid / sAMAccountName
|
||||
#- LDAP_USER_SEARCH_FIELD=sAMAccountName
|
||||
#
|
||||
# LDAP_SEARCH_PAGE_SIZE : Used for pagination (0=unlimited)
|
||||
# example : LDAP_SEARCH_PAGE_SIZE=12345
|
||||
# Used for pagination (0=unlimited)
|
||||
#- LDAP_SEARCH_PAGE_SIZE=0
|
||||
#
|
||||
# LDAP_SEARCH_SIZE_LIMIT : The limit number of entries (0=unlimited)
|
||||
# example : LDAP_SEARCH_SIZE_LIMIT=12345
|
||||
# The limit number of entries (0=unlimited)
|
||||
#- LDAP_SEARCH_SIZE_LIMIT=0
|
||||
#
|
||||
# LDAP_GROUP_FILTER_ENABLE : Enable group filtering
|
||||
# example : LDAP_GROUP_FILTER_ENABLE=true
|
||||
# Enable group filtering
|
||||
#- LDAP_GROUP_FILTER_ENABLE=false
|
||||
#
|
||||
# LDAP_GROUP_FILTER_OBJECTCLASS : The object class for filtering
|
||||
# example : LDAP_GROUP_FILTER_OBJECTCLASS=group
|
||||
# The object class for filtering. Example: group
|
||||
#- LDAP_GROUP_FILTER_OBJECTCLASS=
|
||||
#
|
||||
# LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE :
|
||||
# example :
|
||||
#- LDAP_GROUP_FILTER_GROUP_ID_ATTRIBUTE=
|
||||
#
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE :
|
||||
# example :
|
||||
#- LDAP_GROUP_FILTER_GROUP_MEMBER_ATTRIBUTE=
|
||||
#
|
||||
# LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT :
|
||||
# example :
|
||||
#- LDAP_GROUP_FILTER_GROUP_MEMBER_FORMAT=
|
||||
#
|
||||
# LDAP_GROUP_FILTER_GROUP_NAME :
|
||||
# example :
|
||||
#- LDAP_GROUP_FILTER_GROUP_NAME=
|
||||
#
|
||||
# LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier)
|
||||
# example : LDAP_UNIQUE_IDENTIFIER_FIELD=guid
|
||||
# LDAP_UNIQUE_IDENTIFIER_FIELD : This field is sometimes class GUID (Globally Unique Identifier). Example: guid
|
||||
#- LDAP_UNIQUE_IDENTIFIER_FIELD=
|
||||
#
|
||||
# LDAP_UTF8_NAMES_SLUGIFY : Convert the username to utf8
|
||||
# example : LDAP_UTF8_NAMES_SLUGIFY=false
|
||||
#- LDAP_UTF8_NAMES_SLUGIFY=true
|
||||
#
|
||||
# LDAP_USERNAME_FIELD : Which field contains the ldap username
|
||||
# example : LDAP_USERNAME_FIELD=username
|
||||
#- LDAP_USERNAME_FIELD=
|
||||
# LDAP_USERNAME_FIELD : Which field contains the ldap username. username / sAMAccountName
|
||||
#- LDAP_USERNAME_FIELD=sAMAccountName
|
||||
#
|
||||
# LDAP_FULLNAME_FIELD : Which field contains the ldap fullname
|
||||
# example : LDAP_FULLNAME_FIELD=fullname
|
||||
#- LDAP_FULLNAME_FIELD=
|
||||
# LDAP_FULLNAME_FIELD : Which field contains the ldap fullname. fullname / sAMAccountName
|
||||
#- LDAP_FULLNAME_FIELD=fullname
|
||||
#
|
||||
# LDAP_MERGE_EXISTING_USERS :
|
||||
# example : LDAP_MERGE_EXISTING_USERS=true
|
||||
#- LDAP_MERGE_EXISTING_USERS=false
|
||||
#
|
||||
# LDAP_EMAIL_MATCH_ENABLE : allow existing account matching by e-mail address when username does not match
|
||||
# example: LDAP_EMAIL_MATCH_ENABLE=true
|
||||
#- LDAP_EMAIL_MATCH_ENABLE=false
|
||||
# Allow existing account matching by e-mail address when username does not match
|
||||
#- LDAP_EMAIL_MATCH_ENABLE=true
|
||||
#
|
||||
# LDAP_EMAIL_MATCH_REQUIRE : require existing account matching by e-mail address when username does match
|
||||
# example: LDAP_EMAIL_MATCH_REQUIRE=true
|
||||
#- LDAP_EMAIL_MATCH_REQUIRE=false
|
||||
#- LDAP_EMAIL_MATCH_REQUIRE=true
|
||||
#
|
||||
# LDAP_EMAIL_MATCH_VERIFIED : require existing account email address to be verified for matching
|
||||
# example: LDAP_EMAIL_MATCH_VERIFIED=true
|
||||
#- LDAP_EMAIL_MATCH_VERIFIED=false
|
||||
#- LDAP_EMAIL_MATCH_VERIFIED=true
|
||||
#
|
||||
# LDAP_EMAIL_FIELD : which field contains the LDAP e-mail address
|
||||
# example: LDAP_EMAIL_FIELD=mail
|
||||
#- LDAP_EMAIL_FIELD=
|
||||
#- LDAP_EMAIL_FIELD=mail
|
||||
#-----------------------------------------------------------------
|
||||
# LDAP_SYNC_USER_DATA :
|
||||
# example : LDAP_SYNC_USER_DATA=true
|
||||
#- LDAP_SYNC_USER_DATA=false
|
||||
#
|
||||
# LDAP_SYNC_USER_DATA_FIELDMAP :
|
||||
# example : LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
|
||||
#- LDAP_SYNC_USER_DATA_FIELDMAP=
|
||||
#- LDAP_SYNC_USER_DATA_FIELDMAP={"cn":"name", "mail":"email"}
|
||||
#
|
||||
# LDAP_SYNC_GROUP_ROLES :
|
||||
# example :
|
||||
#- LDAP_SYNC_GROUP_ROLES=
|
||||
#- LDAP_SYNC_GROUP_ROLES=''
|
||||
#
|
||||
# LDAP_DEFAULT_DOMAIN : The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# The default domain of the ldap it is used to create email if the field is not map correctly with the LDAP_SYNC_USER_DATA_FIELDMAP
|
||||
# example :
|
||||
#- LDAP_DEFAULT_DOMAIN=
|
||||
#- LDAP_DEFAULT_DOMAIN=mydomain.com
|
||||
#
|
||||
# Enable/Disable syncing of admin status based on ldap groups:
|
||||
#- LDAP_SYNC_ADMIN_STATUS=true
|
||||
#
|
||||
# Comma separated list of admin group names to sync.
|
||||
#- LDAP_SYNC_ADMIN_GROUPS=group1,group2
|
||||
#---------------------------------------------------------------------
|
||||
# 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
|
||||
#---------------------------------------------------------------------
|
||||
# ==== LOGOUT TIMER, probably does not work yet ====
|
||||
# LOGOUT_WITH_TIMER : Enables or not the option logout with timer
|
||||
@@ -562,9 +538,15 @@ services:
|
||||
# - 80:80
|
||||
# - 443:443
|
||||
# volumes:
|
||||
# - ./nginx/ssl:/etc/nginx/ssl/
|
||||
# - ./nginx/nginx.conf:/etc/nginx/nginx.conf
|
||||
|
||||
# - ./nginx/ssl:/etc/nginx/ssl/:ro
|
||||
# - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
## Alternative volume config:
|
||||
## volumes:
|
||||
## - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
||||
## - ./nginx/ssl/ssl.conf:/etc/nginx/conf.d/ssl/ssl.conf:ro
|
||||
## - ./nginx/ssl/testvm-ehu.crt:/etc/nginx/conf.d/ssl/certs/mycert.crt:ro
|
||||
## - ./nginx/ssl/testvm-ehu.key:/etc/nginx/conf.d/ssl/certs/mykey.key:ro
|
||||
## - ./nginx/ssl/pphrase:/etc/nginx/conf.d/ssl/pphrase:ro
|
||||
|
||||
volumes:
|
||||
wekan-db:
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
OWNERS
|
||||
@@ -0,0 +1,13 @@
|
||||
name: wekan
|
||||
version: 1.0.0
|
||||
appVersion: 2.x.x
|
||||
kubeVersion: "^1.8.0-0"
|
||||
description: Open Source kanban
|
||||
home: https://wekan.github.io/
|
||||
icon: https://wekan.github.io/wekan-logo.svg
|
||||
sources:
|
||||
- https://github.com/wekan/wekan
|
||||
maintainers:
|
||||
- name: technotaff
|
||||
email: github@randall.cc
|
||||
engine: gotpl
|
||||
@@ -0,0 +1,4 @@
|
||||
approvers:
|
||||
- technotaff
|
||||
reviewers:
|
||||
- technotaff
|
||||
@@ -0,0 +1,58 @@
|
||||
# Helm Chart for Wekan
|
||||
|
||||
## Features
|
||||
|
||||
o Uses a MongoDB replica set by default - this allows fault-tolerant
|
||||
and scalable MongoDB deployment (or just set the replicas to 1 for
|
||||
a single server install)
|
||||
|
||||
o Optional Horizontal Pod Autoscaler (HPA), so that your Wekan pods
|
||||
will scale automatically with increased CPU load.
|
||||
|
||||
## The configurable values (values.yaml)
|
||||
|
||||
Scaling Wekan:
|
||||
|
||||
```yaml
|
||||
## Configuration for wekan component
|
||||
##
|
||||
|
||||
replicaCount: 1
|
||||
```
|
||||
**replicaCount** Will set the initial number of replicas for the Wekan pod (and container)
|
||||
|
||||
```yaml
|
||||
## Configure an horizontal pod autoscaler
|
||||
##
|
||||
autoscaling:
|
||||
enabled: true
|
||||
config:
|
||||
minReplicas: 1
|
||||
maxReplicas: 16
|
||||
## Note: when setting this, a `resources.request.cpu` is required. You
|
||||
## likely want to set it to `1` or some lower value.
|
||||
##
|
||||
targetCPUUtilizationPercentage: 80
|
||||
```
|
||||
This section (if *enabled* is set to **true**) will enable the Kubernetes Horizontal Pod Autoscaler (HPA).
|
||||
|
||||
**minReplicas:** this is the minimum number of pods to scale down to (We recommend setting this to the same value as **replicaCount**).
|
||||
|
||||
**maxReplicas:** this is the maximum number of pods to scale up to.
|
||||
|
||||
**targetCPUUtilizationPercentage:** This is the CPU at which the HPA will scale-out the number of Wekan pods.
|
||||
|
||||
```yaml
|
||||
mongodb-replicaset:
|
||||
enabled: true
|
||||
replicas: 3
|
||||
replicaSetName: rs0
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
fsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
```
|
||||
|
||||
This section controls the scale of the MongoDB redundant Replica Set.
|
||||
|
||||
**replicas:** This is the number of MongoDB instances to include in the set. You can set this to 1 for a single server - this will still allow you to scale-up later with a helm upgrade.
|
||||
@@ -0,0 +1 @@
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
dependencies:
|
||||
- name: mongodb-replicaset
|
||||
version: 3.6.x
|
||||
repository: "https://kubernetes-charts.storage.googleapis.com/"
|
||||
condition: mongodb-replicaset.enabled
|
||||
@@ -0,0 +1,19 @@
|
||||
1. Get the application URL by running these commands:
|
||||
{{- if .Values.ingress.enabled }}
|
||||
{{- range .Values.ingress.hosts }}
|
||||
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ . }}{{ $.Values.ingress.path }}
|
||||
{{- end }}
|
||||
{{- else if contains "NodePort" .Values.service.type }}
|
||||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ template "wekan.fullname" . }})
|
||||
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||
echo http://$NODE_IP:$NODE_PORT
|
||||
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||
You can watch the status of by running 'kubectl get svc -w {{ template "wekan.fullname" . }}'
|
||||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "wekan.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
|
||||
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "wekan.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||
kubectl port-forward $POD_NAME 8080:8080
|
||||
{{- end }}
|
||||
@@ -0,0 +1,82 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "wekan.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
If release name contains chart name it will be used as a full name.
|
||||
*/}}
|
||||
{{- define "wekan.fullname" -}}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified name for the wekan data app.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "wekan.localdata.fullname" -}}
|
||||
{{- if .Values.localdata.fullnameOverride -}}
|
||||
{{- .Values.localdata.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||
{{- if contains $name .Release.Name -}}
|
||||
{{- printf "%s-localdata" .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- printf "%s-%s-localdata" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{/*
|
||||
Create chart name and version as used by the chart label.
|
||||
*/}}
|
||||
{{- define "wekan.chart" -}}
|
||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the name of the service account to use for the api component
|
||||
*/}}
|
||||
{{- define "wekan.serviceAccountName" -}}
|
||||
{{- if .Values.serviceAccounts.create -}}
|
||||
{{ default (include "wekan.fullname" .) .Values.serviceAccounts.name }}
|
||||
{{- else -}}
|
||||
{{ default "default" .Values.serviceAccounts.name }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified mongodb-replicaset name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "wekan.mongodb-replicaset.fullname" -}}
|
||||
{{- $name := default "mongodb-replicaset" (index .Values "mongodb-replicaset" "nameOverride") -}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create the MongoDB URL. If MongoDB is installed as part of this chart, use k8s service discovery,
|
||||
else use user-provided URL.
|
||||
*/}}
|
||||
{{- define "mongodb-replicaset.url" -}}
|
||||
{{- if (index .Values "mongodb-replicaset" "enabled") -}}
|
||||
{{- $count := (int (index .Values "mongodb-replicaset" "replicas")) -}}
|
||||
{{- $release := .Release.Name -}}
|
||||
mongodb://{{- range $v := until $count }}{{ $release }}-mongodb-replicaset-{{ $v }}.{{ $release }}-mongodb-replicaset:27017{{ if ne $v (sub $count 1) }},{{- end -}}{{- end -}}?replicaSet={{ index .Values "mongodb-replicaset" "replicaSetName" }}
|
||||
{{- else -}}
|
||||
{{- index .Values "mongodb-replicaset" "url" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,58 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicaCount }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
spec:
|
||||
serviceAccountName: {{ template "wekan.serviceAccountName" . }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
terminationMessagePolicy: FallbackToLogsOnError
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 8080
|
||||
env:
|
||||
- name: ROOT_URL
|
||||
value: {{ .Values.root_url | default "https://wekan.local" | quote }}
|
||||
- name: MONGO_URL
|
||||
value: "{{ template "mongodb-replicaset.url" . }}"
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: 8080
|
||||
initialDelaySeconds: 60
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 12 }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.affinity }}
|
||||
affinity:
|
||||
{{ toYaml .Values.affinity | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{- if .Values.autoscaling.enabled -}}
|
||||
apiVersion: autoscaling/v1
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
{{ toYaml .Values.autoscaling.config | indent 2 }}
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,40 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "wekan.fullname" . -}}
|
||||
{{- $servicePort := .Values.service.port -}}
|
||||
{{- $ingressPath := .Values.ingress.path -}}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ $fullName }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{- range .Values.ingress.tls }}
|
||||
- hosts:
|
||||
{{- range .hosts }}
|
||||
- {{ . }}
|
||||
{{- end }}
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
backend:
|
||||
serviceName: {{ $fullName }}
|
||||
servicePort: http
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
type: Opaque
|
||||
data:
|
||||
accessKey: {{ .Values.credentials.accessKey | b64enc }}
|
||||
secretKey: {{ .Values.credentials.secretKey | b64enc }}
|
||||
@@ -0,0 +1,25 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
{{- if .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml .Values.service.annotations | indent 4 }}
|
||||
{{- end }}
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
app: {{ template "wekan.name" . }}
|
||||
component: wekan
|
||||
release: {{ .Release.Name }}
|
||||
@@ -0,0 +1,12 @@
|
||||
{{- if .Values.serviceAccounts.create }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "wekan.name" . }}
|
||||
chart: {{ template "wekan.chart" . }}
|
||||
component: wekan
|
||||
heritage: {{ .Release.Service }}
|
||||
release: {{ .Release.Name }}
|
||||
name: {{ template "wekan.serviceAccountName" . }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,27 @@
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: {{ template "wekan.fullname" . }}-test
|
||||
annotations:
|
||||
"helm.sh/hook": test-success
|
||||
spec:
|
||||
containers:
|
||||
- name: {{ template "wekan.fullname" . }}-test
|
||||
imagePullPolicy: IfNotPresent
|
||||
image: "docker.io/mesosphere/aws-cli:1.14.5"
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- aws s3 --endpoint-url=http://{{ include "wekan.fullname" . }} --region=us-east-1 ls
|
||||
env:
|
||||
- name: AWS_ACCESS_KEY_ID
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
key: accessKey
|
||||
- name: AWS_SECRET_ACCESS_KEY
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ template "wekan.fullname" . }}
|
||||
key: secretKey
|
||||
restartPolicy: Never
|
||||
@@ -0,0 +1,110 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# Wekan:
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
## Define serviceAccount names to create or use. Defaults to component's fully
|
||||
## qualified name.
|
||||
##
|
||||
serviceAccounts:
|
||||
create: true
|
||||
name: ""
|
||||
|
||||
## Wekan image configuration
|
||||
##
|
||||
image:
|
||||
repository: quay.io/wekan/wekan
|
||||
tag: latest
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
## Configuration for wekan component
|
||||
##
|
||||
|
||||
replicaCount: 1
|
||||
|
||||
## Specify wekan credentials
|
||||
##
|
||||
credentials:
|
||||
accessKey: access-key
|
||||
secretKey: secret-key
|
||||
|
||||
## Specify additional environmental variables for the Deployment
|
||||
##
|
||||
env: {}
|
||||
|
||||
service:
|
||||
type: NodePort
|
||||
port: 80
|
||||
annotations: {}
|
||||
# prometheus.io/scrape: "true"
|
||||
# prometheus.io/port: "8000"
|
||||
# prometheus.io/path: "/_/monitoring/metrics"
|
||||
|
||||
## Comma-separated string of allowed virtual hosts for external access.
|
||||
## This should match the ingress hosts
|
||||
##
|
||||
endpoint: wekan.local
|
||||
|
||||
ingress:
|
||||
enabled: true
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
path: /*
|
||||
# This must match 'endpoint', unless your client supports different
|
||||
# hostnames.
|
||||
hosts: [ wekan.local ]
|
||||
# - wekan.local
|
||||
tls: []
|
||||
# - secretName: wekan-example-tls
|
||||
# hosts:
|
||||
# - wekan-example.local
|
||||
|
||||
resources:
|
||||
requests:
|
||||
memory: 128Mi
|
||||
cpu: 300m
|
||||
limits:
|
||||
memory: 1Gi
|
||||
cpu: 500m
|
||||
|
||||
## Node labels for pod assignment
|
||||
## ref: https://kubernetes.io/docs/user-guide/node-selection/
|
||||
##
|
||||
nodeSelector: {}
|
||||
|
||||
## Tolerations for pod assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
##
|
||||
tolerations: []
|
||||
|
||||
## Affinity for pod assignment
|
||||
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
##
|
||||
affinity: {}
|
||||
|
||||
## Configure an horizontal pod autoscaler
|
||||
##
|
||||
autoscaling:
|
||||
enabled: true
|
||||
config:
|
||||
minReplicas: 1
|
||||
maxReplicas: 16
|
||||
## Note: when setting this, a `resources.request.cpu` is required. You
|
||||
## likely want to set it to `1` or some lower value.
|
||||
##
|
||||
targetCPUUtilizationPercentage: 80
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# MongoDB:
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
mongodb-replicaset:
|
||||
enabled: true
|
||||
replicas: 3
|
||||
replicaSetName: rs0
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
fsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
#image:
|
||||
# tag: 3.2.21
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "добави етикет '%s'",
|
||||
"activity-removed-label-card": "премахна етикет '%s'",
|
||||
"activity-delete-attach-card": "изтри прикачения файл",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "Правило",
|
||||
"r-add-trigger": "Добави спусък",
|
||||
"r-add-action": "Добави действие",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+46
-43
@@ -1,37 +1,38 @@
|
||||
{
|
||||
"accept": "Přijmout",
|
||||
"act-activity-notify": "Notifikace aktivit",
|
||||
"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-removeLabel": "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-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__ 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-addAttachment": "přidal(a) přílohu __attachment__ na kartu __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-deleteAttachment": "smazal(a) přílohu __attachment__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-addSubtask": "přidal(a) podúkol __subtask__ na kartu __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-addLabel": "Přídán štítek __label__ na kartu __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-removeLabel": "Odstraněn štítek __label__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-addChecklist": "přidal(a) zaškrtávací seznam __checklist__ na kartu __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-addChecklistItem": "přidal(a) položku zaškrtávacího seznamu __checklistItem__ do zaškrtávacího seznamu __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-removeChecklist": "smazal(a) zaškrtávací seznam __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-removeChecklistItem": "smazal(a) položku zaškrtávacího seznamu __checklistItem__ ze zaškrtávacího seznamu __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-checkedItem": "zaškrtl(a) __checklistItem__ na zaškrtávacím seznamu __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-uncheckedItem": "zrušil(a) zaškrtnutí __checklistItem__ na zaškrtávacím seznamu __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-completeChecklist": "dokončil(a) zaškrtávací seznam __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-uncompleteChecklist": "zrušil(a) dokončení zaškrtávacího seznamu __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-addComment": "přidal(a) komentář na kartě __card__: __comment__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-createBoard": "přidal(a) tablo __board__",
|
||||
"act-createCard": "přidal(a) kartu __card__ do sloupce __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-createCustomField": "vytvořil(a) vlastní pole __customField__ na kartu __card__ do sloupce __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-createList": "přidal(a) sloupec __list__ do tabla __board__",
|
||||
"act-addBoardMember": "přidal(a) člena __member__ do tabla __board__",
|
||||
"act-archivedBoard": "Tablo __board__ přesunuto do Archivu",
|
||||
"act-archivedCard": "Karta __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__ přesunuta do Archivu",
|
||||
"act-archivedList": "Sloupec __list__ ve swimlane __swimlane__ na tablu __board__ přesunut do Archivu",
|
||||
"act-archivedSwimlane": "Swimlane __swimlane__ na tablu __board__ přesunut do Archivu",
|
||||
"act-importBoard": "importoval(a) tablo __board__",
|
||||
"act-importCard": "importoval(a) karta __card__ do sloupce __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-importList": "importoval(a) sloupec __list__ do swimlane __swimlane__ na tablu __board__",
|
||||
"act-joinMember": "přidal(a) člena __member__ na kartu __card__ v seznamu __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "přesunul(a) kartu __card__ ze sloupce __oldList__ ve swimlane __oldSwimlane__ na tablu __oldBoard__ do sloupce __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-removeBoardMember": "odstranil(a) člena __member__ z tabla __board__",
|
||||
"act-restoredCard": "obnovil(a) kartu __card__ do sloupce __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-unjoinMember": "odstranil(a) člena __member__ z karty __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Akce",
|
||||
@@ -56,14 +57,14 @@
|
||||
"activity-unchecked-item": "nedokončen %s v seznamu %s z %s",
|
||||
"activity-checklist-added": "přidán checklist do %s",
|
||||
"activity-checklist-removed": "odstraněn checklist z %s",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed": "dokončil(a) zaškrtávací seznam __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"activity-checklist-uncompleted": "nedokončen seznam %s z %s",
|
||||
"activity-checklist-item-added": "přidána položka checklist do '%s' v %s",
|
||||
"activity-checklist-item-removed": "odstraněna položka seznamu do '%s' v %s",
|
||||
"add": "Přidat",
|
||||
"activity-checked-item-card": "dokončen %s v seznamu %s",
|
||||
"activity-unchecked-item-card": "nedokončen %s v seznamu %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed-card": "dokončil(a) zaškrtávací seznam __checklist__ na kartě __card__ ve sloupci __list__ ve swimlane __swimlane__ na tablu __board__",
|
||||
"activity-checklist-uncompleted-card": "nedokončený seznam %s",
|
||||
"add-attachment": "Přidat přílohu",
|
||||
"add-board": "Přidat tablo",
|
||||
@@ -121,7 +122,7 @@
|
||||
"boardChangeTitlePopup-title": "Přejmenovat tablo",
|
||||
"boardChangeVisibilityPopup-title": "Upravit viditelnost",
|
||||
"boardChangeWatchPopup-title": "Změnit sledování",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boardMenuPopup-title": "Nastavení Tabla",
|
||||
"boards": "Tabla",
|
||||
"board-view": "Náhled tabla",
|
||||
"board-view-cal": "Kalendář",
|
||||
@@ -181,21 +182,21 @@
|
||||
"close-board-pop": "Budete moci obnovit tablo kliknutím na tlačítko \"Archiv\" v hlavním menu.",
|
||||
"color-black": "černá",
|
||||
"color-blue": "modrá",
|
||||
"color-crimson": "crimson",
|
||||
"color-darkgreen": "darkgreen",
|
||||
"color-crimson": "karmínová",
|
||||
"color-darkgreen": "tmavě zelená",
|
||||
"color-gold": "zlatá",
|
||||
"color-gray": "šedá",
|
||||
"color-green": "zelená",
|
||||
"color-indigo": "indigo",
|
||||
"color-lime": "světlezelená",
|
||||
"color-magenta": "magenta",
|
||||
"color-magenta": "purpurová",
|
||||
"color-mistyrose": "mistyrose",
|
||||
"color-navy": "tmavě modrá",
|
||||
"color-orange": "oranžová",
|
||||
"color-paleturquoise": "paleturquoise",
|
||||
"color-peachpuff": "peachpuff",
|
||||
"color-pink": "růžová",
|
||||
"color-plum": "plum",
|
||||
"color-plum": "švestková",
|
||||
"color-purple": "fialová",
|
||||
"color-red": "červená",
|
||||
"color-saddlebrown": "saddlebrown",
|
||||
@@ -350,7 +351,7 @@
|
||||
"set-color-list": "Nastavit barvu",
|
||||
"listActionPopup-title": "Vypsat akce",
|
||||
"swimlaneActionPopup-title": "Akce swimlane",
|
||||
"swimlaneAddPopup-title": "Add a Swimlane below",
|
||||
"swimlaneAddPopup-title": "Přidat swimlane dolů",
|
||||
"listImportCardPopup-title": "Importovat Trello kartu",
|
||||
"listMorePopup-title": "Více",
|
||||
"link-list": "Odkaz na tento sloupec",
|
||||
@@ -465,9 +466,9 @@
|
||||
"welcome-swimlane": "Milník 1",
|
||||
"welcome-list1": "Základní",
|
||||
"welcome-list2": "Pokročilé",
|
||||
"card-templates-swimlane": "Card Templates",
|
||||
"list-templates-swimlane": "List Templates",
|
||||
"board-templates-swimlane": "Board Templates",
|
||||
"card-templates-swimlane": "Šablony Karty",
|
||||
"list-templates-swimlane": "Šablony Sloupce",
|
||||
"board-templates-swimlane": "Šablony Tabla",
|
||||
"what-to-do": "Co chcete dělat?",
|
||||
"wipLimitErrorPopup-title": "Neplatný WIP Limit",
|
||||
"wipLimitErrorPopup-dialog-pt1": "Počet úkolů v tomto sloupci je vyšší než definovaný WIP limit.",
|
||||
@@ -550,7 +551,7 @@
|
||||
"subtask-settings": "Nastavení podúkolů",
|
||||
"boardSubtaskSettingsPopup-title": "Nastavení podúkolů tabla",
|
||||
"show-subtasks-field": "Karty mohou mít podúkoly",
|
||||
"deposit-subtasks-board": "Deposit subtasks to this board:",
|
||||
"deposit-subtasks-board": "Vložit podúkoly do tohoto tabla",
|
||||
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
|
||||
"show-parent-in-minicard": "Ukázat předka na minikartě",
|
||||
"prefix-with-full-path": "Prefix s celou cestou",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "přidán štítek '%s'",
|
||||
"activity-removed-label-card": "odstraněn štítek '%s'",
|
||||
"activity-delete-attach-card": "odstraněna příloha",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "Pravidlo",
|
||||
"r-add-trigger": "Přidat spoštěč",
|
||||
"r-add-action": "Přidat akci",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"act-importCard": "importiert Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ in Board __board__ ",
|
||||
"act-importList": "importiert Liste __list__ bei Swimlane __swimlane__ in Board __board__ ",
|
||||
"act-joinMember": "fügt Mitglied __member__ der Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__ hinzu",
|
||||
"act-moveCard": "verschiebe Karte __card__ von Liste __oldList__ von Swimlane __oldSwimlane__ von Board __oldBoard__ nach Liste __list__ in Swimlane __swimlane__ zu Board __board__",
|
||||
"act-moveCard": "verschiebt Karte __card__ auf Board __board__ von Liste __oldList__ in Swimlane __oldSwimlane__ zu Liste __list__ in Swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "verschiebt Karte __card__ von Liste __oldList__ von Swimlane __oldSwimlane__ von Board __oldBoard__ nach Liste __list__ in Swimlane __swimlane__ zu Board __board__",
|
||||
"act-removeBoardMember": "entfernte Mitglied __member__ vom Board __board__",
|
||||
"act-restoredCard": "wiederherstellte Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
"act-unjoinMember": "entfernte Mitglied __member__ von Karte __card__ auf der Liste __list__ bei Swimlane __swimlane__ an Board __board__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "Label hinzugefügt '%s'",
|
||||
"activity-removed-label-card": "Label entfernt '%s'",
|
||||
"activity-delete-attach-card": "hat einen Anhang gelöscht",
|
||||
"activity-set-customfield": "setze benutzerdefiniertes Feld '%s' zu '%s' in %s",
|
||||
"activity-unset-customfield": "entferne benutzerdefiniertes Feld '%s' in %s",
|
||||
"r-rule": "Regel",
|
||||
"r-add-trigger": "Auslöser hinzufügen",
|
||||
"r-add-action": "Aktion hinzufügen",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+43
-40
@@ -1,37 +1,38 @@
|
||||
{
|
||||
"accept": "Aceptar",
|
||||
"act-activity-notify": "Notificación de actividad",
|
||||
"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-removeLabel": "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-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__ 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-addAttachment": "añadido el adjunto __attachment__ a la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-deleteAttachment": "eliminado el adjunto __attachment__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-addSubtask": "añadida la subtarea __subtask__ a la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-addLabel": "añadida la etiqueta __label__ a la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-removeLabel": "eliminada la etiqueta __label__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-addChecklist": "añadida la lista de verificación __checklist__ a la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-addChecklistItem": "añadido el elemento __checklistItem__ a la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-removeChecklist": "eliminada la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-removeChecklistItem": "eliminado el elemento __checklistItem__ de la lista de verificación __checkList__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-checkedItem": "marcado el elemento __checklistItem__ de la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-uncheckedItem": "desmarcado el elemento __checklistItem__ de la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-completeChecklist": "completada la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-uncompleteChecklist": "no completada la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-addComment": "comentario en la tarjeta__card__: __comment__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-createBoard": "creado el tablero __board__",
|
||||
"act-createCard": "creada la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-createCustomField": "creado 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-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__",
|
||||
"act-joinMember": "añadido el miembro __member__ a la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "movida la tarjeta __card__ de la lista __oldList__ del carril __oldSwimlane__ del tablero __oldBoard__ a la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-removeBoardMember": "eliminado el miembro __member__ del tablero __board__",
|
||||
"act-restoredCard": "restaurada la tarjeta __card__ a la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-unjoinMember": "eliminado el miembro __member__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Acciones",
|
||||
@@ -56,14 +57,14 @@
|
||||
"activity-unchecked-item": "desmarcado %s en lista %s de %s",
|
||||
"activity-checklist-added": "ha añadido una lista de verificación a %s",
|
||||
"activity-checklist-removed": "eliminada una lista de verificación desde %s ",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed": "completada la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"activity-checklist-uncompleted": "no completado la lista %s de %s",
|
||||
"activity-checklist-item-added": "ha añadido el elemento de la lista de verificación a '%s' en %s",
|
||||
"activity-checklist-item-removed": "eliminado un elemento de la lista de verificación desde '%s' en %s",
|
||||
"add": "Añadir",
|
||||
"activity-checked-item-card": "marcado %s en la lista de verificación %s",
|
||||
"activity-unchecked-item-card": "desmarcado %s en la lista de verificación %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed-card": "completada la lista de verificación __checklist__ de la tarjeta __card__ de la lista __list__ del carril __swimlane__ del tablero __board__",
|
||||
"activity-checklist-uncompleted-card": "no completó la lista de verificación %s",
|
||||
"add-attachment": "Añadir adjunto",
|
||||
"add-board": "Añadir tablero",
|
||||
@@ -243,7 +244,7 @@
|
||||
"decline": "Declinar",
|
||||
"default-avatar": "Avatar por defecto",
|
||||
"delete": "Eliminar",
|
||||
"deleteCustomFieldPopup-title": "¿Borrar el campo personalizado?",
|
||||
"deleteCustomFieldPopup-title": "¿Eliminar el campo personalizado?",
|
||||
"deleteLabelPopup-title": "¿Eliminar la etiqueta?",
|
||||
"description": "Descripción",
|
||||
"disambiguateMultiLabelPopup-title": "Desambiguar la acción de etiqueta",
|
||||
@@ -417,8 +418,8 @@
|
||||
"search-cards": "Buscar entre los títulos y las descripciones de las tarjetas en este tablero.",
|
||||
"search-example": "¿Texto a buscar?",
|
||||
"select-color": "Seleccionar el color",
|
||||
"set-wip-limit-value": "Fija un límite para el número máximo de tareas en esta lista.",
|
||||
"setWipLimitPopup-title": "Fija el límite del trabajo en proceso",
|
||||
"set-wip-limit-value": "Cambiar el límite para el número máximo de tareas en esta lista.",
|
||||
"setWipLimitPopup-title": "Cambiar el límite del trabajo en proceso",
|
||||
"shortcut-assign-self": "Asignarte a ti mismo a la tarjeta actual",
|
||||
"shortcut-autocomplete-emoji": "Autocompletar emoji",
|
||||
"shortcut-autocomplete-members": "Autocompletar miembros",
|
||||
@@ -542,8 +543,8 @@
|
||||
"requested-by": "Solicitado por",
|
||||
"board-delete-notice": "Se eliminarán todas las listas, tarjetas y acciones asociadas a este tablero. Esta acción no puede deshacerse.",
|
||||
"delete-board-confirm-popup": "Se eliminarán todas las listas, tarjetas, etiquetas y actividades, y no podrás recuperar los contenidos del tablero. Esta acción no puede deshacerse.",
|
||||
"boardDeletePopup-title": "¿Borrar el tablero?",
|
||||
"delete-board": "Borrar el tablero",
|
||||
"boardDeletePopup-title": "¿Eliminar el tablero?",
|
||||
"delete-board": "Eliminar el tablero",
|
||||
"default-subtasks-board": "Subtareas para el tablero __board__",
|
||||
"default": "Por defecto",
|
||||
"queue": "Cola",
|
||||
@@ -563,10 +564,12 @@
|
||||
"no-parent": "No mostrar la tarjeta padre",
|
||||
"activity-added-label": "añadida etiqueta %s a %s",
|
||||
"activity-removed-label": "eliminada etiqueta '%s' desde %s",
|
||||
"activity-delete-attach": "borrado un adjunto desde %s",
|
||||
"activity-delete-attach": "eliminado un adjunto desde %s",
|
||||
"activity-added-label-card": "añadida etiqueta '%s'",
|
||||
"activity-removed-label-card": "eliminada etiqueta '%s'",
|
||||
"activity-delete-attach-card": "borrado un adjunto",
|
||||
"activity-delete-attach-card": "eliminado un adjunto",
|
||||
"activity-set-customfield": "Cambiar el campo personalizado '%s' a '%s' en %s",
|
||||
"activity-unset-customfield": "Desmarcar el campo personalizado '%s' en %s",
|
||||
"r-rule": "Regla",
|
||||
"r-add-trigger": "Añadir disparador",
|
||||
"r-add-action": "Añadir acción",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "افزودن لیبل '%s'",
|
||||
"activity-removed-label-card": "حذف لیبل '%s'",
|
||||
"activity-delete-attach-card": "حذف ضمیمه",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "نقش",
|
||||
"r-add-trigger": "افزودن گیره",
|
||||
"r-add-action": "افزودن عملیات",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"act-importCard": "tuotu kortti __card__ listalle __list__ swimlanella __swimlane__ taululla __board__",
|
||||
"act-importList": "tuotu lista __list__ swimlanelle __swimlane__ taululla __board__",
|
||||
"act-joinMember": "lisätty jäsen __member__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
|
||||
"act-moveCard": "siirretty kortti __card__ listasta __oldList__ swimlanella __oldSwimlane__ taululla __oldBoard__ listalle __list__ swimlanella __swimlane__ taululla __board__",
|
||||
"act-moveCard": "siirsi kortin __card__ taululla __board__ listasta __oldList__ swimlanelta __oldSwimlane__ listalle __list__ swimlanelle __swimlane__",
|
||||
"act-moveCardToOtherBoard": "siirretty kortti __card__ listasta __oldList__ swimlanella __oldSwimlane__ taululla __oldBoard__ listalle __list__ swimlanella __swimlane__ taululla __board__",
|
||||
"act-removeBoardMember": "poistettu jäsen __member__ taululta __board__",
|
||||
"act-restoredCard": "palautettu kortti __card__ listalle __list__ swimlanella __swimlane__ taululla __board__",
|
||||
"act-unjoinMember": "poistettu jäsen __member__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "lisätty tunniste '%s'",
|
||||
"activity-removed-label-card": "poistettu tunniste '%s'",
|
||||
"activity-delete-attach-card": "poistettu liitetiedosto",
|
||||
"activity-set-customfield": "asetettu mukautettu kentän '%s' sisällöksi '%s' kortilla %s",
|
||||
"activity-unset-customfield": "poistettu mukautettu kenttä '%s' kortilla %s",
|
||||
"r-rule": "Sääntö",
|
||||
"r-add-trigger": "Lisää liipaisin",
|
||||
"r-add-action": "Lisää toimi",
|
||||
|
||||
+46
-43
@@ -28,7 +28,8 @@
|
||||
"act-importCard": "a importé la carte __card__ de la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-importList": "a importé la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-joinMember": "a ajouté le participant __member__ à la carte __card__ de la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-moveCard": "a déplacé la carte __card__ de la liste __oldList__ du couloir __oldSwimlane__ du tableau __oldBoard__ vers la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "a déplacé la carte __card__ de la liste __oldList__ du couloir __oldSwimlane__ du tableau __oldBoard__ vers la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-removeBoardMember": "a supprimé le participant __member__ du tableau __board__",
|
||||
"act-restoredCard": "a restauré la carte __card__ de la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
"act-unjoinMember": "a supprimé le participant __member__ de la carte __card__ de la liste __list__ du couloir __swimlane__ du tableau __board__",
|
||||
@@ -75,11 +76,11 @@
|
||||
"add-cover": "Ajouter la couverture",
|
||||
"add-label": "Ajouter une étiquette",
|
||||
"add-list": "Ajouter une liste",
|
||||
"add-members": "Assigner des membres",
|
||||
"add-members": "Assigner des participants",
|
||||
"added": "Ajouté le",
|
||||
"addMemberPopup-title": "Membres",
|
||||
"addMemberPopup-title": "Participants",
|
||||
"admin": "Admin",
|
||||
"admin-desc": "Peut voir et éditer les cartes, supprimer des membres et changer les paramètres du tableau.",
|
||||
"admin-desc": "Peut voir et éditer les cartes, supprimer des participants et changer les paramètres du tableau.",
|
||||
"admin-announcement": "Annonce",
|
||||
"admin-announcement-active": "Annonce destinée à tous",
|
||||
"admin-announcement-title": "Annonce de l'administrateur",
|
||||
@@ -103,7 +104,7 @@
|
||||
"archives": "Archiver",
|
||||
"template": "Modèle",
|
||||
"templates": "Modèles",
|
||||
"assign-member": "Affecter un membre",
|
||||
"assign-member": "Affecter un participant",
|
||||
"attached": "joint",
|
||||
"attachment": "Pièce jointe",
|
||||
"attachment-delete-pop": "La suppression d'une pièce jointe est définitive. Elle ne peut être annulée.",
|
||||
@@ -141,9 +142,9 @@
|
||||
"card-edit-attachments": "Modifier les pièces jointes",
|
||||
"card-edit-custom-fields": "Éditer les champs personnalisés",
|
||||
"card-edit-labels": "Gérer les étiquettes",
|
||||
"card-edit-members": "Gérer les membres",
|
||||
"card-edit-members": "Gérer les participants",
|
||||
"card-labels-title": "Modifier les étiquettes de la carte.",
|
||||
"card-members-title": "Ajouter ou supprimer des membres à la carte.",
|
||||
"card-members-title": "Assigner ou supprimer des participants à la carte.",
|
||||
"card-start": "Début",
|
||||
"card-start-on": "Commence le",
|
||||
"cardAttachmentsPopup-title": "Ajouter depuis",
|
||||
@@ -152,7 +153,7 @@
|
||||
"cardDeletePopup-title": "Supprimer la carte ?",
|
||||
"cardDetailsActionsPopup-title": "Actions sur la carte",
|
||||
"cardLabelsPopup-title": "Étiquettes",
|
||||
"cardMembersPopup-title": "Membres",
|
||||
"cardMembersPopup-title": "Participants",
|
||||
"cardMorePopup-title": "Plus",
|
||||
"cardTemplatePopup-title": "Créer un modèle",
|
||||
"cards": "Cartes",
|
||||
@@ -247,7 +248,7 @@
|
||||
"deleteLabelPopup-title": "Supprimer l'étiquette ?",
|
||||
"description": "Description",
|
||||
"disambiguateMultiLabelPopup-title": "Préciser l'action sur l'étiquette",
|
||||
"disambiguateMultiMemberPopup-title": "Préciser l'action sur le membre",
|
||||
"disambiguateMultiMemberPopup-title": "Préciser l'action sur le participant",
|
||||
"discard": "Mettre à la corbeille",
|
||||
"done": "Fait",
|
||||
"download": "Télécharger",
|
||||
@@ -263,13 +264,13 @@
|
||||
"editLabelPopup-title": "Modifier l'étiquette",
|
||||
"editNotificationPopup-title": "Modifier la notification",
|
||||
"editProfilePopup-title": "Modifier le profil",
|
||||
"email": "Email",
|
||||
"email": "E-mail",
|
||||
"email-enrollAccount-subject": "Un compte a été créé pour vous sur __siteName__",
|
||||
"email-enrollAccount-text": "Bonjour __user__,\n\nPour commencer à utiliser ce service, il suffit de cliquer sur le lien ci-dessous.\n\n__url__\n\nMerci.",
|
||||
"email-fail": "Échec de l'envoi du courriel.",
|
||||
"email-fail-text": "Une erreur est survenue en tentant d'envoyer l'email",
|
||||
"email-invalid": "Adresse email incorrecte.",
|
||||
"email-invite": "Inviter par email",
|
||||
"email-invalid": "Adresse e-mail incorrecte.",
|
||||
"email-invite": "Inviter par e-mail",
|
||||
"email-invite-subject": "__inviter__ vous a envoyé une invitation",
|
||||
"email-invite-text": "Cher __user__,\n\n__inviter__ vous invite à rejoindre le tableau \"__board__\" pour collaborer.\n\nVeuillez suivre le lien ci-dessous :\n\n__url__\n\nMerci.",
|
||||
"email-resetPassword-subject": "Réinitialiser votre mot de passe sur __siteName__",
|
||||
@@ -280,7 +281,7 @@
|
||||
"enable-wip-limit": "Activer la limite WIP",
|
||||
"error-board-doesNotExist": "Ce tableau n'existe pas",
|
||||
"error-board-notAdmin": "Vous devez être administrateur de ce tableau pour faire cela",
|
||||
"error-board-notAMember": "Vous devez être membre de ce tableau pour faire cela",
|
||||
"error-board-notAMember": "Vous devez être participant de ce tableau pour faire cela",
|
||||
"error-json-malformed": "Votre texte JSON n'est pas valide",
|
||||
"error-json-schema": "Vos données JSON ne contiennent pas l'information appropriée dans un format correct",
|
||||
"error-list-doesNotExist": "Cette liste n'existe pas",
|
||||
@@ -294,7 +295,7 @@
|
||||
"filter-cards": "Filtrer les cartes",
|
||||
"filter-clear": "Supprimer les filtres",
|
||||
"filter-no-label": "Aucune étiquette",
|
||||
"filter-no-member": "Aucun membre",
|
||||
"filter-no-member": "Aucun participant",
|
||||
"filter-no-custom-fields": "Pas de champs personnalisés",
|
||||
"filter-on": "Le filtre est actif",
|
||||
"filter-on-desc": "Vous êtes en train de filtrer les cartes sur ce tableau. Cliquez ici pour modifier les filtres.",
|
||||
@@ -310,9 +311,9 @@
|
||||
"link": "Lien",
|
||||
"import-board": "importer un tableau",
|
||||
"import-board-c": "Importer un tableau",
|
||||
"import-board-title-trello": "Importer le tableau depuis Trello",
|
||||
"import-board-title-wekan": "Importer le tableau depuis l'export précédent",
|
||||
"import-sandstorm-backup-warning": "Ne supprimez pas les données que vous importez du tableau exporté d'origine ou de Trello avant de vérifier que la graine peut se fermer et s'ouvrir à nouveau, ou qu'une erreur \"Tableau introuvable\" survient, sinon vous perdrez vos données.",
|
||||
"import-board-title-trello": "Importer un tableau depuis Trello",
|
||||
"import-board-title-wekan": "Importer un tableau depuis un export précédent",
|
||||
"import-sandstorm-backup-warning": "Ne supprimez pas les données que vous importez d'un tableau exporté d'origine ou de Trello avant de vérifier que la graine peut se fermer et s'ouvrir à nouveau ou qu'une erreur \"Tableau introuvable\" survient, sinon vous perdrez vos données.",
|
||||
"import-sandstorm-warning": "Le tableau importé supprimera toutes les données du tableau et les remplacera avec celles du tableau importé.",
|
||||
"from-trello": "Depuis Trello",
|
||||
"from-wekan": "Depuis un export précédent",
|
||||
@@ -320,15 +321,15 @@
|
||||
"import-board-instruction-wekan": "Dans votre tableau, allez dans 'Menu', puis 'Exporter un tableau', et copier le texte du fichier téléchargé.",
|
||||
"import-board-instruction-about-errors": "Si une erreur survient en important le tableau, il se peut que l'import ait fonctionné, et que le tableau se trouve sur la page \"Tous les tableaux\".",
|
||||
"import-json-placeholder": "Collez ici les données JSON valides",
|
||||
"import-map-members": "Faire correspondre aux membres",
|
||||
"import-members-map": "Le tableau que vous venez d'importer contient des membres. Veuillez associer les membres que vous souhaitez importer à vos utilisateurs.",
|
||||
"import-show-user-mapping": "Contrôler l'association des membres",
|
||||
"import-user-select": "Sélectionnez l'utilisateur existant que vous voulez associer à ce membre",
|
||||
"importMapMembersAddPopup-title": "Sélectionner le membre",
|
||||
"import-map-members": "Assigner des participants",
|
||||
"import-members-map": "Le tableau que vous venez d'importer contient des participants. Veuillez assigner les participants que vous souhaitez importer à vos utilisateurs.",
|
||||
"import-show-user-mapping": "Contrôler l'assignation des participants",
|
||||
"import-user-select": "Sélectionnez l'utilisateur existant que vous voulez associer à ce participant",
|
||||
"importMapMembersAddPopup-title": "Sélectionner le participant",
|
||||
"info": "Version",
|
||||
"initials": "Initiales",
|
||||
"invalid-date": "Date invalide",
|
||||
"invalid-time": "Temps invalide",
|
||||
"invalid-time": "Heure invalide",
|
||||
"invalid-user": "Utilisateur invalide",
|
||||
"joined": "a rejoint",
|
||||
"just-invited": "Vous venez d'être invité à ce tableau",
|
||||
@@ -354,15 +355,15 @@
|
||||
"listImportCardPopup-title": "Importer une carte Trello",
|
||||
"listMorePopup-title": "Plus",
|
||||
"link-list": "Lien vers cette liste",
|
||||
"list-delete-pop": "Toutes les actions seront supprimées du fil d'activité et il ne sera plus possible de les récupérer. Cette action ne peut pas être annulée.",
|
||||
"list-delete-pop": "Toutes les actions seront supprimées du fil d'activité et il ne sera plus possible de les récupérer. Cette action est irréversible.",
|
||||
"list-delete-suggest-archive": "Vous pouvez archiver une liste pour l'enlever du tableau tout en conservant son activité.",
|
||||
"lists": "Listes",
|
||||
"swimlanes": "Couloirs",
|
||||
"log-out": "Déconnexion",
|
||||
"log-in": "Connexion",
|
||||
"loginPopup-title": "Connexion",
|
||||
"memberMenuPopup-title": "Préférence de membre",
|
||||
"members": "Membres",
|
||||
"memberMenuPopup-title": "Préférence du participant",
|
||||
"members": "Participants",
|
||||
"menu": "Menu",
|
||||
"move-selection": "Déplacer la sélection",
|
||||
"moveCardPopup-title": "Déplacer la carte",
|
||||
@@ -382,7 +383,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 membre ",
|
||||
"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",
|
||||
@@ -404,10 +405,10 @@
|
||||
"remove-from-board": "Retirer du tableau",
|
||||
"remove-label": "Retirer l'étiquette",
|
||||
"listDeletePopup-title": "Supprimer la liste ?",
|
||||
"remove-member": "Supprimer le membre",
|
||||
"remove-member": "Supprimer le participant",
|
||||
"remove-member-from-card": "Supprimer de la carte",
|
||||
"remove-member-pop": "Supprimer __name__ (__username__) de __boardTitle__ ? Ce membre sera supprimé de toutes les cartes du tableau et recevra une notification.",
|
||||
"removeMemberPopup-title": "Supprimer le membre ?",
|
||||
"remove-member-pop": "Supprimer __name__ (__username__) de __boardTitle__ ? Ce participant sera supprimé de toutes les cartes du tableau et recevra une notification.",
|
||||
"removeMemberPopup-title": "Supprimer le participant ?",
|
||||
"rename": "Renommer",
|
||||
"rename-board": "Renommer le tableau",
|
||||
"restore": "Restaurer",
|
||||
@@ -421,13 +422,13 @@
|
||||
"setWipLimitPopup-title": "Définir la limite WIP",
|
||||
"shortcut-assign-self": "Affecter cette carte à vous-même",
|
||||
"shortcut-autocomplete-emoji": "Auto-complétion des emoji",
|
||||
"shortcut-autocomplete-members": "Auto-complétion des membres",
|
||||
"shortcut-autocomplete-members": "Auto-complétion des participants",
|
||||
"shortcut-clear-filters": "Retirer tous les filtres",
|
||||
"shortcut-close-dialog": "Fermer la boîte de dialogue",
|
||||
"shortcut-filter-my-cards": "Filtrer mes cartes",
|
||||
"shortcut-show-shortcuts": "Afficher cette liste de raccourcis",
|
||||
"shortcut-toggle-filterbar": "Afficher/Cacher la barre latérale des filtres",
|
||||
"shortcut-toggle-sidebar": "Afficher/Cacher la barre latérale du tableau",
|
||||
"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 ",
|
||||
"sidebar-open": "Ouvrir le panneau",
|
||||
"sidebar-close": "Fermer le panneau",
|
||||
@@ -447,9 +448,9 @@
|
||||
"time": "Temps",
|
||||
"title": "Titre",
|
||||
"tracking": "Suivi",
|
||||
"tracking-info": "Vous serez notifié de toute modification concernant les cartes pour lesquelles vous êtes impliqué en tant que créateur ou membre.",
|
||||
"tracking-info": "Vous serez notifié de toute modification concernant les cartes pour lesquelles vous êtes impliqué en tant que créateur ou participant.",
|
||||
"type": "Type",
|
||||
"unassign-member": "Retirer le membre",
|
||||
"unassign-member": "Retirer le participant",
|
||||
"unsaved-description": "Vous avez une description non sauvegardée",
|
||||
"unwatch": "Arrêter de suivre",
|
||||
"upload": "Télécharger",
|
||||
@@ -480,7 +481,7 @@
|
||||
"invite": "Inviter",
|
||||
"invite-people": "Inviter une personne",
|
||||
"to-boards": "Au(x) tableau(x)",
|
||||
"email-addresses": "Adresses email",
|
||||
"email-addresses": "Adresses mail",
|
||||
"smtp-host-description": "L'adresse du serveur SMTP qui gère vos mails.",
|
||||
"smtp-port-description": "Le port des mails sortants du serveur SMTP.",
|
||||
"smtp-tls-description": "Activer la gestion de TLS sur le serveur SMTP",
|
||||
@@ -494,7 +495,7 @@
|
||||
"invitation-code": "Code d'invitation",
|
||||
"email-invite-register-subject": "__inviter__ vous a envoyé une invitation",
|
||||
"email-invite-register-text": "Cher __user__,\n\n__inviter__ vous invite à le rejoindre sur le tableau kanban pour collaborer.\n\nVeuillez suivre le lien ci-dessous :\n__url__\n\nVotre code d'invitation est : __icode__\n\nMerci.",
|
||||
"email-smtp-test-subject": "Email de test SMTP",
|
||||
"email-smtp-test-subject": "E-mail de test SMTP",
|
||||
"email-smtp-test-text": "Vous avez envoyé un mail avec succès",
|
||||
"error-invitation-code-not-exist": "Ce code d'invitation n'existe pas.",
|
||||
"error-notAuthorized": "Vous n'êtes pas autorisé à accéder à cette page.",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "a ajouté l'étiquette '%s'",
|
||||
"activity-removed-label-card": "a supprimé l'étiquette '%s'",
|
||||
"activity-delete-attach-card": "a supprimé une pièce jointe",
|
||||
"activity-set-customfield": "a défini le champ personnalisé '%s' à '%s' dans %s",
|
||||
"activity-unset-customfield": "a effacé le champ personnalisé '%s' dans %s",
|
||||
"r-rule": "Règle",
|
||||
"r-add-trigger": "Ajouter un déclencheur",
|
||||
"r-add-action": "Ajouter une action",
|
||||
@@ -592,8 +595,8 @@
|
||||
"r-when-a-label-is": "Quand une étiquette est",
|
||||
"r-when-the-label-is": "Quand l'étiquette est",
|
||||
"r-list-name": "Nom de la liste",
|
||||
"r-when-a-member": "Quand un membre est",
|
||||
"r-when-the-member": "Quand le membre",
|
||||
"r-when-a-member": "Quand un participant est",
|
||||
"r-when-the-member": "Quand le participant",
|
||||
"r-name": "nom",
|
||||
"r-when-a-attach": "Quand une pièce jointe",
|
||||
"r-when-a-checklist": "Quand une checklist est",
|
||||
@@ -614,7 +617,7 @@
|
||||
"r-add": "Ajouter",
|
||||
"r-remove": "Supprimer",
|
||||
"r-label": "étiquette",
|
||||
"r-member": "membre",
|
||||
"r-member": "participant",
|
||||
"r-remove-all": "Supprimer tous les membres de la carte",
|
||||
"r-set-color": "Définir la couleur à",
|
||||
"r-checklist": "checklist",
|
||||
@@ -644,9 +647,9 @@
|
||||
"r-create-card": "Créer une nouvelle carte",
|
||||
"r-in-list": "dans la liste",
|
||||
"r-in-swimlane": "Dans le couloir",
|
||||
"r-d-add-member": "Ajouter un membre",
|
||||
"r-d-remove-member": "Supprimer un membre",
|
||||
"r-d-remove-all-member": "Supprimer tous les membres",
|
||||
"r-d-add-member": "Ajouter un participant",
|
||||
"r-d-remove-member": "Supprimer un participant",
|
||||
"r-d-remove-all-member": "Supprimer tous les participants",
|
||||
"r-d-check-all": "Cocher tous les éléments d'une liste",
|
||||
"r-d-uncheck-all": "Décocher tous les éléments d'une liste",
|
||||
"r-d-check-one": "Cocher l'élément",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+13
-10
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"accept": "אישור",
|
||||
"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__",
|
||||
"act-addLabel": "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-addAttachment": "הקובץ __attachment__ צורף אל הכרטיס __card__ ברשימה __list__ למסלול __swimlane__ שבלוח __board__",
|
||||
"act-deleteAttachment": "הקובץ __attachment__ נמחק מהכרטיס __card__ ברשימה __list__ מהמסלול __swimlane__ שבלוח __board__",
|
||||
"act-addSubtask": "תת־משימה __attachment__ נוספה אל הכרטיס __card__ ברשימה __list__ למסלול __swimlane__ שבלוח __board__",
|
||||
"act-addLabel": "התווית __label__ נוספה לכרטיס __card__ ברשימה __list__ למסלול __swimlane__ שבלוח __board__",
|
||||
"act-removeLabel": "התווית __label__ הוסרה מהכרטיס __card__ ברשימה __list__ מהמסלול __swimlane__ שבלוח __board__",
|
||||
"act-addChecklist": "added checklist __checklist__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-addChecklistItem": "נוסף פריט סימון __checklistItem__ לרשימת המטלות __checklist__ לכרטיס __card__ ברשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-removeChecklist": "removed checklist __checklist__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
@@ -16,19 +16,20 @@
|
||||
"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": "הלוח __board__ נוצר",
|
||||
"act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"act-createCard": "הכרטיס __card__ נוצר ברשימה __list__ במסלול __swimlane__ שבלוח __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-createList": "הרשימה __list__ נוספה ללוח __board__",
|
||||
"act-addBoardMember": "החבר __member__ נוסף אל __board__",
|
||||
"act-archivedBoard": "הלוח __board__ הועבר לארכיון",
|
||||
"act-archivedCard": "הכרטיס __card__ ברשימה __list__ במסלול __swimlane__ בלוח __board__ הועבר לארכיון",
|
||||
"act-archivedList": "הרשימה __list__ במסלול __swimlane__ בלוח __board__ הועברה לארכיון",
|
||||
"act-archivedSwimlane": "המסלול __swimlane__ בלוח __board__ הועבר לארכיון",
|
||||
"act-importBoard": "הייבוא של הלוח __board__ הושלם",
|
||||
"act-importCard": "הייבוא של הכרטיס __card__ לרשימה __list__ למסלול __swimlane__ ללוח __board__ הושלם",
|
||||
"act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
|
||||
"act-importList": "הרשימה __list__ ייובאה למסלול __swimlane__ שבלוח __board__",
|
||||
"act-joinMember": "החבר __member__ נוסף לכרטיס __card__ לרשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-moveCard": "הכרטיס __card__ הועבר מהרשימה __oldList__ במסלול __oldSwimlane__ בלוח __oldBoard__ לרשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "הכרטיס __card__ הועבר מהרשימה __oldList__ במסלול __oldSwimlane__ בלוח __oldBoard__ לרשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
"act-removeBoardMember": "החבר __member__ הוסר מהלוח __board__",
|
||||
"act-restoredCard": "הכרטיס __card__ שוחזר לרשימה __list__ למסלול __swimlane__ ללוח __board__",
|
||||
"act-unjoinMember": "החבר __member__ הוסר מהכרטיס __card__ ברשימה __list__ במסלול __swimlane__ בלוח __board__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "התווית ‚%s’ נוספה",
|
||||
"activity-removed-label-card": "התווית ‚%s’ הוסרה",
|
||||
"activity-delete-attach-card": "קובץ מצורף נמחק",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "כלל",
|
||||
"r-add-trigger": "הוספת הקפצה",
|
||||
"r-add-action": "הוספת פעולה",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "संकलित label '%s'",
|
||||
"activity-removed-label-card": "हटा दिया label '%s'",
|
||||
"activity-delete-attach-card": "deleted an संलग्नक",
|
||||
"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": "जोड़ें trigger",
|
||||
"r-add-action": "जोड़ें action",
|
||||
|
||||
+25
-22
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"accept": "Elfogadás",
|
||||
"act-activity-notify": "Activity Notification",
|
||||
"act-activity-notify": "Tevékenység értesítés",
|
||||
"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__",
|
||||
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
@@ -624,7 +627,7 @@
|
||||
"r-check": "Check",
|
||||
"r-uncheck": "Uncheck",
|
||||
"r-item": "item",
|
||||
"r-of-checklist": "of checklist",
|
||||
"r-of-checklist": "ellenőrzőlistából",
|
||||
"r-send-email": "Send an email",
|
||||
"r-to": "to",
|
||||
"r-subject": "subject",
|
||||
@@ -649,32 +652,32 @@
|
||||
"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-check-one": "Elem ellenőrzése",
|
||||
"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-d-check-of-list": "ellenőrzőlistából",
|
||||
"r-d-add-checklist": "Ellenőrzőlista hozzáadása",
|
||||
"r-d-remove-checklist": "Ellenőrzőlista eltávolítása",
|
||||
"r-by": "által",
|
||||
"r-add-checklist": "Ellenőrzőlista hozzáadása",
|
||||
"r-with-items": "elemekkel",
|
||||
"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",
|
||||
"r-when-a-card-is-moved": "Amikor egy kártya másik listába kerül",
|
||||
"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"
|
||||
"authentication-method": "Hitelesítési mód",
|
||||
"authentication-type": "Hitelesítés típusa",
|
||||
"custom-product-name": "Saját terméknév",
|
||||
"layout": "Elrendezés",
|
||||
"hide-logo": "Logo elrejtése",
|
||||
"add-custom-html-after-body-start": "Egyedi HTML hozzáadása <body> után",
|
||||
"add-custom-html-before-body-end": "1",
|
||||
"error-undefined": "Valami hiba történt",
|
||||
"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"
|
||||
}
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+37
-34
@@ -1,37 +1,38 @@
|
||||
{
|
||||
"accept": "Accetta",
|
||||
"act-activity-notify": "Notifica attività ",
|
||||
"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-removeLabel": "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-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__ 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-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__",
|
||||
"act-addLabel": "aggiunta etichetta __label__ alla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-removeLabel": "rimossa etichetta __label__ dalla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-addChecklist": "aggiunta lista di controllo __label__ alla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-addChecklistItem": "aggiunto elemento __checklistItem__ alla lista di controllo __checklist__ della scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-removeChecklist": "rimossa lista di controllo __checklist__ dalla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-removeChecklistItem": "rimosso elemento __checklistitem__ dalla lista di controllo __checkList__ della scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-checkedItem": "attivato __checklistitem__ nella lista di controllo __checklist__ della scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-uncheckedItem": "disattivato __checklistItem__ della lista di controllo __checklist__ dalla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-completeChecklist": "completata lista di controllo __checklist__ nella scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"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-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__",
|
||||
"act-addBoardMember": "aggiunto membro __member__ alla bacheca __board__",
|
||||
"act-archivedBoard": "Bacheca __board__ archiviata",
|
||||
"act-archivedCard": "Scheda __card__ della lista __list__ della corsia __swimlane__ della bacheca __board__ archiviata",
|
||||
"act-archivedList": "Lista __list__ della corsia __swimlane__ della bacheca __board__ archiviata",
|
||||
"act-archivedSwimlane": "Corsia __swimlane__ della bacheca __board__ archiviata",
|
||||
"act-importBoard": "Bacheca __board__ importata",
|
||||
"act-importCard": "scheda importata __card__ nella lista __list__ della corsia __swimlane__ della bacheca __board__",
|
||||
"act-importList": "lista __list__ importata nella corsia __swimlane__ della bacheca __board__",
|
||||
"act-joinMember": "aggiunto membro __member__ alla scheda __card__ della list __list__ nella corsia __swimlane__ della bacheca __board__",
|
||||
"act-moveCard": "spostata scheda __card__ della bacheca __board__ dalla lista __oldList__ della corsia __oldSwimlane__ alla lista __list__ della corsia __swimlane__",
|
||||
"act-moveCardToOtherBoard": "postata scheda __card__ dalla lista __oldList__ della corsia __oldSwimlane__ della bacheca __oldBoard__ alla lista __list__ nella corsia __swimlane__ della bacheca __board__",
|
||||
"act-removeBoardMember": "rimosso membro __member__ dalla bacheca __board__",
|
||||
"act-restoredCard": "scheda ripristinata __card__ della lista __list__ nella corsia __swimlane__ della bacheca __board__",
|
||||
"act-unjoinMember": "rimosso membro __member__ dalla scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Azioni",
|
||||
@@ -56,14 +57,14 @@
|
||||
"activity-unchecked-item": "disattivato %s nella checklist %s di %s",
|
||||
"activity-checklist-added": "aggiunta checklist a %s",
|
||||
"activity-checklist-removed": "È stata rimossa una checklist da%s",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed": "checklist __checklist__ completata nella scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"activity-checklist-uncompleted": "La checklist non è stata completata",
|
||||
"activity-checklist-item-added": "Aggiunto l'elemento checklist a '%s' in %s",
|
||||
"activity-checklist-item-removed": "è stato rimosso un elemento della checklist da '%s' in %s",
|
||||
"add": "Aggiungere",
|
||||
"activity-checked-item-card": "%s è stato selezionato nella checklist %s",
|
||||
"activity-unchecked-item-card": "%s è stato deselezionato nella checklist %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 __label__ completata nella scheda __card__ della lista __list__ della corsia __swimlane__ nella bacheca __board__",
|
||||
"activity-checklist-uncompleted-card": "La checklist %s non è completa",
|
||||
"add-attachment": "Aggiungi Allegato",
|
||||
"add-board": "Aggiungi Bacheca",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "aggiunta etichetta '%s'",
|
||||
"activity-removed-label-card": "L' etichetta '%s' è stata rimossa.",
|
||||
"activity-delete-attach-card": "Cancella un allegato",
|
||||
"activity-set-customfield": "imposta campo personalizzato '%s' a '%s' in %s",
|
||||
"activity-unset-customfield": "campo personalizzato non impostato '%s' in %s",
|
||||
"r-rule": "Ruolo",
|
||||
"r-add-trigger": "Aggiungi trigger",
|
||||
"r-add-action": "Aggiungi azione",
|
||||
@@ -668,7 +671,7 @@
|
||||
"cas": "CAS",
|
||||
"authentication-method": "Metodo di Autenticazione",
|
||||
"authentication-type": "Tipo Autenticazione",
|
||||
"custom-product-name": "Personalizza il nome del prodotto",
|
||||
"custom-product-name": "Nome prodotto personalizzato",
|
||||
"layout": "Layout",
|
||||
"hide-logo": "Nascondi il logo",
|
||||
"add-custom-html-after-body-start": "Aggiungi codice HTML personalizzato dopo <body> inzio",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "добави етикет '%s'",
|
||||
"activity-removed-label-card": "премахна етикет '%s'",
|
||||
"activity-delete-attach-card": "изтри прикачения файл",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "Правило",
|
||||
"r-add-trigger": "Добави спусък",
|
||||
"r-add-action": "Добави действие",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
@@ -0,0 +1,683 @@
|
||||
{
|
||||
"accept": "Acceptar",
|
||||
"act-activity-notify": "Notificacion d'activitat",
|
||||
"act-addAttachment": "as apondut una pèça joncha __astacament__ de la carta __card__ a la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-deleteAttachment": "as tirat una pèça joncha __astacament__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-addSubtask": "as apondut una jos-tasca __subtask__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-addLabel": "as apondut una etiqueta__label__ de la carta __card__ a la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-removeLabel": "as tirat l'etiqueta__label__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-addChecklist": "as apondut la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-addChecklistItem": " as apondut l'element __checklistItem__ de la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-removeChecklist": "as tirat la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-removeChecklistItem": " as tirat l'element __checklistItem__ de la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-checkedItem": "as croiat __checklistItem__ de la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-uncheckedItem": "as descroiar __checklistItem__ de la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-completeChecklist": "as completat la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-uncompleteChecklist": "as rendut incomplet la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-addComment": "as comentat la carta __card__: __comment__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-createBoard": "as creat lo tablèu __board__",
|
||||
"act-createCard": "as creat la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-createCustomField": "as creat lo camp personalizat __customField__ a la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-createList": "as apondut la tièra __list__ al tablèu __board__",
|
||||
"act-addBoardMember": "as apondut un participant __member__ al tablèu __board__",
|
||||
"act-archivedBoard": "Lo tablèu __board__ es estat desplaçar cap a Archius",
|
||||
"act-archivedCard": "La carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__ es estat desplaçar cap a Archiu",
|
||||
"act-archivedList": "La tièra __list__ del corredor __swimlane__ del tablèu __board__ es estat desplaçar cap a Archius",
|
||||
"act-archivedSwimlane": "Lo corredor __swimlane__ del tablèu __board__ es estat desplaçar cap a Archius",
|
||||
"act-importBoard": "as importat lo tablèu __board__",
|
||||
"act-importCard": "as importat la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-importList": "as importat la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-joinMember": "as apondut un participant __member__ a la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "as desplaçat la carta __card__ de la tièra __oldList__ del corredor __oldSwimlane__ del tablèu __oldBoard__ cap a la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-removeBoardMember": "as tirat lo participant __member__ del tablèu __board__",
|
||||
"act-restoredCard": "as restorat la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-unjoinMember": "as tirat lo participant __member__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"act-withBoardTitle": "__tablèu__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Accions",
|
||||
"activities": "Activitats",
|
||||
"activity": "Activitat",
|
||||
"activity-added": "as apondut %s a %s",
|
||||
"activity-archived": "%s desplaçat cap a Archius",
|
||||
"activity-attached": "as ligat %s a %s",
|
||||
"activity-created": "as creat %s",
|
||||
"activity-customfield-created": "as creat lo camp personalizat %s",
|
||||
"activity-excluded": "as exclús %s de %s",
|
||||
"activity-imported": "as importat %s cap a %s dempuèi %s",
|
||||
"activity-imported-board": "as importat %s dempuèi %s",
|
||||
"activity-joined": "as rejonch %s",
|
||||
"activity-moved": "as desplaçat %s dempuèi %s cap a %s",
|
||||
"activity-on": "sus %s",
|
||||
"activity-removed": "as tirat %s de %s",
|
||||
"activity-sent": "as mandat %s cap a %s",
|
||||
"activity-unjoined": "as quitat %s",
|
||||
"activity-subtask-added": "as apondut una jos-tasca a %s",
|
||||
"activity-checked-item": "as croiat %s dins la checklist %s de %s",
|
||||
"activity-unchecked-item": "as descroiat %s dins la checklist %s de %s",
|
||||
"activity-checklist-added": "as apondut a checklist a %s",
|
||||
"activity-checklist-removed": "as tirat la checklist de %s",
|
||||
"activity-checklist-completed": "as acabat la checklist __checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"activity-checklist-uncompleted": "as rendut incomplet la checklist %s de %s",
|
||||
"activity-checklist-item-added": "as apondut un element a la checklist '%s' dins %s",
|
||||
"activity-checklist-item-removed": "as tirat un element a la checklist '%s' dins %s",
|
||||
"add": "Apondre",
|
||||
"activity-checked-item-card": "as croiat %s dins la checklist %s",
|
||||
"activity-unchecked-item-card": "as descroiat %s dins la checklist %s",
|
||||
"activity-checklist-completed-card": "as acabat la checklist__checklist__ de la carta __card__ de la tièra __list__ del corredor __swimlane__ del tablèu __board__",
|
||||
"activity-checklist-uncompleted-card": "as rendut incomplet la checklist %s",
|
||||
"add-attachment": "Apondre una pèça joncha",
|
||||
"add-board": "Apondre un tablèu",
|
||||
"add-card": "Apondre una carta",
|
||||
"add-swimlane": "Apondre un corredor",
|
||||
"add-subtask": "Apondre una jos-tasca",
|
||||
"add-checklist": "Apondre una checklist",
|
||||
"add-checklist-item": "Apondre un element a la checklist",
|
||||
"add-cover": "Apondre una cobèrta",
|
||||
"add-label": "Apondre una etiqueta",
|
||||
"add-list": "Apondre una tièra",
|
||||
"add-members": "Apondre un participant",
|
||||
"added": "Apondut lo",
|
||||
"addMemberPopup-title": "Participants",
|
||||
"admin": "Administartor",
|
||||
"admin-desc": "As lo drech de legir e modificar las cartas, tirar de participants, e modificar las opcions del tablèu.",
|
||||
"admin-announcement": "Anóncia",
|
||||
"admin-announcement-active": "Activar l'anóncia globala",
|
||||
"admin-announcement-title": "Anóncia de l'administrator",
|
||||
"all-boards": "Totes los tablèus",
|
||||
"and-n-other-card": "E __comptar__ carta de mai",
|
||||
"and-n-other-card_plural": "E __comptar__ cartas de mai",
|
||||
"apply": "Aplicar",
|
||||
"app-is-offline": "Cargament, vos cal esperar. Refrescar la pagina vos va far perdre vòstre trabalh. Se lo cargament es tròp long, vos cal agachar se lo servidor es pas blocat/arrestat.",
|
||||
"archive": "Archivar",
|
||||
"archive-all": "Archivar tot",
|
||||
"archive-board": "Archivar lo tablèu",
|
||||
"archive-card": "Archivar la carta",
|
||||
"archive-list": "Archivar la tièra",
|
||||
"archive-swimlane": "Archivar lo corredor",
|
||||
"archive-selection": "Archivar la seleccion",
|
||||
"archiveBoardPopup-title": "Archivar lo tablèu?",
|
||||
"archived-items": "Archius",
|
||||
"archived-boards": "Tablèu archivat",
|
||||
"restore-board": "Restaurar lo tablèu",
|
||||
"no-archived-boards": "Pas de tablèu archivat.",
|
||||
"archives": "Archivar",
|
||||
"template": "Modèl",
|
||||
"templates": "Modèls",
|
||||
"assign-member": "Affectar un participant",
|
||||
"attached": "jónher",
|
||||
"attachment": "pèça joncha",
|
||||
"attachment-delete-pop": "Tirar una pèça joncha es defenitiu.",
|
||||
"attachmentDeletePopup-title": "Tirar la pèça joncha ?",
|
||||
"attachments": "Pèças jonchas",
|
||||
"auto-watch": "Survelhar automaticament lo tablèu un còp creat",
|
||||
"avatar-too-big": "L'imatge es tròp pesuc (70KB max)",
|
||||
"back": "Tornar",
|
||||
"board-change-color": "Cambiar de color",
|
||||
"board-nb-stars": "%s estèla",
|
||||
"board-not-found": "Tablèu pas trapat",
|
||||
"board-private-info": "Aqueste tablèu serà <strong>privat</strong>.",
|
||||
"board-public-info": "Aqueste tablèu serà <strong>public</strong>.",
|
||||
"boardChangeColorPopup-title": "Cambiar lo fons del tablèu",
|
||||
"boardChangeTitlePopup-title": "Tornar nomenar lo tablèu",
|
||||
"boardChangeVisibilityPopup-title": "Cambiar la visibilitat",
|
||||
"boardChangeWatchPopup-title": "Cambiar lo seguit",
|
||||
"boardMenuPopup-title": "Opcions del tablèu",
|
||||
"boards": "Tablèus",
|
||||
"board-view": "Presentacion del tablèu",
|
||||
"board-view-cal": "Calendièr",
|
||||
"board-view-swimlanes": "Corredor",
|
||||
"board-view-lists": "Tièras",
|
||||
"bucket-example": "Coma \"Tota la tièra\" per exemple",
|
||||
"cancel": "Tornar",
|
||||
"card-archived": "Aquesta carta es desplaçada dins Archius",
|
||||
"board-archived": "Aqueste tablèu esdesplaçat dins Archius",
|
||||
"card-comments-title": "Aquesta carta a %s de comentaris.",
|
||||
"card-delete-notice": "Un còp tirat, pas de posibilitat de tornar enrè",
|
||||
"card-delete-pop": "Totes las accions van èsser quitadas del seguit d'activitat e poiretz pas mai utilizar aquesta carta.",
|
||||
"card-delete-suggest-archive": "Podètz desplaçar una carta dins Archius per la quitar del tablèu e gardar las activitats.",
|
||||
"card-due": "Esperat",
|
||||
"card-due-on": "Esperat lo",
|
||||
"card-spent": "Temps passat",
|
||||
"card-edit-attachments": "Cambiar las pèças jonchas",
|
||||
"card-edit-custom-fields": "Cambiar los camps personalizats",
|
||||
"card-edit-labels": "Cambiar los labèls",
|
||||
"card-edit-members": "Cambiar los participants",
|
||||
"card-labels-title": "Cambiar l'etiqueta de la carta.",
|
||||
"card-members-title": "Apondre o quitar de participants a la carta. ",
|
||||
"card-start": "Debuta",
|
||||
"card-start-on": "Debuta lo",
|
||||
"cardAttachmentsPopup-title": "Apondut dempuèi",
|
||||
"cardCustomField-datePopup-title": "Cambiar la data",
|
||||
"cardCustomFieldsPopup-title": "Cambiar los camps personalizats",
|
||||
"cardDeletePopup-title": "Suprimir la carta?",
|
||||
"cardDetailsActionsPopup-title": "Accions sus la carta",
|
||||
"cardLabelsPopup-title": "Etiquetas",
|
||||
"cardMembersPopup-title": "Participants",
|
||||
"cardMorePopup-title": "Mai",
|
||||
"cardTemplatePopup-title": "Crear un modèl",
|
||||
"cards": "Cartas",
|
||||
"cards-count": "Cartas",
|
||||
"casSignIn": "Vos connectar amb CAS",
|
||||
"cardType-card": "Carta",
|
||||
"cardType-linkedCard": "Carta ligada",
|
||||
"cardType-linkedBoard": "Tablèu ligat",
|
||||
"change": "Cambiar",
|
||||
"change-avatar": "Cambiar la fòto",
|
||||
"change-password": "Cambiar lo mot de Santa-Clara",
|
||||
"change-permissions": "Cambiar las permissions",
|
||||
"change-settings": "Cambiar los paramètres",
|
||||
"changeAvatarPopup-title": "Cambiar la fòto",
|
||||
"changeLanguagePopup-title": "Cambiar la lenga",
|
||||
"changePasswordPopup-title": "Cambiar lo mot de Santa-Clara",
|
||||
"changePermissionsPopup-title": "Cambiar las permissions",
|
||||
"changeSettingsPopup-title": "Cambiar los paramètres",
|
||||
"subtasks": "Jos-tasca",
|
||||
"checklists": "Checklists",
|
||||
"click-to-star": "Apondre lo tablèu als favorits",
|
||||
"click-to-unstar": "Quitar lo tablèu dels favorits",
|
||||
"clipboard": "Copiar o far limpar",
|
||||
"close": "Tampar",
|
||||
"close-board": "Tampar lo tablèu",
|
||||
"close-board-pop": "Podètz tornar activar lo tablèu dempuèi la pagina d'acuèlh.",
|
||||
"color-black": "negre",
|
||||
"color-blue": "blau",
|
||||
"color-crimson": "purple clar",
|
||||
"color-darkgreen": "verd fonçat",
|
||||
"color-gold": "aur",
|
||||
"color-gray": "gris",
|
||||
"color-green": "verd",
|
||||
"color-indigo": "indi",
|
||||
"color-lime": "jaune clar",
|
||||
"color-magenta": "magenta",
|
||||
"color-mistyrose": "ròse clar",
|
||||
"color-navy": "blau marin",
|
||||
"color-orange": "irange",
|
||||
"color-paleturquoise": "turqués",
|
||||
"color-peachpuff": "persèc",
|
||||
"color-pink": "ròsa",
|
||||
"color-plum": "pruna",
|
||||
"color-purple": "violet",
|
||||
"color-red": "roge",
|
||||
"color-saddlebrown": "castanh",
|
||||
"color-silver": "argent",
|
||||
"color-sky": "blau clar",
|
||||
"color-slateblue": "blau lausa",
|
||||
"color-white": "blanc",
|
||||
"color-yellow": "jaune",
|
||||
"unset-color": "pas reglat",
|
||||
"comment": "Comentari",
|
||||
"comment-placeholder": "Escrire un comentari",
|
||||
"comment-only": "Comentari solament",
|
||||
"comment-only-desc": "Comentari sus las cartas solament.",
|
||||
"no-comments": "Pas cap de comentari",
|
||||
"no-comments-desc": "Podèts pas veire ni los comentaris ni las activitats",
|
||||
"computer": "Ordenator",
|
||||
"confirm-subtask-delete-dialog": "Sètz segur de voler quitar aquesta jos-tasca?",
|
||||
"confirm-checklist-delete-dialog": "Sètz segur de voler quitar aquesta checklist?",
|
||||
"copy-card-link-to-clipboard": "Còpia del ligam de la carta",
|
||||
"linkCardPopup-title": "Ligam de la carta",
|
||||
"searchElementPopup-title": "Cèrca",
|
||||
"copyCardPopup-title": "Còpia de la carta",
|
||||
"copyChecklistToManyCardsPopup-title": "Còpia del modèl de checklist cap a mai d'una carta",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Un compte es estat creat per vos sus ",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Títol de la primièra carta\", \"description\":\"Descripcion de la primièra carta\"}, {\"title\":\"Títol de la segonda carta\",\"description\":\"Descripcion de la segonda carta\"},{\"title\":\"Títol de la darrièra carta\",\"description\":\"Descripcion de la darrièra carta\"} ]",
|
||||
"create": "Crear",
|
||||
"createBoardPopup-title": "Crear un tablèu",
|
||||
"chooseBoardSourcePopup-title": "Importar un tablèu",
|
||||
"createLabelPopup-title": "Crear una etiqueta",
|
||||
"createCustomField": "Crear un camp",
|
||||
"createCustomFieldPopup-title": "Crear un camp",
|
||||
"current": "actual",
|
||||
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
|
||||
"custom-field-checkbox": "Casa de croiar",
|
||||
"custom-field-date": "Data",
|
||||
"custom-field-dropdown": "Tièra de causidas",
|
||||
"custom-field-dropdown-none": "(pas res)",
|
||||
"custom-field-dropdown-options": "Opcions de la tièra",
|
||||
"custom-field-dropdown-options-placeholder": "Apiejar sus \"Enter\" per apondre d'opcions",
|
||||
"custom-field-dropdown-unknown": "(desconegut)",
|
||||
"custom-field-number": "Nombre",
|
||||
"custom-field-text": "Tèxte",
|
||||
"custom-fields": "Camps personalizats",
|
||||
"date": "Data",
|
||||
"decline": "Refusar",
|
||||
"default-avatar": "Fòto per defaut",
|
||||
"delete": "Suprimir",
|
||||
"deleteCustomFieldPopup-title": "Tirar lo camp personalizat?",
|
||||
"deleteLabelPopup-title": "Tirar l'etiqueta?",
|
||||
"description": "Descripcion",
|
||||
"disambiguateMultiLabelPopup-title": "Precisar l'accion de l'etiqueta",
|
||||
"disambiguateMultiMemberPopup-title": "Precisar l'accion del participant",
|
||||
"discard": "Botar dins l'escobilha",
|
||||
"done": "Acabat",
|
||||
"download": "Telecargar",
|
||||
"edit": "Modificar",
|
||||
"edit-avatar": "Cambiar la fòto",
|
||||
"edit-profile": "Modificar lo perfil",
|
||||
"edit-wip-limit": "Modificar la WIP limit",
|
||||
"soft-wip-limit": "Leugièr WIP limit",
|
||||
"editCardStartDatePopup-title": "Cambiar la data de debuta",
|
||||
"editCardDueDatePopup-title": "Cambiar la data de fin",
|
||||
"editCustomFieldPopup-title": "Modificar los camps",
|
||||
"editCardSpentTimePopup-title": "Cambiar lo temp passat",
|
||||
"editLabelPopup-title": "Cambiar l'etiqueta",
|
||||
"editNotificationPopup-title": "Modificar la notificacion",
|
||||
"editProfilePopup-title": "Modificar lo perfil",
|
||||
"email": "Corrièl",
|
||||
"email-enrollAccount-subject": "Vòstre compte es ara activat pel sit __siteName__",
|
||||
"email-enrollAccount-text": "Adieu __user__,\n\nPer comença d'utilizar lo servici, vos cal clicar sul ligam.\n\n__url__\n\nMercé.",
|
||||
"email-fail": "Pas possible de mandar lo corrièl",
|
||||
"email-fail-text": "Error per mandar lo corrièl",
|
||||
"email-invalid": "L'adreça corrièl es pas valida",
|
||||
"email-invite": "Convidar per corrièl",
|
||||
"email-invite-subject": "__inviter__ vos as mandat un convit",
|
||||
"email-invite-text": "Car __user__,\n\n__inviter__ vos a convidat per jónher lo tablèu \"__board__\".\n\nVos cal clicar sul ligam:\n\n__url__\n\nMercé.",
|
||||
"email-resetPassword-subject": "Tornar inicializar vòstre mot de Santa-Clara de sit __siteName__",
|
||||
"email-resetPassword-text": "Adieu __user__,\n\nPer tornar inicializar vòstre mot de Santa-Clara vos cal clicar sul ligam :\n\n__url__\n\nMercé.",
|
||||
"email-sent": "Mail mandat",
|
||||
"email-verifyEmail-subject": "Vos cal verificar vòstra adreça corrièl del sit __siteName__",
|
||||
"email-verifyEmail-text": "Adieu __user__,\n\nPer verificar vòstra adreça corrièl, vos cal clicar sul ligam :\n\n__url__\n\nMercé.",
|
||||
"enable-wip-limit": "Activar la WIP limit",
|
||||
"error-board-doesNotExist": "Aqueste tablèu existís pas",
|
||||
"error-board-notAdmin": "Devètz èsser un administrator del tablèu per far aquò ",
|
||||
"error-board-notAMember": "Devètz èsser un participant del tablèu per far aquò",
|
||||
"error-json-malformed": "Vòstre tèxte es pas valid JSON",
|
||||
"error-json-schema": "Vòstre JSON es pas al format correct ",
|
||||
"error-list-doesNotExist": "Aqueste tièra existís pas",
|
||||
"error-user-doesNotExist": "Aqueste utilizator existís pas",
|
||||
"error-user-notAllowSelf": "Vos podètz pas convidar vautres meteisses",
|
||||
"error-user-notCreated": "Aqueste utilizator es pas encara creat",
|
||||
"error-username-taken": "Lo nom es ja pres",
|
||||
"error-email-taken": "Lo corrièl es ja pres ",
|
||||
"export-board": "Exportar lo tablèu",
|
||||
"filter": "Filtre",
|
||||
"filter-cards": "Filtre cartas",
|
||||
"filter-clear": "Escafar lo filtre",
|
||||
"filter-no-label": "Pas cap d'etiqueta",
|
||||
"filter-no-member": "Pas cap de participant",
|
||||
"filter-no-custom-fields": "Pas de camp personalizat",
|
||||
"filter-on": "Lo filtre es activat",
|
||||
"filter-on-desc": "Filtratz las cartas dins aqueste tablèu. Picar aquí per editar los filtres",
|
||||
"filter-to-selection": "Filtrar la seleccion",
|
||||
"advanced-filter-label": "Filtre avançat",
|
||||
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
|
||||
"fullname": "Nom complet",
|
||||
"header-logo-title": "Retorn a vòstra pagina de tablèus",
|
||||
"hide-system-messages": "Amagar los messatges sistèm",
|
||||
"headerBarCreateBoardPopup-title": "Crear un tablèu",
|
||||
"home": "Acuèlh",
|
||||
"import": "Importar",
|
||||
"link": "Ligar",
|
||||
"import-board": "Importar un tablèu",
|
||||
"import-board-c": "Importar un tablèu",
|
||||
"import-board-title-trello": "Importar un tablèu dempuèi Trello",
|
||||
"import-board-title-wekan": "Importar un tablèu dempuèi un export passat",
|
||||
"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": "Importar lo tablèu va quitar totes las donadas del tablèu e lo va remplaçar amb las donadas del tablèu importat.",
|
||||
"from-trello": "Dempuèi Trello",
|
||||
"from-wekan": "Dempuèi un export passat",
|
||||
"import-board-instruction-trello": "Dins vòstre tablèu Trello, vos cal anar dins \"Menut\", puèi \"Mai\", \"Export\", \"Export JSON\", e copiar lo tèxte balhat.",
|
||||
"import-board-instruction-wekan": "Dins vòstre tablèu, vos cal anar dins \"Menut\", puèi \"Exportar lo tablèu\", e de copiar lo tèxte del fichièr telecargat.",
|
||||
"import-board-instruction-about-errors": "Se avètz de errors al moment d'importar un tablèu, es possible que l'importacion as fonccionat, lo tablèu es belèu a la pagina \"Totes los tablèus\".",
|
||||
"import-json-placeholder": "Pegar las donadas del fichièr JSON aicí",
|
||||
"import-map-members": "Mapa dels participants",
|
||||
"import-members-map": "Lo tablèu qu'avètz importat as ja de participants, vos cal far la migracion amb los utilizators actual",
|
||||
"import-show-user-mapping": "Review members mapping",
|
||||
"import-user-select": "Pick your existing user you want to use as this member",
|
||||
"importMapMembersAddPopup-title": "Seleccionar un participant",
|
||||
"info": "Vesion",
|
||||
"initials": "Iniciala",
|
||||
"invalid-date": "Data invalida",
|
||||
"invalid-time": "Temps invalid",
|
||||
"invalid-user": "Participant invalid",
|
||||
"joined": "Jónher",
|
||||
"just-invited": "Sètz just convidat dins aqueste tablèu",
|
||||
"keyboard-shortcuts": "Keyboard shortcuts",
|
||||
"label-create": "Crear una etiqueta",
|
||||
"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": "Etiquetas",
|
||||
"language": "Lenga",
|
||||
"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": "Ligam per aquesta carta",
|
||||
"list-archive-cards": "Mandar totas las cartas d'aquesta tièra dins Archius",
|
||||
"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": "Mandar totas las cartas dins aquesta tièra",
|
||||
"list-select-cards": "Seleccionar totas las cartas dins aquesta tièra",
|
||||
"set-color-list": "Set Color",
|
||||
"listActionPopup-title": "Tièra de las accions",
|
||||
"swimlaneActionPopup-title": "Swimlane Actions",
|
||||
"swimlaneAddPopup-title": "Add a Swimlane below",
|
||||
"listImportCardPopup-title": "Importar una carta de Trello",
|
||||
"listMorePopup-title": "Mai",
|
||||
"link-list": "Ligam d'aquesta tièra",
|
||||
"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": "Tièras",
|
||||
"swimlanes": "Corredor",
|
||||
"log-out": "Desconnexion",
|
||||
"log-in": "Connexion",
|
||||
"loginPopup-title": "Connexion",
|
||||
"memberMenuPopup-title": "Paramètres dels participants",
|
||||
"members": "Participants",
|
||||
"menu": "Menut",
|
||||
"move-selection": "Bolegar la seleccion",
|
||||
"moveCardPopup-title": "Bolegar la carta",
|
||||
"moveCardToBottom-title": "Bolegar cap al bas",
|
||||
"moveCardToTop-title": "Bolegar cap al naut",
|
||||
"moveSelectionPopup-title": "Bolegar la seleccion",
|
||||
"multi-selection": "Multi-seleccion",
|
||||
"multi-selection-on": "Multi-Selection is on",
|
||||
"muted": "Silenciós",
|
||||
"muted-info": "You will never be notified of any changes in this board",
|
||||
"my-boards": "Mon tablèu",
|
||||
"name": "Nom",
|
||||
"no-archived-cards": "Pas cap de carta dins Archius",
|
||||
"no-archived-lists": "Pas cap de tièra dins Archius",
|
||||
"no-archived-swimlanes": "Pas cap de corredor dins Archius",
|
||||
"no-results": "Pas brica de resultat",
|
||||
"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": "opcional",
|
||||
"or": "o",
|
||||
"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": "Pagina pas trapada",
|
||||
"password": "Mot de Santa-Clara",
|
||||
"paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)",
|
||||
"participating": "Participating",
|
||||
"preview": "Apercebut",
|
||||
"previewAttachedImagePopup-title": "Apercebut",
|
||||
"previewClipboardImagePopup-title": "Apercebut",
|
||||
"private": "Privat",
|
||||
"private-desc": "Aqueste tablèu es privat. Solament las personas apondudas a aquete tablèu lo pòdon veire e editar.",
|
||||
"profile": "Perfil",
|
||||
"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": "Quitar lo tablèu",
|
||||
"remove-label": "Quitar l'etiqueta",
|
||||
"listDeletePopup-title": "Quitar la tièra ?",
|
||||
"remove-member": "Quitar lo participant",
|
||||
"remove-member-from-card": "Quitar aquesta carta",
|
||||
"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": "Tornar nomenar",
|
||||
"rename-board": "Tornar nomenar lo tablèu",
|
||||
"restore": "Restore",
|
||||
"save": "Salvar",
|
||||
"search": "Cèrca",
|
||||
"rules": "Règlas",
|
||||
"search-cards": "Search from card titles and descriptions on this board",
|
||||
"search-example": "Text to search for?",
|
||||
"select-color": "Color causida",
|
||||
"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": "Tampar lo dialòg",
|
||||
"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": "Còla",
|
||||
"this-board": "Aqueste tablèu",
|
||||
"this-card": "aquesta carta",
|
||||
"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": "Temps",
|
||||
"title": "Títol",
|
||||
"tracking": "Tracking",
|
||||
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
|
||||
"type": "Mena",
|
||||
"unassign-member": "Unassign member",
|
||||
"unsaved-description": "You have an unsaved description.",
|
||||
"unwatch": "Unwatch",
|
||||
"upload": "Telecargar",
|
||||
"upload-avatar": "Telecargar un avatar",
|
||||
"uploaded-avatar": "Avatar telecargat",
|
||||
"username": "Username",
|
||||
"view-it": "View it",
|
||||
"warn-list-archived": "warning: this card is in an list at Archive",
|
||||
"watch": "Seguit",
|
||||
"watching": "Agachat",
|
||||
"watching-info": "You will be notified of any change in this board",
|
||||
"welcome-board": "Tablèu de benvenguda",
|
||||
"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": "Paramètres",
|
||||
"people": "Personas",
|
||||
"registration": "Registration",
|
||||
"disable-self-registration": "Disable Self-Registration",
|
||||
"invite": "Convidar",
|
||||
"invite-people": "Convidat",
|
||||
"to-boards": "To board(s)",
|
||||
"email-addresses": "Adreça corrièl",
|
||||
"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": "Mot de Santa-Clara",
|
||||
"smtp-tls": "TLS support",
|
||||
"send-from": "From",
|
||||
"send-smtp-test": "Se mandar un corrièl d'ensag",
|
||||
"invitation-code": "Còde de convit",
|
||||
"email-invite-register-subject": "__inviter__ vos a mandat un convit",
|
||||
"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": "As capitat de mandar un corrièl",
|
||||
"error-invitation-code-not-exist": "Lo còde de convit existís pas",
|
||||
"error-notAuthorized": "Sès pas autorizat a agachar aquesta pagina",
|
||||
"outgoing-webhooks": "Outgoing Webhooks",
|
||||
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
|
||||
"boardCardTitlePopup-title": "Card Title Filter",
|
||||
"new-outgoing-webhook": "New Outgoing Webhook",
|
||||
"no-name": "(Desconegut)",
|
||||
"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": "jorns",
|
||||
"hours": "oras",
|
||||
"minutes": "minutas",
|
||||
"seconds": "segondas",
|
||||
"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": "Òc",
|
||||
"no": "Non",
|
||||
"accounts": "Accounts",
|
||||
"accounts-allowEmailChange": "Allow Email Change",
|
||||
"accounts-allowUserNameChange": "Allow Username Change",
|
||||
"createdAt": "Created at",
|
||||
"verified": "Verificat",
|
||||
"active": "Avtivat",
|
||||
"card-received": "Recebut",
|
||||
"card-received-on": "Received on",
|
||||
"card-end": "Fin",
|
||||
"card-end-on": "Ends on",
|
||||
"editCardReceivedDatePopup-title": "Change received date",
|
||||
"editCardEndDatePopup-title": "Change end date",
|
||||
"setCardColorPopup-title": "Color seleccionada",
|
||||
"setCardActionsColorPopup-title": "Causir una color",
|
||||
"setSwimlaneColorPopup-title": "Causir una color",
|
||||
"setListColorPopup-title": "Causir una 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": "Suprimir lo tablèu ?",
|
||||
"delete-board": "Tablèu suprimit",
|
||||
"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": "Desplaçar cap a Archius",
|
||||
"r-unarchive": "Restore from Archive",
|
||||
"r-card": "card",
|
||||
"r-add": "Apondre",
|
||||
"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"
|
||||
}
|
||||
+36
-33
@@ -1,37 +1,38 @@
|
||||
{
|
||||
"accept": "Akceptuj",
|
||||
"act-activity-notify": "Powiadomienia aktywności",
|
||||
"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-removeLabel": "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-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__ 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-addAttachment": "Dodano załącznik __attachment__ do karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-deleteAttachment": "Usunięto załącznik __attachment__ na karcie __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addSubtask": "Dodane podzadanie __subtask__ na karcie __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addLabel": "Dodano etykietę __label__ do karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-removeLabel": "Usunięto etykietę __label__ z karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addChecklist": "Dodano listę zadań __checklist__ do karty __card__ na liście __list__ w diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-addChecklistItem": "Dodano element listy zadań __checklistItem__ do listy zadań __checklist__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-removeChecklist": "Usunięto listę zadań __checklist__ z karty __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-removeChecklistItem": "Usunięto element listy zadań __checklistItem__ z listy zadań __checkList__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-checkedItem": "Zaznaczono __checklistItem__ na liście zadań __checklist__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-uncheckedItem": "Odznaczono __checklistItem__ na liście __checklist__ na karcie __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-completeChecklist": "Wykonano wszystkie zadania z listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"act-uncompleteChecklist": "Wycofano ukończenie wykonania listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"act-addComment": "Dodano komentarz na karcie __card__: __comment__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-createBoard": "Utworzono tablicę __board__",
|
||||
"act-createCard": "Utworzono kartę __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__",
|
||||
"act-createCustomField": "Utworzono niestandardowe pole __customField__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"act-createList": "Dodano listę __list__ do tablicy __board__",
|
||||
"act-addBoardMember": "Dodano użytykownika __member__ do tablicy __board__",
|
||||
"act-archivedBoard": "Tablica __board__ została przeniesiona do Archiwum",
|
||||
"act-archivedCard": "Karta __card__ na liście __list__ na diagramie czynności __swimlane__ na tablicy __board__ została przeniesiona do Archiwum",
|
||||
"act-archivedList": "Lista __list__ na diagramie czynności __swimlane__ na tablicy __board__ została przeniesiona do Archiwum",
|
||||
"act-archivedSwimlane": "Diagram czynności __swimlane__ na tablicy __board__ został przeniesiony do Archiwum",
|
||||
"act-importBoard": "Zaimportowano tablicę __board__",
|
||||
"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": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __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-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__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Akcje",
|
||||
@@ -56,14 +57,14 @@
|
||||
"activity-unchecked-item": "odznaczono %s w liście zadań %s z %s",
|
||||
"activity-checklist-added": "dodał(a) listę zadań do %s",
|
||||
"activity-checklist-removed": "usunięto listę zadań z %s",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed": "Wykonano wszystkie zadania z listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"activity-checklist-uncompleted": "nieukończono listy zadań %s z %s",
|
||||
"activity-checklist-item-added": "dodał(a) zadanie '%s' do %s",
|
||||
"activity-checklist-item-removed": "usunięto element z listy zadań '%s' w %s",
|
||||
"add": "Dodaj",
|
||||
"activity-checked-item-card": "zaznaczono %s w liście zadań %s",
|
||||
"activity-unchecked-item-card": "odznaczono %s w liście zadań %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed-card": "Wykonano wszystkie zadania z listy __checklist__ na karcie __card__ na liście __list__ na diagramie czynności__ na tablicy __board__",
|
||||
"activity-checklist-uncompleted-card": "nieukończono listy zadań %s",
|
||||
"add-attachment": "Dodaj załącznik",
|
||||
"add-board": "Dodaj tablicę",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "dodał(a) etykietę '%s'",
|
||||
"activity-removed-label-card": "usunięto etykietę '%s'",
|
||||
"activity-delete-attach-card": "usunięto załącznik",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "Reguła",
|
||||
"r-add-trigger": "Dodaj przełącznik",
|
||||
"r-add-action": "Dodaj czynność",
|
||||
|
||||
+36
-33
@@ -1,37 +1,38 @@
|
||||
{
|
||||
"accept": "Aceitar",
|
||||
"act-activity-notify": "Notificação de atividade",
|
||||
"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-removeLabel": "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-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__ 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-addAttachment": "adicionado anexo __attachment__ ao cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-deleteAttachment": "excluido anexo __attachment__ do cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-addSubtask": "adicionada subtarefa __subtask__ ao cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-addLabel": "Adicionada etiqueta __label__ ao cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-removeLabel": "Removida etiqueta __label__ do cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-addChecklist": "adicionada lista de verificação __checklist__ ao cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-addChecklistItem": "adicionado o item __checklistItem__ a lista de verificação__checklist__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-removeChecklist": "emovida a lista de verificação __checklist__ do cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-removeChecklistItem": "removido item __checklistItem__ da lista de verificação __checkList__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-checkedItem": "marcado __checklistItem__ na lista de verificação __checklist__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-uncheckedItem": "desmarcado __checklistItem__ na lista __checklist__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-completeChecklist": "completada a lista de verificação __checklist__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-uncompleteChecklist": "lista de verificação incompleta __checklist__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-addComment": "comentou no cartão __card__: __comment__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-createBoard": "criado quadro__board__",
|
||||
"act-createCard": "criado cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-createCustomField": "criado campo customizado __customField__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-createList": "adicionada lista __list__ ao quadro __board__",
|
||||
"act-addBoardMember": "adicionado membro __member__ ao quadro __board__",
|
||||
"act-archivedBoard": "Quadro __board__ foi Arquivado",
|
||||
"act-archivedCard": "Cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__ foi Arquivado",
|
||||
"act-archivedList": "Lista __list__ em raia __swimlane__ no quadro __board__ foi Arquivada",
|
||||
"act-archivedSwimlane": "Raia __swimlane__ no quadro __board__ foi Arquivada",
|
||||
"act-importBoard": "importado quadro __board__",
|
||||
"act-importCard": "importado cartão __card__ para lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-importList": "importada lista __list__ para raia __swimlane__ no quadro __board__",
|
||||
"act-joinMember": "adicionado membro __member__ ao cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "movido cartão __card__ da lista __oldList__ em raia __oldSwimlane__ no quadro __oldBoard__ para lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-removeBoardMember": "removido membro __member__ do quadro __board__",
|
||||
"act-restoredCard": "restaurado cartão __card__ a lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-unjoinMember": "removido membro __member__ do cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Ações",
|
||||
@@ -56,14 +57,14 @@
|
||||
"activity-unchecked-item": "desmarcado %s na lista de verificação %s de %s",
|
||||
"activity-checklist-added": "Adicionada lista de verificação a %s",
|
||||
"activity-checklist-removed": "removida a lista de verificação de %s",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed": "completada a lista de verificação __checklist__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"activity-checklist-uncompleted": "não-completada a lista de verificação %s de %s",
|
||||
"activity-checklist-item-added": "adicionado o item de lista de verificação para '%s' em %s",
|
||||
"activity-checklist-item-removed": "removida o item de lista de verificação de '%s' na %s",
|
||||
"add": "Novo",
|
||||
"activity-checked-item-card": "marcaddo %s na lista de verificação %s",
|
||||
"activity-unchecked-item-card": "desmarcado %s na lista de verificação %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed-card": "completada a lista de verificação __checklist__ no cartão __card__ na lista __list__ em raia __swimlane__ no quadro __board__",
|
||||
"activity-checklist-uncompleted-card": "não-completada a lista de verificação %s",
|
||||
"add-attachment": "Adicionar Anexos",
|
||||
"add-board": "Adicionar Quadro",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "adicionada etiqueta '%s'",
|
||||
"activity-removed-label-card": "removida etiqueta '%s'",
|
||||
"activity-delete-attach-card": "excluido um anexo",
|
||||
"activity-set-customfield": "definir campo personalizado '%s' para '%s' em %s",
|
||||
"activity-unset-customfield": "redefinir campo personalizado '%s' em %s",
|
||||
"r-rule": "Regra",
|
||||
"r-add-trigger": "Adicionar gatilho",
|
||||
"r-add-action": "Adicionar ação",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+37
-34
@@ -1,37 +1,38 @@
|
||||
{
|
||||
"accept": "Принять",
|
||||
"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__",
|
||||
"act-addLabel": "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-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-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__ 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-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-removeLabel": "Снята метка __label__ с карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addChecklist": "добавил контрольный список __checklist__ в карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-addChecklistItem": "добавил пункт __checklistItem__ в контрольный список __checklist__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-removeChecklist": "удалил контрольный список __checklist__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __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-createCard": "создал карточку __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-createCustomField": "создал поле __customField__ в карточке __card__ в списке __list__ на дорожке __swimlane__ доски __board__\n",
|
||||
"act-createList": "добавил список __list__ на доску __board__",
|
||||
"act-addBoardMember": "добавил участника __member__ на доску __board__",
|
||||
"act-archivedBoard": "Доска __board__ перемещена в Архив",
|
||||
"act-archivedCard": "Карточка __card__ из списка __list__ с дорожки __swimlane__ доски __board__ перемещена в Архив",
|
||||
"act-archivedList": "Список __list__ на дорожке __swimlane__ доски __board__ перемещен в Архив",
|
||||
"act-archivedSwimlane": "Дорожка __swimlane__ на доске __board__ перемещена в Архив",
|
||||
"act-importBoard": "импортировал доску __board__",
|
||||
"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-moveCardToOtherBoard": "переместил карточку __card__ из списка __oldList__ с дорожки __oldSwimlane__ доски __oldBoard__ в список __list__ на дорожку __swimlane__ доски __board__",
|
||||
"act-removeBoardMember": "удалил участника __member__ с доски __board__",
|
||||
"act-restoredCard": "восстановил карточку __card__ в список __list__ на дорожку __swimlane__ доски __board__",
|
||||
"act-unjoinMember": "удалил участника __member__ из карточки __card__ в списке __list__ на дорожке __swimlane__ доски __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Действия",
|
||||
@@ -56,14 +57,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": "Добавить доску",
|
||||
@@ -121,7 +122,7 @@
|
||||
"boardChangeTitlePopup-title": "Переименовать доску",
|
||||
"boardChangeVisibilityPopup-title": "Изменить настройки видимости",
|
||||
"boardChangeWatchPopup-title": "Режимы оповещения",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boardMenuPopup-title": "Настройки доски",
|
||||
"boards": "Доски",
|
||||
"board-view": "Вид доски",
|
||||
"board-view-cal": "Календарь",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "добавил метку '%s'",
|
||||
"activity-removed-label-card": "удалил метку '%s'",
|
||||
"activity-delete-attach-card": "удалил вложение",
|
||||
"activity-set-customfield": "сменил значение поля '%s' на '%s' в карточке %s",
|
||||
"activity-unset-customfield": "очистил поле '%s' в карточке %s",
|
||||
"r-rule": "Правило",
|
||||
"r-add-trigger": "Задать условие",
|
||||
"r-add-action": "Задать действие",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+81
-78
@@ -1,37 +1,38 @@
|
||||
{
|
||||
"accept": "Acceptera",
|
||||
"act-activity-notify": "Aktivitetsnotifikation",
|
||||
"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-removeLabel": "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-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__ 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-addAttachment": "la till bifogad fil __attachment__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-deleteAttachment": "raderade bifogad fil __attachment__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-addSubtask": "la till underaktivitet __subtask__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-addLabel": "la till etikett __label__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-removeLabel": "Tog bort etikett __label__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-addChecklist": "la till checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-addChecklistItem": "la till checklistobjekt __checklistItem__ till checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-removeChecklist": "tag bort checklista __checklist__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-removeChecklistItem": "tog bort checklistobjekt __checklistItem__ från __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-checkedItem": "bockade av __checklistItem__ från checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-uncheckedItem": "avmarkerade __checklistItem__ från checklista __checklist__ på kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-completeChecklist": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"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-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__",
|
||||
"act-addBoardMember": "la till medlem __member__ på tavla __board__",
|
||||
"act-archivedBoard": "Tavla__board__ flyttad till arkivet",
|
||||
"act-archivedCard": "Kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__ flyttad till arkivet",
|
||||
"act-archivedList": "Lista __list__ i simbana __swimlane__ på tavla __board__ flyttad till arkivet",
|
||||
"act-archivedSwimlane": "Simbana __swimlane__ på tavla __board__ flyttad till arkivet",
|
||||
"act-importBoard": "importerade board __board__",
|
||||
"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-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__",
|
||||
"act-unjoinMember": "tog bort medlem __member__ från kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"act-withBoardTitle": "_tavla_",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Åtgärder",
|
||||
@@ -56,14 +57,14 @@
|
||||
"activity-unchecked-item": "okryssad %s i checklistan %s av %s",
|
||||
"activity-checklist-added": "lade kontrollista till %s",
|
||||
"activity-checklist-removed": "tog bort en checklista från %s",
|
||||
"activity-checklist-completed": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"activity-checklist-uncompleted": "inte slutfört checklistan %s av %s",
|
||||
"activity-checklist-item-added": "lade checklista objekt till '%s' i %s",
|
||||
"activity-checklist-item-removed": "tog bort en checklista objekt från \"%s\" i %s",
|
||||
"add": "Lägg till",
|
||||
"activity-checked-item-card": "kryssad %s i checklistan %s",
|
||||
"activity-unchecked-item-card": "okryssad %s i checklistan %s",
|
||||
"activity-checklist-completed-card": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
|
||||
"activity-checklist-completed-card": "slutförde checklista __checklist__ i kort __card__ i lista __list__ i simbana __swimlane__ på tavla __board__",
|
||||
"activity-checklist-uncompleted-card": "icke slutfört checklistan %s",
|
||||
"add-attachment": "Lägg till bilaga",
|
||||
"add-board": "Lägg till anslagstavla",
|
||||
@@ -93,7 +94,7 @@
|
||||
"archive-board": "Flytta Anslagstavla till Arkiv",
|
||||
"archive-card": "Flytta Kort till Arkiv",
|
||||
"archive-list": "Flytta Lista till Arkiv",
|
||||
"archive-swimlane": "Move Swimlane to Archive",
|
||||
"archive-swimlane": "Flytta simbanan till arkivet",
|
||||
"archive-selection": "Flytta markerade till Arkiv",
|
||||
"archiveBoardPopup-title": "Flytta Anslagstavla till Arkiv?",
|
||||
"archived-items": "Arkiv",
|
||||
@@ -121,7 +122,7 @@
|
||||
"boardChangeTitlePopup-title": "Byt namn på anslagstavla",
|
||||
"boardChangeVisibilityPopup-title": "Ändra synlighet",
|
||||
"boardChangeWatchPopup-title": "Ändra bevaka",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boardMenuPopup-title": "Tavlans inställningar",
|
||||
"boards": "Anslagstavlor",
|
||||
"board-view": "Anslagstavelsvy",
|
||||
"board-view-cal": "Kalender",
|
||||
@@ -181,7 +182,7 @@
|
||||
"close-board-pop": "Du kommer att kunna återställa anslagstavlan genom att klicka på knappen \"Arkiv\" från hemrubriken.",
|
||||
"color-black": "svart",
|
||||
"color-blue": "blå",
|
||||
"color-crimson": "crimson",
|
||||
"color-crimson": "mörkröd",
|
||||
"color-darkgreen": "mörkgrön",
|
||||
"color-gold": "guld",
|
||||
"color-gray": "grå",
|
||||
@@ -189,22 +190,22 @@
|
||||
"color-indigo": "indigo",
|
||||
"color-lime": "lime",
|
||||
"color-magenta": "magenta",
|
||||
"color-mistyrose": "mistyrose",
|
||||
"color-navy": "navy",
|
||||
"color-mistyrose": "ljusrosa",
|
||||
"color-navy": "marinblå",
|
||||
"color-orange": "orange",
|
||||
"color-paleturquoise": "paleturquoise",
|
||||
"color-peachpuff": "peachpuff",
|
||||
"color-paleturquoise": "turkos",
|
||||
"color-peachpuff": "ersika",
|
||||
"color-pink": "rosa",
|
||||
"color-plum": "plum",
|
||||
"color-plum": "lila",
|
||||
"color-purple": "lila",
|
||||
"color-red": "röd",
|
||||
"color-saddlebrown": "sadelbrun",
|
||||
"color-silver": "silver",
|
||||
"color-sky": "himmel",
|
||||
"color-slateblue": "slateblue",
|
||||
"color-slateblue": "skifferblå",
|
||||
"color-white": "vit",
|
||||
"color-yellow": "gul",
|
||||
"unset-color": "Unset",
|
||||
"unset-color": "Urkoppla",
|
||||
"comment": "Kommentera",
|
||||
"comment-placeholder": "Skriv kommentar",
|
||||
"comment-only": "Kommentera endast",
|
||||
@@ -312,7 +313,7 @@
|
||||
"import-board-c": "Importera anslagstavla",
|
||||
"import-board-title-trello": "Importera anslagstavla från Trello",
|
||||
"import-board-title-wekan": "Importera anslagstavla från tidigare 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-backup-warning": "Ta inte bort data som du importerar från exporterad original-tavla eller Trello innan du kontrollerar att det här spannet stänger och öppnas igen, eller får du felmeddelandet Tavla hittades inte, det vill säga dataförlust.",
|
||||
"import-sandstorm-warning": "Importerad anslagstavla raderar all befintlig data på anslagstavla och ersätter den med importerat anslagstavla.",
|
||||
"from-trello": "Från Trello",
|
||||
"from-wekan": "Från tidigare export",
|
||||
@@ -323,7 +324,7 @@
|
||||
"import-map-members": "Kartlägg medlemmar",
|
||||
"import-members-map": "Din importerade anslagstavla har några medlemmar. Vänligen kartlägg medlemmarna du vill importera till dina användare",
|
||||
"import-show-user-mapping": "Granska medlemskartläggning",
|
||||
"import-user-select": "Pick your existing user you want to use as this member",
|
||||
"import-user-select": "Välj din befintliga användare du vill använda som den här medlemmen",
|
||||
"importMapMembersAddPopup-title": "Välj medlem",
|
||||
"info": "Version",
|
||||
"initials": "Initialer ",
|
||||
@@ -350,7 +351,7 @@
|
||||
"set-color-list": "Ange färg",
|
||||
"listActionPopup-title": "Liståtgärder",
|
||||
"swimlaneActionPopup-title": "Simbana-åtgärder",
|
||||
"swimlaneAddPopup-title": "Add a Swimlane below",
|
||||
"swimlaneAddPopup-title": "Lägg till en simbana nedan",
|
||||
"listImportCardPopup-title": "Importera ett Trello kort",
|
||||
"listMorePopup-title": "Mera",
|
||||
"link-list": "Länk till den här listan",
|
||||
@@ -377,7 +378,7 @@
|
||||
"name": "Namn",
|
||||
"no-archived-cards": "Inga kort i Arkiv.",
|
||||
"no-archived-lists": "Inga listor i Arkiv.",
|
||||
"no-archived-swimlanes": "No swimlanes in Archive.",
|
||||
"no-archived-swimlanes": "Inga simbanor i arkivet.",
|
||||
"no-results": "Inga reslutat",
|
||||
"normal": "Normal",
|
||||
"normal-desc": "Kan se och redigera kort. Kan inte ändra inställningar.",
|
||||
@@ -465,9 +466,9 @@
|
||||
"welcome-swimlane": "Milstolpe 1",
|
||||
"welcome-list1": "Grunderna",
|
||||
"welcome-list2": "Avancerad",
|
||||
"card-templates-swimlane": "Card Templates",
|
||||
"list-templates-swimlane": "List Templates",
|
||||
"board-templates-swimlane": "Board Templates",
|
||||
"card-templates-swimlane": "Kortmallar",
|
||||
"list-templates-swimlane": "Listmalla",
|
||||
"board-templates-swimlane": "Tavelmallar",
|
||||
"what-to-do": "Vad vill du göra?",
|
||||
"wipLimitErrorPopup-title": "Ogiltig WIP-gräns",
|
||||
"wipLimitErrorPopup-dialog-pt1": "Antalet uppgifter i den här listan är högre än WIP-gränsen du har definierat.",
|
||||
@@ -493,14 +494,14 @@
|
||||
"send-smtp-test": "Skicka ett prov e-postmeddelande till dig själv",
|
||||
"invitation-code": "Inbjudningskod",
|
||||
"email-invite-register-subject": "__inviter__ skickade dig en inbjudan",
|
||||
"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-invite-register-text": "Kära__user__,\n\n__inviter__ bjuder in dig att samarbeta på kanban-tavlan.\n\nFölj länken nedan:\n__url__\n\nDin inbjudningskod är: __icode__\n\nTack!",
|
||||
"email-smtp-test-subject": "SMTP test-email",
|
||||
"email-smtp-test-text": "Du har skickat ett e-postmeddelande",
|
||||
"error-invitation-code-not-exist": "Inbjudningskod finns inte",
|
||||
"error-notAuthorized": "Du är inte behörig att se den här sidan.",
|
||||
"outgoing-webhooks": "Utgående Webhookar",
|
||||
"outgoingWebhooksPopup-title": "Utgående Webhookar",
|
||||
"boardCardTitlePopup-title": "Card Title Filter",
|
||||
"boardCardTitlePopup-title": "Korttitelfiler",
|
||||
"new-outgoing-webhook": "Ny utgående webhook",
|
||||
"no-name": "(Okänd)",
|
||||
"Node_version": "Nodversion",
|
||||
@@ -552,23 +553,25 @@
|
||||
"show-subtasks-field": "Kort kan ha deluppgifter",
|
||||
"deposit-subtasks-board": "Insättnings deluppgifter på denna anslagstavla:",
|
||||
"deposit-subtasks-list": "Landningslista för deluppgifter deponerade här:",
|
||||
"show-parent-in-minicard": "Show parent in minicard:",
|
||||
"show-parent-in-minicard": "Visa förälder i minikort:",
|
||||
"prefix-with-full-path": "Prefix med fullständig sökväg",
|
||||
"prefix-with-parent": "Prefix with parent",
|
||||
"prefix-with-parent": "Prefix med förälder",
|
||||
"subtext-with-full-path": "Undertext med fullständig sökväg",
|
||||
"subtext-with-parent": "Subtext with parent",
|
||||
"change-card-parent": "Change card's parent",
|
||||
"parent-card": "Parent card",
|
||||
"subtext-with-parent": "Undertext med förälder",
|
||||
"change-card-parent": "Ändra kortets förälder",
|
||||
"parent-card": "Föräldrakort",
|
||||
"source-board": "Källa för anslagstavla",
|
||||
"no-parent": "Don't show parent",
|
||||
"no-parent": "Visa inte förälder",
|
||||
"activity-added-label": "lade till etiketten '%s' till %s",
|
||||
"activity-removed-label": "tog bort etiketten '%s' från %s",
|
||||
"activity-delete-attach": "raderade en bilaga från %s",
|
||||
"activity-added-label-card": "lade till etiketten \"%s\"",
|
||||
"activity-removed-label-card": "tog bort etiketten \"%s\"",
|
||||
"activity-delete-attach-card": "tog bort en bilaga",
|
||||
"activity-set-customfield": "ställ in anpassat fält '%s' till '%s' i %s",
|
||||
"activity-unset-customfield": "Koppla bort anpassat fält '%s' i %s",
|
||||
"r-rule": "Regel",
|
||||
"r-add-trigger": "Add trigger",
|
||||
"r-add-trigger": "Lägg till utlösare",
|
||||
"r-add-action": "Lägg till åtgärd",
|
||||
"r-board-rules": "Regler för anslagstavla",
|
||||
"r-add-rule": "Lägg till regel",
|
||||
@@ -599,15 +602,15 @@
|
||||
"r-when-a-checklist": "När en checklista är",
|
||||
"r-when-the-checklist": "När checklistan",
|
||||
"r-completed": "Avslutad",
|
||||
"r-made-incomplete": "Made incomplete",
|
||||
"r-when-a-item": "When a checklist item is",
|
||||
"r-when-the-item": "When the checklist item",
|
||||
"r-made-incomplete": "Gjord ofullständig",
|
||||
"r-when-a-item": "När ett checklistobjekt ä",
|
||||
"r-when-the-item": "När checklistans objekt",
|
||||
"r-checked": "Kryssad",
|
||||
"r-unchecked": "Okryssad",
|
||||
"r-move-card-to": "Flytta kort till",
|
||||
"r-top-of": "Överst på",
|
||||
"r-bottom-of": "Nederst av",
|
||||
"r-its-list": "its list",
|
||||
"r-its-list": "sin lista",
|
||||
"r-archive": "Flytta till Arkiv",
|
||||
"r-unarchive": "Återställ från Arkiv",
|
||||
"r-card": "kort",
|
||||
@@ -629,10 +632,10 @@
|
||||
"r-to": "till",
|
||||
"r-subject": "änme",
|
||||
"r-rule-details": "Regeldetaljer",
|
||||
"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-move-to-top-gen": "Flytta kort till toppen av sin lista",
|
||||
"r-d-move-to-top-spec": "Flytta kort till toppen av listan",
|
||||
"r-d-move-to-bottom-gen": "Flytta kort till botten av sin lista",
|
||||
"r-d-move-to-bottom-spec": "Flytta kort till botten av listan",
|
||||
"r-d-send-email": "Skicka e-post",
|
||||
"r-d-send-email-to": "till",
|
||||
"r-d-send-email-subject": "ämne",
|
||||
@@ -643,7 +646,7 @@
|
||||
"r-d-remove-label": "Ta bort etikett",
|
||||
"r-create-card": "Skapa nytt kort",
|
||||
"r-in-list": "i listan",
|
||||
"r-in-swimlane": "in swimlane",
|
||||
"r-in-swimlane": "i simbana",
|
||||
"r-d-add-member": "Lägg till medlem",
|
||||
"r-d-remove-member": "Ta bort medlem",
|
||||
"r-d-remove-all-member": "Ta bort alla medlemmar",
|
||||
@@ -656,13 +659,13 @@
|
||||
"r-d-remove-checklist": "Ta bort checklista",
|
||||
"r-by": "av",
|
||||
"r-add-checklist": "Lägg till checklista",
|
||||
"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",
|
||||
"r-with-items": "med objekt",
|
||||
"r-items-list": "objekt1,objekt2,objekt3",
|
||||
"r-add-swimlane": "Lägg till simbana",
|
||||
"r-swimlane-name": "Simbanans namn",
|
||||
"r-board-note": "Notera: lämna ett fält tomt för att matcha alla möjliga värden.",
|
||||
"r-checklist-note": "Notera: Objekt i en checklista måste skrivas som kommaseparerade objekt",
|
||||
"r-when-a-card-is-moved": "När ett kort flyttas till en annan lista",
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
@@ -671,8 +674,8 @@
|
||||
"custom-product-name": "Anpassat produktnamn",
|
||||
"layout": "Layout",
|
||||
"hide-logo": "Dölj logotypen",
|
||||
"add-custom-html-after-body-start": "Add Custom HTML after <body> start",
|
||||
"add-custom-html-before-body-end": "Add Custom HTML before </body> end",
|
||||
"add-custom-html-after-body-start": "Lägg till anpassad HTML efter <body> start",
|
||||
"add-custom-html-before-body-end": "Lägg till anpassad HTML före </body> slut",
|
||||
"error-undefined": "Något gick fel",
|
||||
"error-ldap-login": "Ett fel uppstod när du försökte logga in",
|
||||
"display-authentication-method": "Visa autentiseringsmetod",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "etiket eklendi '%s'",
|
||||
"activity-removed-label-card": "removed label '%s'",
|
||||
"activity-delete-attach-card": "Ek silindi",
|
||||
"activity-set-customfield": "set custom field '%s' to '%s' in %s",
|
||||
"activity-unset-customfield": "unset custom field '%s' in %s",
|
||||
"r-rule": "Kural",
|
||||
"r-add-trigger": "Tetikleyici ekle",
|
||||
"r-add-action": "Eylem ekle",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+4
-1
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+30
-27
@@ -1,37 +1,38 @@
|
||||
{
|
||||
"accept": "接受",
|
||||
"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__",
|
||||
"act-addLabel": "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-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-addAttachment": "添加附件 __attachment__ 到看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中",
|
||||
"act-deleteAttachment": "删除看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的附件 __attachment__",
|
||||
"act-addSubtask": "添加子任务 __subtask__ 到看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中",
|
||||
"act-addLabel": "添加标签 __label__ 到看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中",
|
||||
"act-removeLabel": "移除看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的标签 __label__ ",
|
||||
"act-addChecklist": "添加清单 __checklist__ 到看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中",
|
||||
"act-addChecklistItem": "添加清单项 __checklistItem__ 到看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的清单 __checklist__",
|
||||
"act-removeChecklist": "移除看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的清单 __checklist__",
|
||||
"act-removeChecklistItem": "移除看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的清单 __checklist__ 清单项 __checklistItem__",
|
||||
"act-checkedItem": "选中看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的清单 __checklist__ 的清单项 __checklistItem__",
|
||||
"act-uncheckedItem": "反选看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的清单 __checklist__ 的清单项 __checklistItem__",
|
||||
"act-completeChecklist": "完成检查列表__checklist__ 卡片 __card__ 列表 __list__ 泳道 __swimlane__ 看板 __board__",
|
||||
"act-uncompleteChecklist": "看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 中的清单 __checklist__ 未完成",
|
||||
"act-addComment": "对看板 __board__ 中的泳道 __swimlane__ 中的列表 __list__ 中的卡片 __card__ 发表了评论: __comment__ ",
|
||||
"act-createBoard": "创建看板 __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-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__ 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-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
|
||||
"act-moveCardToOtherBoard": "移动卡片 __card__ 从列表 __oldList__ 泳道 __oldSwimlane__ 看板 __oldBoard__ 至列表 __list__ 泳道 __swimlane__ 看板 __board__",
|
||||
"act-removeBoardMember": "从看板 __board__ 移除成员 __member__ ",
|
||||
"act-restoredCard": "恢复卡片 __card__ 至列表 __list__ 泳道 __swimlane__ 看板 __board__",
|
||||
"act-unjoinMember": "移除成员 __member__ 从卡片 __card__ 列表 __list__ a泳道 __swimlane__ 看板 __board__",
|
||||
"act-withBoardTitle": "看板__board__",
|
||||
"act-withCardTitle": "[看板 __board__] 卡片 __card__",
|
||||
"actions": "操作",
|
||||
@@ -56,14 +57,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": "添加看板",
|
||||
@@ -121,7 +122,7 @@
|
||||
"boardChangeTitlePopup-title": "重命名看板",
|
||||
"boardChangeVisibilityPopup-title": "更改可视级别",
|
||||
"boardChangeWatchPopup-title": "更改关注状态",
|
||||
"boardMenuPopup-title": "Board Settings",
|
||||
"boardMenuPopup-title": "看板设置",
|
||||
"boards": "看板",
|
||||
"board-view": "看板视图",
|
||||
"board-view-cal": "日历",
|
||||
@@ -567,6 +568,8 @@
|
||||
"activity-added-label-card": "已添加标签 '%s'",
|
||||
"activity-removed-label-card": "已移除标签 '%s'",
|
||||
"activity-delete-attach-card": "已删除附件",
|
||||
"activity-set-customfield": "设置自定义字段 '%s' 至 '%s' 于 %s",
|
||||
"activity-unset-customfield": "未设置自定义字段 '%s' 于 %s",
|
||||
"r-rule": "规则",
|
||||
"r-add-trigger": "添加触发器",
|
||||
"r-add-action": "添加行动",
|
||||
|
||||
@@ -28,7 +28,8 @@
|
||||
"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__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to 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__",
|
||||
@@ -567,6 +568,8 @@
|
||||
"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",
|
||||
|
||||
+28
-20
@@ -56,23 +56,22 @@ Activities.helpers({
|
||||
customField() {
|
||||
return CustomFields.findOne(this.customFieldId);
|
||||
},
|
||||
label() {
|
||||
return Labels.findOne(this.labelId);
|
||||
},
|
||||
// Label activity did not work yet, unable to edit labels when tried this.
|
||||
//label() {
|
||||
// return Cards.findOne(this.labelId);
|
||||
//},
|
||||
});
|
||||
|
||||
Activities.before.insert((userId, doc) => {
|
||||
doc.createdAt = new Date();
|
||||
});
|
||||
|
||||
|
||||
Activities.after.insert((userId, doc) => {
|
||||
const activity = Activities._transform(doc);
|
||||
RulesHelper.executeRules(activity);
|
||||
|
||||
});
|
||||
|
||||
|
||||
if (Meteor.isServer) {
|
||||
// For efficiency create indexes on the date of creation, and on the date of
|
||||
// creation in conjunction with the card or board id, as corresponding views
|
||||
@@ -84,7 +83,9 @@ if (Meteor.isServer) {
|
||||
Activities._collection._ensureIndex({ commentId: 1 }, { partialFilterExpression: { commentId: { $exists: true } } });
|
||||
Activities._collection._ensureIndex({ attachmentId: 1 }, { partialFilterExpression: { attachmentId: { $exists: true } } });
|
||||
Activities._collection._ensureIndex({ customFieldId: 1 }, { partialFilterExpression: { customFieldId: { $exists: true } } });
|
||||
Activities._collection._ensureIndex({ labelId: 1 }, { partialFilterExpression: { labelId: { $exists: true } } });
|
||||
// Label activity did not work yet, unable to edit labels when tried this.
|
||||
//Activities._collection._dropIndex({ labelId: 1 }, { "indexKey": -1 });
|
||||
//Activities._collection._dropIndex({ labelId: 1 }, { partialFilterExpression: { labelId: { $exists: true } } });
|
||||
});
|
||||
|
||||
Activities.after.insert((userId, doc) => {
|
||||
@@ -112,9 +113,11 @@ if (Meteor.isServer) {
|
||||
}
|
||||
if (activity.oldBoardId) {
|
||||
const oldBoard = activity.oldBoard();
|
||||
watchers = _.union(watchers, oldBoard.watchers || []);
|
||||
params.oldBoard = oldBoard.title;
|
||||
params.oldBoardId = activity.oldBoardId;
|
||||
if (oldBoard) {
|
||||
watchers = _.union(watchers, oldBoard.watchers || []);
|
||||
params.oldBoard = oldBoard.title;
|
||||
params.oldBoardId = activity.oldBoardId;
|
||||
}
|
||||
}
|
||||
if (activity.memberId) {
|
||||
participants = _.union(participants, [activity.memberId]);
|
||||
@@ -128,15 +131,19 @@ if (Meteor.isServer) {
|
||||
}
|
||||
if (activity.oldListId) {
|
||||
const oldList = activity.oldList();
|
||||
watchers = _.union(watchers, oldList.watchers || []);
|
||||
params.oldList = oldList.title;
|
||||
params.oldListId = activity.oldListId;
|
||||
if (oldList) {
|
||||
watchers = _.union(watchers, oldList.watchers || []);
|
||||
params.oldList = oldList.title;
|
||||
params.oldListId = activity.oldListId;
|
||||
}
|
||||
}
|
||||
if (activity.oldSwimlaneId) {
|
||||
const oldSwimlane = activity.oldSwimlane();
|
||||
watchers = _.union(watchers, oldSwimlane.watchers || []);
|
||||
params.oldSwimlane = oldSwimlane.title;
|
||||
params.oldSwimlaneId = activity.oldSwimlaneId;
|
||||
if (oldSwimlane) {
|
||||
watchers = _.union(watchers, oldSwimlane.watchers || []);
|
||||
params.oldSwimlane = oldSwimlane.title;
|
||||
params.oldSwimlaneId = activity.oldSwimlaneId;
|
||||
}
|
||||
}
|
||||
if (activity.cardId) {
|
||||
const card = activity.card();
|
||||
@@ -173,11 +180,12 @@ if (Meteor.isServer) {
|
||||
const customField = activity.customField();
|
||||
params.customField = customField.name;
|
||||
}
|
||||
if (activity.labelId) {
|
||||
const label = activity.label();
|
||||
params.label = label.name;
|
||||
params.labelId = activity.labelId;
|
||||
}
|
||||
// Label activity did not work yet, unable to edit labels when tried this.
|
||||
//if (activity.labelId) {
|
||||
// const label = activity.label();
|
||||
// params.label = label.name;
|
||||
// params.labelId = activity.labelId;
|
||||
//}
|
||||
if (board) {
|
||||
const watchingUsers = _.pluck(_.where(board.watchers, {level: 'watching'}), 'userId');
|
||||
const trackingUsers = _.pluck(_.where(board.watchers, {level: 'tracking'}), 'userId');
|
||||
|
||||
+2
-4
@@ -466,7 +466,7 @@ Boards.helpers({
|
||||
},
|
||||
|
||||
customFields() {
|
||||
return CustomFields.find({ boardId: this._id }, { sort: { name: 1 } });
|
||||
return CustomFields.find({ boardIds: {$in: [this._id]} }, { sort: { name: 1 } });
|
||||
},
|
||||
|
||||
// XXX currently mutations return no value so we have an issue when using addLabel in import
|
||||
@@ -605,9 +605,7 @@ Boards.helpers({
|
||||
title: TAPi18n.__('queue'),
|
||||
boardId: this._id,
|
||||
});
|
||||
Boards.update(this._id, {$set: {
|
||||
subtasksDefaultListId: this.subtasksDefaultListId,
|
||||
}});
|
||||
this.setSubtasksDefaultListId(this.subtasksDefaultListId);
|
||||
}
|
||||
return this.subtasksDefaultListId;
|
||||
},
|
||||
|
||||
+142
-45
@@ -289,9 +289,19 @@ Cards.helpers({
|
||||
const oldId = this._id;
|
||||
const oldCard = Cards.findOne(oldId);
|
||||
|
||||
// Copy Custom Fields
|
||||
if (oldBoard._id !== boardId) {
|
||||
CustomFields.find({
|
||||
_id: {$in: oldCard.customFields.map((cf) => { return cf._id; })},
|
||||
}).forEach((cf) => {
|
||||
if (!_.contains(cf.boardIds, boardId))
|
||||
cf.addBoard(boardId);
|
||||
});
|
||||
}
|
||||
|
||||
delete this._id;
|
||||
delete this.labelIds;
|
||||
this.labelIds= newCardLabels;
|
||||
this.labelIds = newCardLabels;
|
||||
this.boardId = boardId;
|
||||
this.swimlaneId = swimlaneId;
|
||||
this.listId = listId;
|
||||
@@ -306,7 +316,6 @@ Cards.helpers({
|
||||
|
||||
// copy checklists
|
||||
Checklists.find({cardId: oldId}).forEach((ch) => {
|
||||
// REMOVE verify copy with arguments
|
||||
ch.copy(_id);
|
||||
});
|
||||
|
||||
@@ -314,13 +323,11 @@ Cards.helpers({
|
||||
Cards.find({parentId: oldId}).forEach((subtask) => {
|
||||
subtask.parentId = _id;
|
||||
subtask._id = null;
|
||||
// REMOVE verify copy with arguments instead of insert?
|
||||
Cards.insert(subtask);
|
||||
});
|
||||
|
||||
// copy card comments
|
||||
CardComments.find({cardId: oldId}).forEach((cmt) => {
|
||||
// REMOVE verify copy with arguments
|
||||
cmt.copy(_id);
|
||||
});
|
||||
|
||||
@@ -476,7 +483,7 @@ Cards.helpers({
|
||||
|
||||
// get all definitions
|
||||
const definitions = CustomFields.find({
|
||||
boardId: this.boardId,
|
||||
boardIds: {$in: [this.boardId]},
|
||||
}).fetch();
|
||||
|
||||
// match right definition to each field
|
||||
@@ -485,6 +492,9 @@ Cards.helpers({
|
||||
const definition = definitions.find((definition) => {
|
||||
return definition._id === customField._id;
|
||||
});
|
||||
if (!definition) {
|
||||
return {};
|
||||
}
|
||||
//search for "True Value" which is for DropDowns other then the Value (which is the id)
|
||||
let trueValue = customField.value;
|
||||
if (definition.settings.dropdownItems && definition.settings.dropdownItems.length > 0) {
|
||||
@@ -1022,50 +1032,41 @@ Cards.mutations({
|
||||
};
|
||||
},
|
||||
|
||||
setTitle(title) {
|
||||
return {
|
||||
$set: {
|
||||
title,
|
||||
},
|
||||
};
|
||||
},
|
||||
move(boardId, swimlaneId, listId, sort) {
|
||||
// Copy Custom Fields
|
||||
if (this.boardId !== boardId) {
|
||||
CustomFields.find({
|
||||
_id: {$in: this.customFields.map((cf) => { return cf._id; })},
|
||||
}).forEach((cf) => {
|
||||
if (!_.contains(cf.boardIds, boardId))
|
||||
cf.addBoard(boardId);
|
||||
});
|
||||
}
|
||||
|
||||
setDescription(description) {
|
||||
return {
|
||||
$set: {
|
||||
description,
|
||||
},
|
||||
};
|
||||
},
|
||||
// Get label names
|
||||
const oldBoard = Boards.findOne(this.boardId);
|
||||
const oldBoardLabels = oldBoard.labels;
|
||||
const oldCardLabels = _.pluck(_.filter(oldBoardLabels, (label) => {
|
||||
return _.contains(this.labelIds, label._id);
|
||||
}), 'name');
|
||||
|
||||
setRequestedBy(requestedBy) {
|
||||
return {
|
||||
$set: {
|
||||
requestedBy,
|
||||
},
|
||||
};
|
||||
},
|
||||
const newBoard = Boards.findOne(boardId);
|
||||
const newBoardLabels = newBoard.labels;
|
||||
const newCardLabelIds = _.pluck(_.filter(newBoardLabels, (label) => {
|
||||
return label.name && _.contains(oldCardLabels, label.name);
|
||||
}), '_id');
|
||||
|
||||
setAssignedBy(assignedBy) {
|
||||
return {
|
||||
$set: {
|
||||
assignedBy,
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
move(swimlaneId, listId, sortIndex) {
|
||||
const list = Lists.findOne(listId);
|
||||
const mutatedFields = {
|
||||
boardId,
|
||||
swimlaneId,
|
||||
listId,
|
||||
boardId: list.boardId,
|
||||
sort: sortIndex,
|
||||
sort,
|
||||
labelIds: newCardLabelIds,
|
||||
};
|
||||
|
||||
return {
|
||||
Cards.update(this._id, {
|
||||
$set: mutatedFields,
|
||||
};
|
||||
});
|
||||
},
|
||||
|
||||
addLabel(labelId) {
|
||||
@@ -1287,8 +1288,47 @@ Cards.mutations({
|
||||
|
||||
//FUNCTIONS FOR creation of Activities
|
||||
|
||||
function cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId) {
|
||||
if ((_.contains(fieldNames, 'listId') && doc.listId !== oldListId) ||
|
||||
function updateActivities(doc, fieldNames, modifier) {
|
||||
if (_.contains(fieldNames, 'labelIds') && _.contains(fieldNames, 'boardId')) {
|
||||
Activities.find({
|
||||
activityType: 'addedLabel',
|
||||
cardId: doc._id,
|
||||
}).forEach((a) => {
|
||||
const lidx = doc.labelIds.indexOf(a.labelId);
|
||||
if (lidx !== -1 && modifier.$set.labelIds.length > lidx) {
|
||||
Activities.update(a._id, {
|
||||
$set: {
|
||||
labelId: modifier.$set.labelIds[doc.labelIds.indexOf(a.labelId)],
|
||||
boardId: modifier.$set.boardId,
|
||||
},
|
||||
});
|
||||
} else {
|
||||
Activities.remove(a._id);
|
||||
}
|
||||
});
|
||||
} else if (_.contains(fieldNames, 'boardId')) {
|
||||
Activities.remove({
|
||||
activityType: 'addedLabel',
|
||||
cardId: doc._id,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId, oldBoardId) {
|
||||
if (_.contains(fieldNames, 'boardId') && (doc.boardId !== oldBoardId)) {
|
||||
Activities.insert({
|
||||
userId,
|
||||
activityType: 'moveCardBoard',
|
||||
boardName: Boards.findOne(doc.boardId).title,
|
||||
boardId: doc.boardId,
|
||||
oldBoardId,
|
||||
oldBoardName: Boards.findOne(oldBoardId).title,
|
||||
cardId: doc._id,
|
||||
swimlaneName: Swimlanes.findOne(doc.swimlaneId).title,
|
||||
swimlaneId: doc.swimlaneId,
|
||||
oldSwimlaneId,
|
||||
});
|
||||
} else if ((_.contains(fieldNames, 'listId') && doc.listId !== oldListId) ||
|
||||
(_.contains(fieldNames, 'swimlaneId') && doc.swimlaneId !== oldSwimlaneId)){
|
||||
Activities.insert({
|
||||
userId,
|
||||
@@ -1400,6 +1440,56 @@ function cardLabels(userId, doc, fieldNames, modifier) {
|
||||
}
|
||||
}
|
||||
|
||||
function cardCustomFields(userId, doc, fieldNames, modifier) {
|
||||
if (!_.contains(fieldNames, 'customFields'))
|
||||
return;
|
||||
|
||||
// Say hello to the new customField value
|
||||
if (modifier.$set) {
|
||||
_.each(modifier.$set, (value, key) => {
|
||||
if (key.startsWith('customFields')) {
|
||||
const dotNotation = key.split('.');
|
||||
|
||||
// only individual changes are registered
|
||||
if (dotNotation.length > 1) {
|
||||
const customFieldId = doc.customFields[dotNotation[1]]._id;
|
||||
const act = {
|
||||
userId,
|
||||
customFieldId,
|
||||
value,
|
||||
activityType: 'setCustomField',
|
||||
boardId: doc.boardId,
|
||||
cardId: doc._id,
|
||||
};
|
||||
Activities.insert(act);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Say goodbye to the former customField value
|
||||
if (modifier.$unset) {
|
||||
_.each(modifier.$unset, (value, key) => {
|
||||
if (key.startsWith('customFields')) {
|
||||
const dotNotation = key.split('.');
|
||||
|
||||
// only individual changes are registered
|
||||
if (dotNotation.length > 1) {
|
||||
const customFieldId = doc.customFields[dotNotation[1]]._id;
|
||||
const act = {
|
||||
userId,
|
||||
customFieldId,
|
||||
activityType: 'unsetCustomField',
|
||||
boardId: doc.boardId,
|
||||
cardId: doc._id,
|
||||
};
|
||||
Activities.insert(act);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function cardCreation(userId, doc) {
|
||||
Activities.insert({
|
||||
userId,
|
||||
@@ -1421,8 +1511,8 @@ function cardRemover(userId, doc) {
|
||||
Checklists.remove({
|
||||
cardId: doc._id,
|
||||
});
|
||||
Subtasks.remove({
|
||||
cardId: doc._id,
|
||||
Cards.remove({
|
||||
parentId: doc._id,
|
||||
});
|
||||
CardComments.remove({
|
||||
cardId: doc._id,
|
||||
@@ -1458,12 +1548,14 @@ if (Meteor.isServer) {
|
||||
Cards.after.update(function(userId, doc, fieldNames) {
|
||||
const oldListId = this.previous.listId;
|
||||
const oldSwimlaneId = this.previous.swimlaneId;
|
||||
cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId);
|
||||
const oldBoardId = this.previous.boardId;
|
||||
cardMove(userId, doc, fieldNames, oldListId, oldSwimlaneId, oldBoardId);
|
||||
});
|
||||
|
||||
// Add a new activity if we add or remove a member to the card
|
||||
Cards.before.update((userId, doc, fieldNames, modifier) => {
|
||||
cardMembers(userId, doc, fieldNames, modifier);
|
||||
updateActivities(doc, fieldNames, modifier);
|
||||
});
|
||||
|
||||
// Add a new activity if we add or remove a label to the card
|
||||
@@ -1471,6 +1563,11 @@ if (Meteor.isServer) {
|
||||
cardLabels(userId, doc, fieldNames, modifier);
|
||||
});
|
||||
|
||||
// Add a new activity if we edit a custom field
|
||||
Cards.before.update((userId, doc, fieldNames, modifier) => {
|
||||
cardCustomFields(userId, doc, fieldNames, modifier);
|
||||
});
|
||||
|
||||
// Remove all activities associated with a card if we remove the card
|
||||
// Remove also card_comments / checklists / attachments
|
||||
Cards.after.remove((userId, doc) => {
|
||||
|
||||
+12
-12
@@ -99,17 +99,6 @@ function itemCreation(userId, doc) {
|
||||
}
|
||||
|
||||
function itemRemover(userId, doc) {
|
||||
const card = Cards.findOne(doc.cardId);
|
||||
const boardId = card.boardId;
|
||||
Activities.insert({
|
||||
userId,
|
||||
activityType: 'removedChecklistItem',
|
||||
cardId: doc.cardId,
|
||||
boardId,
|
||||
checklistId: doc.checklistId,
|
||||
checklistItemId: doc._id,
|
||||
checklistItemName:doc.title,
|
||||
});
|
||||
Activities.remove({
|
||||
checklistItemId: doc._id,
|
||||
});
|
||||
@@ -206,8 +195,19 @@ if (Meteor.isServer) {
|
||||
itemCreation(userId, doc);
|
||||
});
|
||||
|
||||
ChecklistItems.after.remove((userId, doc) => {
|
||||
ChecklistItems.before.remove((userId, doc) => {
|
||||
itemRemover(userId, doc);
|
||||
const card = Cards.findOne(doc.cardId);
|
||||
const boardId = card.boardId;
|
||||
Activities.insert({
|
||||
userId,
|
||||
activityType: 'removedChecklistItem',
|
||||
cardId: doc.cardId,
|
||||
boardId,
|
||||
checklistId: doc.checklistId,
|
||||
checklistItemId: doc._id,
|
||||
checklistItemName:doc.title,
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+56
-15
@@ -4,11 +4,11 @@ CustomFields = new Mongo.Collection('customFields');
|
||||
* A custom field on a card in the board
|
||||
*/
|
||||
CustomFields.attachSchema(new SimpleSchema({
|
||||
boardId: {
|
||||
boardIds: {
|
||||
/**
|
||||
* the ID of the board
|
||||
*/
|
||||
type: String,
|
||||
type: [String],
|
||||
},
|
||||
name: {
|
||||
/**
|
||||
@@ -72,17 +72,37 @@ CustomFields.attachSchema(new SimpleSchema({
|
||||
},
|
||||
}));
|
||||
|
||||
CustomFields.mutations({
|
||||
addBoard(boardId) {
|
||||
if (boardId) {
|
||||
return {
|
||||
$push: {
|
||||
boardIds: boardId,
|
||||
},
|
||||
};
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
CustomFields.allow({
|
||||
insert(userId, doc) {
|
||||
return allowIsBoardMember(userId, Boards.findOne(doc.boardId));
|
||||
return allowIsAnyBoardMember(userId, Boards.find({
|
||||
_id: {$in: doc.boardIds},
|
||||
}).fetch());
|
||||
},
|
||||
update(userId, doc) {
|
||||
return allowIsBoardMember(userId, Boards.findOne(doc.boardId));
|
||||
return allowIsAnyBoardMember(userId, Boards.find({
|
||||
_id: {$in: doc.boardIds},
|
||||
}).fetch());
|
||||
},
|
||||
remove(userId, doc) {
|
||||
return allowIsBoardMember(userId, Boards.findOne(doc.boardId));
|
||||
return allowIsAnyBoardMember(userId, Boards.find({
|
||||
_id: {$in: doc.boardIds},
|
||||
}).fetch());
|
||||
},
|
||||
fetch: ['userId', 'boardId'],
|
||||
fetch: ['userId', 'boardIds'],
|
||||
});
|
||||
|
||||
// not sure if we need this?
|
||||
@@ -92,27 +112,48 @@ function customFieldCreation(userId, doc){
|
||||
Activities.insert({
|
||||
userId,
|
||||
activityType: 'createCustomField',
|
||||
boardId: doc.boardId,
|
||||
boardId: doc.boardIds[0], // We are creating a customField, it has only one boardId
|
||||
customFieldId: doc._id,
|
||||
});
|
||||
}
|
||||
|
||||
if (Meteor.isServer) {
|
||||
Meteor.startup(() => {
|
||||
CustomFields._collection._ensureIndex({ boardId: 1 });
|
||||
CustomFields._collection._ensureIndex({ boardIds: 1 });
|
||||
});
|
||||
|
||||
CustomFields.after.insert((userId, doc) => {
|
||||
customFieldCreation(userId, doc);
|
||||
});
|
||||
|
||||
CustomFields.after.remove((userId, doc) => {
|
||||
CustomFields.before.update((userId, doc, fieldNames, modifier) => {
|
||||
if (_.contains(fieldNames, 'boardIds') && modifier.$pull) {
|
||||
Cards.update(
|
||||
{boardId: modifier.$pull.boardIds, 'customFields._id': doc._id},
|
||||
{$pull: {'customFields': {'_id': doc._id}}},
|
||||
{multi: true}
|
||||
);
|
||||
Activities.remove({
|
||||
customFieldId: doc._id,
|
||||
boardId: modifier.$pull.boardIds,
|
||||
});
|
||||
} else if (_.contains(fieldNames, 'boardIds') && modifier.$push) {
|
||||
Activities.insert({
|
||||
userId,
|
||||
activityType: 'createCustomField',
|
||||
boardId: modifier.$push.boardIds,
|
||||
customFieldId: doc._id,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
CustomFields.before.remove((userId, doc) => {
|
||||
Activities.remove({
|
||||
customFieldId: doc._id,
|
||||
});
|
||||
|
||||
Cards.update(
|
||||
{'boardId': doc.boardId, 'customFields._id': doc._id},
|
||||
{boardId: {$in: doc.boardIds}, 'customFields._id': doc._id},
|
||||
{$pull: {'customFields': {'_id': doc._id}}},
|
||||
{multi: true}
|
||||
);
|
||||
@@ -135,7 +176,7 @@ if (Meteor.isServer) {
|
||||
const paramBoardId = req.params.boardId;
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: CustomFields.find({ boardId: paramBoardId }).map(function (cf) {
|
||||
data: CustomFields.find({ boardIds: {$in: [paramBoardId]} }).map(function (cf) {
|
||||
return {
|
||||
_id: cf._id,
|
||||
name: cf.name,
|
||||
@@ -159,7 +200,7 @@ if (Meteor.isServer) {
|
||||
const paramCustomFieldId = req.params.customFieldId;
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: CustomFields.findOne({ _id: paramCustomFieldId, boardId: paramBoardId }),
|
||||
data: CustomFields.findOne({ _id: paramCustomFieldId, boardIds: {$in: [paramBoardId]} }),
|
||||
});
|
||||
});
|
||||
|
||||
@@ -186,10 +227,10 @@ if (Meteor.isServer) {
|
||||
showOnCard: req.body.showOnCard,
|
||||
automaticallyOnCard: req.body.automaticallyOnCard,
|
||||
showLabelOnMiniCard: req.body.showLabelOnMiniCard,
|
||||
boardId: paramBoardId,
|
||||
boardIds: {$in: [paramBoardId]},
|
||||
});
|
||||
|
||||
const customField = CustomFields.findOne({_id: id, boardId: paramBoardId });
|
||||
const customField = CustomFields.findOne({_id: id, boardIds: {$in: [paramBoardId]} });
|
||||
customFieldCreation(req.body.authorId, customField);
|
||||
|
||||
JsonRoutes.sendResult(res, {
|
||||
@@ -214,7 +255,7 @@ if (Meteor.isServer) {
|
||||
Authentication.checkUserId( req.userId);
|
||||
const paramBoardId = req.params.boardId;
|
||||
const id = req.params.customFieldId;
|
||||
CustomFields.remove({ _id: id, boardId: paramBoardId });
|
||||
CustomFields.remove({ _id: id, boardIds: {$in: [paramBoardId]} });
|
||||
JsonRoutes.sendResult(res, {
|
||||
code: 200,
|
||||
data: {
|
||||
|
||||
+1
-1
@@ -75,7 +75,7 @@ class Exporter {
|
||||
result.lists = Lists.find(byBoard, noBoardId).fetch();
|
||||
result.cards = Cards.find(byBoardNoLinked, noBoardId).fetch();
|
||||
result.swimlanes = Swimlanes.find(byBoard, noBoardId).fetch();
|
||||
result.customFields = CustomFields.find(byBoard, noBoardId).fetch();
|
||||
result.customFields = CustomFields.find({boardIds: {$in: [this.boardId]}}, {fields: {boardId: 0}}).fetch();
|
||||
result.comments = CardComments.find(byBoard, noBoardId).fetch();
|
||||
result.activities = Activities.find(byBoard, noBoardId).fetch();
|
||||
result.rules = Rules.find(byBoard, noBoardId).fetch();
|
||||
|
||||
+4
-4
@@ -3,10 +3,10 @@ import { WekanCreator } from './wekanCreator';
|
||||
|
||||
Meteor.methods({
|
||||
importBoard(board, data, importSource, currentBoard) {
|
||||
//check(board, Object);
|
||||
//check(data, Object);
|
||||
//check(importSource, String);
|
||||
//check(currentBoard, Match.Maybe(String));
|
||||
check(board, Object);
|
||||
check(data, Object);
|
||||
check(importSource, String);
|
||||
check(currentBoard, Match.Maybe(String));
|
||||
let creator;
|
||||
switch (importSource) {
|
||||
case 'trello':
|
||||
|
||||
+1
-1
@@ -231,7 +231,7 @@ if (Meteor.isServer) {
|
||||
const setting = Settings.findOne({});
|
||||
if (!setting.productName) {
|
||||
return {
|
||||
productName: 'Wekan',
|
||||
productName: '',
|
||||
};
|
||||
} else {
|
||||
return {
|
||||
|
||||
@@ -298,6 +298,10 @@ export class WekanCreator {
|
||||
cardToCreate.members = wekanMembers;
|
||||
}
|
||||
}
|
||||
// set color
|
||||
if (card.color) {
|
||||
cardToCreate.color = card.color;
|
||||
}
|
||||
// insert card
|
||||
const cardId = Cards.direct.insert(cardToCreate);
|
||||
// keep track of Wekan id => Wekan id
|
||||
@@ -484,6 +488,10 @@ export class WekanCreator {
|
||||
title: swimlane.title,
|
||||
sort: swimlane.sort ? swimlane.sort : swimlaneIndex,
|
||||
};
|
||||
// set color
|
||||
if (swimlane.color) {
|
||||
swimlaneToCreate.color = swimlane.color;
|
||||
}
|
||||
const swimlaneId = Swimlanes.direct.insert(swimlaneToCreate);
|
||||
Swimlanes.direct.update(swimlaneId, {
|
||||
$set: {
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ Now that we have the OpenAPI, it's easy enough to convert the YAML file into som
|
||||
[shins](https://github.com/Mermade/shins) and [api2html](https://github.com/tobilg/api2html),
|
||||
or even [ReDoc](https://github.com/Rebilly/ReDoc):
|
||||
|
||||
api2html -c ../public/wekan-logo-header.png -o api.html ../public/wekan_api.yml
|
||||
api2html -c ../public/logo-header.png -o api.html ../public/wekan_api.yml
|
||||
|
||||
or
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v2.36.0",
|
||||
"version": "v2.52.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
||||
Loaded 100 of 130 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user