Compare commits

...
82 Commits
Author SHA1 Message Date
Lauri Ojansivu 9b28847592 v3.59 2020-01-03 13:34:55 +02:00
Lauri Ojansivu 5376bc7b79 Fix not being able to edit received date.
Thanks to xet7 !
2020-01-03 13:27:27 +02:00
Lauri Ojansivu 19d42c675b v3.58 2020-01-03 07:07:12 +02:00
Lauri Ojansivu be3e4af643 Fix typos. 2020-01-03 07:01:39 +02:00
Lauri Ojansivu 96b3352b2b Update translations. 2020-01-03 06:57:10 +02:00
Lauri Ojansivu 62408fcbf7 Update ChangeLog. 2020-01-03 06:54:39 +02:00
Lauri Ojansivu 2bf004120d Add Worker role.
Add more Font Awesome icons.
Fix browser console errors when editing user profile name etc.

Thanks to xet7 !

Closes #2788
2020-01-03 06:49:35 +02:00
Lauri Ojansivu 0709b5abc8 Update ChangeLog. 2020-01-02 14:07:35 +02:00
Lauri Ojansivu ac43b4c1e6 Merge pull request #2867 from jiangytcn/helm
fix: k8s templates update for helm
2020-01-02 14:02:43 +02:00
Jiang Yitao 5aeb88ee6c fix: k8s templates update for helm
Why:

This change addresses the need by:

1. upgrade mongo replica version
2. access mongo via service url
3. change the expose servicePort to numeric

Signed-off-by: Jiang Yitao <jiangyt.cn@gmail.com>
2020-01-02 11:52:34 +08:00
Lauri Ojansivu c25162aac7 Update translations. 2019-12-31 21:46:23 +02:00
Lauri Ojansivu da6df62042 Update translations. 2019-12-31 21:40:32 +02:00
Lauri Ojansivu 458b9eddb2 Update translations. 2019-12-30 18:25:42 +02:00
Lauri Ojansivu 7af7fe6146 v3.57 2019-12-22 10:51:05 +02:00
Lauri Ojansivu 340d7c731f Update translations. 2019-12-22 10:09:23 +02:00
Lauri Ojansivu e142acfdb7 Remove LINKED_CARDS_ENABLED settings, because it does not work.
Thanks to xet7 !
2019-12-22 09:44:58 +02:00
Lauri Ojansivu e928660bc0 LINKED_CARDS_ENABLED settings part 3.
In Progress, linked cards not completely disabled yet.

Thanks to xet7 !
2019-12-21 19:38:02 +02:00
Lauri Ojansivu 7a90e89348 Update ChangeLog. 2019-12-20 17:07:52 +02:00
Lauri Ojansivu 1f1aea87a4 Visual difference for inactive user in Administration: strikethrough.
Thanks to hever and xet7 !

Closes #2860
2019-12-20 17:04:33 +02:00
Lauri Ojansivu e9b7c4cdde Update ChangeLog. 2019-12-20 16:35:35 +02:00
Lauri Ojansivu 1bf7f95bd8 LINKED_CARDS_ENABLED settings part 2.
Thanks to xet7 !
2019-12-20 16:32:38 +02:00
Lauri Ojansivu 2a065825fa Update ChangeLog. 2019-12-20 16:18:32 +02:00
Lauri Ojansivu 492ed2bdc2 Merge pull request #2834 from Akuket/master
Issue #2688
2019-12-20 16:12:29 +02:00
Lauri Ojansivu afe7d4991d Merge branch 'Robert-Lebedeu-master' 2019-12-20 16:10:26 +02:00
Lauri Ojansivu 0649add494 Merge branch 'master' of https://github.com/Robert-Lebedeu/wekan into Robert-Lebedeu-master 2019-12-20 16:09:48 +02:00
Lauri Ojansivu 2dafde8db9 Update ChangeLog. 2019-12-20 16:06:12 +02:00
Lauri Ojansivu 782d0b6209 Upgrade to Meteor 1.8.3 and Node 8.17.0.
Update release scripts.
Fix ldap background sync documentation part 2.

Thanks to xet7 !
2019-12-20 16:03:46 +02:00
Lauri Ojansivu 8dcd360f93 Merge branch 'master' of github.com:wekan/wekan 2019-12-20 15:36:48 +02:00
Lauri Ojansivu ea1af474fd Update translations. 2019-12-20 15:36:30 +02:00
Lauri Ojansivu e3d0aece14 Merge pull request #2855 from koelle25/fix-ldap-background-sync-documentation
Fix ldap background sync documentation
2019-12-20 15:00:31 +02:00
Kevin Köllmann 75dae5c714 Made the link https and moved default value into setting 2019-12-18 15:32:17 +01:00
Kevin Köllmann f96bba7a63 Update the LDAP_BACKGROUND_SYNC_INTERVAL setting documentation 2019-12-18 15:12:36 +01:00
Lauri Ojansivu 3b3950369c Fix comment text disappearing when clicking outside of comment text area.
Fix lint error.

Thanks to xet7 !
2019-12-17 23:42:30 +02:00
Robert Lebedeu a35df88805 Allow checklist creation for board members
- Only for members with checklist add permission
2019-12-17 12:15:41 +01:00
Robert Lebedeu 40c70c439d Allow card creation for board members
- Only for members with card add permission
2019-12-17 12:15:06 +01:00
Robert Lebedeu 2c4d3fa317 Fix checkBoardAccess authentication check 2019-12-16 18:10:48 +01:00
Lauri Ojansivu a4dbe98299 Update translations. 2019-12-15 08:05:10 +02:00
Lauri Ojansivu 98602dabb0 Update translations. 2019-12-14 14:37:55 +02:00
Lauri Ojansivu 6ae5f0cea5 Update translations. 2019-12-13 22:20:00 +02:00
Lauri Ojansivu 0316802b84 Update ChangeLog. 2019-12-13 00:41:39 +02:00
Lauri Ojansivu 25561946ed Fix: Allow to set empty card title, AssignedBy and RequestedBy.
Thanks to xet7 !
2019-12-13 00:37:21 +02:00
Lauri Ojansivu c29aa76d02 Update translations. 2019-12-12 18:48:24 +02:00
Lauri Ojansivu 258af8bfed Update ChangeLog. 2019-12-12 18:45:18 +02:00
Lauri Ojansivu e2a374f0aa Fix: Don't add a blank space for empty custom fields on minicards.
Thanks to roobre and xet7 !

Closes #2850
2019-12-12 18:41:22 +02:00
Lauri Ojansivu 6a53aaf24a Update translations. 2019-12-07 15:36:06 +02:00
Lauri Ojansivu b2eccc7b54 Back to Meteor 1.8.x. 2019-12-05 14:31:28 +02:00
Lauri Ojansivu c2fa23d525 Snap back to MongoDB 3.2.22 2019-12-05 13:58:14 +02:00
Lauri Ojansivu e6fa02e0a1 Use libcurl3 instead. 2019-12-05 12:00:51 +02:00
Lauri Ojansivu e164aafbd8 Add libcurl4 to snap. 2019-12-05 11:34:10 +02:00
Lauri Ojansivu a863194e74 Make travis to wait Wekan to build.
Thanks to xet7 !
2019-12-05 11:23:40 +02:00
Lauri Ojansivu f518397f7a Merge branch 'master' of github.com:wekan/wekan 2019-12-05 10:35:46 +02:00
Lauri Ojansivu fc91d866db Try to fix Travis. 2019-12-05 10:35:28 +02:00
Lauri Ojansivu 8670561f78 Create dockerimage.yml 2019-12-05 10:31:32 +02:00
Lauri Ojansivu d8474056d2 Update Travis docker-compose version. 2019-12-05 10:22:51 +02:00
Lauri Ojansivu e48c5fb066 Update ChangeLog. 2019-12-05 10:04:23 +02:00
Lauri Ojansivu 467a3be850 Update to Meteor 1.9-beta.4, Node.js 12.13.1 and MongoDB 4.2.1.
Remove MongoDB option --smallfiles that is not supported in MongoDB 4.2.1.
Add MongoDB option --quiet to docker-compose.yml.
Update snap fibers to 4.0.1.

Thanks to xet7 !
2019-12-05 10:00:07 +02:00
Lauri Ojansivu 1b12d3f04f Update translations. 2019-12-05 07:03:59 +02:00
Guillaume c77979ff13 Merge branch 'master' of https://github.com/wekan/wekan 2019-11-29 14:57:33 +01:00
Guillaume 0a1e7006b3 Using LINKED_CARDS_ENABLED 2019-11-29 14:48:44 +01:00
Lauri Ojansivu d5a8ec1c36 Remove 1st implementation of collapse swimlanes. I will do it
differently in next 2nd implementation.

Thanks to xet7 !
2019-11-29 03:25:52 +02:00
Lauri Ojansivu d497b75c1d Update translations. 2019-11-28 15:46:39 +02:00
Akuket 07724f99ae Add LINKED_CARDS_ENABLED env var 2019-11-28 11:55:36 +01:00
Lauri Ojansivu 8898862d36 Fix lint errors. 2019-11-26 02:29:36 +02:00
Lauri Ojansivu 2cc3507740 Update translations. 2019-11-26 01:26:18 +02:00
Lauri Ojansivu 3565437728 v3.56 2019-11-21 23:03:09 +02:00
Lauri Ojansivu 15ba982810 Update ChangeLog. 2019-11-21 22:54:09 +02:00
Lauri Ojansivu 488a895850 Update translations. 2019-11-21 22:49:07 +02:00
Lauri Ojansivu c7ded51502 Add to snap Snap MongoDB logging option --quiet .
Thanks to fmeehan and xet7 !

Closes wekan/wekan-snap#113
2019-11-21 22:21:05 +02:00
Lauri Ojansivu c66cc3d4da Change base image eoan to rolling, that is probably always newest Ubuntu
rolling version.

Thanks to xet7 !
2019-11-21 20:44:46 +02:00
Lauri Ojansivu c60967e935 It seems Ubuntu eoan package bsdtar has been renamed to libarchive-tools.
Thanks to xet7 !
2019-11-21 20:42:28 +02:00
Lauri Ojansivu 343343e7e7 Dockerfile: Use eoan base image. Add missing python3 dependency for node-gyp.
Thanks to xet7 !
2019-11-21 20:22:37 +02:00
Lauri Ojansivu 4f5de87cc4 Fix typo. 2019-11-20 23:49:43 +02:00
Lauri Ojansivu f371cbd5d2 Update translations. 2019-11-20 23:49:08 +02:00
Lauri Ojansivu 99ef6e3a20 Update ChangeLog. 2019-11-20 23:47:25 +02:00
Lauri Ojansivu 599ace1db7 Fix slow scroll on card detail by setting scrollInertia to 0.
Thanks to cafeoh !

Closes #2179
2019-11-20 23:40:04 +02:00
Lauri Ojansivu a06daff92e Remove eslint option that does not work.
Thanks to xet7 !
2019-11-20 23:39:11 +02:00
Lauri Ojansivu 58e505f79a Try to fix lint errors. 2019-11-20 21:28:48 +02:00
Lauri Ojansivu 788dd0a81a Fix lint errors. 2019-11-20 21:10:11 +02:00
Lauri Ojansivu 82d76e55e5 Add babel-eslint. 2019-11-20 20:22:30 +02:00
Lauri Ojansivu 38dfe0b9a7 Update to Meteor 1.8.2. Update dependencies.
Thanks to xet7 !
2019-11-20 19:57:16 +02:00
Lauri Ojansivu b0f345ba21 Fix lint errors and update travis NPM version. 2019-11-20 10:14:53 +02:00
Lauri Ojansivu 95a4592346 Update Wekan API docs. 2019-11-19 23:08:29 +02:00
131 changed files with 1383 additions and 1332 deletions

No files matched your search

+1 -1
View File
@@ -6,7 +6,7 @@ ENV DEBIAN_FRONTEND=noninteractive
ENV \
DEBUG=false \
NODE_VERSION=8.16.2 \
NODE_VERSION=8.17.0 \
METEOR_RELEASE=1.8.1 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
+1
View File
@@ -145,6 +145,7 @@
"allowIsBoardMemberByCard": true,
"allowIsBoardMemberCommentOnly": true,
"allowIsBoardMemberNoComments": true,
"allowIsBoardMemberWorker": true,
"Emoji": true,
"Checklists": true,
"Settings": true,
+17
View File
@@ -0,0 +1,17 @@
name: Docker Image CI
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Build the Docker image
run: docker build . --file Dockerfile --tag wekan:$(date +%s)
+1
View File
@@ -17,3 +17,4 @@ notices-for-facebook-graph-api-2
1.4.3-split-account-service-packages
1.5-add-dynamic-import-package
1.7-split-underscore-from-meteor-base
1.8.3-split-jquery-from-blaze
+5 -5
View File
@@ -6,9 +6,9 @@
meteor-base@1.4.0
# Build system
ecmascript@0.12.4
standard-minifier-css@1.5.3
standard-minifier-js@2.4.1
ecmascript@0.13.2
standard-minifier-css@1.5.4
standard-minifier-js@2.5.2
mquandalle:jade
# Polyfills
@@ -22,7 +22,7 @@ dburles:collection-helpers
idmontie:migrations
matb33:collection-hooks
matteodem:easy-search
mongo@1.6.2
mongo@1.7.0
mquandalle:collection-mutations
# Account system
@@ -75,7 +75,7 @@ horka:swipebox
dynamic-import@0.5.1
staringatlights:fast-render
accounts-password@1.5.1
accounts-password@1.5.2
cfs:gridfs
rzymek:fullcalendar
momentjs:moment@2.22.2
+1 -1
View File
@@ -1 +1 @@
METEOR@1.8.1
METEOR@1.8.3
+24 -24
View File
@@ -1,7 +1,7 @@
3stack:presence@1.1.2
accounts-base@1.4.4
accounts-base@1.4.5
accounts-oauth@1.1.16
accounts-password@1.5.1
accounts-password@1.5.2
aldeed:collection2@2.10.0
aldeed:collection2-core@1.2.0
aldeed:schema-deny@1.1.0
@@ -12,18 +12,18 @@ allow-deny@1.1.0
arillo:flow-router-helpers@0.5.2
audit-argument-checks@1.0.7
autoupdate@1.6.0
babel-compiler@7.3.4
babel-runtime@1.3.0
babel-compiler@7.4.2
babel-runtime@1.4.0
base64@1.0.12
binary-heap@1.0.11
blaze@2.3.3
blaze@2.3.4
blaze-tools@1.0.10
boilerplate-generator@1.6.0
browser-policy-common@1.0.11
browser-policy-framing@1.1.0
caching-compiler@1.2.1
caching-html-compiler@1.1.3
callback-hook@1.1.0
callback-hook@1.2.0
cfs:access-point@0.1.49
cfs:base-package@0.0.30
cfs:collection@0.5.5
@@ -57,11 +57,11 @@ deps@1.0.12
diff-sequence@1.1.1
dynamic-import@0.5.1
easylogic:summernote@0.8.8
ecmascript@0.12.7
ecmascript@0.13.2
ecmascript-runtime@0.7.0
ecmascript-runtime-client@0.8.0
ecmascript-runtime-server@0.7.1
ejson@1.1.0
ecmascript-runtime-client@0.9.0
ecmascript-runtime-server@0.8.0
ejson@1.1.1
email@1.2.3
es5-shim@4.8.0
fastclick@1.0.13
@@ -82,7 +82,7 @@ kadira:dochead@1.5.0
kadira:flow-router@2.12.1
kenton:accounts-sandstorm@0.7.0
konecty:mongo-counter@0.0.5_3
lamhieu:meteorx@2.0.1
lamhieu:meteorx@2.1.1
lamhieu:unblock@1.0.0
launch-screen@1.1.1
livedata@1.0.18
@@ -91,7 +91,7 @@ logging@1.1.20
lucasantoniassi:accounts-lockout@1.0.0
matb33:collection-hooks@0.9.1
matteodem:easy-search@1.6.4
mdg:meteor-apm-agent@3.2.3
mdg:meteor-apm-agent@3.2.5
mdg:validation-error@0.5.1
meteor@1.9.3
meteor-base@1.4.0
@@ -101,16 +101,16 @@ meteorhacks:collection-utils@1.2.0
meteorhacks:picker@1.0.3
meteorhacks:subs-manager@1.6.4
meteorspark:util@0.2.0
minifier-css@1.4.2
minifier-js@2.4.1
minifier-css@1.4.3
minifier-js@2.5.1
minifiers@1.1.8-faster-rebuild.0
minimongo@1.4.5
mobile-status-bar@1.0.14
modern-browsers@0.1.4
modules@0.13.0
modules-runtime@0.10.3
modules@0.14.0
modules-runtime@0.11.0
momentjs:moment@2.24.0
mongo@1.6.3
mongo@1.7.0
mongo-decimal@0.1.1
mongo-dev-server@1.1.0
mongo-id@1.0.7
@@ -127,18 +127,18 @@ mquandalle:mousetrap-bindglobal@0.0.1
mquandalle:perfect-scrollbar@0.6.5_2
msavin:usercache@1.8.0
npm-bcrypt@0.9.3
npm-mongo@3.1.2
npm-mongo@3.2.0
oauth@1.2.8
oauth2@1.2.1
observe-sequence@1.0.16
ongoworks:speakingurl@1.1.0
ordered-dict@1.1.0
ostrio:cookies@2.5.0
peerlibrary:assert@0.2.5
peerlibrary:assert@0.3.0
peerlibrary:base-component@0.16.0
peerlibrary:blaze-components@0.15.1
peerlibrary:computed-field@0.9.0
peerlibrary:reactive-field@0.5.0
peerlibrary:computed-field@0.10.0
peerlibrary:reactive-field@0.6.0
percolate:synced-cron@1.3.2
promise@0.11.2
raix:eventemitter@0.1.3
@@ -167,8 +167,8 @@ softwarerero:accounts-t9n@1.3.11
spacebars@1.0.15
spacebars-compiler@1.1.3
srp@1.0.12
standard-minifier-css@1.5.3
standard-minifier-js@2.4.1
standard-minifier-css@1.5.4
standard-minifier-js@2.5.2
staringatlights:fast-render@3.2.0
staringatlights:inject-data@2.3.0
tap:i18n@1.8.2
@@ -186,7 +186,7 @@ useraccounts:core@1.14.2
useraccounts:flow-routing@1.14.2
useraccounts:unstyled@1.14.2
verron:autosize@3.0.8
webapp@1.7.4
webapp@1.7.5
webapp-hashing@1.0.9
wekan-accounts-cas@0.1.0
wekan-accounts-oidc@1.0.10
+2 -2
View File
@@ -3,8 +3,8 @@ sudo: required
env:
TRAVIS_DOCKER_COMPOSE_VERSION: 1.24.0
TRAVIS_NODE_VERSION: 8.16.2
TRAVIS_NPM_VERSION: 6.4.1
TRAVIS_NODE_VERSION: 8.17.0
TRAVIS_NPM_VERSION: latest
before_install:
- sudo apt-get update -y
+91 -4
View File
@@ -1,3 +1,90 @@
# v3.59 2020-01-03 Wekan release
This release fixes the following bugs:
- [Fix not being able to edit received date](https://github.com/wekan/wekan/commit/5376bc7b7905c0dd99fae1aeae3f63b4583a3e3f).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.58 2020-01-03 Wekan release
This release adds the following features:
- [Add Worker role](https://github.com/wekan/wekan/issues/2788). Thanks to xet7.
- [Add more Font Awesome icons](https://github.com/wekan/wekan/commit/2bf004120d5a43cd3c3c060fc7c0c30d1b01f220).
Thanks to xet7.
and fixes the following bugs:
- [Fix: k8s templates update for helm](https://github.com/wekan/wekan/pull/2867).
1. Upgrade mongo replica version.
2. Access mongo via service url.
3. Change the expose servicePort to numeric.
Thanks to jiangytcn.
- [Fix browser console errors when editing user profile name](https://github.com/wekan/wekan/commit/2bf004120d5a43cd3c3c060fc7c0c30d1b01f220).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.57 2019-12-22 Wekan release
This release adds the following features:
- [Allow card and checklist API creation for authorized board members](https://github.com/wekan/wekan/pull/2854).
Thanks to Robert-Lebedeu.
- [Visual difference for inactive user in Administration: strikethrough](https://github.com/wekan/wekan/commit/1f1aea87a421ca5e7931d220d10c838574208e2c).
Thanks to hever and xet7.
and adds the following updates:
- [Upgrade to Meteor 1.8.3 and Node 8.17.0. Update release scripts. Fix ldap background sync documentation part 2](https://github.com/wekan/wekan/commit/782d0b620988628f40f50f9cd824f6652cfb0dd9).
Thanks to xet7.
and fixes the following bugs:
- [Fix: Don't add a blank space for empty custom fields on minicards](https://github.com/wekan/wekan/commit/e2a374f0aad8489a84d6de9966c281a812b5eca3).
Thanks to roobre and xet7.
- [Fix: Allow to set empty card title, AssignedBy and RequestedBy](https://github.com/wekan/wekan/commit/25561946edf37351f67cf7500902dde7d9114d2f).
Thanks to justinr1234 and xet7.
- [Fix comment text disappearing when clicking outside of comment text area.
Fix lint error](https://github.com/wekan/wekan/commit/3b3950369ce07aa9e6fc4ab1bef9fb8a4993e398).
Thanks to xet7.
- [Fix ldap background sync documentation](https://github.com/wekan/wekan/pull/2855).
Thanks to koelle25.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.56 2019-11-21 Wekan release
This release adds the following updates:
- [Update to Meteor 1.8.2. Update dependencies](https://github.com/wekan/wekan/commit/38dfe0b9a71a083adc2de1a81170fea0e4a8e53f).
Thanks to xet7.
- [Fix lint errors and update travis NPM version](https://github.com/wekan/wekan/commit/b0f345ba21830b033c9edcc8ee5252b280111ae7).
Thanks to xet7.
- [Change base image to rolling, that is currently Ubuntu eoan
version](https://github.com/wekan/wekan/commit/c66cc3d4dadb15b669256530cfda89359cdb9340).
Thanks to xet7.
- [It seems Ubuntu eoan package bsdtar has been renamed to
libarchive-tools](https://github.com/wekan/wekan/commit/c60967e935bdc0e7e9aea0a1c23178aee8a73c29).
Thanks to xet7.
and fixes the following bugs:
- [Fix slow scroll on card detail by setting scrollInertia to 0](https://github.com/wekan/wekan/commit/599ace1db7918df41d9708d14b0351acb0f8688e).
Thanks to cafeoh.
- [Fix lint errors](https://github.com/wekan/wekan/commit/788dd0a81a06efee165007a92780f9e8c2c754ac).
Thanks to xet7.
- [Remove eslint option that does not work](https://github.com/wekan/wekan/commit/a06daff92e5f7cca55d1698252e3aa6526877c8b).
Thanks to xet7.
- [Try to fix lint errors](https://github.com/wekan/wekan/commit/58e505f79a0617011576bdded9427b0d448d6107).
Thanks to xet7.
- [Add to Snap MongoDB logging option --quiet](https://github.com/wekan/wekan/commit/c7ded515022fff2c1167ce8938405a846185a710).
Thanks to fmeehan and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.55 2019-11-19 Wekan release
This release fixes the following bugs:
@@ -75,7 +162,7 @@ This release adds the following new features:
mode](https://github.com/wekan/wekan/commits/77f8b76d4e13c35ea3451622176bbb69a4d39a32).
Thanks to whowillcare.
- Allow user to sort Lists in Board by his own preference boardadmin can star
list [1](https://github.com/wekan/wekan/commit/bc2a20f04e32607f8488a9cecd815647fb43e40e),
list [1](https://github.com/wekan/wekan/commit/bc2a20f04e32607f8488a9cecd815647fb43e40e),
[2](https://github.com/wekan/wekan/commit/bc2a20f04e32607f8488a9cecd815647fb43e40e).
Thanks to whowillcare.
- [Allowing user to filter list in Filter function not just cards
@@ -192,7 +279,7 @@ This release adds the following new features:
NOTIFY_DUE_DAYS_BEFORE_AND_AFTER = 2,0 it means notification will be sent on both due day and two days before.
Thanks to whowillcare.
- [Added modifications the help files, related to NOTIFY_DUE_DAYS_BEFORE_AND_AFTER](https://github.com/wekan/wekan/pull/2740).
Thanks to whowillcare.
Thanks to whowillcare.
and fixes the following bugs:
@@ -243,7 +330,7 @@ This release adds the following new features:
- [More Mobile and Desktop drag handles for Swimlanes/Lists/Cards. Part 1](https://github.com/wekan/wekan/commit/ff550e91103115e7b731dd80c4588b93b2d4c64f).
Thanks to xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.40 2019-09-11 Wekan release
@@ -652,7 +739,7 @@ This release fixes the following bugs:
- [Add missing dependencies back and revert deleting phantomjs](https://github.com/wekan/wekan/commit/32e9aa0ddaf1b015825b8c62ad17ed74b449e4b1).
Thanks to whowillcare and xet7.
Thanks to above GitHub users for their contributions and translators for their translations.
# v3.09 2019-08-07 Wekan release
+3 -3
View File
@@ -1,12 +1,12 @@
FROM ubuntu:disco
FROM ubuntu:rolling
LABEL maintainer="wekan"
# Set the environment variables (defaults where required)
# DOES NOT WORK: paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
# ENV BUILD_DEPS="paxctl"
ENV BUILD_DEPS="apt-utils bsdtar gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates" \
ENV BUILD_DEPS="apt-utils libarchive-tools gnupg gosu wget curl bzip2 g++ build-essential git ca-certificates python3" \
DEBUG=false \
NODE_VERSION=v8.16.2 \
NODE_VERSION=v8.17.0 \
METEOR_RELEASE=1.8.1 \
USE_EDGE=false \
METEOR_EDGE=1.5-beta.17 \
+1 -1
View File
@@ -1,5 +1,5 @@
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
appVersion: "v3.55.0"
appVersion: "v3.59.0"
files:
userUploads:
- README.md
-3
View File
@@ -16,9 +16,6 @@ BlazeComponent.extendComponent({
events() {
return [
{
'click .js-new-comment:not(.focus)'() {
commentFormIsOpen.set(true);
},
'submit .js-new-comment-form'(evt) {
const input = this.getInput();
const text = input.val().trim();
+5 -16
View File
@@ -1,3 +1,5 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const subManager = new SubsManager();
const { calculateIndex, enableClickOnTouch } = Utils;
const swimlaneWhileSortingHeight = 150;
@@ -192,21 +194,16 @@ BlazeComponent.extendComponent({
// ugly touch event hotfix
enableClickOnTouch('.js-swimlane:not(.placeholder)');
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
this.autorun(() => {
let showDesktopDragHandles = false;
currentUser = Meteor.user();
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
}
showDesktopDragHandles = false;
}
if (
Utils.isMiniScreen() ||
@@ -246,8 +243,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-swimlanes';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-swimlanes';
}
},
@@ -257,8 +252,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-lists';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-lists';
}
},
@@ -268,8 +261,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-cal';
}
},
@@ -432,8 +423,6 @@ BlazeComponent.extendComponent({
if (currentUser) {
return (currentUser.profile || {}).boardView === 'board-view-cal';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('boardView') === 'board-view-cal';
}
},
-12
View File
@@ -103,14 +103,9 @@ template(name="boardHeaderBar")
i.fa.fa-trello
if $eq boardView 'board-view-swimlanes'
i.fa.fa-th-large
// unless collapseSwimlane
// i.fa.fa-th-large
// if collapseSwimlane
// i.fa.fa-play
if $eq boardView 'board-view-cal'
i.fa.fa-calendar
span {{#if boardView}}{{_ boardView}}{{else}}{{_ 'board-view-lists'}}{{/if}}
//span {{#if collapseSwimlane}}{{_ 'board-view-collapse'}}{{else}}{{#if boardView}}{{_ boardView}}{{else}}{{_ 'board-view-lists'}}{{/if}}{{/if}}
if canModifyBoard
a.board-header-btn.js-multiselection-activate(
@@ -191,13 +186,6 @@ template(name="boardChangeViewPopup")
| {{_ 'board-view-swimlanes'}}
if $eq Utils.boardView "board-view-swimlanes"
i.fa.fa-check
//li
// with "board-view-collapse"
// a.js-open-collapse-view
// i.fa.fa-play.colorful
// | {{_ 'board-view-collapse'}}
// if $eq Utils.boardView "board-view-collapse"
// i.fa.fa-check
li
with "board-view-cal"
a.js-open-cal-view
-12
View File
@@ -175,15 +175,6 @@ Template.boardHeaderBar.helpers({
boardView() {
return Utils.boardView();
},
//collapseSwimlane() {
// import { Cookies } from 'meteor/ostrio:cookies';
// const cookies = new Cookies();
// if (cookies.has('collapseSwimlane')) {
// return true;
// } else {
// return false;
// }
//},
});
Template.boardChangeViewPopup.events({
@@ -195,9 +186,6 @@ Template.boardChangeViewPopup.events({
Utils.setBoardView('board-view-swimlanes');
Popup.close();
},
//'click .js-open-collapse-view'() {
// Utils.setBoardView('board-view-collapse');
//Popup.close();
'click .js-open-cal-view'() {
Utils.setBoardView('board-view-cal');
Popup.close();
+14 -12
View File
@@ -38,18 +38,20 @@ template(name="attachmentsGalery")
| {{_ 'download'}}
if currentUser.isBoardMember
unless currentUser.isCommentOnly
if isImage
a(class="{{#if $eq ../coverId _id}}js-remove-cover{{else}}js-add-cover{{/if}}")
i.fa.fa-thumb-tack
if($eq ../coverId _id)
| {{_ 'remove-cover'}}
else
| {{_ 'add-cover'}}
a.js-confirm-delete
i.fa.fa-close
| {{_ 'delete'}}
unless currentUser.isWorker
if isImage
a(class="{{#if $eq ../coverId _id}}js-remove-cover{{else}}js-add-cover{{/if}}")
i.fa.fa-thumb-tack
if($eq ../coverId _id)
| {{_ 'remove-cover'}}
else
| {{_ 'add-cover'}}
a.js-confirm-delete
i.fa.fa-close
| {{_ 'delete'}}
if currentUser.isBoardMember
unless currentUser.isCommentOnly
li.attachment-item.add-attachment
a.js-add-attachment {{_ 'add-attachment' }}
unless currentUser.isWorker
li.attachment-item.add-attachment
a.js-add-attachment {{_ 'add-attachment' }}
+2 -1
View File
@@ -97,7 +97,8 @@ Template.dateBadge.helpers({
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
});
+187 -96
View File
@@ -1,7 +1,7 @@
template(name="cardDetails")
section.card-details.js-card-details.js-perfect-scrollbar: .card-details-canvas
.card-details-header(class='{{#if colorClass}}card-details-{{colorClass}}{{/if}}')
+inlinedForm(classNames="js-card-details-title")
+inlinedForm(classNames="{{#if canModifyCardWorker}}js-card-details-title{{/if}}")
+editCardTitleForm
else
unless isMiniScreen
@@ -13,11 +13,11 @@ template(name="cardDetails")
if currentUser.isBoardMember
a.fa.fa-navicon.card-details-menu-mobile-web.js-open-card-details-menu
h2.card-details-title.js-card-title(
class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}")
class="{{#if canModifyCardWorker}}js-open-inlined-form is-editable{{/if}}")
+viewer
= getTitle
if isWatching
i.fa.fa-eye.card-details-watch
if isWatching
i.card-details-watch.fa.fa-eye
.card-details-path
each parentList
| &nbsp; &gt; &nbsp;
@@ -37,49 +37,66 @@ template(name="cardDetails")
.card-details-items
.card-details-item.card-details-item-received
h3.card-details-item-title {{_ 'card-received'}}
h3
i.fa.fa-sign-out
card-details-item-title {{_ 'card-received'}}
if getReceived
+cardReceivedDate
else
if canModifyCard
a.js-received-date {{_ 'add'}}
unless currentUser.isWorker
a.js-received-date {{_ 'add'}}
.card-details-item.card-details-item-start
h3.card-details-item-title {{_ 'card-start'}}
h3
i.fa.fa-hourglass-start
card-details-item-title {{_ 'card-start'}}
if getStart
+cardStartDate
else
if canModifyCard
a.js-start-date {{_ 'add'}}
unless currentUser.isWorker
a.js-start-date {{_ 'add'}}
.card-details-item.card-details-item-due
h3.card-details-item-title {{_ 'card-due'}}
h3
i.fa.fa-sign-in
card-details-item-title {{_ 'card-due'}}
if getDue
+cardDueDate
else
if canModifyCard
a.js-due-date {{_ 'add'}}
unless currentUser.isWorker
a.js-due-date {{_ 'add'}}
.card-details-item.card-details-item-end
h3.card-details-item-title {{_ 'card-end'}}
h3
i.fa.fa-hourglass-end
card-details-item-title {{_ 'card-end'}}
if getEnd
+cardEndDate
else
if canModifyCard
a.js-end-date {{_ 'add'}}
unless currentUser.isWorker
a.js-end-date {{_ 'add'}}
.card-details-items
.card-details-item.card-details-item-members
h3.card-details-item-title {{_ 'members'}}
h3
i.fa.fa-users
card-details-item-title {{_ 'members'}}
each getMembers
+userAvatar(userId=this cardId=../_id)
| {{! XXX Hack to hide syntaxic coloration /// }}
if canModifyCard
a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}")
i.fa.fa-plus
unless currentUser.isWorker
a.member.add-member.card-details-item-add-button.js-add-members(title="{{_ 'card-members-title'}}")
i.fa.fa-plus
.card-details-item.card-details-item-assignees
h3.card-details-item-title {{_ 'assignee'}}
h3
i.fa.fa-user
card-details-item-title {{_ 'assignee'}}
each getAssignees
+userAvatarAssignee(userId=this cardId=../_id)
| {{! XXX Hack to hide syntaxic coloration /// }}
@@ -89,15 +106,18 @@ template(name="cardDetails")
i.fa.fa-plus
.card-details-item.card-details-item-labels
h3.card-details-item-title {{_ 'labels'}}
h3
i.fa.fa-tags
card-details-item-title {{_ 'labels'}}
a(class="{{#if canModifyCard}}js-add-labels{{else}}is-disabled{{/if}}" title="{{_ 'card-labels-title'}}")
each labels
span.card-label(class="card-label-{{color}}" title=name)
+viewer
= name
if canModifyCard
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
i.fa.fa-plus
unless currentUser.isWorker
a.card-label.add-label.js-add-labels(title="{{_ 'card-labels-title'}}")
i.fa.fa-plus
.card-details-items
each customFieldsWD
@@ -118,26 +138,29 @@ template(name="cardDetails")
//- XXX We should use "editable" to avoid repetiting ourselves
if canModifyCard
h3.card-details-item-title {{_ 'description'}}
+inlinedCardDescription(classNames="card-description js-card-description")
+editor(autofocus=true)
| {{getUnsavedValue 'cardDescription' _id getDescription}}
.edit-controls.clearfix
button.primary(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
else
a.js-open-inlined-form
if getDescription
+viewer
= getDescription
else
| {{_ 'edit'}}
if (hasUnsavedValue 'cardDescription' _id)
p.quiet
| {{_ 'unsaved-description'}}
a.js-open-inlined-form {{_ 'view-it'}}
= ' - '
a.js-close-inlined-form {{_ 'discard'}}
unless currentUser.isWorker
h3
i.fa.fa-align-left
card-details-item-title {{_ 'description'}}
+inlinedCardDescription(classNames="card-description js-card-description")
+editor(autofocus=true)
| {{getUnsavedValue 'cardDescription' _id getDescription}}
.edit-controls.clearfix
button.primary(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
else
a.js-open-inlined-form
if getDescription
+viewer
= getDescription
else
| {{_ 'edit'}}
if (hasUnsavedValue 'cardDescription' _id)
p.quiet
| {{_ 'unsaved-description'}}
a.js-open-inlined-form {{_ 'view-it'}}
= ' - '
a.js-close-inlined-form {{_ 'discard'}}
else if getDescription
h3.card-details-item-title {{_ 'description'}}
+viewer
@@ -145,33 +168,39 @@ template(name="cardDetails")
.card-details-items
.card-details-item.card-details-item-name
h3.card-details-item-title {{_ 'requested-by'}}
h3
i.fa.fa-shopping-cart
card-details-item-title {{_ 'requested-by'}}
if canModifyCard
+inlinedForm(classNames="js-card-details-requester")
+editCardRequesterForm
else
a.js-open-inlined-form
if getRequestedBy
+viewer
= getRequestedBy
else
| {{_ 'add'}}
unless currentUser.isWorker
+inlinedForm(classNames="js-card-details-requester")
+editCardRequesterForm
else
a.js-open-inlined-form
if getRequestedBy
+viewer
= getRequestedBy
else
| {{_ 'add'}}
else if getRequestedBy
+viewer
= getRequestedBy
.card-details-item.card-details-item-name
h3.card-details-item-title {{_ 'assigned-by'}}
h3
i.fa.fa-user-plus
card-details-item-title {{_ 'assigned-by'}}
if canModifyCard
+inlinedForm(classNames="js-card-details-assigner")
+editCardAssignerForm
else
a.js-open-inlined-form
if getAssignedBy
+viewer
= getAssignedBy
else
| {{_ 'add'}}
unless currentUser.isWorker
+inlinedForm(classNames="js-card-details-assigner")
+editCardAssignerForm
else
a.js-open-inlined-form
if getAssignedBy
+viewer
= getAssignedBy
else
| {{_ 'add'}}
else if getRequestedBy
+viewer
= getAssignedBy
@@ -193,7 +222,9 @@ template(name="cardDetails")
hr
unless currentUser.isNoComments
.activity-title
h3 {{ _ 'activity'}}
h3
i.fa.fa-history
| {{ _ 'activity'}}
if currentUser.isBoardMember
.material-toggle-switch
span.toggle-switch-title {{_ 'hide-system-messages'}}
@@ -235,32 +266,79 @@ template(name="editCardAssignerForm")
template(name="cardDetailsActionsPopup")
ul.pop-over-list
li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}}
li
a.js-toggle-watch-card
if isWatching
i.fa.fa-eye
| {{_ 'unwatch'}}
else
i.fa.fa-eye-slash
| {{_ 'watch'}}
if canModifyCard
hr
unless currentUser.isWorker
hr
ul.pop-over-list
//li: a.js-members {{_ 'card-edit-members'}}
//li: a.js-labels {{_ 'card-edit-labels'}}
//li: a.js-attachments {{_ 'card-edit-attachments'}}
li
a.js-custom-fields
i.fa.fa-list-alt
| {{_ 'card-edit-custom-fields'}}
//li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
//li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
//li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
//li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
li
a.js-spent-time
i.fa.fa-clock-o
| {{_ 'editCardSpentTimePopup-title'}}
li
a.js-set-card-color
i.fa.fa-paint-brush
| {{_ 'setCardColorPopup-title'}}
hr
ul.pop-over-list
//li: a.js-members {{_ 'card-edit-members'}}
//li: a.js-labels {{_ 'card-edit-labels'}}
//li: a.js-attachments {{_ 'card-edit-attachments'}}
li: a.js-custom-fields {{_ 'card-edit-custom-fields'}}
//li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
//li: a.js-start-date {{_ 'editCardStartDatePopup-title'}}
//li: a.js-due-date {{_ 'editCardDueDatePopup-title'}}
//li: a.js-end-date {{_ 'editCardEndDatePopup-title'}}
li: a.js-spent-time {{_ 'editCardSpentTimePopup-title'}}
li: a.js-set-card-color {{_ 'setCardColorPopup-title'}}
hr
ul.pop-over-list
li: a.js-move-card-to-top {{_ 'moveCardToTop-title'}}
li: a.js-move-card-to-bottom {{_ 'moveCardToBottom-title'}}
hr
ul.pop-over-list
li: a.js-move-card {{_ 'moveCardPopup-title'}}
li: a.js-copy-card {{_ 'copyCardPopup-title'}}
li: a.js-copy-checklist-cards {{_ 'copyChecklistToManyCardsPopup-title'}}
li
a.js-move-card-to-top
i.fa.fa-arrow-up
| {{_ 'moveCardToTop-title'}}
li
a.js-move-card-to-bottom
i.fa.fa-arrow-down
| {{_ 'moveCardToBottom-title'}}
unless currentUser.isWorker
hr
ul.pop-over-list
li
a.js-move-card
i.fa.fa-arrow-right
| {{_ 'moveCardPopup-title'}}
li
a.js-copy-card
i.fa.fa-copy
| {{_ 'copyCardPopup-title'}}
hr
ul.pop-over-list
li
a.js-copy-checklist-cards
i.fa.fa-list
i.fa.fa-copy
| {{_ 'copyChecklistToManyCardsPopup-title'}}
unless archived
li: a.js-archive {{_ 'archive-card'}}
li: a.js-more {{_ 'cardMorePopup-title'}}
hr
ul.pop-over-list
li
a.js-archive
i.fa.fa-arrow-right
i.fa.fa-archive
| {{_ 'archive-card'}}
hr
ul.pop-over-list
li
a.js-more
i.fa.fa-link
| {{_ 'cardMorePopup-title'}}
template(name="moveCardPopup")
+boardsAndLists
@@ -312,16 +390,27 @@ template(name="cardMembersPopup")
i.fa.fa-check
template(name="cardAssigneesPopup")
ul.pop-over-list.js-card-assignee-list
each board.activeMembers
li.item(class="{{#if isCardAssignee}}active{{/if}}")
a.name.js-select-assignee(href="#")
+userAvatar(userId=user._id)
span.full-name
= user.profile.fullname
| (<span class="username">{{ user.username }}</span>)
if isCardAssignee
i.fa.fa-check
unless currentUser.isWorker
ul.pop-over-list.js-card-assignee-list
each board.activeMembers
li.item(class="{{#if isCardAssignee}}active{{/if}}")
a.name.js-select-assignee(href="#")
+userAvatar(userId=user._id)
span.full-name
= user.profile.fullname
| (<span class="username">{{ user.username }}</span>)
if isCardAssignee
i.fa.fa-check
if currentUser.isWorker
ul.pop-over-list.js-card-assignee-list
li.item(class="{{#if currentUser.isCardAssignee}}active{{/if}}")
a.name.js-select-assigneeWorker(href="#")
+userAvatar(userId=currentUser._id)
span.full-name
= currentUser.profile.fullname
| (<span class="username">{{ currentUser.username }}</span>)
if currentUser.isCardAssignee
i.fa.fa-check
template(name="userAvatarAssignee")
a.assignee.js-assignee(title="{{userData.profile.fullname}} ({{userData.username}})")
@@ -349,11 +438,13 @@ template(name="cardAssigneePopup")
p.quiet @{{ user.username }}
ul.pop-over-list
if currentUser.isNotCommentOnly
unless currentUser.isWorker
li: a.js-remove-assignee {{_ 'remove-member-from-card'}}
if $eq currentUser._id user._id
with currentUser
li: a.js-edit-profile {{_ 'edit-profile'}}
unless currentUser.isWorker
if $eq currentUser._id user._id
with currentUser
li: a.js-edit-profile {{_ 'edit-profile'}}
template(name="userAvatarAssigneeInitials")
svg.avatar.avatar-assignee-initials(viewBox="0 0 {{viewPortWidth}} 15")
+44 -1
View File
@@ -26,6 +26,7 @@ BlazeComponent.extendComponent({
onCreated() {
this.currentBoard = Boards.findOne(Session.get('currentBoard'));
this.currentUser = Meteor.user();
this.isLoaded = new ReactiveVar(false);
const boardBody = this.parentComponent().parentComponent();
//in Miniview parent is Board, not BoardBody.
@@ -55,6 +56,15 @@ BlazeComponent.extendComponent({
);
},
canModifyCardWorker() {
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
scrollParentContainer() {
const cardPanelWidth = 510;
const bodyBoardComponent = this.parentComponent().parentComponent();
@@ -291,6 +301,8 @@ BlazeComponent.extendComponent({
.trim();
if (title) {
this.data().setTitle(title);
} else {
this.data().setTitle('');
}
},
'submit .js-card-details-assigner'(event) {
@@ -300,6 +312,8 @@ BlazeComponent.extendComponent({
.trim();
if (assigner) {
this.data().setAssignedBy(assigner);
} else {
this.data().setAssignedBy('');
}
},
'submit .js-card-details-requester'(event) {
@@ -309,6 +323,8 @@ BlazeComponent.extendComponent({
.trim();
if (requester) {
this.data().setRequestedBy(requester);
} else {
this.data().setRequestedBy('');
}
},
'click .js-member': Popup.open('cardMember'),
@@ -377,6 +393,13 @@ Template.cardDetails.helpers({
return user && user.isBoardAdmin() ? 'admin' : 'normal';
},
isWorker() {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
return (
!currentBoard.hasAdmin(this.userId) && currentBoard.hasWorker(this.userId)
);
},
presenceStatusClassName() {
const user = Users.findOne(this.userId);
const userPresence = presences.findOne({ userId: this.userId });
@@ -453,6 +476,15 @@ Template.cardDetailsActionsPopup.helpers({
!Meteor.user().isCommentOnly()
);
},
canModifyCardWorker() {
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
});
Template.cardDetailsActionsPopup.events({
@@ -461,7 +493,12 @@ Template.cardDetailsActionsPopup.events({
'click .js-labels': Popup.open('cardLabels'),
'click .js-attachments': Popup.open('cardAttachments'),
'click .js-custom-fields': Popup.open('cardCustomFields'),
'click .js-received-date': Popup.open('editCardReceivedDate'),
'click .js-received-date'(event) {
event.preventDefault();
if (!Meteor.user().isWorker) {
Popup.open('editCardReceivedDate');
}
},
'click .js-start-date': Popup.open('editCardStartDate'),
'click .js-due-date': Popup.open('editCardDueDate'),
'click .js-end-date': Popup.open('editCardEndDate'),
@@ -873,6 +910,12 @@ Template.cardAssigneesPopup.events({
card.toggleAssignee(assigneeId);
event.preventDefault();
},
'click .js-select-assigneeWorker'(event) {
const card = Cards.findOne(Session.get('currentCard'));
const assigneeId = currentUser._id;
card.toggleAssignee(assigneeId);
event.preventDefault();
},
});
Template.cardAssigneesPopup.helpers({
+3 -1
View File
@@ -1,5 +1,7 @@
template(name="checklists")
h3 {{_ 'checklists'}}
h3
i.fa.fa-check
| {{_ 'checklists'}}
if toggleDeleteDialog.get
.board-overlay#card-details-overlay
+checklistDeleteDialog(checklist = checklistToDelete)
+6 -3
View File
@@ -67,7 +67,8 @@ BlazeComponent.extendComponent({
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
}).register('checklistDetail');
@@ -120,7 +121,8 @@ BlazeComponent.extendComponent({
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
@@ -228,7 +230,8 @@ Template.checklistItemDetail.helpers({
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
});
+7 -6
View File
@@ -67,14 +67,15 @@ template(name="minicard")
.minicard-custom-fields
each customFieldsWD
if definition.showOnCard
.minicard-custom-field
if definition.showLabelOnMiniCard
if trueValue
.minicard-custom-field
if definition.showLabelOnMiniCard
.minicard-custom-field-item
+viewer
= definition.name
.minicard-custom-field-item
+viewer
= definition.name
.minicard-custom-field-item
+viewer
= trueValue
= trueValue
if getAssignees
.minicard-assignees.js-minicard-assignees
+8 -16
View File
@@ -1,3 +1,5 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
// Template.cards.events({
// 'click .member': Popup.open('cardMember')
// });
@@ -18,8 +20,6 @@ BlazeComponent.extendComponent({
},
{
'click .js-toggle-minicard-label-text'() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText'); //true
} else {
@@ -36,28 +36,20 @@ Template.minicard.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
return false;
}
},
hiddenMinicardLabelText() {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else if (cookies.has('hiddenMinicardLabelText')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
return true;
} else {
return false;
}
return false;
}
},
});
+3 -1
View File
@@ -1,5 +1,7 @@
template(name="subtasks")
h3 {{_ 'subtasks'}}
h3
i.fa.fa-sitemap
| {{_ 'subtasks'}}
if toggleDeleteDialog.get
.board-overlay#card-details-overlay
+subtaskDeleteDialog(subtask = subtaskToDelete)
+6 -3
View File
@@ -3,7 +3,8 @@ BlazeComponent.extendComponent({
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
}).register('subtaskDetail');
@@ -55,7 +56,8 @@ BlazeComponent.extendComponent({
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
@@ -154,7 +156,8 @@ Template.subtaskItemDetail.helpers({
return (
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
});
+8 -15
View File
@@ -1,3 +1,5 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndex, enableClickOnTouch } = Utils;
BlazeComponent.extendComponent({
@@ -115,21 +117,16 @@ BlazeComponent.extendComponent({
// ugly touch event hotfix
enableClickOnTouch(itemsSelector);
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
this.autorun(() => {
let showDesktopDragHandles = false;
currentUser = Meteor.user();
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
}
showDesktopDragHandles = false;
}
if (!Utils.isMiniScreen() && showDesktopDragHandles) {
@@ -179,14 +176,10 @@ Template.list.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
return false;
}
},
});
+2 -1
View File
@@ -189,7 +189,8 @@ BlazeComponent.extendComponent({
!this.reachedWipLimit() &&
Meteor.user() &&
Meteor.user().isBoardMember() &&
!Meteor.user().isCommentOnly()
!Meteor.user().isCommentOnly() &&
!Meteor.user().isWorker()
);
},
+35 -12
View File
@@ -56,25 +56,47 @@ template(name="editListTitleForm")
template(name="listActionPopup")
ul.pop-over-list
li: a.js-toggle-watch-list {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}}
li
a.js-toggle-watch-list
if isWatching
i.fa.fa-eye
| {{_ 'unwatch'}}
else
i.fa.fa-eye-slash
| {{_ 'watch'}}
unless currentUser.isCommentOnly
hr
ul.pop-over-list
li: a.js-set-color-list {{_ 'set-color-list'}}
hr
unless currentUser.isWorker
ul.pop-over-list
li
a.js-set-color-list
i.fa.fa-paint-brush
| {{_ 'set-color-list'}}
ul.pop-over-list
if cards.count
li: a.js-select-cards {{_ 'list-select-cards'}}
hr
li
a.js-select-cards
i.fa.fa-check-square
| {{_ 'list-select-cards'}}
if currentUser.isBoardAdmin
ul.pop-over-list
li: a.js-set-wip-limit {{#if isWipLimitEnabled }}{{_ 'edit-wip-limit'}}{{else}}{{_ 'setWipLimitPopup-title'}}{{/if}}
li
a.js-set-wip-limit
i.fa.fa-ban
| {{#if isWipLimitEnabled }}{{_ 'edit-wip-limit'}}{{else}}{{_ 'setWipLimitPopup-title'}}{{/if}}
unless currentUser.isWorker
hr
ul.pop-over-list
li: a.js-close-list {{_ 'archive-list'}}
ul.pop-over-list
li
a.js-close-list
i.fa.fa-arrow-right
i.fa.fa-archive
| {{_ 'archive-list'}}
hr
ul.pop-over-list
li: a.js-more {{_ 'listMorePopup-title'}}
li
a.js-more
i.fa.fa-link
| {{_ 'listMorePopup-title'}}
template(name="boardLists")
ul.pop-over-list
@@ -94,7 +116,8 @@ template(name="listMorePopup")
input.inline-input(type="text" readonly value="{{ rootUrl }}")
| {{_ 'added'}}
span.date(title=list.createdAt) {{ moment createdAt 'LLL' }}
a.js-delete {{_ 'delete'}}
unless currentUser.isWorker
a.js-delete {{_ 'delete'}}
template(name="listDeletePopup")
p {{_ "list-delete-pop"}}
+11 -10
View File
@@ -1,3 +1,5 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
let listsColors;
Meteor.startup(() => {
listsColors = Lists.simpleSchema()._schema.color.allowedValues;
@@ -7,9 +9,10 @@ BlazeComponent.extendComponent({
canSeeAddCard() {
const list = Template.currentData();
return (
!list.getWipLimit('enabled') ||
list.getWipLimit('soft') ||
!this.reachedWipLimit()
(!list.getWipLimit('enabled') ||
list.getWipLimit('soft') ||
!this.reachedWipLimit()) &&
!Meteor.user().isWorker()
);
},
@@ -47,6 +50,8 @@ BlazeComponent.extendComponent({
const currentUser = Meteor.user();
if (currentUser) {
return Meteor.user().getLimitToShowCardsCount();
} else {
return false;
}
},
@@ -105,14 +110,10 @@ Template.listHeader.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
return false;
}
},
});
@@ -4,12 +4,16 @@ template(name='information')
| {{_ 'error-notAuthorized'}}
else
.content-title
span {{_ 'info'}}
span
i.fa.fa-info-circle
| {{_ 'info'}}
.content-body
.side-menu
ul
li.active
a.js-setting-menu(data-id="information-display") {{_ 'info'}}
a.js-setting-menu(data-id="information-display")
i.fa.fa-info-circle
| {{_ 'info'}}
.main-body
+statistics
+54 -18
View File
@@ -5,16 +5,22 @@ template(name="people")
else
.content-title.ext-box
.ext-box-left
span {{_ 'people'}}
span
i.fa.fa-users
| {{_ 'people'}}
input#searchInput(placeholder="{{_ 'search'}}")
button#searchButton {{_ 'search'}}
button#searchButton
i.fa.fa-search
| {{_ 'search'}}
.ext-box-right
span {{_ 'people-number'}} #{peopleNumber}
.content-body
.side-menu
ul
li.active
a.js-setting-menu(data-id="people-setting") {{_ 'people'}}
a.js-setting-menu(data-id="people-setting")
i.fa.fa-users
| {{_ 'people'}}
.main-body
if loading.get
+spinner
@@ -39,28 +45,58 @@ template(name="peopleGeneral")
template(name="peopleRow")
tr
td.username {{ userData.username }}
td {{ userData.profile.fullname }}
td
if userData.isAdmin
| {{_ 'yes'}}
else
| {{_ 'no'}}
td {{ userData.emails.[0].address }}
td
if userData.emails.[0].verified
| {{_ 'yes'}}
else
| {{_ 'no'}}
td {{ moment userData.createdAt 'LLL' }}
if userData.loginDisabled
td.username <s>{{ userData.username }}</s>
else
td.username {{ userData.username }}
if userData.loginDisabled
td <s>{{ userData.profile.fullname }}</s>
else
td {{ userData.profile.fullname }}
if userData.loginDisabled
td
if userData.isAdmin
| <s>{{_ 'yes'}}</s>
else
| <s>{{_ 'no'}}</s>
else
td
if userData.isAdmin
| {{_ 'yes'}}
else
| {{_ 'no'}}
if userData.loginDisabled
td <s>{{ userData.emails.[0].address }}</s>
else
td {{ userData.emails.[0].address }}
if userData.loginDisabled
td
if userData.emails.[0].verified
| <s>{{_ 'yes'}}</s>
else
| <s>{{_ 'no'}}</s>
else
td
if userData.emails.[0].verified
| {{_ 'yes'}}
else
| {{_ 'no'}}
if userData.loginDisabled
td <s>{{ moment userData.createdAt 'LLL' }}</s>
else
td {{ moment userData.createdAt 'LLL' }}
td
if userData.loginDisabled
| {{_ 'no'}}
else
| {{_ 'yes'}}
td {{_ userData.authenticationMethod }}
if userData.loginDisabled
td <s>{{_ userData.authenticationMethod }}</s>
else
td {{_ userData.authenticationMethod }}
td
a.edit-user
i.fa.fa-edit
| {{_ 'edit'}}
template(name="editUserPopup")
+1 -1
View File
@@ -33,7 +33,7 @@ table
padding: 0;
button
min-width: 60px;
min-width: 90px;
.content-wrapper
margin-top: 10px
+19 -6
View File
@@ -4,22 +4,35 @@ template(name="setting")
| {{_ 'error-notAuthorized'}}
else
.content-title
i.fa.fa-cog
span {{_ 'settings'}}
.content-body
.side-menu
ul
li.active
a.js-setting-menu(data-id="registration-setting") {{_ 'registration'}}
a.js-setting-menu(data-id="registration-setting")
i.fa.fa-sign-in
| {{_ 'registration'}}
li
a.js-setting-menu(data-id="email-setting") {{_ 'email'}}
a.js-setting-menu(data-id="email-setting")
i.fa.fa-envelope
| {{_ 'email'}}
li
a.js-setting-menu(data-id="account-setting") {{_ 'accounts'}}
a.js-setting-menu(data-id="account-setting")
i.fa.fa-users
| {{_ 'accounts'}}
li
a.js-setting-menu(data-id="announcement-setting") {{_ 'admin-announcement'}}
a.js-setting-menu(data-id="announcement-setting")
i.fa.fa-bullhorn
| {{_ 'admin-announcement'}}
li
a.js-setting-menu(data-id="layout-setting") {{_ 'layout'}}
a.js-setting-menu(data-id="layout-setting")
i.fa.fa-object-group
| {{_ 'layout'}}
li
a.js-setting-menu(data-id="webhook-setting") {{_ 'global-webhook'}}
a.js-setting-menu(data-id="webhook-setting")
i.fa.fa-globe
| {{_ 'global-webhook'}}
.main-body
if loading.get
+spinner
+4 -1
View File
@@ -41,15 +41,18 @@
&:hover
background #fff
box-shadow 0 1px 2px rgba(0,0,0,0.15);
a
@extends .flex
padding: 1rem 0 1rem 1rem
width: 100% - 5rem
span
font-size: 13px
i
margin-right: 20px
.main-body
padding: 0.1em 1em
-webkit-user-select: text // Safari 3.1+
+78 -27
View File
@@ -37,11 +37,12 @@ template(name='homeSidebar')
template(name="membersWidget")
.board-widget.board-widget-members
h3
i.fa.fa-user
i.fa.fa-users
| {{_ 'members'}}
unless currentUser.isCommentOnly
a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}").right
i.board-header-btn-icon.fa.fa-cog
unless currentUser.isWorker
a.board-header-btn.js-open-board-menu(title="{{_ 'boardMenuPopup-title'}}").right
i.board-header-btn-icon.fa.fa-cog
.board-widget-content
each currentBoard.activeMembers
@@ -130,7 +131,9 @@ template(name="chooseBoardSource")
template(name="archiveBoardPopup")
p {{_ 'close-board-pop'}}
button.js-confirm.negate.full(type="submit") {{_ 'archive'}}
button.js-confirm.negate.full(type="submit")
i.fa.fa-archive
| {{_ 'archive'}}
template(name="outgoingWebhooksPopup")
each integrations
@@ -162,38 +165,80 @@ template(name="outgoingWebhooksPopup")
template(name="boardMenuPopup")
ul.pop-over-list
li: a.js-custom-fields {{_ 'custom-fields'}}
li: a.js-open-archives {{_ 'archived-items'}}
if isNotWorker
li: a.js-custom-fields {{_ 'custom-fields'}}
li
a.js-open-archives
i.fa.fa-archive
| {{_ 'archived-items'}}
if currentUser.isBoardAdmin
li: a.js-change-board-color {{_ 'board-change-color'}}
li
a.js-change-board-color
i.fa.fa-paint-brush
| {{_ 'board-change-color'}}
//-
XXX Language should be handled by sandstorm, but for now display a
language selection link in the board menu. This link is normally present
in the header bar that is not displayed on sandstorm.
if isSandstorm
li: a.js-change-language {{_ 'language'}}
li
a.js-change-language
i.fa.fa-flag
| {{_ 'language'}}
unless isSandstorm
if currentUser.isBoardAdmin
hr
ul.pop-over-list
li: a(href="{{exportUrl}}", download="{{exportFilename}}") {{_ 'export-board'}}
unless currentBoard.isTemplatesBoard
li: a.js-archive-board {{_ 'archive-board'}}
li: a.js-outgoing-webhooks {{_ 'outgoing-webhooks'}}
hr
ul.pop-over-list
li: a.js-subtask-settings {{_ 'subtask-settings'}}
li
a(href="{{exportUrl}}", download="{{exportFilename}}")
i.fa.fa-share-alt
| {{_ 'export-board'}}
li
a.js-outgoing-webhooks
i.fa.fa-globe
| {{_ 'outgoing-webhooks'}}
li
a.js-subtask-settings
i.fa.fa-sitemap
| {{_ 'subtask-settings'}}
unless currentBoard.isTemplatesBoard
hr
ul.pop-over-list
li
a.js-archive-board
i.fa.fa-arrow-right
i.fa.fa-archive
| {{_ 'archive-board'}}
if isSandstorm
hr
ul.pop-over-list
li: a(href="{{exportUrl}}", download="{{exportFilename}}") {{_ 'export-board'}}
li: a.js-import-board {{_ 'import-board-c'}}
li: a.js-archive-board {{_ 'archive-board'}}
li: a.js-outgoing-webhooks {{_ 'outgoing-webhooks'}}
li
a(href="{{exportUrl}}", download="{{exportFilename}}")
i.fa.fa-share-alt
i.fa.fa-sign-out
| {{_ 'export-board'}}
li
a.js-import-board
i.fa.fa-share-alt
i.fa.fa-sign-in
| {{_ 'import-board-c'}}
li
a.js-archive-board
i.fa.fa-arrow-right
i.fa.fa-archive
| {{_ 'archive-board'}}
li
a.js-outgoing-webhooks
i.fa.fa-globe
| {{_ 'outgoing-webhooks'}}
hr
ul.pop-over-list
li: a.js-subtask-settings {{_ 'subtask-settings'}}
li
a.js-subtask-settings
i.fa.fa-sitemap
| {{_ 'subtask-settings'}}
template(name="labelsWidget")
.board-widget.board-widget-labels
@@ -203,7 +248,7 @@ template(name="labelsWidget")
.board-widget-content
each currentBoard.labels
a.card-label(class="card-label-{{color}}"
class="{{#if currentUser.isNotCommentOnly}}js-label{{/if}}")
class="{{#if currentUser.isNotCommentOnly}}{{#if currentUser.isNotWorker}}js-label{{/if}}{{/if}}")
span.card-label-name
+viewer
= name
@@ -232,12 +277,12 @@ template(name="memberPopup")
a.js-change-role
| {{_ 'change-permissions'}}
span.quiet (#{memberType})
li
if $eq currentUser._id userId
a.js-leave-member {{_ 'leave-board'}}
else if currentUser.isBoardAdmin
a.js-remove-member {{_ 'remove-from-board'}}
unless currentUser.isWorker
li
if $eq currentUser._id userId
a.js-leave-member {{_ 'leave-board'}}
else if currentUser.isBoardAdmin
a.js-remove-member {{_ 'remove-from-board'}}
template(name="removeMemberPopup")
p {{_ 'remove-member-pop' name=user.profile.fullname username=user.username boardTitle=board.title}}
@@ -301,6 +346,12 @@ template(name="changePermissionsPopup")
if isCommentOnly
i.fa.fa-check
span.sub-name {{_ 'comment-only-desc'}}
li
a(class="{{#if isLastAdmin}}disabled{{else}}js-set-worker{{/if}}")
| {{_ 'worker'}}
if isWorker
i.fa.fa-check
span.sub-name {{_ 'worker-desc'}}
if isLastAdmin
hr
p.quiet.bottom {{_ 'last-admin-desc'}}
+31 -16
View File
@@ -1,3 +1,5 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Sidebar = null;
const defaultView = 'home';
@@ -110,14 +112,10 @@ BlazeComponent.extendComponent({
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleMinicardLabelText');
} else if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText');
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
cookies.remove('hiddenMinicardLabelText');
} else {
cookies.set('hiddenMinicardLabelText', 'true');
}
cookies.set('hiddenMinicardLabelText', 'true');
}
},
'click .js-shortcuts'() {
@@ -135,14 +133,10 @@ Template.homeSidebar.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hiddenMinicardLabelText;
} else if (cookies.has('hiddenMinicardLabelText')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hiddenMinicardLabelText')) {
return true;
} else {
return false;
}
return false;
}
},
});
@@ -167,10 +161,13 @@ Template.memberPopup.helpers({
const currentBoard = Boards.findOne(Session.get('currentBoard'));
const commentOnly = currentBoard.hasCommentOnly(this.userId);
const noComments = currentBoard.hasNoComments(this.userId);
const worker = currentBoard.hasWorker(this.userId);
if (commentOnly) {
return TAPi18n.__('comment-only').toLowerCase();
} else if (noComments) {
return TAPi18n.__('no-comments').toLowerCase();
} else if (worker) {
return TAPi18n.__('worker').toLowerCase();
} else {
return TAPi18n.__(type).toLowerCase();
}
@@ -273,6 +270,14 @@ Template.membersWidget.helpers({
const user = Meteor.user();
return user && user.isInvitedTo(Session.get('currentBoard'));
},
isWorker() {
const user = Meteor.user();
if (user) {
return Meteor.call(Boards.hasWorker(user.memberId));
} else {
return false;
}
},
});
Template.membersWidget.events({
@@ -650,7 +655,7 @@ BlazeComponent.extendComponent({
}).register('addMemberPopup');
Template.changePermissionsPopup.events({
'click .js-set-admin, click .js-set-normal, click .js-set-no-comments, click .js-set-comment-only'(
'click .js-set-admin, click .js-set-normal, click .js-set-no-comments, click .js-set-comment-only, click .js-set-worker'(
event,
) {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
@@ -660,11 +665,13 @@ Template.changePermissionsPopup.events({
'js-set-comment-only',
);
const isNoComments = $(event.currentTarget).hasClass('js-set-no-comments');
const isWorker = $(event.currentTarget).hasClass('js-set-worker');
currentBoard.setMemberPermission(
memberId,
isAdmin,
isNoComments,
isCommentOnly,
isWorker,
);
Popup.back(1);
},
@@ -681,7 +688,8 @@ Template.changePermissionsPopup.helpers({
return (
!currentBoard.hasAdmin(this.userId) &&
!currentBoard.hasNoComments(this.userId) &&
!currentBoard.hasCommentOnly(this.userId)
!currentBoard.hasCommentOnly(this.userId) &&
!currentBoard.hasWorker(this.userId)
);
},
@@ -701,6 +709,13 @@ Template.changePermissionsPopup.helpers({
);
},
isWorker() {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
return (
!currentBoard.hasAdmin(this.userId) && currentBoard.hasWorker(this.userId)
);
},
isLastAdmin() {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
return (
+30 -24
View File
@@ -2,54 +2,60 @@ template(name="archivesSidebar")
if isArchiveReady.get
+basicTabs(tabs=tabs)
+tabContent(slug="cards")
p.quiet
a.js-restore-all-cards {{_ 'restore-all'}}
| -
a.js-delete-all-cards {{_ 'delete-all'}}
unless isWorker
p.quiet
a.js-restore-all-cards {{_ 'restore-all'}}
| -
a.js-delete-all-cards {{_ 'delete-all'}}
each archivedCards
.minicard-wrapper.js-minicard
+minicard(this)
if currentUser.isBoardMember
p.quiet
a.js-restore-card {{_ 'restore'}}
| -
a.js-delete-card {{_ 'delete'}}
unless isWorker
p.quiet
a.js-restore-card {{_ 'restore'}}
| -
a.js-delete-card {{_ 'delete'}}
if cardIsInArchivedList
p.quiet.small ({{_ 'warn-list-archived'}})
else
p.no-items-message {{_ 'no-archived-cards'}}
+tabContent(slug="lists")
p.quiet
a.js-restore-all-lists {{_ 'restore-all'}}
| -
a.js-delete-all-lists {{_ 'delete-all'}}
unless isWorker
p.quiet
a.js-restore-all-lists {{_ 'restore-all'}}
| -
a.js-delete-all-lists {{_ 'delete-all'}}
ul.archived-lists
each archivedLists
li.archived-lists-item
= title
if currentUser.isBoardMember
p.quiet
a.js-restore-list {{_ 'restore'}}
| -
a.js-delete-list {{_ 'delete'}}
unless isWorker
p.quiet
a.js-restore-list {{_ 'restore'}}
| -
a.js-delete-list {{_ 'delete'}}
else
li.no-items-message {{_ 'no-archived-lists'}}
+tabContent(slug="swimlanes")
p.quiet
a.js-restore-all-swimlanes {{_ 'restore-all'}}
| -
a.js-delete-all-swimlanes {{_ 'delete-all'}}
unless isWorker
p.quiet
a.js-restore-all-swimlanes {{_ 'restore-all'}}
| -
a.js-delete-all-swimlanes {{_ 'delete-all'}}
ul.archived-lists
each archivedSwimlanes
li.archived-lists-item
= title
if currentUser.isBoardMember
p.quiet
a.js-restore-swimlane {{_ 'restore'}}
| -
a.js-delete-swimlane {{_ 'delete'}}
unless isWorker
p.quiet
a.js-restore-swimlane {{_ 'restore'}}
| -
a.js-delete-swimlane {{_ 'delete'}}
else
li.no-items-message {{_ 'no-archived-swimlanes'}}
else
@@ -139,3 +139,12 @@ BlazeComponent.extendComponent({
];
},
}).register('archivesSidebar');
Template.archivesSidebar.helpers({
isWorker() {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
return (
!currentBoard.hasAdmin(this.userId) && currentBoard.hasWorker(this.userId)
);
},
});
@@ -117,13 +117,14 @@ template(name="multiselectionSidebar")
i.fa.fa-check
else if someSelectedElementHave 'member' _id
i.fa.fa-ellipsis-h
hr
a.sidebar-btn.js-move-selection
i.fa.fa-share
span {{_ 'move-selection'}}
a.sidebar-btn.js-archive-selection
i.fa.fa-archive
span {{_ 'archive-selection'}}
unless currentUser.isWorker
hr
a.sidebar-btn.js-move-selection
i.fa.fa-share
span {{_ 'move-selection'}}
a.sidebar-btn.js-archive-selection
i.fa.fa-archive
span {{_ 'archive-selection'}}
template(name="disambiguateMultiLabelPopup")
p {{_ 'what-to-do'}}
@@ -1,3 +1,5 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndexData } = Utils;
let swimlaneColors;
@@ -33,14 +35,10 @@ Template.swimlaneHeader.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
return false;
}
},
});
+17 -38
View File
@@ -20,28 +20,6 @@ template(name="swimlane")
if currentUser.isBoardMember
unless currentUser.isCommentOnly
+addListForm
//if collapseSwimlane
// // Minimize swimlanes next 2 lines below https://www.w3schools.com/howto/howto_js_accordion.asp
// button(class="accordion")
// div(class="panel")
// .swimlane.js-lists.js-swimlane
// if isMiniScreen
// if currentListIsInThisSwimlane _id
// +list(currentList)
// unless currentList
// each lists
// +miniList(this)
// if currentUser.isBoardMember
// unless currentUser.isCommentOnly
// +addListForm
// else
// each lists
// +list(this)
// if currentCardIsInThisList _id ../_id
// +cardDetails(currentCard)
// if currentUser.isBoardMember
// unless currentUser.isCommentOnly
// +addListForm
template(name="listsGroup")
.swimlane.list-group.js-lists
@@ -65,19 +43,20 @@ template(name="listsGroup")
+addListForm
template(name="addListForm")
.list.list-composer.js-list-composer(class="{{#if isMiniScreen}}mini-list{{/if}}")
.list-header-add
+inlinedForm(autoclose=false)
input.list-name-input.full-line(type="text" placeholder="{{_ 'add-list'}}"
autocomplete="off" autofocus)
.edit-controls.clearfix
button.primary.confirm(type="submit") {{_ 'save'}}
unless currentBoard.isTemplatesBoard
unless currentBoard.isTemplateBoard
span.quiet
| {{_ 'or'}}
a.js-list-template {{_ 'template'}}
else
a.open-list-composer.js-open-inlined-form
i.fa.fa-plus
| {{_ 'add-list'}}
unless currentUser.isWorker
.list.list-composer.js-list-composer(class="{{#if isMiniScreen}}mini-list{{/if}}")
.list-header-add
+inlinedForm(autoclose=false)
input.list-name-input.full-line(type="text" placeholder="{{_ 'add-list'}}"
autocomplete="off" autofocus)
.edit-controls.clearfix
button.primary.confirm(type="submit") {{_ 'save'}}
unless currentBoard.isTemplatesBoard
unless currentBoard.isTemplateBoard
span.quiet
| {{_ 'or'}}
a.js-list-template {{_ 'template'}}
else
a.open-list-composer.js-open-inlined-form
i.fa.fa-plus
| {{_ 'add-list'}}
+11 -45
View File
@@ -1,3 +1,5 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
const { calculateIndex, enableClickOnTouch } = Utils;
function currentListIsInThisSwimlane(swimlaneId) {
@@ -97,21 +99,15 @@ function initSortable(boardComponent, $listsDom) {
}
boardComponent.autorun(() => {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
let showDesktopDragHandles = false;
currentUser = Meteor.user();
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
}
showDesktopDragHandles = false;
}
if (!Utils.isMiniScreen() && showDesktopDragHandles) {
@@ -148,26 +144,6 @@ BlazeComponent.extendComponent({
}
initSortable(boardComponent, $listsDom);
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('collapseSwimlane')) {
// Minimize swimlanes start https://www.w3schools.com/howto/howto_js_accordion.asp
const acc = document.getElementsByClassName('accordion');
let i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener('click', function() {
this.classList.toggle('active');
const panel = this.nextElementSibling;
if (panel.style.maxHeight) {
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = `${panel.scrollHeight}px`;
}
});
}
// Minimize swimlanes end https://www.w3schools.com/howto/howto_js_accordion.asp
}
},
onCreated() {
this.draggingActive = new ReactiveVar(false);
@@ -199,21 +175,15 @@ BlazeComponent.extendComponent({
// the user will legitimately expect to be able to select some text with
// his mouse.
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
let showDesktopDragHandles = false;
currentUser = Meteor.user();
if (currentUser) {
showDesktopDragHandles = (currentUser.profile || {})
.showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
showDesktopDragHandles = true;
} else {
showDesktopDragHandles = false;
}
showDesktopDragHandles = false;
}
const noDragInside = ['a', 'input', 'textarea', 'p'].concat(
@@ -302,14 +272,10 @@ Template.swimlane.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
return false;
}
},
canSeeAddList() {
+1
View File
@@ -73,6 +73,7 @@ template(name="cardMemberPopup")
p.quiet @{{ user.username }}
ul.pop-over-list
if currentUser.isNotCommentOnly
if currentUser.isNotWorker
li: a.js-remove-member {{_ 'remove-member-from-card'}}
if $eq currentUser._id user._id
+47 -18
View File
@@ -13,21 +13,46 @@ template(name="headerUserBar")
template(name="memberMenuPopup")
ul.pop-over-list
with currentUser
li: a.js-edit-profile {{_ 'edit-profile'}}
li: a.js-change-settings {{_ 'change-settings'}}
li: a.js-change-avatar {{_ 'edit-avatar'}}
li
a.js-edit-profile
i.fa.fa-user
| {{_ 'edit-profile'}}
li
a.js-change-settings
i.fa.fa-cog
| {{_ 'change-settings'}}
li
a.js-change-avatar
i.fa.fa-picture-o
| {{_ 'edit-avatar'}}
unless isSandstorm
li: a.js-change-password {{_ 'changePasswordPopup-title'}}
li: a.js-change-language {{_ 'changeLanguagePopup-title'}}
li
a.js-change-password
i.fa.fa-key
| {{_ 'changePasswordPopup-title'}}
li
a.js-change-language
i.fa.fa-flag
| {{_ 'changeLanguagePopup-title'}}
if currentUser.isAdmin
li: a.js-go-setting(href="{{pathFor 'setting'}}") {{_ 'admin-panel'}}
hr
ul.pop-over-list
li: a(href="{{pathFor 'board' id=templatesBoardId slug=templatesBoardSlug}}") {{_ 'templates'}}
li
a.js-go-setting(href="{{pathFor 'setting'}}")
i.fa.fa-lock
| {{_ 'admin-panel'}}
unless currentUser.isWorker
hr
ul.pop-over-list
li
a(href="{{pathFor 'board' id=templatesBoardId slug=templatesBoardSlug}}")
i.fa.fa-clone
| {{_ 'templates'}}
unless isSandstorm
hr
ul.pop-over-list
li: a.js-logout {{_ 'log-out'}}
li
a.js-logout
i.fa.fa-sign-out
| {{_ 'log-out'}}
template(name="editProfilePopup")
form
@@ -75,21 +100,25 @@ template(name="changeSettingsPopup")
ul.pop-over-list
li
a.js-toggle-system-messages
i.fa.fa-comments-o
| {{_ 'hide-system-messages'}}
if hiddenSystemMessages
i.fa.fa-check
li
a.js-toggle-desktop-drag-handles
i.fa.fa-arrows
| {{_ 'show-desktop-drag-handles'}}
if showDesktopDragHandles
i.fa.fa-check
li
label.bold
| {{_ 'show-cards-minimum-count'}}
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}")
unless currentUser.isWorker
li
label.bold
i.fa.fa-sort-numeric-asc
| {{_ 'show-cards-minimum-count'}}
input#show-cards-count-at.inline-input.left(type="number" value="#{showCardsCountAt}" min="0" max="99" onkeydown="return false")
input.js-apply-show-cards-at.left(type="submit" value="{{_ 'apply'}}")
template(name="userDeletePopup")
p {{_ 'delete-user-confirm-popup'}}
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
unless currentUser.isWorker
p {{_ 'delete-user-confirm-popup'}}
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
+36 -35
View File
@@ -1,3 +1,6 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Template.headerUserBar.events({
'click .js-open-header-member-menu': Popup.open('memberMenu'),
'click .js-change-avatar': Popup.open('changeAvatar'),
@@ -42,13 +45,31 @@ Template.memberMenuPopup.events({
Template.editProfilePopup.helpers({
allowEmailChange() {
return AccountSettings.findOne('accounts-allowEmailChange').booleanValue;
Meteor.call('AccountSettings.allowEmailChange', (_, result) => {
if (result) {
return true;
} else {
return false;
}
});
},
allowUserNameChange() {
return AccountSettings.findOne('accounts-allowUserNameChange').booleanValue;
Meteor.call('AccountSettings.allowUserNameChange', (_, result) => {
if (result) {
return true;
} else {
return false;
}
});
},
allowUserDelete() {
return AccountSettings.findOne('accounts-allowUserDelete').booleanValue;
Meteor.call('AccountSettings.allowUserDelete', (_, result) => {
if (result) {
return true;
} else {
return false;
}
});
},
});
@@ -177,28 +198,20 @@ Template.changeSettingsPopup.helpers({
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).showDesktopDragHandles;
} else if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
return true;
} else {
return false;
}
return false;
}
},
hiddenSystemMessages() {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).hasHiddenSystemMessages;
} else if (cookies.has('hasHiddenSystemMessages')) {
return true;
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hasHiddenSystemMessages')) {
return true;
} else {
return false;
}
return false;
}
},
showCardsCountAt() {
@@ -206,8 +219,6 @@ Template.changeSettingsPopup.helpers({
if (currentUser) {
return Meteor.user().getLimitToShowCardsCount();
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
return cookies.get('limitToShowCardsCount');
}
},
@@ -218,28 +229,20 @@ Template.changeSettingsPopup.events({
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleDesktopDragHandles');
} else if (cookies.has('showDesktopDragHandles')) {
cookies.remove('showDesktopDragHandles');
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('showDesktopDragHandles')) {
cookies.remove('showDesktopDragHandles');
} else {
cookies.set('showDesktopDragHandles', 'true');
}
cookies.set('showDesktopDragHandles', 'true');
}
},
'click .js-toggle-system-messages'() {
currentUser = Meteor.user();
if (currentUser) {
Meteor.call('toggleSystemMessages');
} else if (cookies.has('hasHiddenSystemMessages')) {
cookies.remove('hasHiddenSystemMessages');
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.has('hasHiddenSystemMessages')) {
cookies.remove('hasHiddenSystemMessages');
} else {
cookies.set('hasHiddenSystemMessages', 'true');
}
cookies.set('hasHiddenSystemMessages', 'true');
}
},
'click .js-apply-show-cards-at'(event, templateInstance) {
@@ -253,8 +256,6 @@ Template.changeSettingsPopup.events({
if (currentUser) {
Meteor.call('changeLimitToShowCardsCount', minLimit);
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
cookies.set('limitToShowCardsCount', minLimit);
}
Popup.back();
+16 -31
View File
@@ -1,27 +1,21 @@
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
Utils = {
setBoardView(view) {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
currentUser = Meteor.user();
if (currentUser) {
Meteor.user().setBoardView(view);
} else {
if (view === 'board-view-lists') {
cookies.set('boardView', 'board-view-lists'); //true
} else if (view === 'board-view-swimlanes') {
cookies.set('boardView', 'board-view-swimlanes'); //true
//} else if (view === 'board-view-collapse') {
// cookies.set('boardView', 'board-view-swimlane'); //true
// cookies.set('collapseSwimlane', 'true'); //true
} else if (view === 'board-view-cal') {
cookies.set('boardView', 'board-view-cal'); //true
}
} else if (view === 'board-view-lists') {
cookies.set('boardView', 'board-view-lists'); //true
} else if (view === 'board-view-swimlanes') {
cookies.set('boardView', 'board-view-swimlanes'); //true
} else if (view === 'board-view-cal') {
cookies.set('boardView', 'board-view-cal'); //true
}
},
unsetBoardView() {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
cookies.remove('boardView');
cookies.remove('collapseSwimlane');
},
@@ -30,23 +24,14 @@ Utils = {
currentUser = Meteor.user();
if (currentUser) {
return (currentUser.profile || {}).boardView;
} else if (cookies.get('boardView') === 'board-view-lists') {
return 'board-view-lists';
} else if (cookies.get('boardView') === 'board-view-swimlanes') {
return 'board-view-swimlanes';
} else if (cookies.get('boardView') === 'board-view-cal') {
return 'board-view-cal';
} else {
import { Cookies } from 'meteor/ostrio:cookies';
const cookies = new Cookies();
if (cookies.get('boardView') === 'board-view-lists') {
return 'board-view-lists';
} else if (
cookies.get('boardView') === 'board-view-swimlanes'
//&& !cookies.has('collapseSwimlane')
) {
return 'board-view-swimlanes';
//} else if (cookies.has('collapseSwimlane')) {
// return 'board-view-swimlanes';
} else if (cookies.get('boardView') === 'board-view-cal') {
return 'board-view-cal';
} else {
return false;
}
return false;
}
},
+4 -5
View File
@@ -440,10 +440,10 @@ services:
# If the sync of the users should be done in the background
#- LDAP_BACKGROUND_SYNC=false
#
# At which interval does the background task sync in milliseconds.
# Leave this unset, so it uses default, and does not crash.
# https://github.com/wekan/wekan/issues/2354#issuecomment-515305722
- LDAP_BACKGROUND_SYNC_INTERVAL=''
# At which interval does the background task sync.
# The format must be as specified in:
# https://bunkat.github.io/later/parsers.html#text
#- LDAP_BACKGROUND_SYNC_INTERVAL='every 1 hour'
#
#- LDAP_BACKGROUND_SYNC_KEEP_EXISTANT_USERS_UPDATED=false
#
@@ -559,7 +559,6 @@ services:
# example : LOGOUT_ON_MINUTES=55
#- LOGOUT_ON_MINUTES=
#-------------------------------------------------------------------
depends_on:
- wekandb
+1 -1
View File
@@ -1,5 +1,5 @@
dependencies:
- name: mongodb-replicaset
version: 3.6.x
version: 3.11.x
repository: "https://kubernetes-charts.storage.googleapis.com/"
condition: mongodb-replicaset.enabled
+1 -1
View File
@@ -75,7 +75,7 @@ else use user-provided 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" }}
mongodb://{{ $release }}-mongodb-replicaset:27017/admin?replicaSet={{ index .Values "mongodb-replicaset" "replicaSetName" }}
{{- else -}}
{{- index .Values "mongodb-replicaset" "url" -}}
{{- end -}}
+1 -1
View File
@@ -35,6 +35,6 @@ spec:
- path: {{ $ingressPath }}
backend:
serviceName: {{ $fullName }}
servicePort: http
servicePort: 80
{{- end }}
{{- end }}
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "يمكن التعليق على بطاقات فقط.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "حاسوب",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Може да коментира само в карти.",
"no-comments": "Няма коментари",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Компютър",
"confirm-subtask-delete-dialog": "Сигурен ли сте, че искате да изтриете подзадачата?",
"confirm-checklist-delete-dialog": "Сигурни ли сте, че искате да изтриете този чеклист?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+3 -1
View File
@@ -78,7 +78,7 @@
"add-attachment": "Afegeix adjunt",
"add-board": "Afegeix Tauler",
"add-card": "Afegeix Fitxa",
"add-swimlane": "Afegix Carril de Natació",
"add-swimlane": "Afegeix carril de natació",
"add-subtask": "Afegir Subtasca",
"add-checklist": "Afegeix checklist",
"add-checklist-item": "Afegeix un ítem al checklist",
@@ -223,6 +223,8 @@
"comment-only-desc": "Només pots fer comentaris a les fitxes",
"no-comments": "Sense comentaris",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Ordinador",
"confirm-subtask-delete-dialog": "Esteu segur que voleu eliminar la subtasca?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Může přidávat komentáře pouze do karet.",
"no-comments": "Žádné komentáře",
"no-comments-desc": "Nemůže vidět komentáře a aktivity",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Počítač",
"confirm-subtask-delete-dialog": "Opravdu chcete smazat tento podúkol?",
"confirm-checklist-delete-dialog": "Opravdu chcete smazat tento checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+3 -1
View File
@@ -137,7 +137,7 @@
"board-view": "Boardansicht",
"board-view-cal": "Kalender",
"board-view-swimlanes": "Swimlanes",
"board-view-collapse": "Collapse",
"board-view-collapse": "Einklappen",
"board-view-lists": "Listen",
"bucket-example": "z.B. \"Löffelliste\"",
"cancel": "Abbrechen",
@@ -223,6 +223,8 @@
"comment-only-desc": "Kann Karten nur kommentieren.",
"no-comments": "Keine Kommentare",
"no-comments-desc": "Kann keine Kommentare und Aktivitäten sehen.",
"worker": "Arbeiter",
"worker-desc": "Kann nur Karten verschieben, sich selbst zuweisen und kommentieren.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Wollen Sie die Teilaufgabe wirklich löschen?",
"confirm-checklist-delete-dialog": "Wollen Sie die Checkliste wirklich löschen?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "Χωρίς σχόλια",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Υπολογιστής",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Komputilo",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Puede comentar en tarjetas solamente.",
"no-comments": "Sin comentarios",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computadora",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+5 -3
View File
@@ -137,7 +137,7 @@
"board-view": "Vista del tablero",
"board-view-cal": "Calendario",
"board-view-swimlanes": "Carriles",
"board-view-collapse": "Collapse",
"board-view-collapse": "Contraer",
"board-view-lists": "Listas",
"bucket-example": "Como “Cosas por hacer” por ejemplo",
"cancel": "Cancelar",
@@ -223,6 +223,8 @@
"comment-only-desc": "Solo puedes comentar en las tarjetas.",
"no-comments": "No hay comentarios",
"no-comments-desc": "No se pueden mostrar comentarios ni actividades.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "el ordenador",
"confirm-subtask-delete-dialog": "¿Seguro que quieres eliminar la subtarea?",
"confirm-checklist-delete-dialog": "¿Seguro que quieres eliminar la lista de verificación?",
@@ -750,6 +752,6 @@
"accounts-allowUserDelete": "Permitir a los usuarios eliminar su cuenta",
"hide-minicard-label-text": "Ocultar el texto de la etiqueta de la minitarjeta",
"show-desktop-drag-handles": "Mostrar los controles de arrastre del escritorio",
"assignee": "Assignee",
"cardAssigneesPopup-title": "Assignee"
"assignee": "Asignado",
"cardAssigneesPopup-title": "Asignado"
}
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Iruzkinak txarteletan soilik egin ditzake",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Ordenagailua",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+123 -121
View File
@@ -1,45 +1,45 @@
{
"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-addedLabel": "Added label __label__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-removeLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-removedLabel": "Removed label __label__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addChecklist": "added checklist __checklist__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addChecklistItem": "added checklist item __checklistItem__ to checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-removeChecklist": "removed checklist __checklist__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-removeChecklistItem": "removed checklist item __checklistItem__ from checklist __checkList__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-checkedItem": "checked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-uncheckedItem": "unchecked __checklistItem__ of checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-completeChecklist": "completed checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-uncompleteChecklist": "uncompleted checklist __checklist__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-addComment": "commented on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-createBoard": "created board __board__",
"act-createSwimlane": "created swimlane __swimlane__ to board __board__",
"act-createCard": "created card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
"act-createCustomField": "created custom field __customField__ at board __board__",
"act-deleteCustomField": "deleted custom field __customField__ at board __board__",
"act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-createList": "added list __list__ to board __board__",
"act-addBoardMember": "added member __member__ to board __board__",
"act-archivedBoard": "Board __board__ moved to Archive",
"act-archivedCard": "Card __card__ at list __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
"act-archivedList": "List __list__ at swimlane __swimlane__ at board __board__ moved to Archive",
"act-archivedSwimlane": "Swimlane __swimlane__ at board __board__ moved to Archive",
"act-importBoard": "imported board __board__",
"act-importCard": "imported card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
"act-importList": "imported list __list__ to swimlane __swimlane__ at board __board__",
"act-joinMember": "added member __member__ to card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-moveCard": "moved card __card__ at board __board__ from list __oldList__ at swimlane __oldSwimlane__ to list __list__ at swimlane __swimlane__",
"act-moveCardToOtherBoard": "moved card __card__ from list __oldList__ at swimlane __oldSwimlane__ at board __oldBoard__ to list __list__ at swimlane __swimlane__ at board __board__",
"act-removeBoardMember": "removed member __member__ from board __board__",
"act-restoredCard": "restored card __card__ to list __list__ at swimlane __swimlane__ at board __board__",
"act-unjoinMember": "removed member __member__ from card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-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-addedLabel": "برچسب __label__ را به کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
"act-removeLabel": "برچسب __label__ را از کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ حذف کرد",
"act-removedLabel": "برچسب __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-editComment": "نظر روی کارت __card__ را ویرایش کرد: __comment__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__",
"act-deleteComment": "نظر روی کارت __card__ را حذف کرد: __comment__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__",
"act-createBoard": "برد __board__ را ایجاد کرد",
"act-createSwimlane": "مسیر شناور __swimlane__ را در برد __board__ ایجاد کرد",
"act-createCard": "کارت __card__ را در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ ایجاد کرد",
"act-createCustomField": "فیلد شخصی __customField__ را در برد __board__ ایجاد کرد",
"act-deleteCustomField": "فیلد شخصی __customField__ را در برد __board__ حذف کرد",
"act-setCustomField": "فیلد شخصی __customField__ را ویرایش کرد: __customFieldValue__ در کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __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": "لیست __list__ را به مسیر شناور __swimlane__ در برد __board__ وارد کرد",
"act-joinMember": "عضو __member__ را به کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ اضافه کرد",
"act-moveCard": "کارت __card__ را در برد __board__ از لیست __oldList__ در مسیر شناور __oldSwimlane__ به لیست __list__ در مسیر شناور __swimlane__ منتقل کرد",
"act-moveCardToOtherBoard": "کارت __card__ را از لیست __oldList__ در مسیر شناور __oldSwimlane__ در برد __oldBoard__ به لیست __list__ در مسیر شناور __swimlane__ در برد __board__ منتقل کرد",
"act-removeBoardMember": "عضو __member__ را از برد __board__ حذف کرد",
"act-restoredCard": "کارت __card__ را به لیست __list__ در مسیر شناور __swimlane__ در برد __board__ بازگرداند",
"act-unjoinMember": "عضو __member__ را از کارت __card__ در لیست __list__ در مسیر شناور __swimlane__ در برد __board__ حذف کرد",
"act-withBoardTitle": "__board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "اعمال",
@@ -64,21 +64,21 @@
"activity-unchecked-item": "چک نشده %s در چک لیست %s از %s",
"activity-checklist-added": "سیاهه به %s اضافه شد",
"activity-checklist-removed": "از چک لیست حذف گردید",
"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": "added checklist item to '%s' in %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",
"activity-editComment": "edited comment %s",
"activity-deleteComment": "deleted comment %s",
"activity-editComment": "نظر ویرایش شد %s",
"activity-deleteComment": "نظر حذف شد %s",
"add-attachment": "افزودن ضمیمه",
"add-board": "افزودن برد",
"add-card": "افزودن کارت",
"add-swimlane": "Add Swimlane",
"add-swimlane": "اضافه کردن مسیر شناور",
"add-subtask": "افزودن زیر وظیفه",
"add-checklist": "افزودن چک لیست",
"add-checklist-item": "افزودن مورد به سیاهه",
@@ -89,11 +89,11 @@
"added": "اضافه گردید",
"addMemberPopup-title": "اعضا",
"admin": "مدیر",
"admin-desc": "امکان دیدن و ویرایش کارتها،پاک کردن کاربران و تغییر تنظیمات برای تخته",
"admin-desc": "امکان دیدن و ویرایش کارت‌ها، پاک کردن کاربران و تغییر تنظیمات برای برد.",
"admin-announcement": "اعلان",
"admin-announcement-active": "اعلان سراسری فعال",
"admin-announcement-title": "اعلان از سوی مدیر",
"all-boards": "تمام تخته‌ها",
"all-boards": "تمام بردها",
"and-n-other-card": "و __count__ کارت دیگر",
"and-n-other-card_plural": "و __count__ کارت دیگر",
"apply": "اعمال",
@@ -108,7 +108,7 @@
"archiveBoardPopup-title": "انتقال برد به آرشیو؟",
"archived-items": "بایگانی",
"archived-boards": "برد های داخل آرشیو",
"restore-board": "بازیابی تخته",
"restore-board": "بازیابی برد",
"no-archived-boards": "هیچ بردی داخل آرشیو نیست",
"archives": "بایگانی",
"template": "Template",
@@ -119,25 +119,25 @@
"attachment-delete-pop": "حذف پیوست دایمی و بی بازگشت خواهد بود.",
"attachmentDeletePopup-title": "آیا می خواهید ضمیمه را حذف کنید؟",
"attachments": "ضمائم",
"auto-watch": "اضافه شدن خودکار دیده بانی تخته زمانی که ایجاد می شوند",
"auto-watch": "اضافه شدن خودکار دیده‌بانی بردها زمانی که ایجاد می‌شوند",
"avatar-too-big": "تصویر کاربر بسیار بزرگ است ـ حداکثر۷۰ کیلوبایت ـ",
"back": "بازگشت",
"board-change-color": "تغییر رنگ",
"board-nb-stars": "%s ستاره",
"board-not-found": "تخته مورد نظر پیدا نشد",
"board-private-info": "این تخته <strong>خصوصی</strong> خواهد بود.",
"board-public-info": "این تخته <strong>عمومی</strong> خواهد بود.",
"boardChangeColorPopup-title": "تغییر پس زمینه تخته",
"boardChangeTitlePopup-title": "تغییر نام تخته",
"board-not-found": "برد مورد نظر پیدا نشد",
"board-private-info": "این برد <strong>خصوصی</strong> خواهد بود.",
"board-public-info": "این برد <strong>عمومی</strong> خواهد بود.",
"boardChangeColorPopup-title": "تغییر پس زمینه برد",
"boardChangeTitlePopup-title": "تغییر نام برد",
"boardChangeVisibilityPopup-title": "تغییر وضعیت نمایش",
"boardChangeWatchPopup-title": "تغییر دیده بانی",
"boardMenuPopup-title": "Board Settings",
"boardChangeViewPopup-title": "نمایش تخته",
"boards": "تخته‌ها",
"board-view": "نمایش تخته",
"boardChangeViewPopup-title": "نمایش برد",
"boards": "بردها",
"board-view": "نمایش برد",
"board-view-cal": "تقویم",
"board-view-swimlanes": "Swimlanes",
"board-view-collapse": "Collapse",
"board-view-collapse": "بستن",
"board-view-lists": "فهرست‌ها",
"bucket-example": "برای مثال چیزی شبیه \"لیست سبدها\"",
"cancel": "انصراف",
@@ -172,7 +172,7 @@
"casSignIn": "ورود با استفاده از CAS",
"cardType-card": "کارت",
"cardType-linkedCard": "کارت‌های مرتبط",
"cardType-linkedBoard": "تخته‌های مرتبط",
"cardType-linkedBoard": "برد مرتبط",
"change": "تغییر",
"change-avatar": "تغییر تصویر",
"change-password": "تغییر کلمه عبور",
@@ -223,6 +223,8 @@
"comment-only-desc": "فقط می‌تواند روی کارت‌ها نظر دهد.",
"no-comments": "هیچ کامنتی موجود نیست",
"no-comments-desc": "نظرات و فعالیت ها را نمی توان دید.",
"worker": "کارگر",
"worker-desc": "تنها میتوانید کارت ها را جابجا کنید، این را به یک کارت اضافه کنید.",
"computer": "رایانه",
"confirm-subtask-delete-dialog": "از حذف این زیر وظیفه اطمینان دارید؟",
"confirm-checklist-delete-dialog": "مطمئنا چک لیست پاک شود؟",
@@ -234,8 +236,8 @@
"copyChecklistToManyCardsPopup-instructions": "عنوان و توضیحات کارت مقصد در این قالب JSON",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"create": "ایجاد",
"createBoardPopup-title": "ایجاد تخته",
"chooseBoardSourcePopup-title": "بارگذاری تخته",
"createBoardPopup-title": "ایجاد برد",
"chooseBoardSourcePopup-title": "بارگذاری برد",
"createLabelPopup-title": "ایجاد برچسب",
"createCustomField": "ایجاد فیلد",
"createCustomFieldPopup-title": "ایجاد فیلد",
@@ -283,16 +285,16 @@
"email-invalid": "رایانامه نادرست",
"email-invite": "دعوت از طریق رایانامه",
"email-invite-subject": "__inviter__ برای شما دعوت نامه ارسال کرده است",
"email-invite-text": "__User__ عزیز\n __inviter__ شما را به عضویت تخته \"__board__\" برای همکاری دعوت کرده است.\nلطفا لینک زیر را دنبال کنید، باتشکر:\n__url__",
"email-invite-text": "__User__ عزیز\n __inviter__ شما را به عضویت برد \"__board__\" برای همکاری دعوت کرده است.\nلطفا لینک زیر را دنبال کنید، باتشکر:\n__url__",
"email-resetPassword-subject": "تنظیم مجدد کلمه عبور در __siteName__",
"email-resetPassword-text": "سلام __user__\nجهت تنظیم مجدد کلمه عبور آدرس زیر را دنبال نمایید، باتشکر:\n__url__",
"email-sent": "نامه الکترونیکی فرستاده شد",
"email-verifyEmail-subject": "تایید آدرس الکترونیکی شما در __siteName__",
"email-verifyEmail-text": "سلام __user__\nبه منظور تایید آدرس الکترونیکی حساب خود، آدرس زیر را دنبال نمایید، باتشکر:\n__url__.",
"enable-wip-limit": "Enable WIP Limit",
"error-board-doesNotExist": "تخته مورد نظر وجود ندارد",
"error-board-notAdmin": "شما جهت انجام آن باید مدیر تخته باشید",
"error-board-notAMember": "شما انجام آن ،اید عضو این تخته باشید.",
"error-board-doesNotExist": "برد مورد نظر وجود ندارد",
"error-board-notAdmin": "شما جهت انجام آن باید مدیر برد باشید",
"error-board-notAMember": "شما برای انجام آن، باید عضو این برد باشید",
"error-json-malformed": "متن درغالب صحیح Json نمی باشد.",
"error-json-schema": "داده های Json شما، شامل اطلاعات صحیح در غالب درستی نمی باشد.",
"error-list-doesNotExist": "این لیست موجود نیست",
@@ -301,40 +303,40 @@
"error-user-notCreated": "این کاربر ایجاد نشده است",
"error-username-taken": "این نام کاربری استفاده شده است",
"error-email-taken": "رایانامه توسط گیرنده دریافت شده است",
"export-board": "انتقال به بیرون تخته",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
"list-label-modifiedAt": "Last Access Time",
"list-label-title": "Name of the List",
"list-label-sort": "Your Manual Order",
"export-board": "انتقال به بیرون برد",
"sort": "مرتب سازی",
"sort-desc": "برای مرتب سازی لیست کلیک کنید",
"list-sort-by": "مرتب سازی لیست بر اساس:",
"list-label-modifiedAt": "زمان دسترسی قبلی",
"list-label-title": "نام لیست",
"list-label-sort": "دلخواه شما",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
"list-label-short-sort": "(M)",
"filter": "صافی ـFilterـ",
"filter-cards": "Filter Cards or Lists",
"list-filter-label": "Filter List by Title",
"filter-clear": "حذف صافی ـFilterـ",
"filter": "صافی ـ فیلتر ـ",
"filter-cards": "فیلتر کارت‌ها یا لیست‌ها",
"list-filter-label": "فیلتر لیست بر اساس عنوان",
"filter-clear": "حذف صافی ـ فیلتر ـ",
"filter-no-label": "بدون برچسب",
"filter-no-member": "بدون عضو",
"filter-no-custom-fields": "هیچ فیلدشخصی ای وجود ندارد",
"filter-show-archive": "Show archived lists",
"filter-hide-empty": "Hide empty lists",
"filter-on": "صافی ـFilterـ فعال است",
"filter-on-desc": "شما صافی ـFilterـ برای کارتهای تخته را روشن کرده اید. جهت ویرایش کلیک نمایید.",
"filter-to-selection": "صافی ـFilterـ برای موارد انتخابی",
"advanced-filter-label": "صافی پیشرفته",
"filter-show-archive": "نمایش لیست‌های آرشیو شده",
"filter-hide-empty": "مخفی کردن لیست‌های خالی",
"filter-on": "صافی ـ فیلتر ـ فعال است",
"filter-on-desc": "شما درحال صافی ـ فیلتر ـ کارت‌های این برد هستید. برای ویرایش فیلتر کلیک نمایید.",
"filter-to-selection": "صافی ـ فیلتر ـ برای موارد انتخابی",
"advanced-filter-label": "صافی ـ فیلتر ـ پیشرفته",
"advanced-filter-description": "فیلتر پیشرفته اجازه می دهد تا برای نوشتن رشته حاوی اپراتورهای زیر: ==! = <=> = && || () یک فضای به عنوان یک جداساز بین اپراتورها استفاده می شود. با تایپ کردن نام ها و مقادیر آنها می توانید برای تمام زمینه های سفارشی فیلتر کنید. به عنوان مثال: Field1 == Value1. نکته: اگر فیلدها یا مقادیر حاوی فضاها باشند، شما باید آنها را به یک نقل قول کپسول کنید. برای مثال: 'فیلد 1' == 'مقدار 1'. برای تک تک کاراکترهای کنترل (\\\\) که می توانید از آنها استفاده کنید، می توانید از \\ استفاده کنید. به عنوان مثال: Field1 == I \\ 'm. همچنین شما می توانید شرایط مختلف را ترکیب کنید. برای مثال: F1 == V1 || F1 == V2. به طور معمول همه اپراتورها از چپ به راست تفسیر می شوند. شما می توانید سفارش را با قرار دادن براکت تغییر دهید. برای مثال: F1 == V1 && (F2 == V2 || F2 == V3). همچنین می توانید فیلدهای متنی را با استفاده از regex جستجو کنید: F1 == /Tes.*/i",
"fullname": "نام و نام خانوادگی",
"header-logo-title": "بازگشت به صفحه تخته.",
"header-logo-title": "بازگشت به صفحه بردها.",
"hide-system-messages": "عدم نمایش پیامهای سیستمی",
"headerBarCreateBoardPopup-title": "ایجاد تخته",
"headerBarCreateBoardPopup-title": "ایجاد برد",
"home": "خانه",
"import": "وارد کردن",
"link": "ارتباط",
"import-board": "وارد کردن تخته",
"import-board-c": "وارد کردن تخته",
"import-board-title-trello": "وارد کردن تخته از Trello",
"import-board": "وارد کردن برد",
"import-board-c": "وارد کردن برد",
"import-board-title-trello": "وارد کردن برد از Trello",
"import-board-title-wekan": "بارگذاری برد ها از آخرین خروجی",
"import-sandstorm-backup-warning": "قبل از بررسی این داده ها را از صفحه اصلی صادر شده یا Trello وارد نمیکنید این دانه دوباره باز می شود و یا دوباره باز می شود، یا برد را پیدا نمی کنید، این بدان معنی است که از دست دادن اطلاعات.",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
@@ -355,7 +357,7 @@
"invalid-time": "زمان نامعتبر",
"invalid-user": "کاربر نامعتیر",
"joined": "متصل",
"just-invited": "هم اکنون، شما به این تخته دعوت شده اید.",
"just-invited": "هم اکنون، شما به این برد دعوت شده‌اید.",
"keyboard-shortcuts": "میانبر کلیدها",
"label-create": "ایجاد برچسب",
"label-default": "%s برچسب(پیش فرض)",
@@ -363,7 +365,7 @@
"labels": "برچسب ها",
"language": "زبان",
"last-admin-desc": "شما نمی توانید نقش ـroleـ را تغییر دهید چراکه باید حداقل یک مدیری وجود داشته باشد.",
"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": "ارجاع به این کارت",
@@ -396,8 +398,8 @@
"multi-selection": "امکان چند انتخابی",
"multi-selection-on": "حالت چند انتخابی روشن است",
"muted": "بی صدا",
"muted-info": "شما هیچگاه از تغییرات این تخته مطلع نخواهید شد",
"my-boards": "تخته‌های من",
"muted-info": "شما هیچگاه از تغییرات این برد مطلع نخواهید شد",
"my-boards": "بردهای من",
"name": "نام",
"no-archived-cards": "هیچ کارتی در آرشیو موجود نمی باشد",
"no-archived-lists": "هیچ لیستی در آرشیو موجود نمی باشد",
@@ -407,7 +409,7 @@
"normal-desc": "امکان نمایش و تنظیم کارت بدون امکان تغییر تنظیمات",
"not-accepted-yet": "دعوت نامه هنوز پذیرفته نشده است",
"notify-participate": "اطلاع رسانی از هرگونه تغییر در کارتهایی که ایجاد کرده اید ویا عضو آن هستید",
"notify-watch": "اطلاع رسانی از هرگونه تغییر در تخته، لیست یا کارتهایی که از آنها دیده بانی میکنید",
"notify-watch": "اطلاع رسانی از هرگونه تغییر در بردها، لیست‌ها یا کارت‌هایی که از آنها دیده‌بانی می‌کنید",
"optional": "انتخابی",
"or": "یا",
"page-maybe-private": "این صفحه ممکن است خصوصی باشد. شما با<a href='%s'>ورود</a> می‌توانید آن را ببینید.",
@@ -419,26 +421,26 @@
"previewAttachedImagePopup-title": "پیش‌نمایش",
"previewClipboardImagePopup-title": "پیش‌نمایش",
"private": "خصوصی",
"private-desc": "این تخته خصوصی است. فقط تنها افراد اضافه شده به آن می توانند مشاهده و ویرایش کنند.",
"private-desc": "این برد خصوصی است. فقط افراد اضافه شده به برد می‌توانند مشاهده و ویرایش کنند.",
"profile": "حساب کاربری",
"public": "عمومی",
"public-desc": "این تخته عمومی است. برای هر کسی با آدرس ویا جستجو درموتورها مانند گوگل قابل مشاهده است . فقط افرادی که به آن اضافه شده اند امکان ویرایش دارند.",
"quick-access-description": "جهت افزودن یک تخته به اینجا،آنرا ستاره دار نمایید.",
"public-desc": "این برد عمومی است. برای هر کسی با آدرس و یا جستجو در موتورها مانند گوگل قابل مشاهده است. فقط افرادی که به برد اضافه شده‌اند امکان ویرایش دارند.",
"quick-access-description": "جهت افزودن یک برد به اینجا، آن را ستاره دار نمایید.",
"remove-cover": "حذف کاور",
"remove-from-board": "حذف از تخته",
"remove-from-board": "حذف از برد",
"remove-label": "حذف برچسب",
"listDeletePopup-title": "حذف فهرست؟",
"remove-member": "حذف عضو",
"remove-member-from-card": "حذف از کارت",
"remove-member-pop": "آیا __name__ (__username__) را از __boardTitle__ حذف می کنید? کاربر از تمام کارت ها در این تخته حذف خواهد شد و آنها ازین اقدام مطلع خواهند شد.",
"remove-member-pop": "آیا __name__ (__username__) را از __boardTitle__ حذف می‌کنید؟ کاربر از تمام کارت‌ها در این برد حذف خواهد شد. آنها از این اقدام مطلع خواهند شد.",
"removeMemberPopup-title": "آیا می خواهید کاربر را حذف کنید؟",
"rename": "تغیر نام",
"rename-board": "تغییر نام تخته",
"rename-board": "تغییر نام برد",
"restore": "بازیابی",
"save": "ذخیره",
"search": "جستجو",
"rules": "قوانین",
"search-cards": "Search from card/list titles and descriptions on this board",
"search-cards": "جتستجو از عنوان لیست/کارت ها و توضیحات در این برد",
"search-example": "متن مورد جستجو؟",
"select-color": "انتخاب رنگ",
"set-wip-limit-value": "تعیین بیشینه تعداد وظایف در این فهرست",
@@ -446,22 +448,22 @@
"shortcut-assign-self": "اختصاص خود به کارت فعلی",
"shortcut-autocomplete-emoji": "تکمیل خودکار شکلکها",
"shortcut-autocomplete-members": "تکمیل خودکار کاربرها",
"shortcut-clear-filters": "حذف تمامی صافی ـfilterـ",
"shortcut-clear-filters": "حذف تمامی صافی‌ها ـ فیلترها ـ",
"shortcut-close-dialog": "بستن محاوره",
"shortcut-filter-my-cards": "کارت های من",
"shortcut-show-shortcuts": "بالا آوردن میانبر این لیست",
"shortcut-toggle-filterbar": "ضامن نوار جداکننده صافی ـfilterـ",
"shortcut-toggle-sidebar": "ضامن نوار جداکننده تخته",
"shortcut-toggle-filterbar": "ضامن نوار جداکننده صافی ـ فیلتر ـ",
"shortcut-toggle-sidebar": "ضامن نوار جداکننده برد",
"show-cards-minimum-count": "نمایش تعداد کارتها اگر لیست شامل بیشتراز",
"sidebar-open": "بازکردن جداکننده",
"sidebar-close": "بستن جداکننده",
"signupPopup-title": "ایجاد یک کاربر",
"star-board-title": "برای ستاره دادن، کلیک کنید.این در بالای لیست تخته های شما نمایش داده خواهد شد.",
"starred-boards": "تخته های ستاره دار",
"starred-boards-description": "تخته های ستاره دار در بالای لیست تخته ها نمایش داده می شود.",
"star-board-title": "برای ستاره دار کردن این برد کلیک کنید. این در بالای لیست بردهای شما نمایش داده خواهد شد.",
"starred-boards": "بردهای ستاره دار",
"starred-boards-description": "بردهای ستاره دار در بالای لیست بردها نمایش داده می‌شود.",
"subscribe": "عضوشدن",
"team": "تیم",
"this-board": "این تخته",
"this-board": "این برد",
"this-card": "این کارت",
"spent-time-hours": "زمان صرف شده (ساعت)",
"overtime-hours": "Overtime (hours)",
@@ -484,8 +486,8 @@
"warn-list-archived": "اخطار:این کارت در یک لیست در آرشیو موجود می باشد",
"watch": "دیده بانی",
"watching": "درحال دیده بانی",
"watching-info": "شما از هر تغییری دراین تخته آگاه خواهید شد",
"welcome-board": "به این تخته خوش آمدید",
"watching-info": "شما از هر تغییری در این برد آگاه خواهید شد",
"welcome-board": "به این برد خوش آمدید",
"welcome-swimlane": "Milestone 1",
"welcome-list1": "پایه ای ها",
"welcome-list2": "پیشرفته",
@@ -503,7 +505,7 @@
"disable-self-registration": "‌غیرفعال‌سازی خودثبت‌نامی",
"invite": "دعوت",
"invite-people": "دعوت از افراد",
"to-boards": "به تخته(ها)",
"to-boards": "به برد(ها)",
"email-addresses": "نشانی رایانامه",
"smtp-host-description": "آدرس سرور SMTP ای که پست الکترونیکی شما برروی آن است",
"smtp-port-description": "شماره درگاه ـPortـ ای که سرور SMTP شما جهت ارسال از آن استفاده می کند",
@@ -522,21 +524,21 @@
"email-smtp-test-text": "با موفقیت، یک رایانامه را فرستادید",
"error-invitation-code-not-exist": "چنین کد دعوتی یافت نشد",
"error-notAuthorized": "شما مجاز به دیدن این صفحه نیستید.",
"webhook-title": "Webhook Name",
"webhook-token": "Token (Optional for Authentication)",
"webhook-title": "نام وب‌هوک",
"webhook-token": "توکن",
"outgoing-webhooks": "Outgoing Webhooks",
"bidirectional-webhooks": "Two-Way Webhooks",
"bidirectional-webhooks": "وب‌هوک two-way",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"boardCardTitlePopup-title": "فیلتر موضوع کارت",
"disable-webhook": "Disable This Webhook",
"global-webhook": "Global Webhooks",
"disable-webhook": "حذف این وب‌هوک",
"global-webhook": "وب‌هوک‌های سراسری",
"new-outgoing-webhook": "New Outgoing Webhook",
"no-name": "(ناشناخته)",
"Node_version": "نسخه Node",
"Meteor_version": "Meteor version",
"MongoDB_version": "MongoDB version",
"MongoDB_storage_engine": "MongoDB storage engine",
"MongoDB_Oplog_enabled": "MongoDB Oplog enabled",
"MongoDB_version": "ورژن MongoDB",
"MongoDB_storage_engine": "موتور ذخیره سازی MongoDB",
"MongoDB_Oplog_enabled": "MongoDB Oplog فعال",
"OS_Arch": "OS Arch",
"OS_Cpus": "OS CPU Count",
"OS_Freemem": "OS Free Memory",
@@ -575,8 +577,8 @@
"requested-by": "تقاضا شده توسط",
"board-delete-notice": "حذف دائمی است شما تمام لیست ها، کارت ها و اقدامات مرتبط با این برد را از دست خواهید داد.",
"delete-board-confirm-popup": "تمام لیست ها، کارت ها، برچسب ها و فعالیت ها حذف خواهند شد و شما نمی توانید محتوای برد را بازیابی کنید. هیچ واکنشی وجود ندارد",
"boardDeletePopup-title": "حذف تخته؟",
"delete-board": "حذف تخته",
"boardDeletePopup-title": "حذف برد؟",
"delete-board": "حذف برد",
"default-subtasks-board": "ریزکار برای __board__ برد",
"default": "پیش‌فرض",
"queue": "صف",
@@ -697,10 +699,10 @@
"r-swimlane-name": "نام مسیر شناور",
"r-board-note": "نکته: برای نمایش موارد ممکن کادر را خالی بگذارید.",
"r-checklist-note": "نکته: چک‌لیست‌ها باید توسط کاما از یک‌دیگر جدا شوند.",
"r-when-a-card-is-moved": "دمانی که یک کارت به لیست دیگری منتقل شد",
"r-when-a-card-is-moved": "زمانی که یک کارت به لیست دیگری منتقل شد",
"r-set": "Set",
"r-update": "Update",
"r-datefield": "date field",
"r-update": "به روز رسانی",
"r-datefield": "تاریخ",
"r-df-start-at": "شروع",
"r-df-due-at": "ناشی از",
"r-df-end-at": "پایان",
+34 -32
View File
@@ -4,10 +4,10 @@
"act-addAttachment": "lisätty liite __attachment__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-deleteAttachment": "poistettu liite __attachment__ kortilla __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addSubtask": "lisätty alitehtävä __subtask__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addLabel": "Lisätty tunniste __label__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addedLabel": "Lisätty tunniste __label__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-removeLabel": "Poistettu tunniste __label__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-removedLabel": "Poistettu tunniste __label__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addLabel": "Lisätty nimilappu __label__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addedLabel": "Lisätty nimilappu __label__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-removeLabel": "Poistettu nimilappu __label__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-removedLabel": "Poistettu nimilappu __label__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addChecklist": "lisätty tarkistuslista __checklist__ kortille __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-addChecklistItem": "lisätty tarkistuslistan kohta __checklistItem__ tarkistuslistalle __checklist__ kortilla __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
"act-removeChecklist": "poistettu tarkistuslista __checklist__ kortilta __card__ listalla __list__ swimlanella __swimlane__ taululla __board__",
@@ -83,7 +83,7 @@
"add-checklist": "Lisää tarkistuslista",
"add-checklist-item": "Lisää kohta tarkistuslistaan",
"add-cover": "Lisää kansi",
"add-label": "Lisää tunniste",
"add-label": "Lisää nimilappu",
"add-list": "Lisää lista",
"add-members": "Lisää jäseniä",
"added": "Lisätty",
@@ -152,9 +152,9 @@
"card-spent": "Käytetty aika",
"card-edit-attachments": "Muokkaa liitetiedostoja",
"card-edit-custom-fields": "Muokkaa mukautettuja kenttiä",
"card-edit-labels": "Muokkaa tunnisteita",
"card-edit-labels": "Muokkaa nimilappuja",
"card-edit-members": "Muokkaa jäseniä",
"card-labels-title": "Muokkaa kortin tunnisteita.",
"card-labels-title": "Muokkaa kortin nimilappuja.",
"card-members-title": "Lisää tai poista taulun jäseniä tältä kortilta.",
"card-start": "Alkaa",
"card-start-on": "Alkaa",
@@ -163,7 +163,7 @@
"cardCustomFieldsPopup-title": "Muokkaa mukautettuja kenttiä",
"cardDeletePopup-title": "Poista kortti?",
"cardDetailsActionsPopup-title": "Korttitoimet",
"cardLabelsPopup-title": "Tunnisteet",
"cardLabelsPopup-title": "Nimilaput",
"cardMembersPopup-title": "Jäsenet",
"cardMorePopup-title": "Lisää",
"cardTemplatePopup-title": "Luo malli",
@@ -223,6 +223,8 @@
"comment-only-desc": "Voi vain kommentoida kortteja",
"no-comments": "Ei kommentteja",
"no-comments-desc": "Ei voi nähdä kommentteja ja toimintaa.",
"worker": "Työntekijä",
"worker-desc": "Voi vain siirtää kortteja, ilmoittautua kortin käsittelijäksi ja kommentoida.",
"computer": "Tietokone",
"confirm-subtask-delete-dialog": "Haluatko varmasti poistaa alitehtävän?",
"confirm-checklist-delete-dialog": "Haluatko varmasti poistaa tarkistuslistan?",
@@ -236,7 +238,7 @@
"create": "Luo",
"createBoardPopup-title": "Luo taulu",
"chooseBoardSourcePopup-title": "Tuo taulu",
"createLabelPopup-title": "Luo tunniste",
"createLabelPopup-title": "Luo nimilappu",
"createCustomField": "Luo kenttä",
"createCustomFieldPopup-title": "Luo kenttä",
"current": "nykyinen",
@@ -256,9 +258,9 @@
"default-avatar": "Oletusprofiilikuva",
"delete": "Poista",
"deleteCustomFieldPopup-title": "Poista mukautettu kenttä?",
"deleteLabelPopup-title": "Poista tunniste?",
"deleteLabelPopup-title": "Poista nimilappu?",
"description": "Kuvaus",
"disambiguateMultiLabelPopup-title": "Yksikäsitteistä tunnistetoiminta",
"disambiguateMultiLabelPopup-title": "Yksikäsitteistä nimilapputoiminta",
"disambiguateMultiMemberPopup-title": "Yksikäsitteistä jäsentoiminta",
"discard": "Hylkää",
"done": "Valmis",
@@ -272,7 +274,7 @@
"editCardDueDatePopup-title": "Muokkaa eräpäivää",
"editCustomFieldPopup-title": "Muokkaa kenttää",
"editCardSpentTimePopup-title": "Muuta käytettyä aikaa",
"editLabelPopup-title": "Muokkaa tunnistetta",
"editLabelPopup-title": "Muokkaa nimilappua",
"editNotificationPopup-title": "Muokkaa ilmoituksia",
"editProfilePopup-title": "Muokkaa profiilia",
"email": "Sähköposti",
@@ -315,7 +317,7 @@
"filter-cards": "Suodata kortit tai listat",
"list-filter-label": "Suodata listat otsikon mukaan",
"filter-clear": "Poista suodatin",
"filter-no-label": "Ei tunnistetta",
"filter-no-label": "Ei nimilappua",
"filter-no-member": "Ei jäseniä",
"filter-no-custom-fields": "Ei mukautettuja kenttiä",
"filter-show-archive": "Näytä arkistoidut listat",
@@ -357,10 +359,10 @@
"joined": "liittyi",
"just-invited": "Sinut on juuri kutsuttu tälle taululle",
"keyboard-shortcuts": "Pikanäppäimet",
"label-create": "Luo tunniste",
"label-default": "%s tunniste (oletus)",
"label-delete-pop": "Tätä ei voi peruuttaa. Tämä poistaa tämän tunnisteen kaikista korteista ja tuhoaa sen historian.",
"labels": "Tunnisteet",
"label-create": "Luo nimilappu",
"label-default": "%s nimilappu (oletus)",
"label-delete-pop": "Tätä ei voi peruuttaa. Tämä poistaa tämän nimilapun kaikista korteista ja tuhoaa sen historian.",
"labels": "Nimilaput",
"language": "Kieli",
"last-admin-desc": "Et voi vaihtaa rooleja koska täytyy olla olemassa ainakin yksi ylläpitäjä.",
"leave-board": "Jää pois taululta",
@@ -426,7 +428,7 @@
"quick-access-description": "Merkkaa taulu tähdellä lisätäksesi pikavalinta tähän palkkiin.",
"remove-cover": "Poista kansi",
"remove-from-board": "Poista taululta",
"remove-label": "Poista tunniste",
"remove-label": "Poista nimilappu",
"listDeletePopup-title": "Poista lista?",
"remove-member": "Poista jäsen",
"remove-member-from-card": "Poista kortilta",
@@ -552,7 +554,7 @@
"seconds": "sekuntia",
"show-field-on-card": "Näytä tämä kenttä kortilla",
"automatically-field-on-card": "Luo kenttä automaattisesti kaikille korteille",
"showLabel-field-on-card": "Näytä kentän tunniste minikortilla",
"showLabel-field-on-card": "Näytä kentän nimilappu minikortilla",
"yes": "Kyllä",
"no": "Ei",
"accounts": "Tilit",
@@ -574,7 +576,7 @@
"assigned-by": "Tehtävänantaja",
"requested-by": "Pyytäjä",
"board-delete-notice": "Poistaminen on lopullista. Menetät kaikki listat, kortit ja toimet tällä taululla.",
"delete-board-confirm-popup": "Kaikki listat, kortit, tunnisteet ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
"delete-board-confirm-popup": "Kaikki listat, kortit, nimilaput ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
"boardDeletePopup-title": "Poista taulu?",
"delete-board": "Poista taulu",
"default-subtasks-board": "Alitehtävät taululle __board__",
@@ -594,11 +596,11 @@
"parent-card": "Ylätehtäväkortti",
"source-board": "Lähdetaulu",
"no-parent": "Älä näytä ylätehtävää",
"activity-added-label": "lisätty tunniste '%s' kohteeseen %s",
"activity-removed-label": "poistettu tunniste '%s' kohteesta %s",
"activity-added-label": "lisätty nimilappu '%s' kohteeseen %s",
"activity-removed-label": "poistettu nimilappu '%s' kohteesta %s",
"activity-delete-attach": "poistettu liitetiedosto kohteesta %s",
"activity-added-label-card": "lisätty tunniste '%s'",
"activity-removed-label-card": "poistettu tunniste '%s'",
"activity-added-label-card": "lisätty nimilappu '%s'",
"activity-removed-label-card": "poistettu nimilappu '%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",
@@ -624,8 +626,8 @@
"r-archived": "Siirretty Arkistoon",
"r-unarchived": "Palautettu Arkistosta",
"r-a-card": "kortti",
"r-when-a-label-is": "Kun tunniste on",
"r-when-the-label": "Kun tunniste on",
"r-when-a-label-is": "Kun nimilappu on",
"r-when-the-label": "Kun nimilappu on",
"r-list-name": "listan nimi",
"r-when-a-member": "Kun jäsen on",
"r-when-the-member": "Kun käyttäjä",
@@ -648,7 +650,7 @@
"r-card": "kortti",
"r-add": "Lisää",
"r-remove": "Poista",
"r-label": "tunniste",
"r-label": "nimilappu",
"r-member": "jäsen",
"r-remove-all": "Poista kaikki jäsenet kortilta",
"r-set-color": "Aseta väriksi",
@@ -674,8 +676,8 @@
"r-d-send-email-message": "viesti",
"r-d-archive": "Siirrä kortti Arkistoon",
"r-d-unarchive": "Palauta kortti Arkistosta",
"r-d-add-label": "Lisää tunniste",
"r-d-remove-label": "Poista tunniste",
"r-d-add-label": "Lisää nimilappu",
"r-d-remove-label": "Poista nimilappu",
"r-create-card": "Luo uusi kortti",
"r-in-list": "listassa",
"r-in-swimlane": "swimlanessa",
@@ -748,8 +750,8 @@
"act-atUserComment": "Sinut mainittiin [__board__] __list__/__card__",
"delete-user-confirm-popup": "Haluatko varmasti poistaa tämän käyttäjätilin? Tätä ei voi peruuttaa.",
"accounts-allowUserDelete": "Salli käyttäjien poistaa tilinsä itse",
"hide-minicard-label-text": "Piilota minikortin tunniste teksti",
"hide-minicard-label-text": "Piilota minikortin nimilappu teksti",
"show-desktop-drag-handles": "Näytä työpöydän vedon kahvat",
"assignee": "Valtuutettu",
"cardAssigneesPopup-title": "Valtuutettu"
"assignee": "Käsittelijä",
"cardAssigneesPopup-title": "Käsittelijä"
}
+3 -1
View File
@@ -137,7 +137,7 @@
"board-view": "Vue du tableau",
"board-view-cal": "Calendrier",
"board-view-swimlanes": "Couloirs",
"board-view-collapse": "Collapse",
"board-view-collapse": "Diminuer",
"board-view-lists": "Listes",
"bucket-example": "Comme « todo list » par exemple",
"cancel": "Annuler",
@@ -223,6 +223,8 @@
"comment-only-desc": "Ne peut que commenter des cartes.",
"no-comments": "Aucun commentaire",
"no-comments-desc": "Ne peut pas voir les commentaires et les activités.",
"worker": "Travailleur",
"worker-desc": "Peut seulement déplacer des cartes, s'assigner à une carte et la commenter.",
"computer": "Ordinateur",
"confirm-subtask-delete-dialog": "Êtes-vous sûr de vouloir supprimer la sous-tâche ?",
"confirm-checklist-delete-dialog": "Êtes-vous sûr de vouloir supprimer la checklist ?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computador",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "ניתן להגיב על כרטיסים בלבד.",
"no-comments": "אין הערות",
"no-comments-desc": "לא ניתן לצפות בתגובות ובפעילויות.",
"worker": "עובד/ת",
"worker-desc": "אפשר רק להעביר כרטיסים, להקצות כרטיסים לעצמו/ה ולהגיב.",
"computer": "מחשב",
"confirm-subtask-delete-dialog": "למחוק את תת המשימה?",
"confirm-checklist-delete-dialog": "למחוק את רשימת המשימות?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "केवल कार्ड पर टिप्पणी कर सकते हैं।",
"no-comments": "कोई टिप्पणी नहीं",
"no-comments-desc": "टिप्पणियां और गतिविधियां नहीं देख पा रहे हैं।",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "संगणक",
"confirm-subtask-delete-dialog": "क्या आप वाकई उपकार्य हटाना चाहते हैं?",
"confirm-checklist-delete-dialog": "क्या आप वाकई जांचसूची हटाना चाहते हैं?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Csak megjegyzést írhat a kártyákhoz.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Számítógép",
"confirm-subtask-delete-dialog": "Biztosan törölni szeretnél az alfeladatot?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Bisa komen hanya di kartu",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Komputer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+20 -18
View File
@@ -17,13 +17,13 @@
"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-editComment": "edited comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-deleteComment": "deleted comment on card __card__: __comment__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-editComment": "commento modificato sulla scheda __card__: __commento__ nella lista __list__ nella swim lane __swimlane__ nella bacheca __board__",
"act-deleteComment": "commento eliminato sulla scheda __card__: __commento__ nella lista __list__ nella swim lane__ swimlane__ nella bacheca __board__",
"act-createBoard": "bacheca __board__ creata",
"act-createSwimlane": "creata corsia __swimlane__ alla bacheca __board__",
"act-createCard": "scheda __card__ creata nella lista __list__ della corsia __swimlane__ della bacheca __board__",
"act-createCustomField": "created custom field __customField__ at board __board__",
"act-deleteCustomField": "deleted custom field __customField__ at board __board__",
"act-createCustomField": "creato campo personalizzato __customField__ nella bacheca __board",
"act-deleteCustomField": "campo personalizzato eliminato __customField__ nella bacheca __board",
"act-setCustomField": "edited custom field __customField__: __customFieldValue__ at card __card__ at list __list__ at swimlane __swimlane__ at board __board__",
"act-createList": "aggiunta lista __list__ alla bacheca __board__",
"act-addBoardMember": "aggiunto membro __member__ alla bacheca __board__",
@@ -73,8 +73,8 @@
"activity-unchecked-item-card": "%s è stato deselezionato nella checklist %s",
"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",
"activity-editComment": "edited comment %s",
"activity-deleteComment": "deleted comment %s",
"activity-editComment": "commento modificato %s",
"activity-deleteComment": "commento eliminato %s",
"add-attachment": "Aggiungi Allegato",
"add-board": "Aggiungi Bacheca",
"add-card": "Aggiungi Scheda",
@@ -223,6 +223,8 @@
"comment-only-desc": "Puoi commentare solo le schede.",
"no-comments": "Non ci sono commenti.",
"no-comments-desc": "Impossibile visualizzare commenti o attività.",
"worker": "Worker",
"worker-desc": "Può solo spostare schede, assegnarsi una scheda e commentare.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Sei sicuro di voler eliminare il sotto-compito?",
"confirm-checklist-delete-dialog": "Sei sicuro di voler eliminare la checklist?",
@@ -302,18 +304,18 @@
"error-username-taken": "Questo username è già utilizzato",
"error-email-taken": "L'email è già stata presa",
"export-board": "Esporta bacheca",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
"list-label-modifiedAt": "Last Access Time",
"list-label-title": "Name of the List",
"sort": "Ordina",
"sort-desc": "Clicca per ordinare la lista",
"list-sort-by": "Ordina la lista per:",
"list-label-modifiedAt": "Orario ultimo accesso",
"list-label-title": "Nome della lista",
"list-label-sort": "Your Manual Order",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
"list-label-short-sort": "(M)",
"filter": "Filtra",
"filter-cards": "Filter Cards or Lists",
"list-filter-label": "Filter List by Title",
"filter-cards": "Filtra schede o liste",
"list-filter-label": "Filtra lista per titolo",
"filter-clear": "Pulisci filtri",
"filter-no-label": "Nessuna etichetta",
"filter-no-member": "Nessun membro",
@@ -438,7 +440,7 @@
"save": "Salva",
"search": "Cerca",
"rules": "Regole",
"search-cards": "Search from card/list titles and descriptions on this board",
"search-cards": "Ricerca per titolo e descrizione scheda/lista su questa bacheca",
"search-example": "Testo da ricercare?",
"select-color": "Seleziona Colore",
"set-wip-limit-value": "Seleziona un limite per il massimo numero di attività in questa lista",
@@ -522,13 +524,13 @@
"email-smtp-test-text": "Hai inviato un'email con successo",
"error-invitation-code-not-exist": "Il codice d'invito non esiste",
"error-notAuthorized": "Non sei autorizzato ad accedere a questa pagina.",
"webhook-title": "Webhook Name",
"webhook-token": "Token (Optional for Authentication)",
"webhook-title": "Nome Webhook",
"webhook-token": "Token (facoltativo per l'autenticazione)",
"outgoing-webhooks": "Server esterni",
"bidirectional-webhooks": "Two-Way Webhooks",
"outgoingWebhooksPopup-title": "Server esterni",
"boardCardTitlePopup-title": "Filtro per Titolo Scheda",
"disable-webhook": "Disable This Webhook",
"disable-webhook": "Disattiva questo Webhook",
"global-webhook": "Global Webhooks",
"new-outgoing-webhook": "Nuovo webhook in uscita",
"no-name": "(Sconosciuto)",
@@ -706,7 +708,7 @@
"r-df-end-at": "fine",
"r-df-received-at": "ricevuta",
"r-to-current-datetime": "to current date/time",
"r-remove-value-from": "Remove value from",
"r-remove-value-from": "Rimuovi valore da",
"ldap": "LDAP",
"oauth2": "Oauth2",
"cas": "CAS",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "カードにのみコメント可能",
"no-comments": "コメントなし",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "コンピューター",
"confirm-subtask-delete-dialog": "本当にサブタスクを削除してもよろしいでしょうか?",
"confirm-checklist-delete-dialog": "本当にチェックリストを削除してもよろしいでしょうか?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "თქვენ შეგიძლიათ კომენტარის გაკეთება მხოლოდ ბარათებზე.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "კომპიუტერი",
"confirm-subtask-delete-dialog": "დარწმუნებული ხართ, რომ გსურთ ქვესაქმიანობის წაშლა? ",
"confirm-checklist-delete-dialog": "დარწმუნებული ხართ, რომ გსურთ კატალოგის წაშლა ? ",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "카드에 댓글만 달수 있습니다.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "내 컴퓨터",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Може да коментира само в карти.",
"no-comments": "Нема коментари",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Компјутер",
"confirm-subtask-delete-dialog": "Сигурен ли сте, дека сакате да изтриете подзадачата?",
"confirm-checklist-delete-dialog": "Сигурни ли сте, дека сакате да изтриете този чеклист?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+36 -34
View File
@@ -1,45 +1,45 @@
{
"accept": "Accepteren",
"act-activity-notify": "Activiteiten Notificatie",
"act-addAttachment": "bijlage __attachment__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-deleteAttachment": "bijlage __attachment__ verwijderd op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-addSubtask": "subtaak __subtask__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-addLabel": "Label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-addedLabel": "Label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-removeLabel": "Label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-removedLabel": "Label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-addChecklist": "checklist __checklist__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-addChecklistItem": "checklist item __checklistItem__ toegevoegd aan checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-removeChecklist": "checklist __checklist__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-removeChecklistItem": "checklist item __checklistItem__ verwijderd van checklist __checkList__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-checkedItem": "__checklistItem__ aangevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-uncheckedItem": "__checklistItem__ uitgevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-completeChecklist": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-uncompleteChecklist": "checklist __checklist__ onafgewerkt op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-addAttachment": "heeft bijlage __attachment__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-deleteAttachment": "heeft bijlage __attachment__ verwijderd op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-addSubtask": "heeft subtaak __subtask__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-addLabel": "heeft label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-addedLabel": "heeft label __label__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-removeLabel": "heeft label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-removedLabel": "heeft label __label__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-addChecklist": "heeft checklist __checklist__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-addChecklistItem": "heeft checklist item __checklistItem__ toegevoegd aan checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-removeChecklist": "heeft checklist __checklist__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-removeChecklistItem": "heeft checklist item __checklistItem__ verwijderd van checklist __checkList__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-checkedItem": "heeft __checklistItem__ aangevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-uncheckedItem": "heeft __checklistItem__ uitgevinkt van checklist __checklist__ op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-completeChecklist": "heeft checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-uncompleteChecklist": "heeft checklist __checklist__ onafgewerkt op kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-addComment": "heeft aantekening toegevoegd aan kaart __card__: __comment__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-editComment": "heeft aantekening gewijzigd op kaart __card__: __comment__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-deleteComment": "heeft aantekening verwijderd van kaart __card__: __comment__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-createBoard": "bord __board__ aangemaakt",
"act-createSwimlane": "swimlane __swimlane__ aangemaakt op bord __board__",
"act-createCard": "kaart __card__ aangemaakt in lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-createCustomField": "maatwerkveld __customField__ aangemaakt op bord __board__",
"act-deleteCustomField": "maatwerkveld __customField__ verwijderd van bord __board__",
"act-setCustomField": "maatwerkveld gewijzigd __customField__: __customFieldValue__ op kaart __card__ in lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-createCard": "heeft kaart __card__ aangemaakt in lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-createCustomField": "heeft maatwerkveld __customField__ aangemaakt op bord __board__",
"act-deleteCustomField": "heeft maatwerkveld __customField__ verwijderd van bord __board__",
"act-setCustomField": "heeft maatwerkveld gewijzigd __customField__: __customFieldValue__ op kaart __card__ in lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-createList": "lijst __list__ toegevoegd aan bord __board__",
"act-addBoardMember": "lid __member__ toegevoegd aan bord __board__",
"act-addBoardMember": "heeft lid __member__ toegevoegd aan bord __board__",
"act-archivedBoard": "Bord __board__ verplaatst naar Archief",
"act-archivedCard": "Kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
"act-archivedCard": "heeft kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
"act-archivedList": "Lijst __list__ uit swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
"act-archivedSwimlane": "Swimlane __swimlane__ op bord __board__ verplaatst naar Archief",
"act-importBoard": "bord __board__ geïmporteerd",
"act-importCard": "kaart __card__ geïmporteerd in lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-importCard": "heeft kaart __card__ geïmporteerd in lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-importList": "lijst __list__ geïmporteerd in swimlane __swimlane__ op bord __board__",
"act-joinMember": "lid __member__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-joinMember": "heeft lid __member__ toegevoegd aan kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-moveCard": "heeft kaart __card__ verplaatst op bord __board__ van lijst __oldList__ uit swimlane __oldSwimlane__ naar lijst __list__ in swimlane __swimlane__",
"act-moveCardToOtherBoard": "kaart __card__ verplaatst van lijst __oldList__ uit swimlane __oldSwimlane__ op bord __oldBoard__ naar lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-removeBoardMember": "lid __member__ verwijderd van bord __board__",
"act-restoredCard": "kaart __card__ teruggehaald naar lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-unjoinMember": "lid __member__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-moveCardToOtherBoard": "heeft kaart __card__ verplaatst van lijst __oldList__ uit swimlane __oldSwimlane__ op bord __oldBoard__ naar lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-removeBoardMember": "heeft lid __member__ verwijderd van bord __board__",
"act-restoredCard": "heeft kaart __card__ teruggehaald naar lijst __list__ in swimlane __swimlane__ op bord __board__",
"act-unjoinMember": "heeft lid __member__ verwijderd van kaart __card__ van lijst __list__ uit swimlane __swimlane__ op bord __board__",
"act-withBoardTitle": "__board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Acties",
@@ -64,14 +64,14 @@
"activity-unchecked-item": "%s uitgevinkt in checklist %s van %s",
"activity-checklist-added": "checklist toegevoegd aan %s",
"activity-checklist-removed": "checklist verwijderd van %s",
"activity-checklist-completed": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"activity-checklist-completed": "heeft checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"activity-checklist-uncompleted": "checklist %s onafgewerkt van %s",
"activity-checklist-item-added": "checklist item toegevoegd aan '%s' in '%s'",
"activity-checklist-item-removed": "checklist item verwijderd van '%s' in %s",
"add": "Toevoegen",
"activity-checked-item-card": "%s aangevinkt in checklist %s",
"activity-unchecked-item-card": "%s uitgevinkt in checklist %s",
"activity-checklist-completed-card": "checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"activity-checklist-completed-card": "heeft checklist __checklist__ afgewerkt op kaart __card__ van lijst __list__ in swimlane __swimlane__ op bord __board__",
"activity-checklist-uncompleted-card": "checklist %s onafgewerkt",
"activity-editComment": "aantekening gewijzigd %s",
"activity-deleteComment": "aantekening verwijderd %s",
@@ -137,7 +137,7 @@
"board-view": "Bord overzicht",
"board-view-cal": "Kalender",
"board-view-swimlanes": "Swimlanes",
"board-view-collapse": "Collapse",
"board-view-collapse": "Klap in",
"board-view-lists": "Lijsten",
"bucket-example": "Zoals bijvoorbeeld een \"Bucket List\"",
"cancel": "Annuleren",
@@ -154,7 +154,7 @@
"card-edit-custom-fields": "Wijzig maatwerkvelden",
"card-edit-labels": "Wijzig labels",
"card-edit-members": "Wijzig leden",
"card-labels-title": "Wijzig de labels vam de kaart.",
"card-labels-title": "Wijzig de labels van de kaart.",
"card-members-title": "Voeg of verwijder leden van het bord toe aan de kaart.",
"card-start": "Begin",
"card-start-on": "Begint op",
@@ -223,6 +223,8 @@
"comment-only-desc": "Kan alleen op kaarten aantekenen.",
"no-comments": "Geen aantekeningen",
"no-comments-desc": "Zie geen aantekeningen of activiteiten.",
"worker": "Medewerker",
"worker-desc": "Kan alleen kaarten verplaatsen, zichzelf aan kaarten koppelen en aantekeningen maken.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Weet je zeker dat je de subtaak wilt verwijderen?",
"confirm-checklist-delete-dialog": "Weet je zeker dat je de checklist wilt verwijderen?",
@@ -730,9 +732,9 @@
"loading": "Laden, even geduld.",
"previous_as": "laatste keer was",
"act-a-dueAt": "heeft vervaldatum gewijzigd naar \nOp: __timeValue__\nKaart: __card__\noude vervaldatum was __timeOldValue__",
"act-a-endAt": "einddatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
"act-a-startAt": "begindatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
"act-a-receivedAt": "ontvangstdatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
"act-a-endAt": "heeft einddatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
"act-a-startAt": "heeft begindatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
"act-a-receivedAt": "heeft ontvangstdatum gewijzigd naar __timeValue__ van (__timeOldValue__)",
"a-dueAt": "vervaldatum gewijzigd naar",
"a-endAt": "einddatum gewijzigd naar",
"a-startAt": "begindatum gewijzigd naar",
+2
View File
@@ -223,6 +223,8 @@
"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",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"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?",
+5 -3
View File
@@ -137,7 +137,7 @@
"board-view": "Widok tablicy",
"board-view-cal": "Kalendarz",
"board-view-swimlanes": "Diagramy czynności",
"board-view-collapse": "Collapse",
"board-view-collapse": "Zwiń",
"board-view-lists": "Listy",
"bucket-example": "Tak jak na przykład \"lista kubełkowa\"",
"cancel": "Anuluj",
@@ -223,6 +223,8 @@
"comment-only-desc": "Może tylko komentować w kartach.",
"no-comments": "Bez komentarzy",
"no-comments-desc": "Nie widzi komentarzy i aktywności.",
"worker": "Pracownik",
"worker-desc": "Możesz tylko przenieść karty, przypisać je do siebie i na nich komentować.",
"computer": "Komputera",
"confirm-subtask-delete-dialog": "Czy jesteś pewien, że chcesz usunąć to podzadanie?",
"confirm-checklist-delete-dialog": "Czy jesteś pewien, że chcesz usunąć listę zadań?",
@@ -470,7 +472,7 @@
"has-spenttime-cards": "Ma karty z wykorzystanym czasem",
"time": "Czas",
"title": "Tytuł",
"tracking": "Śledzenie",
"tracking": "Śledź",
"tracking-info": "Dostaniesz powiadomienie o zmianach kart, w których bierzesz udział jako twórca lub członek.",
"type": "Typ",
"unassign-member": "Nieprzypisany członek",
@@ -483,7 +485,7 @@
"view-it": "Zobacz",
"warn-list-archived": "Ostrzeżenie: ta karta jest na liście będącej w Archiwum",
"watch": "Obserwuj",
"watching": "Obserwujesz",
"watching": "Obserwuj",
"watching-info": "Dostaniesz powiadomienie o każdej zmianie na tej tablicy.",
"welcome-board": "Tablica powitalna",
"welcome-swimlane": "Kamień milowy 1",
+34 -32
View File
@@ -98,19 +98,19 @@
"and-n-other-card_plural": "E __count__ outros cartões",
"apply": "Aplicar",
"app-is-offline": "Carregando, por favor espere. Atualizar a página causará perda de dados. Se a carga não funcionar, por favor verifique se o servidor não caiu.",
"archive": "Mover para o Arquivo-morto",
"archive-all": "Mover Tudo para o Arquivo-morto",
"archive-board": "Mover Quadro para o Arquivo-morto",
"archive-card": "Mover Cartão para o Arquivo-morto",
"archive-list": "Mover Lista para o Arquivo-morto",
"archive-swimlane": "Mover Raia para Arquivo-morto",
"archive-selection": "Mover seleção para o Arquivo-morto",
"archiveBoardPopup-title": "Mover Quadro para o Arquivo-morto?",
"archived-items": "Arquivo-morto",
"archived-boards": "Quadros no Arquivo-morto",
"archive": "Mover para o Arquivo morto",
"archive-all": "Mover Tudo para o Arquivo morto",
"archive-board": "Mover Quadro para o Arquivo morto",
"archive-card": "Mover Cartão para o Arquivo morto",
"archive-list": "Mover Lista para o Arquivo morto",
"archive-swimlane": "Mover Raia para Arquivo morto",
"archive-selection": "Mover seleção para o Arquivo morto",
"archiveBoardPopup-title": "Mover Quadro para o Arquivo morto?",
"archived-items": "Arquivo morto",
"archived-boards": "Quadros no Arquivo morto",
"restore-board": "Restaurar Quadro",
"no-archived-boards": "Sem Quadros no Arquivo-morto.",
"archives": "Arquivos-morto",
"no-archived-boards": "Sem Quadros no Arquivo morto.",
"archives": "Arquivos morto",
"template": "Modelo",
"templates": "Modelos",
"assign-member": "Atribuir Membro",
@@ -137,7 +137,7 @@
"board-view": "Visão de quadro",
"board-view-cal": "Calendário",
"board-view-swimlanes": "Raias",
"board-view-collapse": "Collapse",
"board-view-collapse": "Expandir",
"board-view-lists": "Listas",
"bucket-example": "\"Bucket List\", por exemplo",
"cancel": "Cancelar",
@@ -146,7 +146,7 @@
"card-comments-title": "Este cartão possui %s comentários.",
"card-delete-notice": "A exclusão será permanente. Você perderá todas as ações associadas a este cartão.",
"card-delete-pop": "Todas as ações serão excluidas da lista de Atividades e vocês não poderá re-abrir o cartão. Não há como desfazer.",
"card-delete-suggest-archive": "Você pode mover um cartão para o Arquivo-morto para removê-lo do quadro e preservar a atividade.",
"card-delete-suggest-archive": "Você pode mover um cartão para o Arquivo morto para removê-lo do quadro e preservar a atividade.",
"card-due": "Prazo final",
"card-due-on": "Prazo final em",
"card-spent": "Tempo Gasto",
@@ -190,7 +190,7 @@
"clipboard": "Área de Transferência ou arraste e solte",
"close": "Fechar",
"close-board": "Fechar Quadro",
"close-board-pop": "Você será capaz de restaurar o quadro clicando no botão “Arquivo-morto” a partir do cabeçalho do Início.",
"close-board-pop": "Você será capaz de restaurar o quadro clicando no botão “Arquivo morto” a partir do cabeçalho do Início.",
"color-black": "preto",
"color-blue": "azul",
"color-crimson": "carmesim",
@@ -223,6 +223,8 @@
"comment-only-desc": "Pode comentar apenas em cartões.",
"no-comments": "Sem comentários",
"no-comments-desc": "Sem visualização de comentários e atividades.",
"worker": "Colaborador",
"worker-desc": "Pode apenas mover cartões, atribuir-se ao cartão e comentar.",
"computer": "Computador",
"confirm-subtask-delete-dialog": "Tem certeza que deseja excluir a subtarefa?",
"confirm-checklist-delete-dialog": "Tem certeza que quer excluir a lista de verificação?",
@@ -367,8 +369,8 @@
"leave-board-pop": "Tem a certeza de que pretende sair de __boardTitle__? Você será removido de todos os cartões neste quadro.",
"leaveBoardPopup-title": "Sair do Quadro?",
"link-card": "Vincular a este cartão",
"list-archive-cards": "Move todos os cartões nesta lista para o Arquivo-morto",
"list-archive-cards-pop": "Isto removerá todos os cartões desta lista para o quadro. Para visualizar cartões arquivados e trazê-los de volta para o quadro, clique em “Menu” > “Arquivo-morto”.",
"list-archive-cards": "Move todos os cartões nesta lista para o Arquivo morto",
"list-archive-cards-pop": "Isto removerá todos os cartões desta lista para o quadro. Para visualizar cartões arquivados e trazê-los de volta para o quadro, clique em “Menu” > “Arquivo morto”.",
"list-move-cards": "Mover todos os cartões desta lista",
"list-select-cards": "Selecionar todos os cartões nesta lista",
"set-color-list": "Definir Cor",
@@ -379,7 +381,7 @@
"listMorePopup-title": "Mais",
"link-list": "Vincular a esta lista",
"list-delete-pop": "Todas as ações serão excluidas da lista de atividades e você não poderá recuperar a lista. Não há como desfazer.",
"list-delete-suggest-archive": "Você pode mover uma lista para o Arquivo-morto para removê-la do quadro e preservar a atividade.",
"list-delete-suggest-archive": "Você pode mover uma lista para o Arquivo morto para removê-la do quadro e preservar a atividade.",
"lists": "Listas",
"swimlanes": "Raias",
"log-out": "Sair",
@@ -399,9 +401,9 @@
"muted-info": "Você nunca receberá qualquer notificação desse board",
"my-boards": "Meus Quadros",
"name": "Nome",
"no-archived-cards": "Sem cartões no Arquivo-morto.",
"no-archived-lists": "Sem listas no Arquivo-morto.",
"no-archived-swimlanes": "Sem raias no Arquivo-morto.",
"no-archived-cards": "Sem cartões no Arquivo morto.",
"no-archived-lists": "Sem listas no Arquivo morto.",
"no-archived-swimlanes": "Sem raias no Arquivo morto.",
"no-results": "Nenhum resultado.",
"normal": "Normal",
"normal-desc": "Pode ver e editar cartões. Não pode alterar configurações.",
@@ -413,11 +415,11 @@
"page-maybe-private": "Esta página pode ser privada. Você poderá vê-la se estiver <a href='%s'>logado</a>.",
"page-not-found": "Página não encontrada.",
"password": "Senha",
"paste-or-dragdrop": "para colar, ou arraste e solte o arquivo da imagem para cá (somente imagens)",
"paste-or-dragdrop": "para colar ou arraste e solte o arquivo da imagem para cá (somente imagens)",
"participating": "Participando",
"preview": "Previsualizar",
"previewAttachedImagePopup-title": "Previsualizar",
"previewClipboardImagePopup-title": "Previsualizar",
"preview": "Pré-visualizar",
"previewAttachedImagePopup-title": "Pré-visualizar",
"previewClipboardImagePopup-title": "Pré-visualizar",
"private": "Privado",
"private-desc": "Este quadro é privado. Apenas seus membros podem acessar e editá-lo.",
"profile": "Perfil",
@@ -481,7 +483,7 @@
"uploaded-avatar": "Avatar carregado",
"username": "Nome de usuário",
"view-it": "Visualizar",
"warn-list-archived": "aviso: este cartão está em uma lista no Arquiv-morto",
"warn-list-archived": "aviso: este cartão está em uma lista no Arquivo-texto",
"watch": "Observar",
"watching": "Observando",
"watching-info": "Você será notificado de qualquer alteração neste quadro",
@@ -621,8 +623,8 @@
"set-filter": "Inserir Filtro",
"r-moved-to": "Movido para",
"r-moved-from": "Movido de",
"r-archived": "Movido para o Arquivo-morto",
"r-unarchived": "Restaurado do Arquivo-morto",
"r-archived": "Movido para o Arquivo morto",
"r-unarchived": "Restaurado do Arquivo morto",
"r-a-card": "um cartão",
"r-when-a-label-is": "Quando uma etiqueta é",
"r-when-the-label": "Quando a etiqueta é",
@@ -643,8 +645,8 @@
"r-top-of": "Topo de",
"r-bottom-of": "Final de",
"r-its-list": "é lista",
"r-archive": "Mover para Arquivo-morto",
"r-unarchive": "Restaurar do Arquivo-morto",
"r-archive": "Mover para Arquivo morto",
"r-unarchive": "Restaurar do Arquivo morto",
"r-card": "cartão",
"r-add": "Novo",
"r-remove": "Remover",
@@ -672,8 +674,8 @@
"r-d-send-email-to": "para",
"r-d-send-email-subject": "assunto",
"r-d-send-email-message": "mensagem",
"r-d-archive": "Mover cartão para Arquivo-morto",
"r-d-unarchive": "Restaurar cartão do Arquivo-morto",
"r-d-archive": "Mover cartão para Arquivo morto",
"r-d-unarchive": "Restaurar cartão do Arquivo morto",
"r-d-add-label": "Adicionar etiqueta",
"r-d-remove-label": "Remover etiqueta",
"r-create-card": "Criar novo cartão",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Pode comentar apenas em cartões.",
"no-comments": "Sem comentários",
"no-comments-desc": "Não pode ver comentários nem actividades.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computador",
"confirm-subtask-delete-dialog": "Tem certeza que deseja apagar a sub-tarefa?",
"confirm-checklist-delete-dialog": "Tem certeza que quer apagar a lista de verificação?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+15 -13
View File
@@ -137,7 +137,7 @@
"board-view": "Вид доски",
"board-view-cal": "Календарь",
"board-view-swimlanes": "Дорожки",
"board-view-collapse": "Collapse",
"board-view-collapse": "Свернуть",
"board-view-lists": "Списки",
"bucket-example": "Например “Список дел”",
"cancel": "Отмена",
@@ -223,6 +223,8 @@
"comment-only-desc": "Может комментировать только карточки.",
"no-comments": "Без комментариев",
"no-comments-desc": "Не видит комментарии и историю действий.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Загрузить с компьютера",
"confirm-subtask-delete-dialog": "Вы уверены, что хотите удалить подзадачу?",
"confirm-checklist-delete-dialog": "Вы уверены, что хотите удалить контрольный список?",
@@ -302,18 +304,18 @@
"error-username-taken": "Это имя пользователя уже занято",
"error-email-taken": "Этот адрес уже занят",
"export-board": "Экспортировать доску",
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
"list-label-modifiedAt": "Last Access Time",
"list-label-title": "Name of the List",
"sort": "Сортировать",
"sort-desc": "Нажмите, чтобы отсортировать список",
"list-sort-by": "Сортировать список по:",
"list-label-modifiedAt": "Время последнего доступа",
"list-label-title": "Название списка",
"list-label-sort": "Your Manual Order",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
"list-label-short-sort": "(M)",
"filter": "Фильтр",
"filter-cards": "Filter Cards or Lists",
"list-filter-label": "Filter List by Title",
"filter-cards": "Фильтр Карточек или Списков",
"list-filter-label": "Фильтровать Список по Названию",
"filter-clear": "Очистить фильтр",
"filter-no-label": "Нет метки",
"filter-no-member": "Нет участников",
@@ -438,7 +440,7 @@
"save": "Сохранить",
"search": "Поиск",
"rules": "Правила",
"search-cards": "Search from card/list titles and descriptions on this board",
"search-cards": "Искать в названиях карточек, списков и описаниях карточек на этой доске",
"search-example": "Искать текст?",
"select-color": "Выбрать цвет",
"set-wip-limit-value": "Устанавливает ограничение на максимальное количество задач в этом списке",
@@ -491,7 +493,7 @@
"welcome-list2": "Расширенно",
"card-templates-swimlane": "Шаблоны карточек",
"list-templates-swimlane": "Шаблоны списков",
"board-templates-swimlane": "Шаблоны досок",
"board-templates-swimlane": "Шаблоны доски",
"what-to-do": "Что вы хотите сделать?",
"wipLimitErrorPopup-title": "Некорректный лимит на кол-во задач",
"wipLimitErrorPopup-dialog-pt1": "Количество задач в этом списке превышает установленный вами лимит",
@@ -741,7 +743,7 @@
"pastdue": "текущий срок выполнения %s прошел",
"duenow": "текущий срок выполнения %s сегодня",
"act-newDue": "__list__/__card__ has 1st due reminder [__board__]",
"act-withDue": "__list__/__card__ due reminders [__board__]",
"act-withDue": "__list__/__card__ напоминания о сроке выполнения [__board__]",
"act-almostdue": "напомнил, что скоро завершается срок выполнения (__timeValue__) карточки __card__",
"act-pastdue": "напомнил, что срок выполнения (__timeValue__) карточки __card__ прошел",
"act-duenow": "напомнил, что срок выполнения (__timeValue__) карточки __card__ — это уже сейчас",
@@ -750,6 +752,6 @@
"accounts-allowUserDelete": "Разрешить пользователям удалять собственные аккаунты",
"hide-minicard-label-text": "Скрыть текст меток на карточках",
"show-desktop-drag-handles": "Show desktop drag handles",
"assignee": "Assignee",
"cardAssigneesPopup-title": "Assignee"
"assignee": "Исполнитель",
"cardAssigneesPopup-title": "Исполнитель"
}
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Lahko komentirate samo na karticah.",
"no-comments": "Ni komentarjev",
"no-comments-desc": "Ne morete videti komentarjev in dejavnosti.",
"worker": "Delavec",
"worker-desc": "Lahko samo premikam kartice, se dodelim na kartico in komentiram.",
"computer": "Računalnik",
"confirm-subtask-delete-dialog": "Ste prepričani, da želite izbrisati podopravilo?",
"confirm-checklist-delete-dialog": "Ste prepričani, da želite izbrisati kontrolni seznam?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Kan endast kommentera kort.",
"no-comments": "Inga kommentarer",
"no-comments-desc": "Kan inte se kommentarer och aktiviteter.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Dator",
"confirm-subtask-delete-dialog": "Är du säker på att du vill radera deluppgift?",
"confirm-checklist-delete-dialog": "Är du säker på att du vill radera checklista?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Tarakilishi",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "கருத்து இல்லை ",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "கணினி ",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "คอมพิวเตอร์",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+4 -2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Sadece kartlara yorum yazabilir.",
"no-comments": "Yorum Yok",
"no-comments-desc": "Yorumlar ve aktiviteleri göremiyorum.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Bilgisayar",
"confirm-subtask-delete-dialog": "Alt görevi silmek istediğinizden emin misiniz?",
"confirm-checklist-delete-dialog": "Kontrol listesini silmek istediğinden emin misin?",
@@ -305,8 +307,8 @@
"sort": "Sort",
"sort-desc": "Click to Sort List",
"list-sort-by": "Sort the List By:",
"list-label-modifiedAt": "Last Access Time",
"list-label-title": "Name of the List",
"list-label-modifiedAt": "Son Erişim Zamanı...",
"list-label-title": "Listenin Adı...",
"list-label-sort": "Your Manual Order",
"list-label-short-modifiedAt": "(L)",
"list-label-short-title": "(N)",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "Немає коментарів",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "Can comment on cards only.",
"no-comments": "No comments",
"no-comments-desc": "Can not see comments and activities.",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "Computer",
"confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+2
View File
@@ -223,6 +223,8 @@
"comment-only-desc": "只能在卡片上评论。",
"no-comments": "暂无评论",
"no-comments-desc": "无法查看评论和活动。",
"worker": "Worker",
"worker-desc": "Can only move cards, assign itself to card and comment.",
"computer": "从本机上传",
"confirm-subtask-delete-dialog": "确定要删除子任务吗?",
"confirm-checklist-delete-dialog": "确定要删除清单吗?",
Loaded 100 of 131 files, more files were not shown because too many files have changed in this diff. Show more