Compare commits

...
222 Commits
Author SHA1 Message Date
Lauri Ojansivu 541dc67a02 v1.09 2018-06-28 00:14:02 +03:00
Lauri Ojansivu d0611e1bff Update translations. 2018-06-28 00:09:52 +03:00
Lauri Ojansivu 523ebea4dd Merge branch 'TNick-calendar' into devel 2018-06-27 23:57:02 +03:00
Lauri Ojansivu bccfa320a9 - Calendar.
Thanks to TNick !
2018-06-27 23:56:15 +03:00
Lauri Ojansivu 72d0db7a59 Merge branch 'calendar' of https://github.com/TNick/wekan into TNick-calendar 2018-06-27 23:55:06 +03:00
Lauri Ojansivu ed0ef5b7d3 Merge branch 'TNick-invitation-code-setting' into devel 2018-06-27 23:38:58 +03:00
Lauri Ojansivu 5619eef620 - Restore invitation code logic. Please test and add comment
to those invitation code issues that this fixes.

Thanks to TNick !
2018-06-27 23:37:50 +03:00
Lauri Ojansivu ae2e42e1b4 Merge branch 'invitation-code-setting' of https://github.com/TNick/wekan into TNick-invitation-code-setting 2018-06-27 23:30:23 +03:00
Lauri Ojansivu 864ad3827d - To fix "title is required" fix only add-checklist-items and
revert all other migration changes.

Closes #1576,
closes #1734
2018-06-27 23:25:48 +03:00
Nicu Tofan 0394a78ece Get rid of extra package
staringatlights:flow-router is another incarnation of kadira:flow-router
kadira:flow-router is not an explicit dependency but useraccounts:flow-routing depends on it.
This commit gets rid of an anoying message informing that a route has
not been found.
2018-06-27 17:39:29 +03:00
Nicu Tofan 19d239f4cf Prevent errors due to missing date fields 2018-06-27 16:25:57 +03:00
Nicu Tofan d23ac2b385 Restore invitation code logic 2018-06-27 15:30:52 +03:00
Lauri Ojansivu 766b58d91b v1.08 2018-06-27 11:06:37 +03:00
Lauri Ojansivu 663a4040f9 Add Georgian language. 2018-06-27 10:24:07 +03:00
Nicu Tofan 18467dfe40 Show cards in calendar 2018-06-26 22:11:51 +03:00
Lauri Ojansivu 2a165dccd4 Update translations (sv). 2018-06-26 21:37:21 +03:00
Lauri Ojansivu d501e5832a Fix typo. 2018-06-26 21:31:29 +03:00
Lauri Ojansivu b198a3ed99 Fix typo. 2018-06-26 21:29:38 +03:00
Nicu Tofan 226d25ca94 Introducing third board view: calendar.
A dependency to rzymek:fullcalendar has also been added.
2018-06-26 19:55:23 +03:00
Lauri Ojansivu 43dde4a10f - Fix "Error: title is required" by removing find() from all of migrations.
Thanks to xet7 !

Closes #1576
2018-06-26 02:14:52 +03:00
Lauri Ojansivu 97922c90cb - Fix "Error: title is required" by removing find() from all of migrations.
Thanks to xet7 !

Closes #1576
2018-06-26 02:11:37 +03:00
Lauri Ojansivu c372ea02f7 Merge branch 'pravdomil-patch-6' into devel 2018-06-26 01:42:02 +03:00
Lauri Ojansivu daa95c582e - Submit inline form on click outside, fixes
"You have an unsaved description" doesn't go away after saving.

Thanks to pravdomil and xet7 !

Fixes #1287
2018-06-26 01:40:13 +03:00
Lauri Ojansivu aa2a15bf1b Fix lint errors. 2018-06-26 01:36:44 +03:00
Lauri Ojansivu f629a7b3f7 Merge branch 'patch-6' of https://github.com/pravdomil/wekan into pravdomil-patch-6 2018-06-26 01:35:09 +03:00
Lauri Ojansivu 03921a969a Merge branch 'pravdomil-patch-3' into devel 2018-06-26 01:08:18 +03:00
Lauri Ojansivu b7d51456eb - Add more card inner shadow;
- Less margin-bottom after minicard.

Thanks pravdomil and xet7 !

Related #1690
Related https://github.com/wekan/wekan/pull/1713
2018-06-26 01:06:14 +03:00
Lauri Ojansivu 6a587299b8 - Add more card inner shadow.
Thanks to pravdomil and xet7 !

Related #1690
2018-06-26 01:02:19 +03:00
Lauri Ojansivu f5aa1b795b Merge branch 'patch-3' of https://github.com/pravdomil/wekan into pravdomil-patch-3 2018-06-26 01:01:12 +03:00
Lauri Ojansivu 2efc5ab4e9 Merge branch 'pravdomil-patch-4' into devel 2018-06-26 00:46:32 +03:00
Lauri Ojansivu fde26c2183 - Fix vertical align of user avatar initials.
Thanks to pravdomil !
2018-06-26 00:45:51 +03:00
Lauri Ojansivu 8ad8f17731 Merge branch 'patch-4' of https://github.com/pravdomil/wekan into pravdomil-patch-4 2018-06-26 00:43:36 +03:00
Lauri Ojansivu e9d56b0804 Merge branch 'zypA13510-zypA13510-patch-1' into devel 2018-06-26 00:37:58 +03:00
Lauri Ojansivu 43a967b274 - Fix typo in English translation.
Thanks to zypA13510 !
2018-06-26 00:37:02 +03:00
Lauri Ojansivu c1ecaf3959 Merge branch 'zypA13510-patch-1' of https://github.com/zypA13510/wekan into zypA13510-zypA13510-patch-1 2018-06-26 00:04:05 +03:00
Lauri Ojansivu 0b5ecd24f9 Update translations. 2018-06-26 00:01:02 +03:00
Lauri Ojansivu 9a55f38d90 Change fr.md to not be executeable. 2018-06-25 23:57:53 +03:00
Lauri Ojansivu 09c8f29de8 Update translations. 2018-06-23 02:11:44 +03:00
pravdomil 620bbb3394 refactor 2018-06-19 16:43:02 +02:00
pravdomil 77ae6c17e7 submit inline form on click outside 2018-06-19 16:38:42 +02:00
pravdomil b8bbdcc4c5 fix vertical align of user avatar initials 2018-06-19 16:10:48 +02:00
pravdomil 18e936fd28 less margin-bottom after minicard 2018-06-19 14:12:17 +02:00
Yuping Zuo c94edb6bb0 Update en.i18n.json
Fixed incorrect syntax in advanced filter description.
2018-06-19 10:37:59 +08:00
Lauri Ojansivu 484d495259 Update translations (de). 2018-06-15 19:21:32 +03:00
Lauri Ojansivu dfbcca2a2d Try to fix broken markdown of \ character. 2018-06-14 23:55:55 +03:00
Lauri Ojansivu 73c6c07c47 v1.07 2018-06-14 23:32:30 +03:00
Lauri Ojansivu 896a149fb9 - Regex for Advanced filter.
It aims to solve search in bigger text fields, and using wildcards.
  A change to translations was made for adding info about regex and escaping characters with \

Thanks to feuerball11 and xet7 !
2018-06-14 23:29:58 +03:00
Lauri Ojansivu 0034d2d3be Merge branch 'feuerball11-feature-custom-fields' into devel 2018-06-14 23:25:39 +03:00
Lauri Ojansivu 880dcab0b1 Update translations. 2018-06-14 23:24:29 +03:00
Lauri Ojansivu 98eb4453c5 Fix typo. 2018-06-14 23:09:47 +03:00
Lauri Ojansivu 3e686e4379 Merge branch 'feature-custom-fields' of https://github.com/feuerball11/wekan into feuerball11-feature-custom-fields 2018-06-14 22:51:43 +03:00
IgnatzHome 8509dad58f changing loca to explain regex and escape character 2018-06-14 21:42:18 +02:00
Lauri Ojansivu 1214af04a9 v1.06 2018-06-14 22:30:36 +03:00
Lauri Ojansivu 8c0d61c4a5 v1.06 2018-06-14 22:29:54 +03:00
IgnatzHome ba2012af43 regex for advanced filter 2018-06-14 21:14:16 +02:00
IgnatzHome b5e6e6ee10 Merge branch 'devel' of https://github.com/wekan/wekan into feature-custom-fields 2018-06-14 20:38:10 +02:00
IgnatzHome 61ee6cf09f This seems to make more sense. 2018-06-14 20:26:44 +02:00
IgnatzHome 04925f7347 trying to understand hirachy 2018-06-14 20:11:29 +02:00
Lauri Ojansivu 8a7ad0df54 v1.05 2018-06-14 20:43:28 +03:00
IgnatzHome a433f7d9fe Merge branch 'feature-custom-fields' of https://github.com/feuerball11/wekan into feature-custom-fields 2018-06-14 19:42:09 +02:00
IgnatzHome 991e74bfc2 testing mobile detail view fix. 2018-06-14 19:38:57 +02:00
Lauri Ojansivu c46817f23a Fix lint errors. 2018-06-14 20:14:43 +03:00
Lauri Ojansivu 94bd63c8a7 Merge branch 'rjevnikar-fixRDate' into devel 2018-06-14 19:45:22 +03:00
Lauri Ojansivu 3e8b2620a1 Fix minicardReceivedDate typo in
1.04 regression: Socket connection error and boards not loading

Thanks to Fran-KTA and rjevnikar !

Closes #1694
2018-06-14 19:43:33 +03:00
Lauri Ojansivu ce8c78eb34 Merge branch 'fixRDate' of https://github.com/rjevnikar/wekan into rjevnikar-fixRDate 2018-06-14 19:39:27 +03:00
Lauri Ojansivu 85e02010d4 Merge branch 'feuerball11-feature-custom-fields' into devel 2018-06-14 19:38:16 +03:00
RJevnikar a912960a58 Add back language files 2018-06-14 16:31:54 +00:00
Lauri Ojansivu aeec9f6ef8 - Markdown support in Custom Fields, and view on minicard
- Fixes to Advanced Filter, you are now able to filter for Dropdown and Numbers,
  also Dropdown are now correctly displayed on minicard
- Fix Issue with custom fields shown on card
- Fix showing public board in list mode
- Fix for not able to remove Custom Field "Show on Card"

Related #807

Closes #1659,
closes #1623,
closes #1683
2018-06-14 19:28:06 +03:00
RJevnikar 718adc6c47 Fix minicardReceivedDate typo identified in #1694 2018-06-14 16:11:41 +00:00
Lauri Ojansivu 454aa05987 Another fix for checklists item migration error "title is required"
https://github.com/wekan/wekan/commit/8d5cbf1e6c2b6d467fe1c0708cd794fd11b98a2e#commitcomment-29362180

Thanks to oec !

Closes #1576
2018-06-14 19:03:44 +03:00
Lauri Ojansivu 23726136bd Merge branch 'feature-custom-fields' of https://github.com/feuerball11/wekan into feuerball11-feature-custom-fields 2018-06-14 18:58:09 +03:00
Lauri Ojansivu fa82efe7d2 Merge branch 'rjevnikar-dateColourFix' into devel
Fix data colour changes on cards.

Related https://github.com/wekan/wekan/pull/1698

Fixes #1693
2018-06-14 18:47:26 +03:00
Lauri Ojansivu 011fad6701 Update translations. 2018-06-14 18:46:28 +03:00
Ignatz fcf262cc98 testing markdown support for custom fields 2018-06-14 15:08:30 +02:00
Ignatz c5f0e87dd0 fix for not able to remove "Show on Card" 2018-06-14 14:10:30 +02:00
Ignatz 6a154ee9b0 correcting error in advanced filter 2018-06-14 12:56:29 +02:00
Ignatz 558539e21b trying to fix integer search 2018-06-14 12:49:59 +02:00
Ignatz 571f55f904 fixing search for dropdown fields, and error on loading board 2018-06-14 12:41:16 +02:00
Ignatz 259614b647 trying to fix display Issue with dropdown custom fields 2018-06-14 11:58:37 +02:00
Ignatz 8ec60879dc hotfix public board 2018-06-14 10:55:53 +02:00
RJevnikar edd2e9db3c Fix lint errors 2018-06-13 22:26:45 +00:00
RJevnikar 67454d0491 Fix data colour changes on cards.
Addressing both #1685 and #1693
2018-06-13 22:18:00 +00:00
Lauri Ojansivu 848d8ac95d Removed duplicate text. 2018-06-13 00:34:51 +03:00
Lauri Ojansivu a98ae8dc71 v1.04 2018-06-12 22:20:17 +03:00
Lauri Ojansivu 193ff20c23 Add SECURITY.md 2018-06-12 22:11:43 +03:00
Lauri Ojansivu 92a85a991b Merge branch 'rjevnikar-labelText' into devel 2018-06-12 21:48:46 +03:00
Lauri Ojansivu 38af71d9c9 - Change label text colour to black for specific label colours for better visibility
Thanks to rjevnikar !
2018-06-12 21:48:02 +03:00
Lauri Ojansivu 246267276a Update translations. 2018-06-12 21:46:37 +03:00
Lauri Ojansivu ea19176d3c Merge branch 'labelText' of https://github.com/rjevnikar/wekan into rjevnikar-labelText 2018-06-12 21:46:03 +03:00
Lauri Ojansivu f28889de59 - Modify card covers/mini-cards so that:
1) Received date is shown unless there is a start date
  2) Due Date is shown, unless there is an end date.

This begins to address #1668

Thanks to rjevnikar !
2018-06-12 21:42:52 +03:00
Lauri Ojansivu aa7199af2d Merge branch 'rjevnikar-cardCoverTimeBadges' into devel 2018-06-12 21:36:16 +03:00
Lauri Ojansivu fba0a52e4a Update translations. 2018-06-12 21:34:57 +03:00
Lauri Ojansivu 6d7bdad140 Merge branch 'cardCoverTimeBadges' of https://github.com/rjevnikar/wekan into rjevnikar-cardCoverTimeBadges 2018-06-12 21:21:56 +03:00
Lauri Ojansivu aef871833b - SECURITY FIX: Do not publish all of people collection.
Thanks to Adrian Genaid.
2018-06-12 21:18:38 +03:00
Lauri Ojansivu dda49d2f07 - Security Fix: Do not publish all of people collection.
Thanks to Adrian Genaid !
2018-06-12 21:13:50 +03:00
RJevnikar 199ea3d6f9 Change label text colour to black for specific label colours for better visibility 2018-06-11 16:21:35 +00:00
Lauri Ojansivu 53bd527947 - Add Khmer language.
Thanks to xet7 and translators !
2018-06-10 19:45:03 +03:00
Lauri Ojansivu 2156e45869 Add Khmer language. 2018-06-10 19:42:24 +03:00
Lauri Ojansivu 1ced919dfb Update translations. 2018-06-10 18:38:07 +03:00
Lauri Ojansivu d948e78d1e Update translations. 2018-06-10 18:02:07 +03:00
Lauri Ojansivu bd5fd77655 Fix typo. 2018-06-10 17:45:02 +03:00
RJevnikar 45cf2843a6 Adjust classes given to due date to take into account end date 2018-06-08 21:09:52 +00:00
RJevnikar ca51ace22d Modify mini cards so that received date is shown if there is no start date, and due date is shown if there is no end date. 2018-06-08 20:42:16 +00:00
Lauri Ojansivu 93a7040c77 Update translations. 2018-06-08 18:00:35 +03:00
Lauri Ojansivu dc687848e6 v1.03 2018-06-08 14:19:45 +03:00
Lauri Ojansivu 85187817a7 Update translations. 2018-06-08 14:17:04 +03:00
Lauri Ojansivu 5f5a1b780e Merge branch 'rjevnikar-moreFieldsColours' into devel
Closes #833
2018-06-08 01:52:27 +03:00
Lauri Ojansivu e31741cd7b Update translations. 2018-06-08 01:51:58 +03:00
Lauri Ojansivu d5bfa468f7 - Additional label colors
- Assigned By and Requested By text fields on card
- Delete board from Recycle Bin

Thanks to JamesLavin and rjevnikar !
2018-06-08 01:18:41 +03:00
Lauri Ojansivu 9990f9856b Change button order at Boards Recycle Bin. 2018-06-08 00:41:39 +03:00
Lauri Ojansivu b3bb03fed4 Merge branch 'moreFieldsColours' of https://github.com/rjevnikar/wekan into rjevnikar-moreFieldsColours 2018-06-07 22:53:06 +03:00
RJevnikar 1332a57890 Fix double comma in i18n/en.i18n.json 2018-06-07 19:15:58 +00:00
Lauri Ojansivu 123d9659c1 - Update to newest Sandstorm fork of Node.js that includes
performance etc fixes.

Thanks to xet7 !
2018-06-07 22:13:39 +03:00
Lauri Ojansivu 90d55777f7 Copy latest Sandstorm Node.js fork binary from installed Sandstorm
/opt/sandstorm/sandstorm-234/bin/node to https://releases.wekan.team
download server.

Node binary is compiled by https://github.com/kentonv
when doing new release of Sandstorm.

Source code of binary is at:
https://github.com/sandstorm-io/node
2018-06-07 21:54:08 +03:00
RJevnikar ec4e1b6eff Fix spacing on cardDetails.jade to get 'Add' buttons in <a> tag for RequestedBy & AssignedBy 2018-06-07 16:26:20 +00:00
RJevnikar c72b769f82 Attempt to lineup buttons in recycle bin & get delete board popup to appear 2018-06-07 16:02:44 +00:00
Lauri Ojansivu 8471f389eb Merge branch 'rjevnikar-boardViewMigration' into devel
Fixes #1675
2018-06-06 23:12:00 +03:00
Lauri Ojansivu 23e6b4ec0a - Try to fix: Missing board-view-lists Field after DB updated to Wekan 1.02.
Thanks to rjevnikar !
2018-06-06 23:10:40 +03:00
RJevnikar 8f364281d2 Remove delete option from board hamburger menu 2018-06-06 20:05:44 +00:00
RJevnikar 1f17cee39b Remove double template for deleteCardPopup 2018-06-06 17:45:43 +00:00
RJevnikar 4787a1186b Adjust 'add-profile-view' in migrations.js in attempt to resolve 1675 2018-06-06 17:36:20 +00:00
RJevnikar 3c4b09157e Fix AssignedBy & RequestedBy fields & forms 2018-06-06 16:44:15 +00:00
RJevnikar 87ee0ca646 Fix display of card details - cardDetails.styl - remove trailing comma 2018-06-06 16:31:18 +00:00
RJevnikar de59758471 Add delete board to Recycle Bin, fix delete-board menu item on board menu 2018-06-06 15:27:05 +00:00
RJevnikar ea109cfdd7 Add migrations for requestedBy and assignedBy fields. 2018-06-06 13:19:53 +00:00
RJevnikar 9035989abf Finish adding delete board feature 2018-06-05 22:03:46 +00:00
RJevnikar aa6076e087 Fix lint error 2018-06-05 21:29:28 +00:00
RJevnikar 78b9436f38 Fix problems highlighted by Codacy/PR Quality Review 2018-06-05 21:21:14 +00:00
RJevnikar 3ce3fa74b3 Add additional label colours (from pull by JamesLavin), Add Assigned & Requested By text fields. 2018-06-05 20:23:29 +00:00
Lauri Ojansivu d6eff2a074 Update translations. 2018-06-04 00:15:22 +03:00
Lauri Ojansivu 6d75fe4d86 Update translations. 2018-05-28 22:02:30 +03:00
Lauri Ojansivu 9ff2340cdb v1.02 2018-05-26 09:39:18 +03:00
Lauri Ojansivu b727204716 Merge branch 'devel' of github.com:wekan/wekan into devel 2018-05-26 09:37:39 +03:00
Lauri Ojansivu 5b4f2f55aa Update translations.
Correction: Releasing Wekan v1.02
2018-05-26 09:36:11 +03:00
Lauri Ojansivu 60119153de Update translations. 2018-05-26 09:29:58 +03:00
Lauri Ojansivu 2b2d596da6 v1.0.2 2018-05-26 08:58:40 +03:00
Lauri Ojansivu 63c1ef9f9e Actually, without @latest it works the same. 2018-05-26 08:47:37 +03:00
Lauri Ojansivu 0cc183682e Use latest npm. 2018-05-26 08:43:20 +03:00
Lauri Ojansivu 4d193f5650 Remove bcrypt, continued. 2018-05-26 08:28:16 +03:00
Lauri Ojansivu 73c4806864 Merge branch 'xadagaras-bugfix/received_end_date_picker' into devel 2018-05-26 08:27:07 +03:00
Lauri Ojansivu b0cf60a3d9 - Fix Received Date and End Date on Cards.
Thanks to xadagaras !
2018-05-26 07:52:20 +03:00
Lauri Ojansivu 3ca3d063a7 Merge branch 'bugfix/received_end_date_picker' of https://github.com/xadagaras/wekan into xadagaras-bugfix/received_end_date_picker 2018-05-26 07:49:49 +03:00
Lauri Ojansivu 01741750f8 Merge branch 'kubiko-devel' into devel 2018-05-26 07:48:38 +03:00
Lauri Ojansivu 4377381fd3 - Snap: Filtering out swap file created at build time, adding stage package.
Thanks to kubiko !
2018-05-26 07:47:59 +03:00
Lauri Ojansivu 9cf1b62cd6 Merge branch 'devel' of https://github.com/kubiko/wekan into kubiko-devel 2018-05-26 07:45:41 +03:00
Lauri Ojansivu 5ded2e5121 - Removed binary version of bcrypt because of vulnerability that has issue that is not fixed yet. This may cause some slowdown.
Thanks to xet7 !
2018-05-26 07:44:36 +03:00
Lauri Ojansivu 7eeabf14be Remove binary version of bcrypt because of security vulnerability.
This may cause some slowdown.
2018-05-26 07:33:32 +03:00
Daniel Kreuter be507e567a Extend editCardReceivedDatePopup and editCardEndDatePopup from DatePicker to fix #1654 2018-05-25 19:44:49 +02:00
Ondrej Kubik 1117d1c2ae filtering out swap file created at build time, adding stage package
Signed-off-by: Ondrej Kubik <ondrej.kubik@canonical.com>
2018-05-25 13:49:24 +00:00
Lauri Ojansivu 4b20102139 Remove bcrypt 2018-05-24 18:06:39 +03:00
Lauri Ojansivu 9242bdb10b Go back to xss 0.3.8, because 1.0.0 did break snap build. 2018-05-24 14:07:57 +03:00
Lauri Ojansivu 3bcd578fcb Merge branch 'greenkeeper/xss-1.0.0' into devel 2018-05-24 10:55:12 +03:00
Lauri Ojansivu 4c5daf5d85 - Update xss to version 1.00
Thanks to xet7 !
2018-05-24 10:51:29 +03:00
greenkeeper[bot] 5b4d75a976 fix(package): update xss to version 1.0.0 2018-05-24 07:11:37 +00:00
Lauri Ojansivu b9c63a8c8f v1.01 2018-05-23 22:54:12 +03:00
Lauri Ojansivu f75f686271 Update translations. 2018-05-23 21:56:11 +03:00
Lauri Ojansivu 505fc71665 - Possible quickfix for all customFields Import errors, please test.
Thanks to feuerball11 and xet7 !

Related #807

Closes #1652, closes #1651
2018-05-23 21:04:24 +03:00
Lauri Ojansivu 529594ef55 Fix lint errors. 2018-05-23 20:58:28 +03:00
Ignatz 3d1f004e90 lint corrections 2018-05-23 11:04:12 +02:00
Ignatz 0195044ba1 possible quickfix for all customFields Import errors 2018-05-23 11:02:23 +02:00
Lauri Ojansivu ad8f227880 More details to issue template. 2018-05-22 09:45:59 +03:00
Lauri Ojansivu c4d83c6e66 Simplify issue template 2018-05-22 09:37:46 +03:00
Lauri Ojansivu 90b589d993 Remove duplicate Contributing.md 2018-05-22 09:29:00 +03:00
Lauri Ojansivu d4cc337577 v1.00 2018-05-21 17:29:04 +03:00
Lauri Ojansivu 25695bdef2 Update translations. 2018-05-21 17:22:46 +03:00
Lauri Ojansivu af496839f5 Fix typo.
Thanks to yarons !

Closes #1647
2018-05-21 16:31:09 +03:00
Lauri Ojansivu 9c09d926e3 v0.99 2018-05-21 15:05:56 +03:00
Lauri Ojansivu cba480d3ae Update translations (de) 2018-05-21 15:03:26 +03:00
Lauri Ojansivu dbfdba75f9 Merge branch 'feuerball11-feature-advanced-filter' into devel 2018-05-21 02:41:48 +03:00
Lauri Ojansivu d46afc12be Advanced Filter for Custom Fields.
Thanks to feuerball11 and xet7 !
2018-05-21 02:41:02 +03:00
Lauri Ojansivu 531cea489e Update translations. 2018-05-21 02:27:15 +03:00
Lauri Ojansivu 9e4758ec9e Update translations. 2018-05-21 01:03:42 +03:00
Lauri Ojansivu e8206f2983 Merge branch 'feature-advanced-filter' of https://github.com/feuerball11/wekan into feuerball11-feature-advanced-filter 2018-05-20 22:53:36 +03:00
IgnatzHome 2119a6568b forgot a ' 2018-05-20 14:59:32 +02:00
IgnatzHome dd7c9997a9 Removing Debug Lines, correcting behavior, caching las valide filter, and adding description 2018-05-20 14:53:00 +02:00
IgnatzHome 256ca129f0 Correcting not Filter 2018-05-20 14:03:48 +02:00
IgnatzHome 6d9ac3ae48 testing theorie: subcommands are allways 1 entry 2018-05-20 13:19:18 +02:00
IgnatzHome 59046d448f making custom-fields uneditable on minicard 2018-05-20 12:24:07 +02:00
IgnatzHome d9e291635a customFields bevore mebers on minicard 2018-05-20 12:17:25 +02:00
Lauri Ojansivu 1133b7a04a Update translations. 2018-05-20 13:13:15 +03:00
IgnatzHome 43fe9ef34a style correction for custom fields on minicard 2018-05-20 12:11:58 +02:00
IgnatzHome f910b66ef2 correcting indent in jade 2018-05-20 11:49:49 +02:00
IgnatzHome bfac626fa4 showOnCard test implementation 2018-05-20 11:40:32 +02:00
IgnatzHome ecbb8ef071 correcting strings not part of subcommand 2018-05-20 11:27:22 +02:00
IgnatzHome 1c0c5bde0f More conditions and logic Operators, Also Brackets. 2018-05-20 11:15:57 +02:00
IgnatzHome c3044a6b8b removing .cmd in oricessing Operators 2018-05-20 10:20:29 +02:00
IgnatzHome 778a29855f stringify console.logs becouse of asynchrone nature from chromes interpretation... WAT 2018-05-20 10:11:46 +02:00
IgnatzHome eb859dac3a More Debugging Logs 2018-05-20 09:57:40 +02:00
IgnatzHome 9ac1164440 Testing 'or' condition for advanced Filter 2018-05-20 09:47:20 +02:00
IgnatzHome 39974c9532 rewrite Filter._getMongoSelecto to not include Empty Filter. 2018-05-20 09:33:51 +02:00
IgnatzHome 4ff8989e8f More Debugging 2018-05-19 22:29:12 +02:00
IgnatzHome 2bf13a50c4 find to findOne 2018-05-19 22:17:00 +02:00
IgnatzHome 382b14ea27 debugging _fieldNameToId 2018-05-19 21:54:20 +02:00
IgnatzHome 17fcfd3697 correcting _fieldNameToId(field); 2018-05-19 21:42:11 +02:00
IgnatzHome 811ccf0f10 i was constructing the wrong and the whole time.. *sigh* 2018-05-19 21:31:43 +02:00
IgnatzHome 422424d21c fixing string detection in advanced filter 2018-05-19 21:19:10 +02:00
IgnatzHome 0bdc7efc8b another debug line 2018-05-19 21:06:53 +02:00
IgnatzHome 32058e8018 damm i got the eslint file again.... 2018-05-19 20:53:59 +02:00
IgnatzHome ba12b53e49 correct way, wrong idea 2018-05-19 20:53:25 +02:00
IgnatzHome b9ead144fb javascript is confusing sometimes 2018-05-19 20:33:49 +02:00
IgnatzHome 1d58e40133 this took me way too long 2018-05-19 20:17:52 +02:00
IgnatzHome cd749bc385 console log for debug 2018-05-19 19:59:10 +02:00
IgnatzHome 01cd2df369 correcting return type from constructed 2018-05-19 19:16:10 +02:00
IgnatzHome 1854f5c061 correcting push not part of string 2018-05-19 19:00:20 +02:00
IgnatzHome b00bd04baa first test for Advanced Filter 2018-05-19 18:38:48 +02:00
Lauri Ojansivu 3075791a93 v0.98 2018-05-19 18:43:59 +03:00
Lauri Ojansivu 38ab2b766d Merge branch 'feuerball11-feature-custom-fields-filter' into devel 2018-05-19 18:40:03 +03:00
Lauri Ojansivu 410e5aa28d - Filtering by Custom Field
- Update to NPM 6.0.1 and MongoDB 3.2.20

Thanks to feuerball11 and xet7 !
2018-05-19 18:37:02 +03:00
Lauri Ojansivu 82f7541131 Update translations. 2018-05-19 18:30:29 +03:00
Lauri Ojansivu 106b135eba Use NPM 6.0.1 2018-05-19 18:13:43 +03:00
Lauri Ojansivu 7dfec58128 Merge branch 'feature-custom-fields-filter' of https://github.com/feuerball11/wekan into feuerball11-feature-custom-fields-filter 2018-05-19 17:39:05 +03:00
IgnatzHome 977bce9eb2 correcting 'no custom fields' 2018-05-19 16:23:18 +02:00
IgnatzHome bc0aef3332 More Filter Corrections (Custom Fields) 2018-05-19 16:06:06 +02:00
Lauri Ojansivu 8101d7ade8 MongoDB v3.2.20 2018-05-19 17:05:28 +03:00
IgnatzHome f6d19d2833 Filter Sidebar Corrections 2018-05-19 15:40:51 +02:00
IgnatzHome c431af27c2 Correcting FIlter search with Multiple Custom Fields 2018-05-19 15:35:25 +02:00
IgnatzHome 973a0d93ae reverting .eslintrc (i always forget to dont commit this) 2018-05-19 15:21:48 +02:00
IgnatzHome cbdb7b4f64 Correcting constructed mongoSelector 2018-05-19 15:21:12 +02:00
Lauri Ojansivu 8f0c3b45c0 Fix date. 2018-05-19 16:10:12 +03:00
IgnatzHome 78317ef792 Filter on custom fields presence 2018-05-19 14:51:01 +02:00
IgnatzHome 1ab4f5b913 Merge remote-tracking branch 'original/devel' into feature-custom-fields-filter 2018-05-19 14:18:40 +02:00
Ignatz 3e390503fc first test for custom fields filter 2018-05-18 16:41:03 +02:00
84 changed files with 3154 additions and 689 deletions

No files matched your search

+8 -6
View File
@@ -2,15 +2,17 @@
**Server Setup Information**:
* Did you test in newest Wekan?:
* Wekan version:
* If this is about old version of Wekan, what upgrade problem you have?:
* Operating System:
* Deployment Method(snap/sandstorm/mongodb bundle):
* Http frontend (Caddy, Nginx, Apache, see config examples from Wekan GitHub wiki first):
* Deployment Method(snap/docker/sandstorm/mongodb bundle/source):
* Http frontend if any (Caddy, Nginx, Apache, see config examples from Wekan GitHub wiki first):
* Node Version:
* MongoDB Version:
* ROOT_URL environment variable http(s)://(subdomain).example.com(/suburl):
**Problem description**:
- *be as explicit as you can*
- *describe the problem and its symptoms*
- *explain how to reproduce*
- *attach whatever information that can help understanding the context (screen capture, log files in .zip file)*
- *REQUIRED: Add recorded animated gif about how it works currently, and screenshot mockups how it should work*
- *Explain steps how to reproduce*
- *Attach log files in .zip file)*
+2 -1
View File
@@ -77,10 +77,11 @@ email@1.2.3
horka:swipebox
dynamic-import@0.2.0
staringatlights:fast-render
staringatlights:flow-router
mixmax:smart-disconnect
accounts-password@1.5.0
cfs:gridfs
browser-policy
eluck:accounts-lockout
rzymek:fullcalendar
momentjs:moment@2.22.2
+2 -1
View File
@@ -103,6 +103,7 @@ mixmax:smart-disconnect@0.0.4
mobile-status-bar@1.0.14
modules@0.11.0
modules-runtime@0.9.1
momentjs:moment@2.22.2
mongo@1.3.1
mongo-dev-server@1.1.0
mongo-id@1.0.6
@@ -139,6 +140,7 @@ reactive-var@1.0.11
reload@1.1.11
retry@1.0.9
routepolicy@1.0.12
rzymek:fullcalendar@3.8.0
service-configuration@1.0.11
session@1.1.7
sha@1.0.9
@@ -155,7 +157,6 @@ srp@1.0.10
standard-minifier-css@1.3.5
standard-minifier-js@2.2.3
staringatlights:fast-render@2.16.5
staringatlights:flow-router@2.12.2
staringatlights:inject-data@2.0.5
stylus@2.513.13
tap:i18n@1.8.2
+156 -1
View File
@@ -1,4 +1,159 @@
# v0.97 2018-06-19 Wekan release
# v1.09 2018-06-28 Wekan release
This release adds the following new features:
* [Calendar](https://github.com/wekan/wekan/pull/1728). Click Lists / Swimlanes / Calendar.
and fixes the following bugs:
* To fix ["title is required"](https://github.com/wekan/wekan/issues/1576) fix only
add-checklist-items and revert all other migration changes](https://github.com/wekan/wekan/issues/1734);
* [Restore invitation code logic](https://github.com/wekan/wekan/pull/1732). Please test and add comment
to those invitation code issues that this fixes.
Thanks to GitHub users TNick and xet7 for their contributions.
# v1.08 2018-06-27 Wekan release
This release adds the following new features:
* [Add more card inner shadow](https://github.com/wekan/wekan/commit/6a587299b80a49fce0789628ff65885b5ed2c837);
* [Less margin-bottom after minicard](https://github.com/wekan/wekan/pull/1713);
* Updated newest node fork binary from Sandstorm to Wekan, see https://releases.wekan.team/node.txt
* Add Georgian language.
and fixes the following bugs:
* [Fix typo in English translation](https://github.com/wekan/wekan/pull/1710);
* [Fix vertical align of user avatar initials](https://github.com/wekan/wekan/pull/1714);
* [Submit inline form on click outside](https://github.com/wekan/wekan/pull/1717), fixes
["You have an unsaved description" doesn't go away after saving](https://github.com/wekan/wekan/issues/1287);
* [Fix "Error: title is required" by removing find() from all of migrations](https://github.com/wekan/wekan/commit/97922c90cb42be6c6615639bb164173748982f56).
Thanks to GitHub users pravdomil, xet7 and zypA13510 for their contributions.
# v1.07 2018-06-14 Wekan release
This release adds the following new features:
* [Regex for Advanced filter. It aims to solve search in bigger text fields, and using wildcards.
A change to translations was made for adding info about regex and escaping characters
with \\](https://github.com/wekan/wekan/pull/1702).
Thanks to GitHub users feuerball11 and xet7 for their contributions.
# v1.06 2018-06-14 Wekan release
This release fixes the following bugs:
* [Fix CardDetail of Mobile View](https://github.com/wekan/wekan/pull/1701).
Thanks to GitHub users feuerball11 and xet7 for their contributions.
# v1.05 2018-06-14 Wekan release
This release adds the following new features:
* [Markdown support in Custom Fields, and view on minicard](https://github.com/wekan/wekan/pull/1699);
* [Fixes to Advanced Filter, you are now able to filter for Dropdown and Numbers,
also Dropdown are now correctly displayed on minicard](https://github.com/wekan/wekan/pull/1699).
and fixes the following bugs:
* [Fix data colour changes on cards](https://github.com/wekan/wekan/pull/1698);
* [Fix for migration error "title is required" and breaking of Standalone and
Sandstorm Wekan](https://github.com/wekan/wekan/commit/8d5cbf1e6c2b6d467fe1c0708cd794fd11b98a2e#commitcomment-29362180);
* [Fix Issue with custom fields shown on card](https://github.com/wekan/wekan/issues/1659);
* [Fix showing public board in list mode](https://github.com/wekan/wekan/issues/1623);
* [Fix for not able to remove Custom Field "Show on Card"](https://github.com/wekan/wekan/pull/1699);
* [Fix minicardReceivedDate typo in 1.04 regression: Socket connection error and boards
not loading](https://github.com/wekan/wekan/issues/1694).
Thanks to GitHub users feuerball11, Fran-KTA, oec, rjevnikar and xet7 for their contributions.
# v1.04 2018-06-12 Wekan release
This release adds the following new features:
* [Add Khmer language](https://github.com/wekan/wekan/commit/2156e458690d0dc34a761a48fd7fa3b54af79031);
* [Change label text colour to black for specific label colours for better
visibility](https://github.com/wekan/wekan/pull/1689).
and fixes the following bugs:
* [SECURITY FIX: Do not publish all of people collection. This bug has probably been present
since addition of Admin Panel](https://github.com/wekan/wekan/commit/dda49d2f07f9c50d5d57acfd5c7eee6492f93b33);
* [Modify card covers/mini-cards so that: 1) received date is shown unless there is a start date
2) due date is shown, unless there is an end date](https://github.com/wekan/wekan/pull/1685).
Thanks to GitHub users rjevnikar and xet7 for their contributions.
Thanks to Adrian Genaid for security fix, he's now added to [Hall of Fame](https://wekan.github.io/hall-of-fame/).
Thanks to translators.
# v1.03 2018-06-08 Wekan release
This release adds the following new features:
* [Update to newest Sandstorm fork of Node.js that includes performance
etc fixes](https://github.com/wekan/wekan/commit/90d55777f7298d243ed0de03c934cea239a31272);
* [Additional label colors. Assigned By and Requested By text fields
on card. Delete board from Recycle Bin](https://github.com/wekan/wekan/pull/1679).
and possibly fixes the following bugs, please test:
* [Try to fix: Missing board-view-lists Field after DB updated to
Wekan 1.02](https://github.com/wekan/wekan/issues/1675).
Thanks to GitHub users JamesLavin, rjevnikar and xet7 for their contributions.
# v1.02 2018-05-26 Wekan release
This release fixes the following bugs:
* [Remove binary version of bcrypt](https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac)
because of [vulnerability](https://nodesecurity.io/advisories/612) that has [issue that is not fixed
yet](https://github.com/kelektiv/node.bcrypt.js/issues/604)
and [not yet merged pull request](https://github.com/kelektiv/node.bcrypt.js/pull/606).
This may cause some slowdown;
* [Snap: Filtering out swap file created at build time, adding stage package](https://github.com/wekan/wekan/pull/1660);
* [Fix Received Date and End Date on Cards](https://github.com/wekan/wekan/issues/1654).
Thanks to GitHub users kubiko, xadagaras and xet7 for their contributions.
# v1.01 2018-05-23 Wekan release
This release possibly fixes the following bugs, please test:
* [Possible quickfix for all customFields Import errors, please test](https://github.com/wekan/wekan/pull/1653).
Thanks to GitHub users feuerball11 and xet7 for their contributions.
# v1.00 2018-05-21 Wekan release
This release fixes the following bugs:
* [Typo in English translation: brakets to brackets](https://github.com/wekan/wekan/issues/1647).
Thanks to GitHub user yarons for contributions.
# v0.99 2018-05-21 Wekan release
This release adds the following new features:
* [Advanced Filter for Custom Fields](https://github.com/wekan/wekan/pull/1646).
Thanks to GitHub users feuerball11 and xet7 for their contributions.
# v0.98 2018-05-19 Wekan release
This release adds the following new features:
* [Filtering by Custom Field](https://github.com/wekan/wekan/pull/1645);
* Update to NPM 6.0.1 and MongoDB 3.2.20.
Thanks to GitHub users feuerball11 and xet7 for their contributions.
# v0.97 2018-05-19 Wekan release
Updated translations.
+4 -1
View File
@@ -1 +1,4 @@
To get started, [sign the Contributor License Agreement](https://www.clahub.com/agreements/wekan/wekan).
To get started, [please sign the Contributor License Agreement](https://www.clahub.com/agreements/wekan/wekan).
[Then, please read documentation at wiki](https://github.com/wekan/wekan/wiki).
-5
View File
@@ -1,5 +0,0 @@
# Contributing
Please see wiki for all documentation:
<https://github.com/wekan/wekan/wiki>
+9 -7
View File
@@ -19,7 +19,7 @@ ENV NODE_VERSION ${NODE_VERSION:-v8.11.1}
ENV METEOR_RELEASE ${METEOR_RELEASE:-1.6.0.1}
ENV USE_EDGE ${USE_EDGE:-false}
ENV METEOR_EDGE ${METEOR_EDGE:-1.5-beta.17}
ENV NPM_VERSION ${NPM_VERSION:-5.5.1}
ENV NPM_VERSION ${NPM_VERSION:-latest}
ENV FIBERS_VERSION ${FIBERS_VERSION:-2.0.0}
ENV ARCHITECTURE ${ARCHITECTURE:-linux-x64}
ENV SRC_PATH ${SRC_PATH:-./}
@@ -47,9 +47,8 @@ RUN \
# Fiber.poolSize = 1e9;
# Download node version 8.11.1 that has fix included, node binary copied from Sandstorm
# Description at https://releases.wekan.team/node.txt
# SHA256SUM: 18c99d5e79e2fe91e75157a31be30e5420787213684d4048eb91e602e092725d
wget https://releases.wekan.team/node-${NODE_VERSION}-${ARCHITECTURE}.tar.gz && \
echo "c85ed210a360c50d55baaf7b49419236e5241515ed21410d716f4c1f5deedb12 node-v8.11.1-linux-x64.tar.gz" >> SHASUMS256.txt.asc && \
echo "308d0caaef0a1da3e98d1a1615016aad9659b3caf31d0f09ced20cabedb8acbf node-v8.11.1-linux-x64.tar.gz" >> SHASUMS256.txt.asc && \
\
# Verify nodejs authenticity
grep ${NODE_VERSION}-${ARCHITECTURE}.tar.gz SHASUMS256.txt.asc | shasum -a 256 -c - && \
@@ -125,12 +124,15 @@ RUN \
gosu wekan:wekan /home/wekan/.meteor/meteor build --directory /home/wekan/app_build && \
cp /home/wekan/app/fix-download-unicode/cfs_access-point.txt /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
chown wekan:wekan /home/wekan/app_build/bundle/programs/server/packages/cfs_access-point.js && \
cd /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt && \
gosu wekan:wekan rm -rf node_modules/bcrypt && \
gosu wekan:wekan npm install bcrypt && \
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
#cd /home/wekan/app_build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt && \
#gosu wekan:wekan rm -rf node_modules/bcrypt && \
#gosu wekan:wekan npm install bcrypt && \
cd /home/wekan/app_build/bundle/programs/server/ && \
gosu wekan:wekan npm install && \
gosu wekan:wekan npm install bcrypt && \
#gosu wekan:wekan npm install bcrypt && \
mv /home/wekan/app_build/bundle /build && \
\
# Cleanup
+129
View File
@@ -0,0 +1,129 @@
Security is very important to us. If discover any issue regarding security, please disclose
the information responsibly by sending an email to security (at) wekan.team and not by
creating a GitHub issue. We will respond swiftly to fix verifiable security issues.
We thank you with a place at our hall of fame page, that is
at https://wekan.github.io/hall-of-fame . Others have just posted public GitHub issue,
so they are not at that hall-of-fame page.
## How should reports be formatted?
```
Name: %name
Twitter: %twitter
Bug type: %bugtype
Domain: %domain
Severity: %severity
URL: %url
PoC: %poc
CVSS (optional): %cvss
CWSS (optional): %cwss
```
## Who can participate in the program
Anyone who reports a unique security issue in scope and does not disclose it to
a third party before we have patched and updated may be upon their approval
added to the Wekan Hall of Fame.
## Which domains are in scope?
No any public domains, because all those are donated to Wekan Open Source project,
and we don't have any permissions to do security scans on those donated servers.
Please don't perform research that could impact other users. Secondly, please keep
the reports short and succinct. If we fail to understand the logics of your bug, we will tell you.
You can [Install Wekan](https://github.com/wekan/wekan/releases) to your own computer
and scan it's vulnerabilities there.
## About Wekan versions
There is only 2 versions of Wekan: Standalone Wekan, and Sandstorm Wekan.
### Standalone Wekan Security
Standalone Wekan includes all non-Sandstorm platforms. Some Standalone Wekan platforms
like Snap and Docker have their own specific sandboxing etc features.
Standalone Wekan by default does not load any files from Internet, like fonts, CSS, etc.
This also means all Standalone Wekan functionality works in offline local networks.
Wekan is used by companies that have [thousands of users](https://github.com/wekan/wekan/wiki/AWS) and at healthcare.
Wekan uses xss package for input fields like cards, as you can see from
[package.json](https://github.com/wekan/wekan/blob/devel/package.json). Other used versions can be seen from
[Meteor versions file](https://github.com/wekan/wekan/blob/devel/.meteor/versions).
Forms can include markdown links, html, image tags etc like you see at https://wekan.github.io .
It's possible to add attachments to cards, and markdown/html links to files.
Wekan attachments are not accessible without logging in. Import from Trello works by copying
Trello export JSON to Wekan Trello import page, and in Trello JSON file there is direct links to all publicly
accessible Trello attachment files, that Standalone Wekan downloads directly to Wekan MongoDB database in
[CollectionFS](https://github.com/wekan/wekan/pull/875) format. When Wekan board is exported in
Wekan JSON format, all board attachments are included in Wekan JSON file as base64 encoded text.
That Wekan JSON format file can be imported to Sandstorm Wekan with all the attachments, when we get
latest Wekan version working on Sandstorm, only couple of bugs are left before that. In Sandstorm it's not
possible yet to import from Trello with attachments, because Wekan does not implement Sandstorm-compatible
access to outside of Wekan grain.
Standalone Wekan only has password auth currently, there is work in progress to add
[oauth2](https://github.com/wekan/wekan/pull/1578), [Openid](https://github.com/wekan/wekan/issues/538),
[LDAP](https://github.com/wekan/wekan/issues/119) etc. If you need more login security for Standalone Wekan now,
it's possible add additional [Google Auth proxybouncer](https://github.com/wekan/wekan/wiki/Let's-Encrypt-and-Google-Auth) in front of password auth, and then use Google Authenticator for Google Auth. Standalone Wekan does have [brute force protection with eluck:accounts-lockout and browser-policy clickjacking protection](https://github.com/wekan/wekan/blob/devel/CHANGELOG.md#v080-2018-04-04-wekan-release). You can also optionally use some [WAF](https://en.wikipedia.org/wiki/Web_application_firewall)
like for example [AWS WAF](https://aws.amazon.com/waf/).
[All Wekan Platforms](https://github.com/wekan/wekan/wiki/Platforms)
### Sandstorm Wekan Security
On Sandstorm platform using environment variable Standalone Wekan features like Admin Panel etc are
turned off, because Sandstorm platform provides SSO for all apps running on Sandstorm.
[Sandstorm](https://sandstorm.io) is separate Open Source platform that has been
[security audited](https://sandstorm.io/news/2017-03-02-security-review) and found bugs fixed.
Sandstorm also has passwordless login, LDAP, SAML, Google etc auth options already.
At Sandstorm code is read-only and signed by app maintainers, only grain content can be modified.
Wekan at Sandstorm runs in sandboxed grain, it does not have access elsewhere without user-visible
PowerBox request or opening randomly-generated API key URL.
Also read [Sandstorm Security Practices](https://docs.sandstorm.io/en/latest/using/security-practices/) and
[Sandstorm Security non-events](https://docs.sandstorm.io/en/latest/using/security-non-events/).
For Sandstorm specific security issues you can contact [kentonv](https://github.com/kentonv) by email.
## What Wekan bugs are eligible?
Any typical web security bugs. If any of the previously mentioned is somehow problematic and
a security issue, we'd like to know about it, and also how to fix it:
- Cross-site Scripting
- Open redirect
- Cross-site request forgery
- File inclusion
- Authentication bypass
- Server-side code execution
## What Wekan bugs are NOT eligible?
Typical already known or "no impact" bugs such as:
- Brute force password guessign. Currently there is
[brute force protection with eluck:accounts-lockout](https://github.com/wekan/wekan/blob/devel/CHANGELOG.md#v080-2018-04-04-wekan-release).
- Security issues related to that Wekan uses Meteor 1.6.0.1 related packages, and upgrading to newer
Meteor 1.6.1 is complicated process that requires lots of changes to many dependency packages.
Upgrading [has been tried many times, spending a lot of time](https://github.com/meteor/meteor/issues/9609)
but there still is issues. Helping with package upgrades is very welcome.
- [Wekan API old tokens not replaced correctly](https://github.com/wekan/wekan/issues/1437)
- Missing Cookie flags on non-session cookies or 3rd party cookies
- Logout CSRF
- Social engineering
- Denial of service
- SSL BEAST/CRIME/etc. Wekan does not have SSL built-in, it uses Caddy/Nginx/Apache etc at front.
Integrated Caddy support is updated often.
- Email spoofing, SPF, DMARC & DKIM. Wekan does not include email server.
Wekan is Open Source with MIT license, and free to use also for commercial use.
We welcome all fixes to improve security by email to security (at) wekan.team .
## Bonus Points
If your Responsible Security Disclosure includes code for fixing security issue,
you get bonus points, as seen on [Hall of Fame](https://wekan.github.io/hall-of-fame).
+12 -4
View File
@@ -6,9 +6,17 @@ template(name="archivedBoards")
ul.archived-lists
each archivedBoards
li.archived-lists-item
button.js-restore-board
i.fa.fa-undo
| {{_ 'restore-board'}}
= title
div.board-header-btns
button.board-header-btn.js-delete-board
i.fa.fa-trash-o
| {{_ 'delete-board'}}
button.board-header-btn.js-restore-board
i.fa.fa-undo
| {{_ 'restore-board'}}
= title
else
li.no-items-message {{_ 'no-archived-boards'}}
template(name="boardDeletePopup")
p {{_ 'delete-board-confirm-popup'}}
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
+12
View File
@@ -29,6 +29,18 @@ BlazeComponent.extendComponent({
board.restore();
Utils.goBoardId(board._id);
},
'click .js-delete-board': Popup.afterConfirm('boardDelete', function() {
Popup.close();
const isSandstorm = Meteor.settings && Meteor.settings.public &&
Meteor.settings.public.sandstorm;
if (isSandstorm && Session.get('currentBoard')) {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
Boards.remove(currentBoard._id);
}
const board = this.currentData();
Boards.remove(board._id);
FlowRouter.go('home');
}),
}];
},
}).register('archivedBoards');
+2
View File
@@ -25,3 +25,5 @@ template(name="boardBody")
+swimlane(this)
if isViewLists
+listsGroup
if isViewCalendar
+fullcalendar(calendarOptions)
+64
View File
@@ -88,14 +88,22 @@ BlazeComponent.extendComponent({
isViewSwimlanes() {
const currentUser = Meteor.user();
if (!currentUser) return false;
return (currentUser.profile.boardView === 'board-view-swimlanes');
},
isViewLists() {
const currentUser = Meteor.user();
if (!currentUser) return true;
return (currentUser.profile.boardView === 'board-view-lists');
},
isViewCalendar() {
const currentUser = Meteor.user();
if (!currentUser) return true;
return (currentUser.profile.boardView === 'board-view-cal');
},
openNewListForm() {
if (this.isViewSwimlanes()) {
this.childComponents('swimlane')[0]
@@ -106,6 +114,62 @@ BlazeComponent.extendComponent({
}
},
calendarOptions() {
return {
id: 'calendar-view',
defaultView: 'basicWeek',
header: {
left: 'title',
center: 'agendaDay,listDay,timelineDay agendaWeek,listWeek,timelineWeek month,timelineMonth timelineYear',
right: 'today prev,next',
},
views: {
basic: {
// options apply to basicWeek and basicDay views
},
agenda: {
// options apply to agendaWeek and agendaDay views
},
week: {
// options apply to basicWeek and agendaWeek views
},
day: {
// options apply to basicDay and agendaDay views
},
},
themeSystem: 'jquery-ui',
height: 'parent',
/* TODO: lists as resources: https://fullcalendar.io/docs/vertical-resource-view */
navLinks: true,
nowIndicator: true,
businessHours: {
// days of week. an array of zero-based day of week integers (0=Sunday)
dow: [ 1, 2, 3, 4, 5 ], // Monday - Thursday
start: '8:00',
end: '18:00',
},
locale: TAPi18n.getLanguage(),
events(start, end, timezone, callback) {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
const events = [];
currentBoard.cardsInInterval(start.toDate(), end.toDate()).forEach(function(card){
events.push({
id: card.id,
title: card.title,
start: card.startAt,
end: card.endAt,
url: FlowRouter.url('card', {
boardId: currentBoard._id,
slug: currentBoard.slug,
cardId: card._id,
}),
});
});
callback(events);
},
};
},
events() {
return [{
// XXX The board-overlay div should probably be moved to the parent
+9 -1
View File
@@ -17,6 +17,12 @@ Template.boardMenuPopup.events({
// confirm that the board was successfully archived.
FlowRouter.go('home');
}),
'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() {
const currentBoard = Boards.findOne(Session.get('currentBoard'));
Popup.close();
Boards.remove(currentBoard._id);
FlowRouter.go('home');
}),
'click .js-outgoing-webhooks': Popup.open('outgoingWebhooks'),
'click .js-import-board': Popup.open('chooseBoardSource'),
});
@@ -83,9 +89,11 @@ BlazeComponent.extendComponent({
'click .js-toggle-board-view'() {
const currentUser = Meteor.user();
if (currentUser.profile.boardView === 'board-view-swimlanes') {
currentUser.setBoardView('board-view-lists');
currentUser.setBoardView('board-view-cal');
} else if (currentUser.profile.boardView === 'board-view-lists') {
currentUser.setBoardView('board-view-swimlanes');
} else if (currentUser.profile.boardView === 'board-view-cal') {
currentUser.setBoardView('board-view-lists');
}
},
'click .js-open-filter-view'() {
+40 -19
View File
@@ -93,7 +93,7 @@ Template.dateBadge.helpers({
});
// editCardReceivedDatePopup
(class extends EditCardDate {
(class extends DatePicker {
onCreated() {
super.onCreated();
this.data().receivedAt && this.date.set(moment(this.data().receivedAt));
@@ -156,7 +156,7 @@ Template.dateBadge.helpers({
}).register('editCardDueDatePopup');
// editCardEndDatePopup
(class extends EditCardDate {
(class extends DatePicker {
onCreated() {
super.onCreated();
this.data().endAt && this.date.set(moment(this.data().endAt));
@@ -218,10 +218,13 @@ class CardReceivedDate extends CardDate {
}
classes() {
let classes = 'received-date' + ' ';
if (this.date.get().isBefore(this.now.get(), 'minute') &&
this.now.get().isBefore(this.data().dueAt)) {
classes += 'current';
let classes = 'received-date ';
const dueAt = this.data().dueAt;
if (dueAt) {
if (this.date.get().isBefore(this.now.get(), 'minute') &&
this.now.get().isBefore(dueAt)) {
classes += 'current';
}
}
return classes;
}
@@ -249,9 +252,12 @@ class CardStartDate extends CardDate {
classes() {
let classes = 'start-date' + ' ';
if (this.date.get().isBefore(this.now.get(), 'minute') &&
this.now.get().isBefore(this.data().dueAt)) {
classes += 'current';
const dueAt = this.data().dueAt;
if (dueAt) {
if (this.date.get().isBefore(this.now.get(), 'minute') &&
this.now.get().isBefore(dueAt)) {
classes += 'current';
}
}
return classes;
}
@@ -279,11 +285,23 @@ class CardDueDate extends CardDate {
classes() {
let classes = 'due-date' + ' ';
if (this.now.get().diff(this.date.get(), 'days') >= 2)
// if endAt exists & is < dueAt, dueAt doesn't need to be flagged
const endAt = this.data().endAt;
const theDate = this.date.get();
const now = this.now.get();
if ((endAt !== 0) &&
(endAt !== null) &&
(endAt !== '') &&
(endAt !== undefined) &&
(theDate.isBefore(endAt)))
classes += 'current';
else if (now.diff(theDate, 'days') >= 2)
classes += 'long-overdue';
else if (this.now.get().diff(this.date.get(), 'minute') >= 0)
else if (now.diff(theDate, 'minute') >= 0)
classes += 'due';
else if (this.now.get().diff(this.date.get(), 'days') >= -1)
else if (now.diff(theDate, 'days') >= -1)
classes += 'almost-due';
return classes;
}
@@ -311,12 +329,16 @@ class CardEndDate extends CardDate {
classes() {
let classes = 'end-date' + ' ';
if (this.data.dueAt.diff(this.date.get(), 'days') >= 2)
classes += 'long-overdue';
else if (this.data.dueAt.diff(this.date.get(), 'days') >= 0)
classes += 'due';
else if (this.data.dueAt.diff(this.date.get(), 'days') >= -2)
classes += 'almost-due';
const dueAt = this.data.dueAt;
if (dueAt) {
const diff = dueAt.diff(this.date.get(), 'days');
if (diff >= 2)
classes += 'long-overdue';
else if (diff > 0)
classes += 'due';
else if (diff <= 0)
classes += 'current';
}
return classes;
}
@@ -355,4 +377,3 @@ CardEndDate.register('cardEndDate');
return this.date.get().format('l');
}
}).register('minicardEndDate');
+46 -2
View File
@@ -108,6 +108,39 @@ template(name="cardDetails")
+viewer
= description
.card-details-items
.card-details-item.card-details-item-name
h3.card-details-item-title {{_ 'requested-by'}}
if canModifyCard
+inlinedForm(classNames="js-card-details-requester")
+editCardRequesterForm
else
a.js-open-inlined-form
if requestedBy
+viewer
= requestedBy
else
| {{_ 'add'}}
else if requestedBy
+viewer
= requestedBy
.card-details-item.card-details-item-name
h3.card-details-item-title {{_ 'assigned-by'}}
if canModifyCard
+inlinedForm(classNames="js-card-details-assigner")
+editCardAssignerForm
else
a.js-open-inlined-form
if assignedBy
+viewer
= assignedBy
else
| {{_ 'add'}}
else if requestedBy
+viewer
= assignedBy
hr
+checklists(cardId = _id)
@@ -141,6 +174,18 @@ template(name="editCardTitleForm")
button.primary.confirm.js-submit-edit-card-title-form(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
template(name="editCardRequesterForm")
input.js-edit-card-requester(type='text' autofocus value=requestedBy)
.edit-controls.clearfix
button.primary.confirm.js-submit-edit-card-requester-form(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
template(name="editCardAssignerForm")
input.js-edit-card-assigner(type='text' autofocus value=assignedBy)
.edit-controls.clearfix
button.primary.confirm.js-submit-edit-card-assigner-form(type="submit") {{_ 'save'}}
a.fa.fa-times-thin.js-close-inlined-form
template(name="cardDetailsActionsPopup")
ul.pop-over-list
li: a.js-toggle-watch-card {{#if isWatching}}{{_ 'unwatch'}}{{else}}{{_ 'watch'}}{{/if}}
@@ -150,8 +195,8 @@ template(name="cardDetailsActionsPopup")
li: a.js-members {{_ 'card-edit-members'}}
li: a.js-labels {{_ 'card-edit-labels'}}
li: a.js-attachments {{_ 'card-edit-attachments'}}
li: a.js-received-date {{_ 'editCardReceivedDatePopup-title'}}
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'}}
@@ -178,7 +223,6 @@ template(name="copyCardPopup")
= title
+boardsAndLists
template(name="copyChecklistToManyCardsPopup")
label(for='copy-checklist-cards-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}:
textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus)
+58 -7
View File
@@ -21,8 +21,12 @@ BlazeComponent.extendComponent({
onCreated() {
this.isLoaded = new ReactiveVar(false);
this.parentComponent().parentComponent().showOverlay.set(true);
this.parentComponent().parentComponent().mouseHasEnterCardDetails = false;
const boardBody = this.parentComponent().parentComponent();
//in Miniview parent is Board, not BoardBody.
if (boardBody !== null){
boardBody.showOverlay.set(true);
boardBody.mouseHasEnterCardDetails = false;
}
this.calculateNextPeak();
Meteor.subscribe('unsaved-edits');
@@ -44,7 +48,8 @@ BlazeComponent.extendComponent({
scrollParentContainer() {
const cardPanelWidth = 510;
const bodyBoardComponent = this.parentComponent().parentComponent();
//On Mobile View Parent is Board, Not Board Body. I cant see how this funciton should work then.
if (bodyBoardComponent === null) return;
const $cardView = this.$(this.firstNode());
const $cardContainer = bodyBoardComponent.$('.js-swimlanes');
const cardContainerScroll = $cardContainer.scrollLeft();
@@ -115,7 +120,10 @@ BlazeComponent.extendComponent({
},
onDestroyed() {
this.parentComponent().parentComponent().showOverlay.set(false);
const parentComponent = this.parentComponent().parentComponent();
//on mobile view parent is Board, not board body.
if (parentComponent === null) return;
parentComponent.showOverlay.set(false);
},
events() {
@@ -146,6 +154,20 @@ BlazeComponent.extendComponent({
this.data().setTitle(title);
}
},
'submit .js-card-details-assigner'(evt) {
evt.preventDefault();
const assigner = this.currentComponent().getValue().trim();
if (assigner) {
this.data().setAssignedBy(assigner);
}
},
'submit .js-card-details-requester'(evt) {
evt.preventDefault();
const requester = this.currentComponent().getValue().trim();
if (requester) {
this.data().setRequestedBy(requester);
}
},
'click .js-member': Popup.open('cardMember'),
'click .js-add-members': Popup.open('cardMembers'),
'click .js-add-labels': Popup.open('cardLabels'),
@@ -154,8 +176,11 @@ BlazeComponent.extendComponent({
'click .js-due-date': Popup.open('editCardDueDate'),
'click .js-end-date': Popup.open('editCardEndDate'),
'mouseenter .js-card-details' () {
this.parentComponent().parentComponent().showOverlay.set(true);
this.parentComponent().parentComponent().mouseHasEnterCardDetails = true;
const parentComponent = this.parentComponent().parentComponent();
//on mobile view parent is Board, not BoardBody.
if (parentComponent === null) return;
parentComponent.showOverlay.set(true);
parentComponent.mouseHasEnterCardDetails = true;
},
'click #toggleButton'() {
Meteor.call('toggleSystemMessages');
@@ -215,8 +240,8 @@ Template.cardDetailsActionsPopup.events({
'click .js-members': Popup.open('cardMembers'),
'click .js-labels': Popup.open('cardLabels'),
'click .js-attachments': Popup.open('cardAttachments'),
'click .js-received-date': Popup.open('editCardReceivedDate'),
'click .js-custom-fields': Popup.open('cardCustomFields'),
'click .js-received-date': Popup.open('editCardReceivedDate'),
'click .js-start-date': Popup.open('editCardStartDate'),
'click .js-due-date': Popup.open('editCardDueDate'),
'click .js-end-date': Popup.open('editCardEndDate'),
@@ -263,6 +288,32 @@ Template.editCardTitleForm.events({
},
});
Template.editCardRequesterForm.onRendered(function() {
autosize(this.$('.js-edit-card-requester'));
});
Template.editCardRequesterForm.events({
'keydown .js-edit-card-requester'(evt) {
// If enter key was pressed, submit the data
if (evt.keyCode === 13) {
$('.js-submit-edit-card-requester-form').click();
}
},
});
Template.editCardAssignerForm.onRendered(function() {
autosize(this.$('.js-edit-card-assigner'));
});
Template.editCardAssignerForm.events({
'keydown .js-edit-card-assigner'(evt) {
// If enter key was pressed, submit the data
if (evt.keyCode === 13) {
$('.js-submit-edit-card-assigner-form').click();
}
},
});
Template.moveCardPopup.events({
'click .js-done' () {
// XXX We should *not* get the currentCard from the global state, but
+2 -1
View File
@@ -82,7 +82,8 @@
&.card-details-item-start,
&.card-details-item-due,
&.card-details-item-end,
&.card-details-item-customfield
&.card-details-item-customfield,
&.card-details-item-name
max-width: 50%
flex-grow: 1
+53 -1
View File
@@ -3,7 +3,7 @@
// XXX Use .board-widget-labels as a flexbox container
.card-label
border-radius: 4px
color: white
color: white //Default white text, in select cases, changed to black to improve contrast between label colour and text
display: inline-block
font-weight: 700
font-size: 13px
@@ -48,9 +48,11 @@
.card-label-yellow
background-color: #fad900
color: #000000 //Black text for better visibility
.card-label-orange
background-color: #ff9f19
color: #000000 //Black text for better visibility
.card-label-red
background-color: #eb4646
@@ -63,6 +65,7 @@
.card-label-pink
background-color: #ff78cb
color: #000000 //Black text for better visibility
.card-label-sky
background-color: #00c2e0
@@ -72,6 +75,55 @@
.card-label-lime
background-color: #51e898
color: #000000 //Black text for better visibility
.card-label-silver
background-color: #c0c0c0
color: #000000 //Black text for better visibility
.card-label-peachpuff
background-color: #ffdab9
color: #000000 //Black text for better visibility
.card-label-crimson
background-color: #dc143c
.card-label-plum
background-color: #dda0dd
color: #000000 //Black text for better visibility
.card-label-darkgreen
background-color: #006400
.card-label-slateblue
background-color: #6a5acd
.card-label-magenta
background-color: #ff00ff
.card-label-gold
background-color: #ffd700
color: #000000 //Black text for better visibility
.card-label-navy
background-color: #000080
.card-label-gray
background-color: #808080
.card-label-saddlebrown
background-color: #8b4513
.card-label-paleturquoise
background-color: #afeeee
color: #000000 //Black text for better visibility
.card-label-mistyrose
background-color: #ffe4e1
color: #000000 //Black text for better visibility
.card-label-indigo
background-color: #4b0082
.edit-label,
.create-label
+22 -1
View File
@@ -10,20 +10,41 @@ template(name="minicard")
+viewer
= title
.dates
if receivedAt
unless startAt
unless dueAt
unless endAt
.date
+minicardReceivedDate
if startAt
.date
+minicardStartDate
if dueAt
unless endAt
.date
+minicardDueDate
if endAt
.date
+minicardDueDate
+minicardEndDate
if spentTime
.date
+cardSpentTime
.minicard-custom-fields
each customFieldsWD
if definition.showOnCard
.minicard-custom-field
.minicard-custom-field-item
= definition.name
.minicard-custom-field-item
+viewer
= trueValue
if members
.minicard-members.js-minicard-members
each members
+userAvatar(userId=this)
.badges
if comments.count
.badge(title="{{_ 'card-comments-title' comments.count }}")
+9 -2
View File
@@ -5,7 +5,7 @@
position: relative
display: flex
align-items: center
margin-bottom: 9px
margin-bottom: 2px
&.placeholder
background: darken(white, 20%)
@@ -37,7 +37,7 @@
flex-wrap: wrap
background-color: #fff
min-height: 20px
box-shadow: 0 1px 2px rgba(0,0,0,.15)
box-shadow: 0 0px 16px rgba(0,0,0,0.15) inset
border-radius: 2px
color: #4d4d4d
overflow: hidden
@@ -77,6 +77,13 @@
height: @width
border-radius: 2px
margin-left: 3px
.minicard-custom-fields
display:block;
.minicard-custom-field
display:flex;
.minicard-custom-field-item
max-width:50%;
flex-grow:1;
.minicard-title
p:last-child
margin-bottom: 0
+1 -1
View File
@@ -45,7 +45,7 @@ BlazeComponent.extendComponent({
const boardView = Meteor.user().profile.boardView;
if (boardView === 'board-view-swimlanes')
swimlaneId = this.parentComponent().parentComponent().data()._id;
else if (boardView === 'board-view-lists')
else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal'))
swimlaneId = Swimlanes.findOne({boardId})._id;
if (title) {
+1 -1
View File
@@ -1,6 +1,6 @@
Template.invitationCode.onRendered(() => {
const setting = Settings.findOne();
if (setting || setting.disableRegistration) {
if (!setting || !setting.disableRegistration) {
$('#invitationcode').hide();
}
});
@@ -37,7 +37,7 @@ template(name="createCustomFieldPopup")
each dropdownItems.get
input.js-dropdown-item(type="text" value=name placeholder="")
input.js-dropdown-item.last(type="text" value="" placeholder="{{_ 'custom-field-dropdown-options-placeholder'}}")
a.flex.js-field-show-on-card
a.flex.js-field-show-on-card(class="{{#if showOnCard}}is-checked{{/if}}")
.materialCheckBox(class="{{#if showOnCard}}is-checked{{/if}}")
span {{_ 'show-field-on-card'}}
@@ -49,4 +49,4 @@ template(name="createCustomFieldPopup")
template(name="deleteCustomFieldPopup")
p {{_ "custom-field-delete-pop"}}
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
button.js-confirm.negate.full(type="submit") {{_ 'delete'}}
@@ -40,6 +40,25 @@ template(name="filterSidebar")
| (<span class="username">{{ username }}</span>)
if Filter.members.isSelected _id
i.fa.fa-check
hr
ul.sidebar-list
li(class="{{#if Filter.customFields.isSelected undefined}}active{{/if}}")
a.name.js-toggle-custom-fields-filter
span.sidebar-list-item-description
| {{_ 'filter-no-custom-fields'}}
if Filter.customFields.isSelected undefined
i.fa.fa-check
each currentBoard.customFields
li(class="{{#if Filter.customFields.isSelected _id}}active{{/if}}")
a.name.js-toggle-custom-fields-filter
span.sidebar-list-item-description
{{ name }}
if Filter.customFields.isSelected _id
i.fa.fa-check
hr
span {{_ 'advanced-filter-label'}}
input.js-field-advanced-filter(type="text")
span {{_ 'advanced-filter-description'}}
if Filter.isActive
hr
a.sidebar-btn.js-clear-all
@@ -11,6 +11,16 @@ BlazeComponent.extendComponent({
Filter.members.toggle(this.currentData()._id);
Filter.resetExceptions();
},
'click .js-toggle-custom-fields-filter'(evt) {
evt.preventDefault();
Filter.customFields.toggle(this.currentData()._id);
Filter.resetExceptions();
},
'change .js-field-advanced-filter'(evt) {
evt.preventDefault();
Filter.advanced.set(this.find('.js-field-advanced-filter').value.trim());
Filter.resetExceptions();
},
'click .js-clear-all'(evt) {
evt.preventDefault();
Filter.reset();
+2
View File
@@ -7,6 +7,8 @@ function currentCardIsInThisList(listId, swimlaneId) {
return currentCard && currentCard.listId === listId;
else if (currentUser.profile.boardView === 'board-view-swimlanes')
return currentCard && currentCard.listId === listId && currentCard.swimlaneId === swimlaneId;
else if (currentUser.profile.boardView === 'board-view-cal')
return currentCard;
else
return false;
}
+1 -1
View File
@@ -17,7 +17,7 @@ template(name="userAvatar")
template(name="userAvatarInitials")
svg.avatar.avatar-initials(viewBox="0 0 {{viewPortWidth}} 15")
text(x="50%" y="13" text-anchor="middle")= initials
text(x="50%" y="50%" text-anchor="middle" alignment-baseline="central")= initials
template(name="userPopup")
.board-member-menu
+349 -10
View File
@@ -10,10 +10,13 @@ function showFilterSidebar() {
// Use a "set" filter for a field that is a set of documents uniquely
// identified. For instance `{ labels: ['labelA', 'labelC', 'labelD'] }`.
// use "subField" for searching inside object Fields.
// For instance '{ 'customFields._id': ['field1','field2']} (subField would be: _id)
class SetFilter {
constructor() {
constructor(subField = '') {
this._dep = new Tracker.Dependency();
this._selectedElements = [];
this.subField = subField;
}
isSelected(val) {
@@ -76,6 +79,329 @@ class SetFilter {
}
}
// Advanced filter forms a MongoSelector from a users String.
// Build by: Ignatz 19.05.2018 (github feuerball11)
class AdvancedFilter {
constructor() {
this._dep = new Tracker.Dependency();
this._filter = '';
this._lastValide = {};
}
set(str) {
this._filter = str;
this._dep.changed();
}
reset() {
this._filter = '';
this._lastValide = {};
this._dep.changed();
}
_isActive() {
this._dep.depend();
return this._filter !== '';
}
_filterToCommands() {
const commands = [];
let current = '';
let string = false;
let regex = false;
let wasString = false;
let ignore = false;
for (let i = 0; i < this._filter.length; i++) {
const char = this._filter.charAt(i);
if (ignore) {
ignore = false;
current += char;
continue;
}
if (char === '/'){
string = !string;
if (string) regex = true;
current += char;
continue;
}
if (char === '\'') {
string = !string;
if (string) wasString = true;
continue;
}
if (char === '\\' && !string) {
ignore = true;
continue;
}
if (char === ' ' && !string) {
commands.push({ 'cmd': current, 'string': wasString, regex});
wasString = false;
current = '';
continue;
}
current += char;
}
if (current !== '') {
commands.push({ 'cmd': current, 'string': wasString, regex});
}
return commands;
}
_fieldNameToId(field) {
const found = CustomFields.findOne({ 'name': field });
return found._id;
}
_fieldValueToId(field, value)
{
const found = CustomFields.findOne({ 'name': field });
if (found.settings.dropdownItems && found.settings.dropdownItems.length > 0)
{
for (let i = 0; i < found.settings.dropdownItems.length; i++)
{
if (found.settings.dropdownItems[i].name === value)
{
return found.settings.dropdownItems[i]._id;
}
}
}
return value;
}
_arrayToSelector(commands) {
try {
//let changed = false;
this._processSubCommands(commands);
}
catch (e) { return this._lastValide; }
this._lastValide = { $or: commands };
return { $or: commands };
}
_processSubCommands(commands) {
const subcommands = [];
let level = 0;
let start = -1;
for (let i = 0; i < commands.length; i++) {
if (commands[i].cmd) {
switch (commands[i].cmd) {
case '(':
{
level++;
if (start === -1) start = i;
continue;
}
case ')':
{
level--;
commands.splice(i, 1);
i--;
continue;
}
default:
{
if (level > 0) {
subcommands.push(commands[i]);
commands.splice(i, 1);
i--;
continue;
}
}
}
}
}
if (start !== -1) {
this._processSubCommands(subcommands);
if (subcommands.length === 1)
commands.splice(start, 0, subcommands[0]);
else
commands.splice(start, 0, subcommands);
}
this._processConditions(commands);
this._processLogicalOperators(commands);
}
_processConditions(commands) {
for (let i = 0; i < commands.length; i++) {
if (!commands[i].string && commands[i].cmd) {
switch (commands[i].cmd) {
case '=':
case '==':
case '===':
{
const field = commands[i - 1].cmd;
const str = commands[i + 1].cmd;
if (commands[i + 1].regex)
{
const match = str.match(new RegExp('^/(.*?)/([gimy]*)$'));
let regex = null;
if (match.length > 2)
regex = new RegExp(match[1], match[2]);
else
regex = new RegExp(match[1]);
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': regex };
}
else
{
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': {$in: [this._fieldValueToId(field, str), parseInt(str, 10)]} };
}
commands.splice(i - 1, 1);
commands.splice(i, 1);
//changed = true;
i--;
break;
}
case '!=':
case '!==':
{
const field = commands[i - 1].cmd;
const str = commands[i + 1].cmd;
if (commands[i + 1].regex)
{
const match = str.match(new RegExp('^/(.*?)/([gimy]*)$'));
let regex = null;
if (match.length > 2)
regex = new RegExp(match[1], match[2]);
else
regex = new RegExp(match[1]);
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $not: regex } };
}
else
{
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $not: {$in: [this._fieldValueToId(field, str), parseInt(str, 10)]} } };
}
commands.splice(i - 1, 1);
commands.splice(i, 1);
//changed = true;
i--;
break;
}
case '>':
case 'gt':
case 'Gt':
case 'GT':
{
const field = commands[i - 1].cmd;
const str = commands[i + 1].cmd;
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $gt: parseInt(str, 10) } };
commands.splice(i - 1, 1);
commands.splice(i, 1);
//changed = true;
i--;
break;
}
case '>=':
case '>==':
case 'gte':
case 'Gte':
case 'GTE':
{
const field = commands[i - 1].cmd;
const str = commands[i + 1].cmd;
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $gte: parseInt(str, 10) } };
commands.splice(i - 1, 1);
commands.splice(i, 1);
//changed = true;
i--;
break;
}
case '<':
case 'lt':
case 'Lt':
case 'LT':
{
const field = commands[i - 1].cmd;
const str = commands[i + 1].cmd;
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $lt: parseInt(str, 10) } };
commands.splice(i - 1, 1);
commands.splice(i, 1);
//changed = true;
i--;
break;
}
case '<=':
case '<==':
case 'lte':
case 'Lte':
case 'LTE':
{
const field = commands[i - 1].cmd;
const str = commands[i + 1].cmd;
commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $lte: parseInt(str, 10) } };
commands.splice(i - 1, 1);
commands.splice(i, 1);
//changed = true;
i--;
break;
}
}
}
}
}
_processLogicalOperators(commands) {
for (let i = 0; i < commands.length; i++) {
if (!commands[i].string && commands[i].cmd) {
switch (commands[i].cmd) {
case 'or':
case 'Or':
case 'OR':
case '|':
case '||':
{
const op1 = commands[i - 1];
const op2 = commands[i + 1];
commands[i] = { $or: [op1, op2] };
commands.splice(i - 1, 1);
commands.splice(i, 1);
//changed = true;
i--;
break;
}
case 'and':
case 'And':
case 'AND':
case '&':
case '&&':
{
const op1 = commands[i - 1];
const op2 = commands[i + 1];
commands[i] = { $and: [op1, op2] };
commands.splice(i - 1, 1);
commands.splice(i, 1);
//changed = true;
i--;
break;
}
case 'not':
case 'Not':
case 'NOT':
case '!':
{
const op1 = commands[i + 1];
commands[i] = { $not: op1 };
commands.splice(i + 1, 1);
//changed = true;
i--;
break;
}
}
}
}
}
_getMongoSelector() {
this._dep.depend();
const commands = this._filterToCommands();
return this._arrayToSelector(commands);
}
}
// The global Filter object.
// XXX It would be possible to re-write this object more elegantly, and removing
// the need to provide a list of `_fields`. We also should move methods into the
@@ -86,8 +412,10 @@ Filter = {
// before changing the schema.
labelIds: new SetFilter(),
members: new SetFilter(),
customFields: new SetFilter('_id'),
advanced: new AdvancedFilter(),
_fields: ['labelIds', 'members'],
_fields: ['labelIds', 'members', 'customFields'],
// We don't filter cards that have been added after the last filter change. To
// implement this we keep the id of these cards in this `_exceptions` fields
@@ -98,7 +426,7 @@ Filter = {
isActive() {
return _.any(this._fields, (fieldName) => {
return this[fieldName]._isActive();
});
}) || this.advanced._isActive();
},
_getMongoSelector() {
@@ -111,7 +439,12 @@ Filter = {
this._fields.forEach((fieldName) => {
const filter = this[fieldName];
if (filter._isActive()) {
filterSelector[fieldName] = filter._getMongoSelector();
if (filter.subField !== '') {
filterSelector[`${fieldName}.${filter.subField}`] = filter._getMongoSelector();
}
else {
filterSelector[fieldName] = filter._getMongoSelector();
}
emptySelector[fieldName] = filter._getEmptySelector();
if (emptySelector[fieldName] !== null) {
includeEmptySelectors = true;
@@ -119,13 +452,18 @@ Filter = {
}
});
const exceptionsSelector = {_id: {$in: this._exceptions}};
const exceptionsSelector = { _id: { $in: this._exceptions } };
this._exceptionsDep.depend();
if (includeEmptySelectors)
return {$or: [filterSelector, exceptionsSelector, emptySelector]};
else
return {$or: [filterSelector, exceptionsSelector]};
const selectors = [exceptionsSelector];
if (_.any(this._fields, (fieldName) => {
return this[fieldName]._isActive();
})) selectors.push(filterSelector);
if (includeEmptySelectors) selectors.push(emptySelector);
if (this.advanced._isActive()) selectors.push(this.advanced._getMongoSelector());
return { $or: selectors };
},
mongoSelector(additionalSelector) {
@@ -133,7 +471,7 @@ Filter = {
if (_.isUndefined(additionalSelector))
return filterSelector;
else
return {$and: [filterSelector, additionalSelector]};
return { $and: [filterSelector, additionalSelector] };
},
reset() {
@@ -141,6 +479,7 @@ Filter = {
const filter = this[fieldName];
filter.reset();
});
this.advanced.reset();
this.resetExceptions();
},
+11 -1
View File
@@ -75,6 +75,16 @@ InlinedForm = BlazeComponent.extendComponent({
EscapeActions.register('inlinedForm',
() => { currentlyOpenedForm.get().close(); },
() => { return currentlyOpenedForm.get() !== null; }, {
noClickEscapeOn: '.js-inlined-form',
enabledOnClick: false,
}
);
// submit on click outside
document.addEventListener('click', function(evt) {
const openedForm = currentlyOpenedForm.get();
const isClickOutside = $(evt.target).closest('.js-inlined-form').length === 0;
if (openedForm && isClickOutside) {
$('.js-inlined-form button[type=submit]').click();
openedForm.close();
}
}, true);
+1 -1
View File
@@ -3,7 +3,7 @@ version: '2'
services:
wekandb:
image: mongo:3.2.19
image: mongo:3.2.20
container_name: wekan-db
restart: always
command: mongod --smallfiles --oplogSize 128
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "قائمة اللوحة",
"boards": "لوحات",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "القائمات",
"bucket-example": "مثل « todo list » على سبيل المثال",
@@ -108,7 +109,7 @@
"card-comments-title": "%s تعليقات لهذه البطاقة",
"card-delete-notice": "هذا حذف أبديّ . سوف تفقد كل الإجراءات المنوطة بهذه البطاقة",
"card-delete-pop": "سيتم إزالة جميع الإجراءات من تبعات النشاط، وأنك لن تكون قادرا على إعادة فتح البطاقة. لا يوجد التراجع.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "مستحق",
"card-due-on": "مستحق في",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "مسح التصفية",
"filter-no-label": "لا يوجد ملصق",
"filter-no-member": "ليس هناك أي عضو",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "التصفية تشتغل",
"filter-on-desc": "أنت بصدد تصفية بطاقات هذه اللوحة. اضغط هنا لتعديل التصفية.",
"filter-to-selection": "تصفية بالتحديد",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "الإسم الكامل",
"header-logo-title": "الرجوع إلى صفحة اللوحات",
"hide-system-messages": "إخفاء رسائل النظام",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+133 -123
View File
@@ -1,51 +1,51 @@
{
"accept": "Accept",
"act-activity-notify": "[Wekan] Известия за дейности",
"act-addAttachment": "attached __attachment__ to __card__",
"act-addChecklist": "added checklist __checklist__ to __card__",
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
"act-addAttachment": "прикачи __attachment__ към __card__",
"act-addChecklist": "добави списък със задачи __checklist__ към __card__",
"act-addChecklistItem": "добави __checklistItem__ към списък със задачи __checklist__ в __card__",
"act-addComment": "Коментира в __card__: __comment__",
"act-createBoard": "created __board__",
"act-createCard": "added __card__ to __list__",
"act-createCustomField": "created custom field __customField__",
"act-createList": "added __list__ to __board__",
"act-addBoardMember": "added __member__ to __board__",
"act-archivedBoard": "__board__ moved to Recycle Bin",
"act-archivedCard": "__card__ moved to Recycle Bin",
"act-archivedList": "__list__ moved to Recycle Bin",
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
"act-importBoard": "imported __board__",
"act-importCard": "imported __card__",
"act-importList": "imported __list__",
"act-joinMember": "added __member__ to __card__",
"act-moveCard": "moved __card__ from __oldList__ to __list__",
"act-removeBoardMember": "removed __member__ from __board__",
"act-restoredCard": "restored __card__ to __board__",
"act-unjoinMember": "removed __member__ from __card__",
"act-createBoard": "създаде __board__",
"act-createCard": "добави __card__ към __list__",
"act-createCustomField": "създаде собствено поле __customField__",
"act-createList": "добави __list__ към __board__",
"act-addBoardMember": "добави __member__ към __board__",
"act-archivedBoard": "__board__ беше преместен в Кошчето",
"act-archivedCard": "__card__ беше преместена в Кошчето",
"act-archivedList": "__list__ беше преместен в Кошчето",
"act-archivedSwimlane": "__swimlane__ беше преместен в Кошчето",
"act-importBoard": "импортира __board__",
"act-importCard": "импортира __card__",
"act-importList": "импортира __list__",
"act-joinMember": "добави __member__ към __card__",
"act-moveCard": "премести __card__ от __oldList__ в __list__",
"act-removeBoardMember": "премахна __member__ от __board__",
"act-restoredCard": "възстанови __card__ в __board__",
"act-unjoinMember": "премахна __member__ от __card__",
"act-withBoardTitle": "[Wekan] __board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Actions",
"activities": "Действия",
"activity": "Дейности",
"activity-added": "добави %s към %s",
"activity-archived": "%s moved to Recycle Bin",
"activity-archived": "премести %s в Кошчето",
"activity-attached": "прикачи %s към %s",
"activity-created": "създаде %s",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "създаде собствено поле %s",
"activity-excluded": "изключи %s от %s",
"activity-imported": "импортира %s в/във %s от %s",
"activity-imported-board": "импортира %s от %s",
"activity-joined": "joined %s",
"activity-joined": "се присъедини към %s",
"activity-moved": "премести %s от %s в/във %s",
"activity-on": "на %s",
"activity-removed": "премахна %s от %s",
"activity-sent": "изпрати %s до %s",
"activity-unjoined": "unjoined %s",
"activity-unjoined": "вече не е част от %s",
"activity-checklist-added": "добави списък със задачи към %s",
"activity-checklist-item-added": "добави точка към '%s' в/във %s",
"add": "Добави",
"add-attachment": "Добави прикачен файл",
"add-board": "Добави дъска",
"add-board": "Добави Табло",
"add-card": "Добави карта",
"add-swimlane": "Добави коридор",
"add-checklist": "Добави списък със задачи",
@@ -60,69 +60,70 @@
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
"admin-announcement": "Съобщение",
"admin-announcement-active": "Active System-Wide Announcement",
"admin-announcement-title": "Announcement from Administrator",
"all-boards": "Всички дъски",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
"admin-announcement-title": "Съобщение от администратора",
"all-boards": "Всички табла",
"and-n-other-card": "И __count__ друга карта",
"and-n-other-card_plural": "И __count__ други карти",
"apply": "Приложи",
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
"archive": "Move to Recycle Bin",
"archive-all": "Move All to Recycle Bin",
"archive-board": "Move Board to Recycle Bin",
"archive-card": "Move Card to Recycle Bin",
"archive-list": "Move List to Recycle Bin",
"archive-swimlane": "Move Swimlane to Recycle Bin",
"archive-selection": "Move selection to Recycle Bin",
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
"archived-items": "Recycle Bin",
"archived-boards": "Boards in Recycle Bin",
"restore-board": "Restore Board",
"no-archived-boards": "No Boards in Recycle Bin.",
"archives": "Recycle Bin",
"assign-member": "Assign member",
"app-is-offline": "Wekan зарежда, моля изчакайте! Презареждането на страницата може да доведе до загуба на данни. Ако Wekan не се зареди, моля проверете дали сървъра му работи.",
"archive": "Премести в Кошчето",
"archive-all": "Премести всички в Кошчето",
"archive-board": "Премести Таблото в Кошчето",
"archive-card": "Премести Картата в Кошчето",
"archive-list": "Премести Списъка в Кошчето",
"archive-swimlane": "Премести Коридора в Кошчето",
"archive-selection": "Премести избраните в Кошчето",
"archiveBoardPopup-title": "Сигурни ли сте, че искате да преместите Таблото в Кошчето?",
"archived-items": "Кошче",
"archived-boards": "Табла в Кошчето",
"restore-board": "Възстанови Таблото",
"no-archived-boards": "Няма Табла в Кошчето.",
"archives": "Кошче",
"assign-member": "Възложи на член от екипа",
"attached": "прикачен",
"attachment": "Прикаченн файл",
"attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.",
"attachment-delete-pop": "Изтриването на прикачен файл е завинаги. Няма как да бъде възстановен.",
"attachmentDeletePopup-title": "Желаете ли да изтриете прикачения файл?",
"attachments": "Прикачени файлове",
"auto-watch": "Автоматично наблюдаване на дъските, когато са създадени",
"auto-watch": "Автоматично наблюдаване на таблата, когато са създадени",
"avatar-too-big": "Аватарът е прекалено голям (максимум 70KB)",
"back": "Назад",
"board-change-color": "Промени цвета",
"board-nb-stars": "%s звезди",
"board-not-found": "Board not found",
"board-not-found": "Таблото не е намерено",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeTitlePopup-title": "Промени името на Таблото",
"boardChangeVisibilityPopup-title": "Change Visibility",
"boardChangeWatchPopup-title": "Промени наблюдаването",
"boardMenuPopup-title": "Board Menu",
"boards": "Дъски",
"boardMenuPopup-title": "Меню на Таблото",
"boards": "Табла",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Коридори",
"board-view-lists": "Списъци",
"bucket-example": "Like “Bucket List” for example",
"cancel": "Cancel",
"card-archived": "This card is moved to Recycle Bin.",
"card-archived": "Картата е преместена в Кошчето.",
"card-comments-title": "Тази карта има %s коментар.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Готова за",
"card-due-on": "Готова за",
"card-spent": "Изработено време",
"card-edit-attachments": "Промени прикачените файлове",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Промени собствените полета",
"card-edit-labels": "Промени етикетите",
"card-edit-members": "Промени членовете",
"card-labels-title": "Променете етикетите за тази карта",
"card-members-title": "Add or remove members of the board from the card.",
"card-labels-title": "Промени етикетите за картата.",
"card-members-title": "Добави или премахни членове на Таблото от тази карта.",
"card-start": "Начало",
"card-start-on": "Starts on",
"cardAttachmentsPopup-title": "Attach From",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"card-start-on": "Започва на",
"cardAttachmentsPopup-title": "Прикачи от",
"cardCustomField-datePopup-title": "Промени датата",
"cardCustomFieldsPopup-title": "Промени собствените полета",
"cardDeletePopup-title": "Желаете да изтриете картата?",
"cardDetailsActionsPopup-title": "Опции",
"cardLabelsPopup-title": "Етикети",
@@ -130,7 +131,7 @@
"cardMorePopup-title": "Още",
"cards": "Карти",
"cards-count": "Карти",
"change": "Change",
"change": "Промени",
"change-avatar": "Промени аватара",
"change-password": "Промени паролата",
"change-permissions": "Change permissions",
@@ -142,30 +143,30 @@
"changeSettingsPopup-title": "Промяна на настройките",
"checklists": "Списъци със задачи",
"click-to-star": "Click to star this board.",
"click-to-unstar": "Натиснете, за да премахнете тази дъска от любими.",
"clipboard": "Clipboard or drag & drop",
"close": "Close",
"close-board": "Close Board",
"click-to-unstar": "Натиснете, за да премахнете това табло от любими.",
"clipboard": "Клипборда или с драг & дроп",
"close": "Затвори",
"close-board": "Затвори Таблото",
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
"color-black": "black",
"color-blue": "blue",
"color-green": "green",
"color-lime": "lime",
"color-orange": "orange",
"color-pink": "pink",
"color-purple": "purple",
"color-red": "red",
"color-sky": "sky",
"color-yellow": "yellow",
"color-black": "черно",
"color-blue": "синьо",
"color-green": "зелено",
"color-lime": "лайм",
"color-orange": "оранжево",
"color-pink": "розово",
"color-purple": "пурпурно",
"color-red": "червено",
"color-sky": "светло синьо",
"color-yellow": "жълто",
"comment": "Коментирай",
"comment-placeholder": "Напиши коментар",
"comment-only": "Само коментар",
"comment-only-desc": "Може да коментира само в карти.",
"computer": "Computer",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"computer": "Компютър",
"confirm-checklist-delete-dialog": "Сигурни ли сте, че искате да изтриете този чеклист?",
"copy-card-link-to-clipboard": "Копирай връзката на картата в клипборда",
"copyCardPopup-title": "Копирай картата",
"copyChecklistToManyCardsPopup-title": "Копирай шаблона за чеклисти в много карти",
"copyChecklistToManyCardsPopup-title": "Копирай чеклисти в други карти",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"create": "Create",
@@ -176,42 +177,42 @@
"createCustomFieldPopup-title": "Create Field",
"current": "current",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-checkbox": "Чекбокс",
"custom-field-date": "Дата",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown": "Падащо меню",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-number": "Номер",
"custom-field-text": "Текст",
"custom-fields": "Собствени полета",
"date": "Дата",
"decline": "Decline",
"decline": "Отказ",
"default-avatar": "Основен аватар",
"delete": "Изтрий",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "Изтриване на Собственото поле?",
"deleteLabelPopup-title": "Желаете да изтриете етикета?",
"description": "Описание",
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
"discard": "Discard",
"done": "Done",
"discard": "Отказ",
"done": "Готово",
"download": "Сваляне",
"edit": "Промени",
"edit-avatar": "Промени аватара",
"edit-profile": "Промяна на профила",
"edit-wip-limit": "Промени WIP лимита",
"soft-wip-limit": "Soft WIP Limit",
"soft-wip-limit": "\"Мек\" WIP лимит",
"editCardStartDatePopup-title": "Промени началната дата",
"editCardDueDatePopup-title": "Промени датата за готовност",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Промени Полето",
"editCardSpentTimePopup-title": "Промени изработеното време",
"editLabelPopup-title": "Change Label",
"editLabelPopup-title": "Промяна на Етикета",
"editNotificationPopup-title": "Промени известията",
"editProfilePopup-title": "Промяна на профила",
"email": "Имейл",
"email-enrollAccount-subject": "An account created for you on __siteName__",
"email-enrollAccount-subject": "Ваш профил беше създаден на __siteName__",
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
"email-fail": "Неуспешно изпращане на имейла",
"email-fail-text": "Възникна грешка при изпращането на имейла",
@@ -224,7 +225,7 @@
"email-sent": "Имейлът е изпратен",
"email-verifyEmail-subject": "Verify your email address on __siteName__",
"email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
"enable-wip-limit": "Enable WIP Limit",
"enable-wip-limit": "Включи WIP лимита",
"error-board-doesNotExist": "This board does not exist",
"error-board-notAdmin": "You need to be admin of this board to do that",
"error-board-notAMember": "You need to be a member of this board to do that",
@@ -240,16 +241,19 @@
"filter": "Филтър",
"filter-cards": "Филтрирай картите",
"filter-clear": "Премахване на филтрите",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-label": "без етикет",
"filter-no-member": "без член",
"filter-no-custom-fields": "Няма Собствени полета",
"filter-on": "Има приложени филтри",
"filter-on-desc": "В момента филтрирате картите в тази дъска. Моля, натиснете тук, за да промените филтъра.",
"filter-on-desc": "В момента филтрирате картите в това табло. Моля, натиснете тук, за да промените филтъра.",
"filter-to-selection": "Филтрирай избраните",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Име",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Скриване на системните съобщения",
"headerBarCreateBoardPopup-title": "Create Board",
"home": "Home",
"home": "Начало",
"import": "Import",
"import-board": "import board",
"import-board-c": "Import board",
@@ -265,13 +269,13 @@
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
"import-show-user-mapping": "Review members mapping",
"import-user-select": "Pick the Wekan user you want to use as this member",
"importMapMembersAddPopup-title": "Select Wekan member",
"importMapMembersAddPopup-title": "Избери Wekan член",
"info": "Версия",
"initials": "Инициали",
"invalid-date": "Невалидна дата",
"invalid-time": "Невалиден час",
"invalid-user": "Невалиден потребител",
"joined": "joined",
"joined": "присъедини ",
"just-invited": "You are just invited to this board",
"keyboard-shortcuts": "Keyboard shortcuts",
"label-create": "Създай етикет",
@@ -284,17 +288,17 @@
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
"leaveBoardPopup-title": "Leave Board ?",
"link-card": "Връзка към тази карта",
"list-archive-cards": "Move all cards in this list to Recycle Bin",
"list-archive-cards": "Премести всички карти от този списък в Кошчето",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
"list-move-cards": "Премести всички карти в този списък",
"list-select-cards": "Избери всички карти в този списък",
"listActionPopup-title": "List Actions",
"swimlaneActionPopup-title": "Swimlane Actions",
"listImportCardPopup-title": "Import a Trello card",
"listImportCardPopup-title": "Импорт на карта от Trello",
"listMorePopup-title": "Още",
"link-list": "Връзка към този списък",
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
"list-delete-suggest-archive": "Можете да преместите списък в Кошчето, за да го премахнете от Таблото и запазите активността.",
"lists": "Списъци",
"swimlanes": "Коридори",
"log-out": "Изход",
@@ -312,17 +316,17 @@
"multi-selection-on": "Множественият избор е приложен",
"muted": "Muted",
"muted-info": "You will never be notified of any changes in this board",
"my-boards": "Моите дъски",
"my-boards": "Моите табла",
"name": "Име",
"no-archived-cards": "No cards in Recycle Bin.",
"no-archived-lists": "No lists in Recycle Bin.",
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
"no-archived-cards": "Няма карти в Кошчето.",
"no-archived-lists": "Няма списъци в Кошчето.",
"no-archived-swimlanes": "Няма коридори в Кошчето.",
"no-results": "No results",
"normal": "Normal",
"normal-desc": "Can view and edit cards. Can't change settings.",
"not-accepted-yet": "Invitation not accepted yet",
"notify-participate": "Получавате информация за всички карти, в които сте отбелязани или сте създали",
"notify-watch": "Получавате информация за всички дъски, списъци и карти, които наблюдавате",
"notify-watch": "Получавате информация за всички табла, списъци и карти, които наблюдавате",
"optional": "optional",
"or": "or",
"page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
@@ -343,12 +347,12 @@
"remove-from-board": "Remove from Board",
"remove-label": "Remove Label",
"listDeletePopup-title": "Желаете да изтриете списъка?",
"remove-member": "Remove Member",
"remove-member-from-card": "Remove from Card",
"remove-member": "Премахни член",
"remove-member-from-card": "Премахни от картата",
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
"removeMemberPopup-title": "Remove Member?",
"rename": "Rename",
"rename-board": "Rename Board",
"rename-board": "Промени името на Таблото",
"restore": "Възстанови",
"save": "Запази",
"search": "Търсене",
@@ -356,8 +360,8 @@
"search-example": "Text to search for?",
"select-color": "Избери цвят",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
"setWipLimitPopup-title": "Set WIP Limit",
"shortcut-assign-self": "Assign yourself to current card",
"setWipLimitPopup-title": "Въведи WIP лимит",
"shortcut-assign-self": "Добави себе си към тази карта",
"shortcut-autocomplete-emoji": "Autocomplete emoji",
"shortcut-autocomplete-members": "Autocomplete members",
"shortcut-clear-filters": "Изчистване на всички филтри",
@@ -371,12 +375,12 @@
"sidebar-close": "Close Sidebar",
"signupPopup-title": "Create an Account",
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
"starred-boards": "Любими дъски",
"starred-boards-description": "Любимите дъски се показват в началото на списъка Ви.",
"starred-boards": "Любими табла",
"starred-boards-description": "Любимите табла се показват в началото на списъка Ви.",
"subscribe": "Subscribe",
"team": "Team",
"this-board": "this board",
"this-card": "тази карта",
"this-card": "картата",
"spent-time-hours": "Изработено време (часа)",
"overtime-hours": "Оувъртайм (часа)",
"overtime": "Оувъртайм",
@@ -395,7 +399,7 @@
"uploaded-avatar": "Качихте аватар",
"username": "Потребителско име",
"view-it": "View it",
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
"warn-list-archived": "внимание: тази карта е в списък, който е в Кошчето",
"watch": "Наблюдавай",
"watching": "Наблюдава",
"watching-info": "You will be notified of any change in this board",
@@ -404,9 +408,9 @@
"welcome-list1": "Basics",
"welcome-list2": "Advanced",
"what-to-do": "What do you want to do?",
"wipLimitErrorPopup-title": "Invalid WIP Limit",
"wipLimitErrorPopup-title": "Невалиден WIP лимит",
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
"wipLimitErrorPopup-dialog-pt2": "Моля, преместете някои от задачите от този списък или въведете по-висок WIP лимит.",
"admin-panel": "Администраторски панел",
"settings": "Настройки",
"people": "Хора",
@@ -451,7 +455,7 @@
"hours": "часа",
"minutes": "минути",
"seconds": "секунди",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "Покажи това поле в картата",
"yes": "Да",
"no": "Не",
"accounts": "Профили",
@@ -460,10 +464,16 @@
"createdAt": "Създаден на",
"verified": "Потвърден",
"active": "Активен",
"card-received": "Received",
"card-received-on": "Received on",
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"card-received": "Получена",
"card-received-on": "Получена на",
"card-end": "Завършена",
"card-end-on": "Завършена на",
"editCardReceivedDatePopup-title": "Промени датата на получаване",
"editCardEndDatePopup-title": "Промени датата на завършване",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Menú del tauler",
"boards": "Taulers",
"board-view": "Visió del tauler",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Carrils de Natació",
"board-view-lists": "Llistes",
"bucket-example": "Igual que “Bucket List”, per exemple",
@@ -108,7 +109,7 @@
"card-comments-title": "Aquesta fitxa té %s comentaris.",
"card-delete-notice": "L'esborrat és permanent. Perdreu totes les accions associades a aquesta fitxa.",
"card-delete-pop": "Totes les accions s'eliminaran de l'activitat i no podreu tornar a obrir la fitxa. No es pot desfer.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Finalitza",
"card-due-on": "Finalitza a",
"card-spent": "Temps Dedicat",
@@ -242,9 +243,12 @@
"filter-clear": "Elimina filtre",
"filter-no-label": "Sense etiqueta",
"filter-no-member": "Sense membres",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filtra per",
"filter-on-desc": "Estau filtrant fitxes en aquest tauler. Feu clic aquí per editar el filtre.",
"filter-to-selection": "Filtra selecció",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Nom complet",
"header-logo-title": "Torna a la teva pàgina de taulers",
"hide-system-messages": "Oculta missatges del sistema",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+30 -20
View File
@@ -7,7 +7,7 @@
"act-addComment": "komentář k __card__: __comment__",
"act-createBoard": "přidání __board__",
"act-createCard": "přidání __card__ do __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "vytvořeno vlastní pole __customField__",
"act-createList": "přidání __list__ do __board__",
"act-addBoardMember": "přidání __member__ do __board__",
"act-archivedBoard": "__board__ bylo přesunuto do koše",
@@ -31,7 +31,7 @@
"activity-archived": "%s bylo přesunuto do koše",
"activity-attached": "přiloženo %s k %s",
"activity-created": "%s vytvořeno",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "vytvořeno vlastní pole %s",
"activity-excluded": "%s vyjmuto z %s",
"activity-imported": "importován %s do %s z %s",
"activity-imported-board": "importován %s z %s",
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Menu tabla",
"boards": "Tabla",
"board-view": "Náhled tabla",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Seznamy",
"bucket-example": "Například \"Než mě odvedou\"",
@@ -113,7 +114,7 @@
"card-due-on": "Do",
"card-spent": "Strávený čas",
"card-edit-attachments": "Upravit přílohy",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Upravit vlastní pole",
"card-edit-labels": "Upravit štítky",
"card-edit-members": "Upravit členy",
"card-labels-title": "Změnit štítky karty.",
@@ -121,8 +122,8 @@
"card-start": "Start",
"card-start-on": "Začít dne",
"cardAttachmentsPopup-title": "Přiložit formulář",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "Změnit datum",
"cardCustomFieldsPopup-title": "Upravit vlastní pole",
"cardDeletePopup-title": "Smazat kartu?",
"cardDetailsActionsPopup-title": "Akce karty",
"cardLabelsPopup-title": "Štítky",
@@ -172,25 +173,25 @@
"createBoardPopup-title": "Vytvořit tablo",
"chooseBoardSourcePopup-title": "Importovat tablo",
"createLabelPopup-title": "Vytvořit štítek",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "Vytvořit pole",
"createCustomFieldPopup-title": "Vytvořit pole",
"current": "Aktuální",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-delete-pop": "Nelze vrátit zpět. Toto odebere toto vlastní pole ze všech karet a zničí jeho historii.",
"custom-field-checkbox": "Checkbox",
"custom-field-date": "Datum",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-dropdown": "Rozbalovací seznam",
"custom-field-dropdown-none": "(prázdné)",
"custom-field-dropdown-options": "Seznam možností",
"custom-field-dropdown-options-placeholder": "Stiskněte enter pro přidání více možností",
"custom-field-dropdown-unknown": "(neznámé)",
"custom-field-number": "Číslo",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-fields": "Vlastní pole",
"date": "Datum",
"decline": "Zamítnout",
"default-avatar": "Výchozí avatar",
"delete": "Smazat",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "Smazat vlastní pole",
"deleteLabelPopup-title": "Smazat štítek?",
"description": "Popis",
"disambiguateMultiLabelPopup-title": "Dvojznačný štítek akce",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Mírný WIP limit",
"editCardStartDatePopup-title": "Změnit datum startu úkolu",
"editCardDueDatePopup-title": "Změnit datum dokončení úkolu",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Upravit pole",
"editCardSpentTimePopup-title": "Změnit strávený čas",
"editLabelPopup-title": "Změnit štítek",
"editNotificationPopup-title": "Změnit notifikace",
@@ -242,9 +243,12 @@
"filter-clear": "Vyčistit filtr",
"filter-no-label": "Žádný štítek",
"filter-no-member": "Žádný člen",
"filter-no-custom-fields": "Žádné vlastní pole",
"filter-on": "Filtr je zapnut",
"filter-on-desc": "Filtrujete karty tohoto tabla. Pro úpravu filtru klikni sem.",
"filter-to-selection": "Filtrovat výběr",
"advanced-filter-label": "Pokročilý filtr",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Celé jméno",
"header-logo-title": "Jit zpět na stránku s tably.",
"hide-system-messages": "Skrýt systémové zprávy",
@@ -386,7 +390,7 @@
"title": "Název",
"tracking": "Pozorující",
"tracking-info": "Budete informováni o všech změnách v kartách, u kterých jste tvůrce nebo člen.",
"type": "Type",
"type": "Typ",
"unassign-member": "Vyřadit člena",
"unsaved-description": "Popis neni uložen.",
"unwatch": "Přestat sledovat",
@@ -451,7 +455,7 @@
"hours": "hodin",
"minutes": "minut",
"seconds": "sekund",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "Ukázat toto pole na kartě",
"yes": "Ano",
"no": "Ne",
"accounts": "Účty",
@@ -465,5 +469,11 @@
"card-end": "Konec",
"card-end-on": "Končí v",
"editCardReceivedDatePopup-title": "Změnit datum přijetí",
"editCardEndDatePopup-title": "Změnit datum konce"
"editCardEndDatePopup-title": "Změnit datum konce",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Smazat tablo?",
"delete-board": "Smazat tablo"
}
+21 -11
View File
@@ -2,7 +2,7 @@
"accept": "Akzeptieren",
"act-activity-notify": "[Wekan] Aktivitätsbenachrichtigung",
"act-addAttachment": "hat __attachment__ an __card__ angehängt",
"act-addChecklist": "hat die Checklist __checklist__ zu __card__ hinzugefügt",
"act-addChecklist": "hat die Checkliste __checklist__ zu __card__ hinzugefügt",
"act-addChecklistItem": "hat __checklistItem__ zur Checkliste __checklist__ in __card__ hinzugefügt",
"act-addComment": "hat __card__ kommentiert: __comment__",
"act-createBoard": "hat __board__ erstellt",
@@ -28,10 +28,10 @@
"activities": "Aktivitäten",
"activity": "Aktivität",
"activity-added": "hat %s zu %s hinzugefügt",
"activity-archived": "%s in den Papierkorb verschoben",
"activity-archived": "hat %s in den Papierkorb verschoben",
"activity-attached": "hat %s an %s angehängt",
"activity-created": "hat %s erstellt",
"activity-customfield-created": "Benutzerdefiniertes Feld erstellen %s",
"activity-customfield-created": "hat das benutzerdefinierte Feld %s erstellt",
"activity-excluded": "hat %s von %s ausgeschlossen",
"activity-imported": "hat %s in %s von %s importiert",
"activity-imported-board": "hat %s von %s importiert",
@@ -42,14 +42,14 @@
"activity-sent": "hat %s an %s gesendet",
"activity-unjoined": "hat %s verlassen",
"activity-checklist-added": "hat eine Checkliste zu %s hinzugefügt",
"activity-checklist-item-added": "hat einen Punkt zur Checkliste '%s' in %s hinzugefügt",
"activity-checklist-item-added": "hat eine Checklistenposition zu '%s' in %s hinzugefügt",
"add": "Hinzufügen",
"add-attachment": "Datei anhängen",
"add-board": "neues Board",
"add-card": "Karte hinzufügen",
"add-swimlane": "Swimlane hinzufügen",
"add-checklist": "Checkliste hinzufügen",
"add-checklist-item": "Punkt zu einer Checkliste hinzufügen",
"add-checklist-item": "Position zu einer Checkliste hinzufügen",
"add-cover": "Cover hinzufügen",
"add-label": "Label hinzufügen",
"add-list": "Liste hinzufügen",
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Boardmenü",
"boards": "Boards",
"board-view": "Boardansicht",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Listen",
"bucket-example": "z.B. \"Löffelliste\"",
@@ -175,16 +176,16 @@
"createCustomField": "Feld erstellen",
"createCustomFieldPopup-title": "Feld erstellen",
"current": "aktuell",
"custom-field-delete-pop": "Dies wird die Karte entfernen und der dazugehörige Verlauf löschen. Es gibt keine Rückgängig-Funktion.",
"custom-field-delete-pop": "Dies wird das Feld aus allen Karten entfernen und den dazugehörigen Verlauf löschen. Die Aktion kann nicht rückgängig gemacht werden.",
"custom-field-checkbox": "Kontrollkästchen",
"custom-field-date": "Datum",
"custom-field-dropdown": "Dropdown-Liste",
"custom-field-dropdown": "Dropdownliste",
"custom-field-dropdown-none": "(keiner)",
"custom-field-dropdown-options": "Listenoptionen",
"custom-field-dropdown-options-placeholder": "Enter-Taste drücken zum Hinzufügen weiterer Optionen",
"custom-field-dropdown-options-placeholder": "Drücken Sie die Eingabetaste, um weitere Optionen hinzuzufügen",
"custom-field-dropdown-unknown": "(unbekannt)",
"custom-field-number": "Zahl",
"custom-field-text": "Test",
"custom-field-text": "Text",
"custom-fields": "Benutzerdefinierte Felder",
"date": "Datum",
"decline": "Ablehnen",
@@ -242,9 +243,12 @@
"filter-clear": "Filter entfernen",
"filter-no-label": "Kein Label",
"filter-no-member": "Kein Mitglied",
"filter-no-custom-fields": "Keine benutzerdefinierten Felder",
"filter-on": "Filter ist aktiv",
"filter-on-desc": "Sie filtern die Karten in diesem Board. Klicken Sie, um den Filter zu bearbeiten.",
"filter-to-selection": "Ergebnisse auswählen",
"advanced-filter-label": "Erweiterter Filter",
"advanced-filter-description": "Der erweiterte Filter erlaubt die Eingabe von Zeichenfolgen, die folgende Operatoren enthalten: == != <= >= && || ( ). Ein Leerzeichen wird als Trennzeichen zwischen den Operatoren verwendet. Sie können nach allen benutzerdefinierten Feldern filtern, indem Sie deren Namen und Werte eingeben. Zum Beispiel: Feld1 == Wert1. Hinweis: Wenn Felder oder Werte Leerzeichen enthalten, müssen Sie sie in einfache Anführungszeichen setzen. Zum Beispiel: 'Feld 1' == 'Wert 1'. Um einzelne Steuerzeichen (' \\/) zu überspringen, können Sie \\ verwenden. Zum Beispiel: Feld1 == Ich bin\\'s. Sie können außerdem mehrere Bedingungen kombinieren. Zum Beispiel: F1 == W1 || F1 == W2. Normalerweise werden alle Operatoren von links nach rechts interpretiert. Sie können die Reihenfolge ändern, indem Sie Klammern setzen. Zum Beispiel: F1 == W1 && ( F2 == W2 || F2 == W3 ). Sie können Textfelder auch mithilfe regulärer Ausdrücke durchsuchen: F1 == /Tes.*/i",
"fullname": "Vollständiger Name",
"header-logo-title": "Zurück zur Board Seite.",
"hide-system-messages": "Systemmeldungen ausblenden",
@@ -375,7 +379,7 @@
"starred-boards-description": "Markierte Boards erscheinen oben in ihrer Boardliste.",
"subscribe": "Abonnieren",
"team": "Team",
"this-board": "dieses Board",
"this-board": "diesem Board",
"this-card": "diese Karte",
"spent-time-hours": "Aufgewendete Zeit (Stunden)",
"overtime-hours": "Mehrarbeit (Stunden)",
@@ -465,5 +469,11 @@
"card-end": "Ende",
"card-end-on": "Endet am",
"editCardReceivedDatePopup-title": "Empfangsdatum ändern",
"editCardEndDatePopup-title": "Enddatum ändern"
"editCardEndDatePopup-title": "Enddatum ändern",
"assigned-by": "Zugewiesen von",
"requested-by": "Angefordert von",
"board-delete-notice": "Löschen kann nicht rückgängig gemacht werden. Sie werden alle Listen, Karten und Aktionen, die mit diesem Board verbunden sind, verlieren.",
"delete-board-confirm-popup": "Alle Listen, Karten, Labels und Akivitäten werden gelöscht und Sie können die Inhalte des Boards nicht wiederherstellen! Die Aktion kann nicht rückgängig gemacht werden.",
"boardDeletePopup-title": "Board löschen?",
"delete-board": "Board löschen"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Λίστες",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Έως",
"card-due-on": "Έως τις",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "Κανένα μέλος",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Πλήρες Όνομα",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card to the Recycle Bin to remove it from the board and preserve its activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Listoj",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "Nenia etikedo",
"filter-no-member": "Nenia membro",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+11 -1
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Menú del Tablero",
"boards": "Tableros",
"board-view": "Vista de Tablero",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Calles",
"board-view-lists": "Listas",
"bucket-example": "Como \"Lista de Contenedores\" por ejemplo",
@@ -242,9 +243,12 @@
"filter-clear": "Sacar filtro",
"filter-no-label": "Sin etiqueta",
"filter-no-member": "No es miembro",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "El filtro está activado",
"filter-on-desc": "Estás filtrando cartas en este tablero. Clickeá acá para editar el filtro.",
"filter-to-selection": "Filtrar en la selección",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Nombre Completo",
"header-logo-title": "Retroceder a tu página de tableros.",
"hide-system-messages": "Esconder mensajes del sistema",
@@ -465,5 +469,11 @@
"card-end": "Termino",
"card-end-on": "Termina en",
"editCardReceivedDatePopup-title": "Cambiar fecha de recepción",
"editCardEndDatePopup-title": "Cambiar fecha de término"
"editCardEndDatePopup-title": "Cambiar fecha de término",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+34 -24
View File
@@ -7,7 +7,7 @@
"act-addComment": "ha comentado en __card__: __comment__",
"act-createBoard": "ha creado __board__",
"act-createCard": "ha añadido __card__ a __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "creado el campo personalizado __customField__",
"act-createList": "ha añadido __list__ a __board__",
"act-addBoardMember": "ha añadido a __member__ a __board__",
"act-archivedBoard": "__board__ se ha enviado a la papelera de reciclaje",
@@ -31,7 +31,7 @@
"activity-archived": "%s se ha enviado a la papelera de reciclaje",
"activity-attached": "ha adjuntado %s a %s",
"activity-created": "ha creado %s",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "creado el campo personalizado %s",
"activity-excluded": "ha excluido %s de %s",
"activity-imported": "ha importado %s a %s desde %s",
"activity-imported-board": "ha importado %s desde %s",
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Menú del tablero",
"boards": "Tableros",
"board-view": "Vista del tablero",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Carriles",
"board-view-lists": "Listas",
"bucket-example": "Como “Cosas por hacer” por ejemplo",
@@ -113,7 +114,7 @@
"card-due-on": "Vence el",
"card-spent": "Tiempo consumido",
"card-edit-attachments": "Editar los adjuntos",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Editar los campos personalizados",
"card-edit-labels": "Editar las etiquetas",
"card-edit-members": "Editar los miembros",
"card-labels-title": "Cambia las etiquetas de la tarjeta",
@@ -121,8 +122,8 @@
"card-start": "Comienza",
"card-start-on": "Comienza el",
"cardAttachmentsPopup-title": "Adjuntar desde",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "Cambiar la fecha",
"cardCustomFieldsPopup-title": "Editar los campos personalizados",
"cardDeletePopup-title": "¿Eliminar la tarjeta?",
"cardDetailsActionsPopup-title": "Acciones de la tarjeta",
"cardLabelsPopup-title": "Etiquetas",
@@ -172,25 +173,25 @@
"createBoardPopup-title": "Crear tablero",
"chooseBoardSourcePopup-title": "Importar un tablero",
"createLabelPopup-title": "Crear etiqueta",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "Crear un campo",
"createCustomFieldPopup-title": "Crear un campo",
"current": "actual",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "Se eliminará este campo personalizado de todas las tarjetas y se destruirá su historial. Esta acción no puede deshacerse.",
"custom-field-checkbox": "Casilla de verificación",
"custom-field-date": "Fecha",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-dropdown": "Lista desplegable",
"custom-field-dropdown-none": "(nada)",
"custom-field-dropdown-options": "Opciones de la lista",
"custom-field-dropdown-options-placeholder": "Pulsa Intro para añadir más opciones",
"custom-field-dropdown-unknown": "(desconocido)",
"custom-field-number": "Número",
"custom-field-text": "Texto",
"custom-fields": "Campos personalizados",
"date": "Fecha",
"decline": "Declinar",
"default-avatar": "Avatar por defecto",
"delete": "Eliminar",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "¿Borrar el campo personalizado?",
"deleteLabelPopup-title": "¿Eliminar la etiqueta?",
"description": "Descripción",
"disambiguateMultiLabelPopup-title": "Desambiguar la acción de etiqueta",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Límite del trabajo en proceso flexible",
"editCardStartDatePopup-title": "Cambiar la fecha de comienzo",
"editCardDueDatePopup-title": "Cambiar la fecha de vencimiento",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Editar el campo",
"editCardSpentTimePopup-title": "Cambiar el tiempo consumido",
"editLabelPopup-title": "Cambiar la etiqueta",
"editNotificationPopup-title": "Editar las notificaciones",
@@ -242,9 +243,12 @@
"filter-clear": "Limpiar el filtro",
"filter-no-label": "Sin etiqueta",
"filter-no-member": "Sin miembro",
"filter-on": "Filtro activado",
"filter-no-custom-fields": "Sin campos personalizados",
"filter-on": "Filtrado activado",
"filter-on-desc": "Estás filtrando tarjetas en este tablero. Haz clic aquí para editar el filtro.",
"filter-to-selection": "Filtrar la selección",
"advanced-filter-label": "Filtrado avanzado",
"advanced-filter-description": "El filtrado avanzado permite escribir una cadena que contiene los siguientes operadores: == != <= >= && || ( ) Se utiliza un espacio como separador entre los operadores. Se pueden filtrar todos los campos personalizados escribiendo sus nombres y valores. Por ejemplo: Campo1 == Valor1. Nota: Si los campos o valores contienen espacios, deben encapsularse entre comillas simples. Por ejemplo: 'Campo 1' == 'Valor 1'. Para omitir los caracteres de control único (' \\/), se usa \\. Por ejemplo: Campo1 = I\\'m. También se pueden combinar múltiples condiciones. Por ejemplo: C1 == V1 || C1 == V2. Normalmente todos los operadores se interpretan de izquierda a derecha. Se puede cambiar el orden colocando paréntesis. Por ejemplo: C1 == V1 && ( C2 == V2 || C2 == V3 ). También se puede buscar en campos de texto usando expresiones regulares: C1 == /Tes.*/i",
"fullname": "Nombre completo",
"header-logo-title": "Volver a tu página de tableros",
"hide-system-messages": "Ocultar las notificaciones de actividad",
@@ -276,7 +280,7 @@
"keyboard-shortcuts": "Atajos de teclado",
"label-create": "Crear una etiqueta",
"label-default": "etiqueta %s (por defecto)",
"label-delete-pop": "Esto eliminará esta etiqueta de todas las tarjetas y destruirá su historial. Esta acción no puede deshacerse.",
"label-delete-pop": "Se eliminará esta etiqueta de todas las tarjetas y se destruirá su historial. Esta acción no puede deshacerse.",
"labels": "Etiquetas",
"language": "Cambiar el idioma",
"last-admin-desc": "No puedes cambiar roles porque debe haber al menos un administrador.",
@@ -386,7 +390,7 @@
"title": "Título",
"tracking": "Siguiendo",
"tracking-info": "Serás notificado de cualquier cambio en las tarjetas en las que participas como creador o miembro.",
"type": "Type",
"type": "Tipo",
"unassign-member": "Desvincular al miembro",
"unsaved-description": "Tienes una descripción por añadir.",
"unwatch": "Dejar de vigilar",
@@ -451,7 +455,7 @@
"hours": "horas",
"minutes": "minutos",
"seconds": "segundos",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "Mostrar este campo en la tarjeta",
"yes": "Sí",
"no": "No",
"accounts": "Cuentas",
@@ -465,5 +469,11 @@
"card-end": "Finalizado",
"card-end-on": "Finalizado el",
"editCardReceivedDatePopup-title": "Cambiar la fecha de recepción",
"editCardEndDatePopup-title": "Cambiar la fecha de finalización"
"editCardEndDatePopup-title": "Cambiar la fecha de finalización",
"assigned-by": "Asignado por",
"requested-by": "Solicitado por",
"board-delete-notice": "Se eliminarán todas las listas, tarjetas y acciones asociadas a este tablero. Esta acción no puede deshacerse.",
"delete-board-confirm-popup": "Se eliminarán todas las listas, tarjetas, etiquetas y actividades, y no podrás recuperar los contenidos del tablero. Esta acción no puede deshacerse.",
"boardDeletePopup-title": "¿Borrar el tablero?",
"delete-board": "Borrar el tablero"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Arbelaren menua",
"boards": "Arbelak",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Zerrendak",
"bucket-example": "Esaterako \"Pertz zerrenda\"",
@@ -108,7 +109,7 @@
"card-comments-title": "Txartel honek iruzkin %s dauka.",
"card-delete-notice": "Ezabaketa behin betiko da. Txartel honi lotutako ekintza guztiak galduko dituzu.",
"card-delete-pop": "Ekintza guztiak ekintza jariotik kenduko dira eta ezin izango duzu txartela berrireki. Ez dago desegiterik.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Epemuga",
"card-due-on": "Epemuga",
"card-spent": "Erabilitako denbora",
@@ -242,9 +243,12 @@
"filter-clear": "Garbitu iragazkia",
"filter-no-label": "Etiketarik ez",
"filter-no-member": "Kiderik ez",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Iragazkia gaituta dago",
"filter-on-desc": "Arbel honetako txartela iragazten ari zara. Egin klik hemen iragazkia editatzeko.",
"filter-to-selection": "Iragazketa aukerara",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Izen abizenak",
"header-logo-title": "Itzuli zure arbelen orrira.",
"hide-system-messages": "Ezkutatu sistemako mezuak",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+48 -38
View File
@@ -7,13 +7,13 @@
"act-addComment": "درج نظر برای __card__: __comment__",
"act-createBoard": "__board__ ایجاد شد",
"act-createCard": "__card__ به __list__ اضافه شد",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "فیلد __customField__ ایجاد شد",
"act-createList": "__list__ به __board__ اضافه شد",
"act-addBoardMember": "__member__ به __board__ اضافه شد",
"act-archivedBoard": "__board__ moved to Recycle Bin",
"act-archivedCard": "__card__ moved to Recycle Bin",
"act-archivedList": "__list__ moved to Recycle Bin",
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
"act-archivedBoard": "__board__ به سطل زباله ریخته شد",
"act-archivedCard": "__card__ به سطل زباله منتقل شد",
"act-archivedList": "__list__ به سطل زباله منتقل شد",
"act-archivedSwimlane": "__swimlane__ به سطل زباله منتقل شد",
"act-importBoard": "__board__ وارد شده",
"act-importCard": "__card__ وارد شده",
"act-importList": "__list__ وارد شده",
@@ -28,10 +28,10 @@
"activities": "فعالیت ها",
"activity": "فعالیت",
"activity-added": "%s به %s اضافه شد",
"activity-archived": "%s moved to Recycle Bin",
"activity-archived": "%s به سطل زباله منتقل شد",
"activity-attached": "%s به %s پیوست شد",
"activity-created": "%s ایجاد شد",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "%s فیلدشخصی ایجاد شد",
"activity-excluded": "%s از %s مستثنی گردید",
"activity-imported": "%s از %s وارد %s شد",
"activity-imported-board": "%s از %s وارد شد",
@@ -66,19 +66,19 @@
"and-n-other-card_plural": "و __count__ کارت دیگر",
"apply": "اعمال",
"app-is-offline": "Wekan در حال بارگذاری است. لطفا صبر کنید. نوسازی صفحه، منجر به از دست رفتن داده‌ها می‌شود. اگر Wekan بارگذاری نشد، لطفا بررسی کنید که سرور Wekan متوقف نشده باشد.",
"archive": "Move to Recycle Bin",
"archive-all": "Move All to Recycle Bin",
"archive-board": "Move Board to Recycle Bin",
"archive-card": "Move Card to Recycle Bin",
"archive-list": "Move List to Recycle Bin",
"archive-swimlane": "Move Swimlane to Recycle Bin",
"archive-selection": "Move selection to Recycle Bin",
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
"archived-items": "Recycle Bin",
"archived-boards": "Boards in Recycle Bin",
"archive": "ریختن به سطل زباله",
"archive-all": "ریختن همه به سطل زباله",
"archive-board": "ریختن تخته به سطل زباله",
"archive-card": "ریختن کارت به سطل زباله",
"archive-list": "ریختن لیست به سطل زباله",
"archive-swimlane": "ریختن مسیرشنا به سطل زباله",
"archive-selection": "انتخاب شده ها را به سطل زباله بریز",
"archiveBoardPopup-title": "آیا تخته به سطل زباله ریخته شود؟",
"archived-items": "سطل زباله",
"archived-boards": "تخته هایی که به زباله ریخته شده است",
"restore-board": "بازیابی تخته",
"no-archived-boards": "No Boards in Recycle Bin.",
"archives": "Recycle Bin",
"no-archived-boards": "هیچ تخته ای در سطل زباله وجود ندارد",
"archives": "سطل زباله",
"assign-member": "تعیین عضو",
"attached": "ضمیمه شده",
"attachment": "ضمیمه",
@@ -100,20 +100,21 @@
"boardMenuPopup-title": "منوی تخته",
"boards": "تخته‌ها",
"board-view": "نمایش تخته",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "فهرست‌ها",
"bucket-example": "برای مثال چیزی شبیه \"لیست سبدها\"",
"cancel": "انصراف",
"card-archived": "This card is moved to Recycle Bin.",
"card-archived": "این کارت به سطل زباله ریخته شده است",
"card-comments-title": "این کارت دارای %s نظر است.",
"card-delete-notice": "حذف دائمی. تمامی موارد مرتبط با این کارت از بین خواهند رفت.",
"card-delete-pop": "همه اقدامات از این پردازه (خوراک) حذف خواهد شد و امکان بازگرداندن کارت وجود نخواهد داشت.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "ناشی از",
"card-due-on": "مقتضی بر",
"card-spent": "زمان صرف شده",
"card-edit-attachments": "ویرایش ضمائم",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "ویرایش فیلدهای شخصی",
"card-edit-labels": "ویرایش برچسب",
"card-edit-members": "ویرایش اعضا",
"card-labels-title": "تغییر برچسب کارت",
@@ -121,8 +122,8 @@
"card-start": "شروع",
"card-start-on": "شروع از",
"cardAttachmentsPopup-title": "ضمیمه از",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "تغییر تاریخ",
"cardCustomFieldsPopup-title": "ویرایش فیلدهای شخصی",
"cardDeletePopup-title": "آیا می خواهید کارت را حذف کنید؟",
"cardDetailsActionsPopup-title": "اعمال کارت",
"cardLabelsPopup-title": "برچسب ها",
@@ -146,7 +147,7 @@
"clipboard": "ذخیره در حافظه ویا بردار-رهاکن",
"close": "بستن",
"close-board": "بستن برد",
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
"close-board-pop": "شما با کلیک روی دکمه \"سطل زباله\" در قسمت خانه می توانید تخته را بازیابی کنید.",
"color-black": "مشکی",
"color-blue": "آبی",
"color-green": "سبز",
@@ -172,25 +173,25 @@
"createBoardPopup-title": "ایجاد تخته",
"chooseBoardSourcePopup-title": "بارگذاری تخته",
"createLabelPopup-title": "ایجاد برچسب",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "ایجاد فیلد",
"createCustomFieldPopup-title": "ایجاد فیلد",
"current": "جاری",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "این اقدام فیلدشخصی را بهمراه تمامی تاریخچه آن از کارت ها پاک می کند و برگشت پذیر نمی باشد",
"custom-field-checkbox": "جعبه انتخابی",
"custom-field-date": "تاریخ",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown": "لیست افتادنی",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-options": "لیست امکانات",
"custom-field-dropdown-options-placeholder": "کلید Enter را جهت افزودن امکانات بیشتر فشار دهید",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-number": "عدد",
"custom-field-text": "متن",
"custom-fields": "فیلدهای شخصی",
"date": "تاریخ",
"decline": "رد",
"default-avatar": "تصویر پیش فرض",
"delete": "حذف",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "آیا فیلدشخصی پاک شود؟",
"deleteLabelPopup-title": "آیا می خواهید برچسب را حذف کنید؟",
"description": "توضیحات",
"disambiguateMultiLabelPopup-title": "عمل ابهام زدایی از برچسب",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "تغییر تاریخ آغاز",
"editCardDueDatePopup-title": "تغییر تاریخ بدلیل",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "ویرایش فیلد",
"editCardSpentTimePopup-title": "تغییر زمان صرف شده",
"editLabelPopup-title": "تغیر برچسب",
"editNotificationPopup-title": "اصلاح اعلان",
@@ -242,9 +243,12 @@
"filter-clear": "حذف صافی ـFilterـ",
"filter-no-label": "بدون برچسب",
"filter-no-member": "بدون عضو",
"filter-no-custom-fields": "هیچ فیلدشخصی ای وجود ندارد",
"filter-on": "صافی ـFilterـ فعال است",
"filter-on-desc": "شما صافی ـFilterـ برای کارتهای تخته را روشن کرده اید. جهت ویرایش کلیک نمایید.",
"filter-to-selection": "صافی ـFilterـ برای موارد انتخابی",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "نام و نام خانوادگی",
"header-logo-title": "بازگشت به صفحه تخته.",
"hide-system-messages": "عدم نمایش پیامهای سیستمی",
@@ -465,5 +469,11 @@
"card-end": "پایان",
"card-end-on": "پایان در",
"editCardReceivedDatePopup-title": "تغییر تاریخ رسید",
"editCardEndDatePopup-title": "تغییر تاریخ پایان"
"editCardEndDatePopup-title": "تغییر تاریخ پایان",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+11 -1
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Taulu valikko",
"boards": "Taulut",
"board-view": "Taulu näkymä",
"board-view-cal": "Kalenteri",
"board-view-swimlanes": "Swimlanet",
"board-view-lists": "Listat",
"bucket-example": "Kuten “Laatikko lista” esimerkiksi",
@@ -242,9 +243,12 @@
"filter-clear": "Poista suodatin",
"filter-no-label": "Ei tunnistetta",
"filter-no-member": "Ei jäseniä",
"filter-no-custom-fields": "Ei mukautettuja kenttiä",
"filter-on": "Suodatus on päällä",
"filter-on-desc": "Suodatat kortteja tällä taululla. Klikkaa tästä muokataksesi suodatinta.",
"filter-to-selection": "Suodata valintaan",
"advanced-filter-label": "Edistynyt suodatin",
"advanced-filter-description": "Edistynyt suodatin mahdollistaa merkkijonon, joka sisältää seuraavat operaattorit: == != <= >= && || ( ) Operaattorien välissä käytetään välilyöntiä. Voit suodattaa kaikki mukautetut kentät kirjoittamalla niiden nimet ja arvot. Esimerkiksi: Field1 == Value1. Huom: Jos kentillä tai arvoilla on välilyöntejä, sinun on sijoitettava ne yksittäisiin lainausmerkkeihin. Esimerkki: 'Kenttä 1' == 'Arvo 1'. Voit hypätä yksittäisen kontrollimerkkien (' \\/) yli käyttämällä \\. Esimerkki: Field1 = I\\'m. Voit myös yhdistää useita ehtoja. Esimerkiksi: F1 == V1 || F1 == V2. Yleensä kaikki operaattorit tulkitaan vasemmalta oikealle. Voit muuttaa järjestystä asettamalla sulkuja. Esimerkiksi: F1 == V1 && (F2 == V2 || F2 == V3). Voit myös etsiä tekstikentistä regexillä: F1 == /Tes.*/i",
"fullname": "Koko nimi",
"header-logo-title": "Palaa taulut sivullesi.",
"hide-system-messages": "Piilota järjestelmäviestit",
@@ -465,5 +469,11 @@
"card-end": "Loppuu",
"card-end-on": "Loppuu",
"editCardReceivedDatePopup-title": "Vaihda vastaanottamispäivää",
"editCardEndDatePopup-title": "Vaihda loppumispäivää"
"editCardEndDatePopup-title": "Vaihda loppumispäivää",
"assigned-by": "Tehtävänantaja",
"requested-by": "Pyytäjä",
"board-delete-notice": "Poistaminen on lopullista. Menetät kaikki listat, kortit ja toimet tällä taululla.",
"delete-board-confirm-popup": "Kaikki listat, kortit, tunnisteet ja toimet poistetaan ja et pysty palauttamaan taulun sisältöä. Tätä ei voi peruuttaa.",
"boardDeletePopup-title": "Poista taulu?",
"delete-board": "Poista taulu"
}
+11 -1
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Menu du tableau",
"boards": "Tableaux",
"board-view": "Vue du tableau",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Couloirs",
"board-view-lists": "Listes",
"bucket-example": "Comme « todo list » par exemple",
@@ -242,9 +243,12 @@
"filter-clear": "Supprimer les filtres",
"filter-no-label": "Aucune étiquette",
"filter-no-member": "Aucun membre",
"filter-no-custom-fields": "Pas de champs personnalisés",
"filter-on": "Le filtre est actif",
"filter-on-desc": "Vous êtes en train de filtrer les cartes sur ce tableau. Cliquez ici pour modifier les filtres.",
"filter-to-selection": "Filtre vers la sélection",
"advanced-filter-label": "Filtre avancé",
"advanced-filter-description": "Le filtre avancé permet d'écrire une chaîne contenant les opérateur suivants : == != <= >= && || ( ). Les opérateurs doivent être séparés par des espaces. Vous pouvez filtrer tous les champs personnalisés en saisissant leur nom et leur valeur. Par exemple : champ1 == valeur1. Remarque : si des champs ou valeurs contiennent des espaces, vous devez les mettre entre apostrophes. Par exemple : 'champ 1' = 'valeur 1'. Pour échapper un caractère de contrôle (' \\/), vous pouvez utiliser \\. Par exemple : champ1 = I\\'m. Il est également possible de combiner plusieurs conditions. Par exemple : f1 == v1 || f2 == v2. Normalement, tous les opérateurs sont interprétés de gauche à droite. Vous pouvez changer l'ordre à l'aide de parenthèses. Par exemple : f1 == v1 and (f2 == v2 || f2 == v3). Vous pouvez également chercher parmi les champs texte en utilisant des expressions régulières : f1 == /Test.*/i",
"fullname": "Nom complet",
"header-logo-title": "Retourner à la page des tableaux",
"hide-system-messages": "Masquer les messages système",
@@ -465,5 +469,11 @@
"card-end": "Fin",
"card-end-on": "Se termine le",
"editCardReceivedDatePopup-title": "Changer la date de réception",
"editCardEndDatePopup-title": "Changer la date de fin"
"editCardEndDatePopup-title": "Changer la date de fin",
"assigned-by": "Assigné par",
"requested-by": "Demandé par",
"board-delete-notice": "La suppression est définitive. Vous perdrez toutes vos listes, cartes et actions associées à ce tableau.",
"delete-board-confirm-popup": "Toutes les listes, cartes, étiquettes et activités seront supprimées et vous ne pourrez pas retrouver le contenu du tableau. Il n'y a pas d'annulation possible.",
"boardDeletePopup-title": "Supprimer le tableau ?",
"delete-board": "Supprimer le tableau"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Taboleiros",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Listas",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Limpar filtro",
"filter-no-label": "Non hai etiquetas",
"filter-no-member": "Non hai membros",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "O filtro está activado",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Nome completo",
"header-logo-title": "Retornar á páxina dos seus taboleiros.",
"hide-system-messages": "Agochar as mensaxes do sistema",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+26 -16
View File
@@ -7,7 +7,7 @@
"act-addComment": "התקבלה תגובה על הכרטיס __card__:‏ __comment__",
"act-createBoard": "הלוח __board__ נוצר",
"act-createCard": "הכרטיס __card__ התווסף לרשימה __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "נוצר שדה בהתאמה אישית __customField__",
"act-createList": "הרשימה __list__ התווספה ללוח __board__",
"act-addBoardMember": "המשתמש __member__ נוסף ללוח __board__",
"act-archivedBoard": "__board__ הועבר לסל המחזור",
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "תפריט לוח",
"boards": "לוחות",
"board-view": "תצוגת לוח",
"board-view-cal": "Calendar",
"board-view-swimlanes": "מסלולים",
"board-view-lists": "רשימות",
"bucket-example": "כמו למשל „רשימת המשימות“",
@@ -175,22 +176,22 @@
"createCustomField": "יצירת שדה",
"createCustomFieldPopup-title": "יצירת שדה",
"current": "נוכחי",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "אין אפשרות לבטל את הפעולה. הפעולה תסיר את השדה שהותאם אישית מכל הכרטיסים ותשמיד את ההיסטוריה שלו.",
"custom-field-checkbox": "תיבת סימון",
"custom-field-date": "תאריך",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-dropdown": "רשימה נגללת",
"custom-field-dropdown-none": "(ללא)",
"custom-field-dropdown-options": "אפשרויות רשימה",
"custom-field-dropdown-options-placeholder": "יש ללחוץ על enter כדי להוסיף עוד אפשרויות",
"custom-field-dropdown-unknown": "(לא ידוע)",
"custom-field-number": "מספר",
"custom-field-text": "טקסט",
"custom-fields": "שדות מותאמים אישית",
"date": "תאריך",
"decline": "סירוב",
"default-avatar": "תמונת משתמש כבררת מחדל",
"delete": "מחיקה",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "למחוק שדה מותאם אישית?",
"deleteLabelPopup-title": "למחוק תווית?",
"description": "תיאור",
"disambiguateMultiLabelPopup-title": "הבהרת פעולת תווית",
@@ -205,7 +206,7 @@
"soft-wip-limit": "מגבלת „בעבודה” רכה",
"editCardStartDatePopup-title": "שינוי מועד התחלה",
"editCardDueDatePopup-title": "שינוי מועד סיום",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "עריכת שדה",
"editCardSpentTimePopup-title": "שינוי הזמן שהושקע",
"editLabelPopup-title": "שינוי תווית",
"editNotificationPopup-title": "שינוי דיווח",
@@ -242,9 +243,12 @@
"filter-clear": "ניקוי המסנן",
"filter-no-label": "אין תווית",
"filter-no-member": "אין חבר כזה",
"filter-no-custom-fields": "אין שדות מותאמים אישית",
"filter-on": "המסנן פועל",
"filter-on-desc": "מסנן כרטיסים פעיל בלוח זה. יש ללחוץ כאן לעריכת המסנן.",
"filter-to-selection": "סינון לבחירה",
"advanced-filter-label": "מסנן מתקדם",
"advanced-filter-description": "המסנן המתקדם מאפשר לך לכתוב מחרוזת שמכילה את הפעולות הבאות: == != <= >= && || ( ) רווח מכהן כמפריד בין הפעולות. ניתן לסנן את כל השדות המותאמים אישית על ידי הקלדת שמם והערך שלהם. למשל: שדה1 == ערך1. לתשומת לבך: אם שדות או ערכים מכילים רווח, יש לעטוף אותם במירכא מכל צד. למשל: 'שדה 1' == 'ערך 1'. ניתן גם לשלב מגוון תנאים. למשל: F1 == V1 || F1 == V2. על פי רוב כל הפעולות מפוענחות משמאל לימין. ניתן לשנות את הסדר על ידי הצבת סוגריים. למשל: ( F1 == V1 && ( F2 == V2 || F2 == V3 ",
"fullname": "שם מלא",
"header-logo-title": "חזרה לדף הלוחות שלך.",
"hide-system-messages": "הסתרת הודעות מערכת",
@@ -386,7 +390,7 @@
"title": "כותרת",
"tracking": "מעקב",
"tracking-info": "על כל שינוי בכרטיסים בהם הייתה לך מעורבות ברמת היצירה או כחברות תגיע אליך הודעה.",
"type": "Type",
"type": "סוג",
"unassign-member": "ביטול הקצאת חבר",
"unsaved-description": "יש לך תיאור לא שמור.",
"unwatch": "ביטול מעקב",
@@ -451,7 +455,7 @@
"hours": "שעות",
"minutes": "דקות",
"seconds": "שניות",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "הצגת שדה זה בכרטיס",
"yes": "כן",
"no": "לא",
"accounts": "חשבונות",
@@ -465,5 +469,11 @@
"card-end": "סיום",
"card-end-on": "מועד הסיום",
"editCardReceivedDatePopup-title": "החלפת מועד הקבלה",
"editCardEndDatePopup-title": "החלפת מועד הסיום"
"editCardEndDatePopup-title": "החלפת מועד הסיום",
"assigned-by": "הוקצה על ידי",
"requested-by": "התבקש על ידי",
"board-delete-notice": "מחיקה היא לצמיתות. כל הרשימות, הכרטיבים והפעולות שקשורים בלוח הזה ילכו לאיבוד.",
"delete-board-confirm-popup": "כל הרשימות, הכרטיסים, התווית והפעולות יימחקו ולא תהיה לך דרך לשחזר את תכני הלוח. אין אפשרות לבטל.",
"boardDeletePopup-title": "למחוק את הלוח?",
"delete-board": "מחיקת לוח"
}
+49 -39
View File
@@ -7,12 +7,12 @@
"act-addComment": "hozzászólt a(z) __card__ kártyán: __comment__",
"act-createBoard": "létrehozta a táblát: __board__",
"act-createCard": "__card__ kártyát adott hozzá a listához: __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "létrehozta a(z) __customField__ egyéni listát",
"act-createList": "__list__ listát adott hozzá a táblához: __board__",
"act-addBoardMember": "__member__ tagot hozzáadta a táblához: __board__",
"act-archivedBoard": "A __board__ tábla a lomtárba került.",
"act-archivedCard": "A __card__ kártya a lomtárba került.",
"act-archivedList": "A __list__ lista a lomtárba került.",
"act-archivedBoard": "A(z) __board__ tábla áthelyezve a lomtárba",
"act-archivedCard": "A(z) __card__ kártya áthelyezve a lomtárba",
"act-archivedList": "A(z) __list__ lista áthelyezve a lomtárba",
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
"act-importBoard": "importálta a táblát: __board__",
"act-importCard": "importálta a kártyát: __card__",
@@ -28,10 +28,10 @@
"activities": "Tevékenységek",
"activity": "Tevékenység",
"activity-added": "%s hozzáadva ehhez: %s",
"activity-archived": "%s lomtárba helyezve",
"activity-archived": "%s áthelyezve a lomtárba",
"activity-attached": "%s mellékletet csatolt a kártyához: %s",
"activity-created": "%s létrehozva",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "létrehozta a(z) %s egyéni mezőt",
"activity-excluded": "%s kizárva innen: %s",
"activity-imported": "%s importálva ebbe: %s, innen: %s",
"activity-imported-board": "%s importálva innen: %s",
@@ -99,7 +99,8 @@
"boardChangeWatchPopup-title": "Megfigyelés megváltoztatása",
"boardMenuPopup-title": "Tábla menü",
"boards": "Táblák",
"board-view": "Board View",
"board-view": "Tábla nézet",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Listák",
"bucket-example": "Mint például „Bakancslista”",
@@ -108,12 +109,12 @@
"card-comments-title": "Ez a kártya %s hozzászólást tartalmaz.",
"card-delete-notice": "A törlés végleges. Az összes műveletet elveszíti, amely ehhez a kártyához tartozik.",
"card-delete-pop": "Az összes művelet el lesz távolítva a tevékenységlistából, és nem lesz képes többé újra megnyitni a kártyát. Nincs visszaállítási lehetőség.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Esedékes",
"card-due-on": "Esedékes ekkor",
"card-spent": "Eltöltött idő",
"card-edit-attachments": "Mellékletek szerkesztése",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Egyéni mezők szerkesztése",
"card-edit-labels": "Címkék szerkesztése",
"card-edit-members": "Tagok szerkesztése",
"card-labels-title": "A kártya címkéinek megváltoztatása.",
@@ -121,8 +122,8 @@
"card-start": "Kezdés",
"card-start-on": "Kezdés ekkor",
"cardAttachmentsPopup-title": "Innen csatolva",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "Dátum megváltoztatása",
"cardCustomFieldsPopup-title": "Egyéni mezők szerkesztése",
"cardDeletePopup-title": "Törli a kártyát?",
"cardDetailsActionsPopup-title": "Kártyaműveletek",
"cardLabelsPopup-title": "Címkék",
@@ -165,32 +166,32 @@
"confirm-checklist-delete-dialog": "Biztosan törölni szeretné az ellenőrzőlistát?",
"copy-card-link-to-clipboard": "Kártya hivatkozásának másolása a vágólapra",
"copyCardPopup-title": "Kártya másolása",
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"copyChecklistToManyCardsPopup-title": "Ellenőrzőlista sablon másolása több kártyára",
"copyChecklistToManyCardsPopup-instructions": "A célkártyák címe és a leírások ebben a JSON formátumban",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Első kártya címe\", \"description\":\"Első kártya leírása\"}, {\"title\":\"Második kártya címe\",\"description\":\"Második kártya leírása\"},{\"title\":\"Utolsó kártya címe\",\"description\":\"Utolsó kártya leírása\"} ]",
"create": "Létrehozás",
"createBoardPopup-title": "Tábla létrehozása",
"chooseBoardSourcePopup-title": "Tábla importálása",
"createLabelPopup-title": "Címke létrehozása",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "Mező létrehozása",
"createCustomFieldPopup-title": "Mező létrehozása",
"current": "jelenlegi",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "Nincs visszavonás. Ez el fogja távolítani az egyéni mezőt az összes kártyáról, és megsemmisíti az előzményeit.",
"custom-field-checkbox": "Jelölőnégyzet",
"custom-field-date": "Dátum",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-dropdown": "Legördülő lista",
"custom-field-dropdown-none": "(nincs)",
"custom-field-dropdown-options": "Lista lehetőségei",
"custom-field-dropdown-options-placeholder": "Nyomja meg az Enter billentyűt több lehetőség hozzáadásához",
"custom-field-dropdown-unknown": "(ismeretlen)",
"custom-field-number": "Szám",
"custom-field-text": "Szöveg",
"custom-fields": "Egyéni mezők",
"date": "Dátum",
"decline": "Elutasítás",
"default-avatar": "Alapértelmezett avatár",
"delete": "Törlés",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "Törli az egyéni mezőt?",
"deleteLabelPopup-title": "Törli a címkét?",
"description": "Leírás",
"disambiguateMultiLabelPopup-title": "Címkeművelet egyértelműsítése",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Gyenge WIP korlát",
"editCardStartDatePopup-title": "Kezdődátum megváltoztatása",
"editCardDueDatePopup-title": "Esedékesség dátumának megváltoztatása",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Mező szerkesztése",
"editCardSpentTimePopup-title": "Eltöltött idő megváltoztatása",
"editLabelPopup-title": "Címke megváltoztatása",
"editNotificationPopup-title": "Értesítés szerkesztése",
@@ -242,9 +243,12 @@
"filter-clear": "Szűrő törlése",
"filter-no-label": "Nincs címke",
"filter-no-member": "Nincs tag",
"filter-no-custom-fields": "Nincsenek egyéni mezők",
"filter-on": "Szűrő bekapcsolva",
"filter-on-desc": "A kártyaszűrés be van kapcsolva ezen a táblán. Kattintson ide a szűrő szerkesztéséhez.",
"filter-to-selection": "Szűrés a kijelöléshez",
"advanced-filter-label": "Speciális szűrő",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Teljes név",
"header-logo-title": "Vissza a táblák oldalára.",
"hide-system-messages": "Rendszerüzenetek elrejtése",
@@ -386,7 +390,7 @@
"title": "Cím",
"tracking": "Követés",
"tracking-info": "Értesítve lesz az összes olyan kártya változásáról, amelyen létrehozóként vagy tagként vesz részt.",
"type": "Type",
"type": "Típus",
"unassign-member": "Tag hozzárendelésének megszüntetése",
"unsaved-description": "Van egy mentetlen leírása.",
"unwatch": "Megfigyelés megszüntetése",
@@ -395,12 +399,12 @@
"uploaded-avatar": "Egy avatár feltöltve",
"username": "Felhasználónév",
"view-it": "Megtekintés",
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
"warn-list-archived": "figyelem: ez a kártya egy lomtárban lévő listán van",
"watch": "Megfigyelés",
"watching": "Megfigyelés",
"watching-info": "Értesítve lesz a táblán lévő összes változásról",
"welcome-board": "Üdvözlő tábla",
"welcome-swimlane": "Milestone 1",
"welcome-swimlane": "1. mérföldkő",
"welcome-list1": "Alapok",
"welcome-list2": "Speciális",
"what-to-do": "Mit szeretne tenni?",
@@ -451,19 +455,25 @@
"hours": "óra",
"minutes": "perc",
"seconds": "másodperc",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "A mező megjelenítése a kártyán",
"yes": "Igen",
"no": "Nem",
"accounts": "Fiókok",
"accounts-allowEmailChange": "E-mail megváltoztatásának engedélyezése",
"accounts-allowUserNameChange": "Allow Username Change",
"accounts-allowUserNameChange": "Felhasználónév megváltoztatásának engedélyezése",
"createdAt": "Létrehozva",
"verified": "Ellenőrizve",
"active": "Aktív",
"card-received": "Received",
"card-received-on": "Received on",
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"card-received": "Érkezett",
"card-received-on": "Ekkor érkezett",
"card-end": "Befejezés",
"card-end-on": "Befejeződik ekkor",
"editCardReceivedDatePopup-title": "Érkezési dátum megváltoztatása",
"editCardEndDatePopup-title": "Befejezési dátum megváltoztatása",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Menu Panel",
"boards": "Panel",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Daftar",
"bucket-example": "Contohnya seperti “Bucket List” ",
@@ -108,7 +109,7 @@
"card-comments-title": "Kartu ini punya %s komentar",
"card-delete-notice": "Menghapus sama dengan permanen. Anda akan kehilangan semua aksi yang terhubung ke kartu ini",
"card-delete-pop": "Semua aksi akan dihapus dari aktivitas dan anda tidak bisa lagi buka kartu ini",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Jatuh Tempo",
"card-due-on": "Jatuh Tempo pada",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Bersihkan penyaringan",
"filter-no-label": "Tidak ada label",
"filter-no-member": "Tidak ada anggota",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Penyaring aktif",
"filter-on-desc": "Anda memfilter kartu di panel ini. Klik di sini untuk menyunting filter",
"filter-to-selection": "Saring berdasarkan yang dipilih",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Nama Lengkap",
"header-logo-title": "Kembali ke laman panel anda",
"hide-system-messages": "Sembunyikan pesan-pesan sistem",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+36 -26
View File
@@ -3,11 +3,11 @@
"act-activity-notify": "[Wekan] Notifiche attività",
"act-addAttachment": "ha allegato __attachment__ a __card__",
"act-addChecklist": "aggiunta checklist __checklist__ a __card__",
"act-addChecklistItem": "aggiunto __checklistItem__ alla checklist __checklist__ su __card__",
"act-addChecklistItem": "aggiunto __checklistItem__ alla checklist __checklist__ di __card__",
"act-addComment": "ha commentato su __card__: __comment__",
"act-createBoard": "ha creato __board__",
"act-createCard": "ha aggiunto __card__ a __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "campo personalizzato __customField__ creato",
"act-createList": "ha aggiunto __list__ a __board__",
"act-addBoardMember": "ha aggiunto __member__ a __board__",
"act-archivedBoard": "__board__ spostata nel cestino",
@@ -19,7 +19,7 @@
"act-importList": "ha importato __list__",
"act-joinMember": "ha aggiunto __member__ a __card__",
"act-moveCard": "ha spostato __card__ da __oldList__ a __list__",
"act-removeBoardMember": "ha rimosso __member__ da __board__",
"act-removeBoardMember": "ha rimosso __member__ a __board__",
"act-restoredCard": "ha ripristinato __card__ su __board__",
"act-unjoinMember": "ha rimosso __member__ da __card__",
"act-withBoardTitle": "[Wekan] __board__",
@@ -31,7 +31,7 @@
"activity-archived": "%s spostato nel cestino",
"activity-attached": "allegato %s a %s",
"activity-created": "creato %s",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "Campo personalizzato creato",
"activity-excluded": "escluso %s da %s",
"activity-imported": "importato %s in %s da %s",
"activity-imported-board": "importato %s da %s",
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Menu bacheca",
"boards": "Bacheche",
"board-view": "Visualizza bacheca",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Corsie",
"board-view-lists": "Liste",
"bucket-example": "Per esempio come \"una lista di cose da fare\"",
@@ -113,7 +114,7 @@
"card-due-on": "Scade",
"card-spent": "Tempo trascorso",
"card-edit-attachments": "Modifica allegati",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Modifica campo personalizzato",
"card-edit-labels": "Modifica etichette",
"card-edit-members": "Modifica membri",
"card-labels-title": "Cambia le etichette per questa scheda.",
@@ -121,8 +122,8 @@
"card-start": "Inizio",
"card-start-on": "Inizia",
"cardAttachmentsPopup-title": "Allega da",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "Cambia data",
"cardCustomFieldsPopup-title": "Modifica campo personalizzato",
"cardDeletePopup-title": "Elimina scheda?",
"cardDetailsActionsPopup-title": "Azioni scheda",
"cardLabelsPopup-title": "Etichette",
@@ -172,25 +173,25 @@
"createBoardPopup-title": "Crea bacheca",
"chooseBoardSourcePopup-title": "Importa bacheca",
"createLabelPopup-title": "Crea etichetta",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "Crea campo",
"createCustomFieldPopup-title": "Crea campo",
"current": "corrente",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "Non potrai tornare indietro. Questa azione rimuoverà questo campo personalizzato da tutte le schede ed eliminerà ogni sua traccia.",
"custom-field-checkbox": "Casella di scelta",
"custom-field-date": "Data",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-dropdown": "Lista a discesa",
"custom-field-dropdown-none": "(nessun)",
"custom-field-dropdown-options": "Lista opzioni",
"custom-field-dropdown-options-placeholder": "Premi invio per aggiungere altre opzioni",
"custom-field-dropdown-unknown": "(sconosciuto)",
"custom-field-number": "Numero",
"custom-field-text": "Testo",
"custom-fields": "Campi personalizzati",
"date": "Data",
"decline": "Declina",
"default-avatar": "Avatar predefinito",
"delete": "Elimina",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "Elimina il campo personalizzato?",
"deleteLabelPopup-title": "Eliminare etichetta?",
"description": "Descrizione",
"disambiguateMultiLabelPopup-title": "Disambiguare l'azione Etichetta",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Limite Work in progress soft",
"editCardStartDatePopup-title": "Cambia data di inizio",
"editCardDueDatePopup-title": "Cambia data di scadenza",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Modifica campo",
"editCardSpentTimePopup-title": "Cambia tempo trascorso",
"editLabelPopup-title": "Cambia etichetta",
"editNotificationPopup-title": "Modifica notifiche",
@@ -242,9 +243,12 @@
"filter-clear": "Pulisci filtri",
"filter-no-label": "Nessuna etichetta",
"filter-no-member": "Nessun membro",
"filter-no-custom-fields": "Nessun campo personalizzato",
"filter-on": "Il filtro è attivo",
"filter-on-desc": "Stai filtrando le schede su questa bacheca. Clicca qui per modificare il filtro,",
"filter-to-selection": "Seleziona",
"advanced-filter-label": "Filtro avanzato",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Nome completo",
"header-logo-title": "Torna alla tua bacheca.",
"hide-system-messages": "Nascondi i messaggi di sistema",
@@ -386,7 +390,7 @@
"title": "Titolo",
"tracking": "Monitoraggio",
"tracking-info": "Sarai notificato per tutte le modifiche alle schede delle quali sei creatore o membro.",
"type": "Type",
"type": "Tipo",
"unassign-member": "Rimuovi membro",
"unsaved-description": "Hai una descrizione non salvata",
"unwatch": "Non seguire",
@@ -414,7 +418,7 @@
"disable-self-registration": "Disabilita Auto-registrazione",
"invite": "Invita",
"invite-people": "Invita persone",
"to-boards": "torna alle bacheche(a)",
"to-boards": "Alla(e) bacheche(a)",
"email-addresses": "Indirizzi email",
"smtp-host-description": "L'indirizzo del server SMTP che gestisce le tue email.",
"smtp-port-description": "La porta che il tuo server SMTP utilizza per le email in uscita.",
@@ -451,12 +455,12 @@
"hours": "ore",
"minutes": "minuti",
"seconds": "secondi",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "Visualizza questo campo sulla scheda",
"yes": "Sì",
"no": "No",
"accounts": "Profili",
"accounts-allowEmailChange": "Permetti modifica dell'email",
"accounts-allowUserNameChange": "Allow Username Change",
"accounts-allowUserNameChange": "Consenti la modifica del nome utente",
"createdAt": "creato alle",
"verified": "Verificato",
"active": "Attivo",
@@ -465,5 +469,11 @@
"card-end": "Fine",
"card-end-on": "Termina il",
"editCardReceivedDatePopup-title": "Cambia data ricezione",
"editCardEndDatePopup-title": "Cambia data finale"
"editCardEndDatePopup-title": "Cambia data finale",
"assigned-by": "Assegnato da",
"requested-by": "Richiesto da",
"board-delete-notice": "L'eliminazione è permanente. Tutte le azioni, liste e schede associate a questa bacheca andranno perse.",
"delete-board-confirm-popup": "Tutte le liste, schede, etichette e azioni saranno rimosse e non sarai più in grado di recuperare il contenuto della bacheca. L'azione non è annullabile.",
"boardDeletePopup-title": "Eliminare la bacheca?",
"delete-board": "Elimina bacheca"
}
+61 -51
View File
@@ -2,18 +2,18 @@
"accept": "受け入れ",
"act-activity-notify": "[Wekan] アクティビティ通知",
"act-addAttachment": "__card__ に __attachment__ を添付しました",
"act-addChecklist": "added checklist __checklist__ to __card__",
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
"act-addChecklist": "__card__ に __checklist__ を追加しました",
"act-addChecklistItem": "__checklist__ on __card__ に __checklistItem__ を追加しました",
"act-addComment": "__card__: __comment__ をコメントしました",
"act-createBoard": "__board__ を作成しました",
"act-createCard": "__list__ に __card__ を追加しました",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "__customField__ を作成しました",
"act-createList": "__board__ に __list__ を追加しました",
"act-addBoardMember": "__board__ に __member__ を追加しました",
"act-archivedBoard": "__board__ moved to Recycle Bin",
"act-archivedCard": "__card__ moved to Recycle Bin",
"act-archivedList": "__list__ moved to Recycle Bin",
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
"act-archivedBoard": "__board__ をゴミ箱に移動しました",
"act-archivedCard": "__card__ をゴミ箱に移動しました",
"act-archivedList": "__list__ をゴミ箱に移動しました",
"act-archivedSwimlane": "__swimlane__ をゴミ箱に移動しました",
"act-importBoard": "__board__ をインポートしました",
"act-importCard": "__card__ をインポートしました",
"act-importList": "__list__ をインポートしました",
@@ -28,10 +28,10 @@
"activities": "アクティビティ",
"activity": "アクティビティ",
"activity-added": "%s を %s に追加しました",
"activity-archived": "%s moved to Recycle Bin",
"activity-archived": "%s をゴミ箱へ移動しました",
"activity-attached": "%s を %s に添付しました",
"activity-created": "%s を作成しました",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "%s を作成しました",
"activity-excluded": "%s を %s から除外しました",
"activity-imported": "imported %s into %s from %s",
"activity-imported-board": "imported %s from %s",
@@ -47,7 +47,7 @@
"add-attachment": "添付ファイルを追加",
"add-board": "ボードを追加",
"add-card": "カードを追加",
"add-swimlane": "Add Swimlane",
"add-swimlane": "スイムレーンを追加",
"add-checklist": "チェックリストを追加",
"add-checklist-item": "チェックリストに項目を追加",
"add-cover": "カバーの追加",
@@ -66,19 +66,19 @@
"and-n-other-card_plural": "And __count__ other cards",
"apply": "適用",
"app-is-offline": "現在オフラインです。ページを更新すると保存していないデータは失われます。",
"archive": "Move to Recycle Bin",
"archive-all": "Move All to Recycle Bin",
"archive-board": "Move Board to Recycle Bin",
"archive-card": "Move Card to Recycle Bin",
"archive-list": "Move List to Recycle Bin",
"archive-swimlane": "Move Swimlane to Recycle Bin",
"archive-selection": "Move selection to Recycle Bin",
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
"archived-items": "Recycle Bin",
"archived-boards": "Boards in Recycle Bin",
"archive": "ゴミ箱へ移動",
"archive-all": "すべてゴミ箱へ移動",
"archive-board": "ボードをゴミ箱へ移動",
"archive-card": "カードをゴミ箱へ移動",
"archive-list": "リストをゴミ箱へ移動",
"archive-swimlane": "スイムレーンをゴミ箱へ移動",
"archive-selection": "選択したものをゴミ箱へ移動",
"archiveBoardPopup-title": "ボードをゴミ箱へ移動しますか?",
"archived-items": "ゴミ箱",
"archived-boards": "ゴミ箱のボード",
"restore-board": "ボードをリストア",
"no-archived-boards": "No Boards in Recycle Bin.",
"archives": "Recycle Bin",
"no-archived-boards": "ゴミ箱にボードはありません",
"archives": "ゴミ箱",
"assign-member": "メンバーの割当",
"attached": "添付されました",
"attachment": "添付ファイル",
@@ -100,20 +100,21 @@
"boardMenuPopup-title": "ボードメニュー",
"boards": "ボード",
"board-view": "Board View",
"board-view-swimlanes": "Swimlanes",
"board-view-cal": "Calendar",
"board-view-swimlanes": "スイムレーン",
"board-view-lists": "リスト",
"bucket-example": "Like “Bucket List” for example",
"bucket-example": "例:バケットリスト",
"cancel": "キャンセル",
"card-archived": "This card is moved to Recycle Bin.",
"card-archived": "このカードはゴミ箱に移動されます",
"card-comments-title": "%s 件のコメントがあります。",
"card-delete-notice": "削除は取り消しできません。このカードに関係するすべてのアクションがなくなります。",
"card-delete-pop": "すべての内容がアクティビティから削除されます。この削除は元に戻すことができません。",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "期限",
"card-due-on": "期限日",
"card-spent": "Spent Time",
"card-edit-attachments": "添付ファイルの編集",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "カスタムフィールドの編集",
"card-edit-labels": "ラベルの編集",
"card-edit-members": "メンバーの編集",
"card-labels-title": "カードのラベルを変更する",
@@ -122,7 +123,7 @@
"card-start-on": "開始日",
"cardAttachmentsPopup-title": "Attach From",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomFieldsPopup-title": "カスタムフィールドの編集",
"cardDeletePopup-title": "カードを削除しますか?",
"cardDetailsActionsPopup-title": "カード操作",
"cardLabelsPopup-title": "ラベル",
@@ -146,7 +147,7 @@
"clipboard": "クリップボードもしくはドラッグ&ドロップ",
"close": "閉じる",
"close-board": "ボードを閉じる",
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
"close-board-pop": "ホームヘッダから「ごみ箱」ボタンをクリックすると、ボードを復元できます。",
"color-black": "黒",
"color-blue": "青",
"color-green": "緑",
@@ -172,8 +173,8 @@
"createBoardPopup-title": "ボードの作成",
"chooseBoardSourcePopup-title": "ボードをインポート",
"createLabelPopup-title": "ラベルの作成",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "フィールドを作成",
"createCustomFieldPopup-title": "フィールドを作成",
"current": "現在",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
@@ -185,12 +186,12 @@
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-fields": "カスタムフィールド",
"date": "日付",
"decline": "拒否",
"default-avatar": "デフォルトのアバター",
"delete": "削除",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "カスタムフィールドを削除しますか?",
"deleteLabelPopup-title": "ラベルを削除しますか?",
"description": "詳細",
"disambiguateMultiLabelPopup-title": "不正なラベル操作",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "開始日の変更",
"editCardDueDatePopup-title": "期限の変更",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "フィールドを編集",
"editCardSpentTimePopup-title": "Change spent time",
"editLabelPopup-title": "ラベルの変更",
"editNotificationPopup-title": "通知の変更",
@@ -242,9 +243,12 @@
"filter-clear": "フィルターの解除",
"filter-no-label": "ラベルなし",
"filter-no-member": "メンバーなし",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "フィルター有効",
"filter-on-desc": "このボードのカードをフィルターしています。フィルターを編集するにはこちらをクリックしてください。",
"filter-to-selection": "フィルターした項目を全選択",
"advanced-filter-label": "高度なフィルター",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "フルネーム",
"header-logo-title": "自分のボードページに戻る。",
"hide-system-messages": "システムメッセージを隠す",
@@ -267,7 +271,7 @@
"import-user-select": "メンバーとして利用したいWekanユーザーを選択",
"importMapMembersAddPopup-title": "Wekanメンバーを選択",
"info": "バージョン",
"initials": "初期状態",
"initials": "イニシャル",
"invalid-date": "無効な日付",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
@@ -289,14 +293,14 @@
"list-move-cards": "リストの全カードを移動する",
"list-select-cards": "リストの全カードを選択",
"listActionPopup-title": "操作一覧",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneActionPopup-title": "スイムレーン操作",
"listImportCardPopup-title": "Trelloのカードをインポート",
"listMorePopup-title": "さらに見る",
"link-list": "このリストへのリンク",
"list-delete-pop": "すべての内容がアクティビティから削除されます。この削除は元に戻すことができません。",
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
"lists": "リスト",
"swimlanes": "Swimlanes",
"swimlanes": "スイムレーン",
"log-out": "ログアウト",
"log-in": "ログイン",
"loginPopup-title": "ログイン",
@@ -314,9 +318,9 @@
"muted-info": "このボードの変更は通知されません",
"my-boards": "自分のボード",
"name": "名前",
"no-archived-cards": "No cards in Recycle Bin.",
"no-archived-lists": "No lists in Recycle Bin.",
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
"no-archived-cards": "ゴミ箱にカードはありません",
"no-archived-lists": "ゴミ箱にリストはありません",
"no-archived-swimlanes": "ゴミ箱にスイムレーンはありません",
"no-results": "該当するものはありません",
"normal": "通常",
"normal-desc": "カードの閲覧と編集が可能。設定変更不可。",
@@ -352,8 +356,8 @@
"restore": "復元",
"save": "保存",
"search": "検索",
"search-cards": "Search from card titles and descriptions on this board",
"search-example": "Text to search for?",
"search-cards": "カードのタイトルと詳細から検索",
"search-example": "検索文字",
"select-color": "色を選択",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
"setWipLimitPopup-title": "Set WIP Limit",
@@ -433,9 +437,9 @@
"email-smtp-test-text": "You have successfully sent an email",
"error-invitation-code-not-exist": "招待コードが存在しません",
"error-notAuthorized": "このページを参照する権限がありません。",
"outgoing-webhooks": "Outgoing Webhooks",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"new-outgoing-webhook": "New Outgoing Webhook",
"outgoing-webhooks": "発信Webフック",
"outgoingWebhooksPopup-title": "発信Webフック",
"new-outgoing-webhook": "発信Webフックの作成",
"no-name": "(Unknown)",
"Wekan_version": "Wekanバージョン",
"Node_version": "Nodeバージョン",
@@ -460,10 +464,16 @@
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
"card-received": "Received",
"card-received-on": "Received on",
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"card-received": "受付",
"card-received-on": "受付日",
"card-end": "終了",
"card-end-on": "終了日",
"editCardReceivedDatePopup-title": "受付日の変更",
"editCardEndDatePopup-title": "終了日の変更",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "すべてのリスト、カード、ラベル、アクティビティは削除され、ボードの内容を元に戻すことができません。",
"boardDeletePopup-title": "ボードを削除しますか?",
"delete-board": "ボードを削除"
}
+479
View File
@@ -0,0 +1,479 @@
{
"accept": "Accept",
"act-activity-notify": "[Wekan] Activity Notification",
"act-addAttachment": "attached __attachment__ to __card__",
"act-addChecklist": "added checklist __checklist__ to __card__",
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
"act-addComment": "commented on __card__: __comment__",
"act-createBoard": "created __board__",
"act-createCard": "added __card__ to __list__",
"act-createCustomField": "created custom field __customField__",
"act-createList": "added __list__ to __board__",
"act-addBoardMember": "added __member__ to __board__",
"act-archivedBoard": "__board__ moved to Recycle Bin",
"act-archivedCard": "__card__ moved to Recycle Bin",
"act-archivedList": "__list__ moved to Recycle Bin",
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
"act-importBoard": "imported __board__",
"act-importCard": "imported __card__",
"act-importList": "imported __list__",
"act-joinMember": "added __member__ to __card__",
"act-moveCard": "moved __card__ from __oldList__ to __list__",
"act-removeBoardMember": "removed __member__ from __board__",
"act-restoredCard": "restored __card__ to __board__",
"act-unjoinMember": "removed __member__ from __card__",
"act-withBoardTitle": "[Wekan] __board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Actions",
"activities": "Activities",
"activity": "Activity",
"activity-added": "added %s to %s",
"activity-archived": "%s moved to Recycle Bin",
"activity-attached": "attached %s to %s",
"activity-created": "created %s",
"activity-customfield-created": "created custom field %s",
"activity-excluded": "excluded %s from %s",
"activity-imported": "imported %s into %s from %s",
"activity-imported-board": "imported %s from %s",
"activity-joined": "joined %s",
"activity-moved": "moved %s from %s to %s",
"activity-on": "on %s",
"activity-removed": "removed %s from %s",
"activity-sent": "sent %s to %s",
"activity-unjoined": "unjoined %s",
"activity-checklist-added": "added checklist to %s",
"activity-checklist-item-added": "added checklist item to '%s' in %s",
"add": "Add",
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-swimlane": "Add Swimlane",
"add-checklist": "Add Checklist",
"add-checklist-item": "Add an item to checklist",
"add-cover": "Add Cover",
"add-label": "Add Label",
"add-list": "Add List",
"add-members": "Add Members",
"added": "Added",
"addMemberPopup-title": "Members",
"admin": "Admin",
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
"admin-announcement": "Announcement",
"admin-announcement-active": "Active System-Wide Announcement",
"admin-announcement-title": "Announcement from Administrator",
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
"apply": "Apply",
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
"archive": "Move to Recycle Bin",
"archive-all": "Move All to Recycle Bin",
"archive-board": "Move Board to Recycle Bin",
"archive-card": "Move Card to Recycle Bin",
"archive-list": "Move List to Recycle Bin",
"archive-swimlane": "Move Swimlane to Recycle Bin",
"archive-selection": "Move selection to Recycle Bin",
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
"archived-items": "Recycle Bin",
"archived-boards": "Boards in Recycle Bin",
"restore-board": "Restore Board",
"no-archived-boards": "No Boards in Recycle Bin.",
"archives": "Recycle Bin",
"assign-member": "Assign member",
"attached": "attached",
"attachment": "Attachment",
"attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.",
"attachmentDeletePopup-title": "Delete Attachment?",
"attachments": "Attachments",
"auto-watch": "Automatically watch boards when they are created",
"avatar-too-big": "The avatar is too large (70KB max)",
"back": "Back",
"board-change-color": "Change color",
"board-nb-stars": "%s stars",
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
"boardChangeWatchPopup-title": "Change Watch",
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
"cancel": "Cancel",
"card-archived": "This card is moved to Recycle Bin.",
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
"card-edit-attachments": "Edit attachments",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-labels": "Edit labels",
"card-edit-members": "Edit members",
"card-labels-title": "Change the labels for the card.",
"card-members-title": "Add or remove members of the board from the card.",
"card-start": "Start",
"card-start-on": "Starts on",
"cardAttachmentsPopup-title": "Attach From",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
"cardMembersPopup-title": "Members",
"cardMorePopup-title": "More",
"cards": "Cards",
"cards-count": "Cards",
"change": "Change",
"change-avatar": "Change Avatar",
"change-password": "Change Password",
"change-permissions": "Change permissions",
"change-settings": "Change Settings",
"changeAvatarPopup-title": "Change Avatar",
"changeLanguagePopup-title": "Change Language",
"changePasswordPopup-title": "Change Password",
"changePermissionsPopup-title": "Change Permissions",
"changeSettingsPopup-title": "Change Settings",
"checklists": "Checklists",
"click-to-star": "Click to star this board.",
"click-to-unstar": "Click to unstar this board.",
"clipboard": "Clipboard or drag & drop",
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
"color-black": "black",
"color-blue": "blue",
"color-green": "green",
"color-lime": "lime",
"color-orange": "orange",
"color-pink": "pink",
"color-purple": "purple",
"color-red": "red",
"color-sky": "sky",
"color-yellow": "yellow",
"comment": "Comment",
"comment-placeholder": "Write Comment",
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"create": "Create",
"createBoardPopup-title": "Create Board",
"chooseBoardSourcePopup-title": "Import board",
"createLabelPopup-title": "Create Label",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"current": "current",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-date": "Date",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"date": "Date",
"decline": "Decline",
"default-avatar": "Default avatar",
"delete": "Delete",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteLabelPopup-title": "Delete Label?",
"description": "Description",
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
"discard": "Discard",
"done": "Done",
"download": "Download",
"edit": "Edit",
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editCustomFieldPopup-title": "Edit Field",
"editCardSpentTimePopup-title": "Change spent time",
"editLabelPopup-title": "Change Label",
"editNotificationPopup-title": "Edit Notification",
"editProfilePopup-title": "Edit Profile",
"email": "Email",
"email-enrollAccount-subject": "An account created for you on __siteName__",
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
"email-fail": "Sending email failed",
"email-fail-text": "Error trying to send email",
"email-invalid": "Invalid email",
"email-invite": "Invite via Email",
"email-invite-subject": "__inviter__ sent you an invitation",
"email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.",
"email-resetPassword-subject": "Reset your password on __siteName__",
"email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.",
"email-sent": "Email sent",
"email-verifyEmail-subject": "Verify your email address on __siteName__",
"email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
"enable-wip-limit": "Enable WIP Limit",
"error-board-doesNotExist": "This board does not exist",
"error-board-notAdmin": "You need to be admin of this board to do that",
"error-board-notAMember": "You need to be a member of this board to do that",
"error-json-malformed": "Your text is not valid JSON",
"error-json-schema": "Your JSON data does not include the proper information in the correct format",
"error-list-doesNotExist": "This list does not exist",
"error-user-doesNotExist": "This user does not exist",
"error-user-notAllowSelf": "You can not invite yourself",
"error-user-notCreated": "This user is not created",
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
"filter": "Filter",
"filter-cards": "Filter Cards",
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
"headerBarCreateBoardPopup-title": "Create Board",
"home": "Home",
"import": "Import",
"import-board": "import board",
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
"import-show-user-mapping": "Review members mapping",
"import-user-select": "Pick the Wekan user you want to use as this member",
"importMapMembersAddPopup-title": "Select Wekan member",
"info": "Version",
"initials": "Initials",
"invalid-date": "Invalid date",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"joined": "joined",
"just-invited": "You are just invited to this board",
"keyboard-shortcuts": "Keyboard shortcuts",
"label-create": "Create Label",
"label-default": "%s label (default)",
"label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.",
"labels": "Labels",
"language": "Language",
"last-admin-desc": "You can’t change roles because there must be at least one admin.",
"leave-board": "Leave Board",
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
"leaveBoardPopup-title": "Leave Board ?",
"link-card": "Link to this card",
"list-archive-cards": "Move all cards in this list to Recycle Bin",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
"list-move-cards": "Move all cards in this list",
"list-select-cards": "Select all cards in this list",
"listActionPopup-title": "List Actions",
"swimlaneActionPopup-title": "Swimlane Actions",
"listImportCardPopup-title": "Import a Trello card",
"listMorePopup-title": "More",
"link-list": "Link to this list",
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
"lists": "Lists",
"swimlanes": "Swimlanes",
"log-out": "Log Out",
"log-in": "Log In",
"loginPopup-title": "Log In",
"memberMenuPopup-title": "Member Settings",
"members": "Members",
"menu": "Menu",
"move-selection": "Move selection",
"moveCardPopup-title": "Move Card",
"moveCardToBottom-title": "Move to Bottom",
"moveCardToTop-title": "Move to Top",
"moveSelectionPopup-title": "Move selection",
"multi-selection": "Multi-Selection",
"multi-selection-on": "Multi-Selection is on",
"muted": "Muted",
"muted-info": "You will never be notified of any changes in this board",
"my-boards": "My Boards",
"name": "Name",
"no-archived-cards": "No cards in Recycle Bin.",
"no-archived-lists": "No lists in Recycle Bin.",
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
"no-results": "No results",
"normal": "Normal",
"normal-desc": "Can view and edit cards. Can't change settings.",
"not-accepted-yet": "Invitation not accepted yet",
"notify-participate": "Receive updates to any cards you participate as creater or member",
"notify-watch": "Receive updates to any boards, lists, or cards you’re watching",
"optional": "optional",
"or": "or",
"page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
"page-not-found": "Page not found.",
"password": "Password",
"paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)",
"participating": "Participating",
"preview": "Preview",
"previewAttachedImagePopup-title": "Preview",
"previewClipboardImagePopup-title": "Preview",
"private": "Private",
"private-desc": "This board is private. Only people added to the board can view and edit it.",
"profile": "Profile",
"public": "Public",
"public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.",
"quick-access-description": "Star a board to add a shortcut in this bar.",
"remove-cover": "Remove Cover",
"remove-from-board": "Remove from Board",
"remove-label": "Remove Label",
"listDeletePopup-title": "Delete List ?",
"remove-member": "Remove Member",
"remove-member-from-card": "Remove from Card",
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
"removeMemberPopup-title": "Remove Member?",
"rename": "Rename",
"rename-board": "Rename Board",
"restore": "Restore",
"save": "Save",
"search": "Search",
"search-cards": "Search from card titles and descriptions on this board",
"search-example": "Text to search for?",
"select-color": "Select Color",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
"setWipLimitPopup-title": "Set WIP Limit",
"shortcut-assign-self": "Assign yourself to current card",
"shortcut-autocomplete-emoji": "Autocomplete emoji",
"shortcut-autocomplete-members": "Autocomplete members",
"shortcut-clear-filters": "Clear all filters",
"shortcut-close-dialog": "Close Dialog",
"shortcut-filter-my-cards": "Filter my cards",
"shortcut-show-shortcuts": "Bring up this shortcuts list",
"shortcut-toggle-filterbar": "Toggle Filter Sidebar",
"shortcut-toggle-sidebar": "Toggle Board Sidebar",
"show-cards-minimum-count": "Show cards count if list contains more than",
"sidebar-open": "Open Sidebar",
"sidebar-close": "Close Sidebar",
"signupPopup-title": "Create an Account",
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
"starred-boards": "Starred Boards",
"starred-boards-description": "Starred boards show up at the top of your boards list.",
"subscribe": "Subscribe",
"team": "Team",
"this-board": "this board",
"this-card": "this card",
"spent-time-hours": "Spent time (hours)",
"overtime-hours": "Overtime (hours)",
"overtime": "Overtime",
"has-overtime-cards": "Has overtime cards",
"has-spenttime-cards": "Has spent time cards",
"time": "Time",
"title": "Title",
"tracking": "Tracking",
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
"type": "Type",
"unassign-member": "Unassign member",
"unsaved-description": "You have an unsaved description.",
"unwatch": "Unwatch",
"upload": "Upload",
"upload-avatar": "Upload an avatar",
"uploaded-avatar": "Uploaded an avatar",
"username": "Username",
"view-it": "View it",
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
"watch": "Watch",
"watching": "Watching",
"watching-info": "You will be notified of any change in this board",
"welcome-board": "Welcome Board",
"welcome-swimlane": "Milestone 1",
"welcome-list1": "Basics",
"welcome-list2": "Advanced",
"what-to-do": "What do you want to do?",
"wipLimitErrorPopup-title": "Invalid WIP Limit",
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
"admin-panel": "Admin Panel",
"settings": "Settings",
"people": "People",
"registration": "Registration",
"disable-self-registration": "Disable Self-Registration",
"invite": "Invite",
"invite-people": "Invite People",
"to-boards": "To board(s)",
"email-addresses": "Email Addresses",
"smtp-host-description": "The address of the SMTP server that handles your emails.",
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
"smtp-tls-description": "Enable TLS support for SMTP server",
"smtp-host": "SMTP Host",
"smtp-port": "SMTP Port",
"smtp-username": "Username",
"smtp-password": "Password",
"smtp-tls": "TLS support",
"send-from": "From",
"send-smtp-test": "Send a test email to yourself",
"invitation-code": "Invitation Code",
"email-invite-register-subject": "__inviter__ sent you an invitation",
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"error-invitation-code-not-exist": "Invitation code doesn't exist",
"error-notAuthorized": "You are not authorized to view this page.",
"outgoing-webhooks": "Outgoing Webhooks",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"new-outgoing-webhook": "New Outgoing Webhook",
"no-name": "(Unknown)",
"Wekan_version": "Wekan version",
"Node_version": "Node version",
"OS_Arch": "OS Arch",
"OS_Cpus": "OS CPU Count",
"OS_Freemem": "OS Free Memory",
"OS_Loadavg": "OS Load Average",
"OS_Platform": "OS Platform",
"OS_Release": "OS Release",
"OS_Totalmem": "OS Total Memory",
"OS_Type": "OS Type",
"OS_Uptime": "OS Uptime",
"hours": "hours",
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
"accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
"card-received": "Received",
"card-received-on": "Received on",
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+479
View File
@@ -0,0 +1,479 @@
{
"accept": "យល់ព្រម",
"act-activity-notify": "[Wekan] សកម្មភាពជូនដំណឹង",
"act-addAttachment": "attached __attachment__ to __card__",
"act-addChecklist": "added checklist __checklist__ to __card__",
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
"act-addComment": "commented on __card__: __comment__",
"act-createBoard": "created __board__",
"act-createCard": "added __card__ to __list__",
"act-createCustomField": "created custom field __customField__",
"act-createList": "added __list__ to __board__",
"act-addBoardMember": "added __member__ to __board__",
"act-archivedBoard": "__board__ moved to Recycle Bin",
"act-archivedCard": "__card__ moved to Recycle Bin",
"act-archivedList": "__list__ moved to Recycle Bin",
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
"act-importBoard": "imported __board__",
"act-importCard": "imported __card__",
"act-importList": "imported __list__",
"act-joinMember": "added __member__ to __card__",
"act-moveCard": "moved __card__ from __oldList__ to __list__",
"act-removeBoardMember": "removed __member__ from __board__",
"act-restoredCard": "restored __card__ to __board__",
"act-unjoinMember": "removed __member__ from __card__",
"act-withBoardTitle": "[Wekan] __board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Actions",
"activities": "Activities",
"activity": "Activity",
"activity-added": "added %s to %s",
"activity-archived": "%s moved to Recycle Bin",
"activity-attached": "attached %s to %s",
"activity-created": "created %s",
"activity-customfield-created": "created custom field %s",
"activity-excluded": "excluded %s from %s",
"activity-imported": "imported %s into %s from %s",
"activity-imported-board": "imported %s from %s",
"activity-joined": "joined %s",
"activity-moved": "moved %s from %s to %s",
"activity-on": "on %s",
"activity-removed": "removed %s from %s",
"activity-sent": "sent %s to %s",
"activity-unjoined": "unjoined %s",
"activity-checklist-added": "added checklist to %s",
"activity-checklist-item-added": "added checklist item to '%s' in %s",
"add": "Add",
"add-attachment": "Add Attachment",
"add-board": "Add Board",
"add-card": "Add Card",
"add-swimlane": "Add Swimlane",
"add-checklist": "Add Checklist",
"add-checklist-item": "Add an item to checklist",
"add-cover": "Add Cover",
"add-label": "Add Label",
"add-list": "Add List",
"add-members": "Add Members",
"added": "Added",
"addMemberPopup-title": "Members",
"admin": "Admin",
"admin-desc": "Can view and edit cards, remove members, and change settings for the board.",
"admin-announcement": "Announcement",
"admin-announcement-active": "Active System-Wide Announcement",
"admin-announcement-title": "Announcement from Administrator",
"all-boards": "All boards",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
"apply": "Apply",
"app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
"archive": "Move to Recycle Bin",
"archive-all": "Move All to Recycle Bin",
"archive-board": "Move Board to Recycle Bin",
"archive-card": "Move Card to Recycle Bin",
"archive-list": "Move List to Recycle Bin",
"archive-swimlane": "Move Swimlane to Recycle Bin",
"archive-selection": "Move selection to Recycle Bin",
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
"archived-items": "Recycle Bin",
"archived-boards": "Boards in Recycle Bin",
"restore-board": "Restore Board",
"no-archived-boards": "No Boards in Recycle Bin.",
"archives": "Recycle Bin",
"assign-member": "Assign member",
"attached": "attached",
"attachment": "Attachment",
"attachment-delete-pop": "Deleting an attachment is permanent. There is no undo.",
"attachmentDeletePopup-title": "Delete Attachment?",
"attachments": "Attachments",
"auto-watch": "Automatically watch boards when they are created",
"avatar-too-big": "The avatar is too large (70KB max)",
"back": "Back",
"board-change-color": "Change color",
"board-nb-stars": "%s stars",
"board-not-found": "Board not found",
"board-private-info": "This board will be <strong>private</strong>.",
"board-public-info": "This board will be <strong>public</strong>.",
"boardChangeColorPopup-title": "Change Board Background",
"boardChangeTitlePopup-title": "Rename Board",
"boardChangeVisibilityPopup-title": "Change Visibility",
"boardChangeWatchPopup-title": "Change Watch",
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
"cancel": "Cancel",
"card-archived": "This card is moved to Recycle Bin.",
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
"card-edit-attachments": "Edit attachments",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-labels": "Edit labels",
"card-edit-members": "Edit members",
"card-labels-title": "Change the labels for the card.",
"card-members-title": "Add or remove members of the board from the card.",
"card-start": "Start",
"card-start-on": "Starts on",
"cardAttachmentsPopup-title": "Attach From",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardDeletePopup-title": "Delete Card?",
"cardDetailsActionsPopup-title": "Card Actions",
"cardLabelsPopup-title": "Labels",
"cardMembersPopup-title": "Members",
"cardMorePopup-title": "More",
"cards": "Cards",
"cards-count": "Cards",
"change": "Change",
"change-avatar": "Change Avatar",
"change-password": "Change Password",
"change-permissions": "Change permissions",
"change-settings": "Change Settings",
"changeAvatarPopup-title": "Change Avatar",
"changeLanguagePopup-title": "Change Language",
"changePasswordPopup-title": "Change Password",
"changePermissionsPopup-title": "Change Permissions",
"changeSettingsPopup-title": "Change Settings",
"checklists": "Checklists",
"click-to-star": "Click to star this board.",
"click-to-unstar": "Click to unstar this board.",
"clipboard": "Clipboard or drag & drop",
"close": "Close",
"close-board": "Close Board",
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
"color-black": "black",
"color-blue": "blue",
"color-green": "green",
"color-lime": "lime",
"color-orange": "orange",
"color-pink": "pink",
"color-purple": "purple",
"color-red": "red",
"color-sky": "sky",
"color-yellow": "yellow",
"comment": "Comment",
"comment-placeholder": "Write Comment",
"comment-only": "Comment only",
"comment-only-desc": "Can comment on cards only.",
"computer": "Computer",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "Copy card link to clipboard",
"copyCardPopup-title": "Copy Card",
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"create": "Create",
"createBoardPopup-title": "Create Board",
"chooseBoardSourcePopup-title": "Import board",
"createLabelPopup-title": "Create Label",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"current": "current",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-date": "Date",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"date": "Date",
"decline": "Decline",
"default-avatar": "Default avatar",
"delete": "Delete",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteLabelPopup-title": "Delete Label?",
"description": "Description",
"disambiguateMultiLabelPopup-title": "Disambiguate Label Action",
"disambiguateMultiMemberPopup-title": "Disambiguate Member Action",
"discard": "Discard",
"done": "Done",
"download": "Download",
"edit": "Edit",
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editCustomFieldPopup-title": "Edit Field",
"editCardSpentTimePopup-title": "Change spent time",
"editLabelPopup-title": "Change Label",
"editNotificationPopup-title": "Edit Notification",
"editProfilePopup-title": "Edit Profile",
"email": "Email",
"email-enrollAccount-subject": "An account created for you on __siteName__",
"email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
"email-fail": "Sending email failed",
"email-fail-text": "Error trying to send email",
"email-invalid": "Invalid email",
"email-invite": "Invite via Email",
"email-invite-subject": "__inviter__ sent you an invitation",
"email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.",
"email-resetPassword-subject": "Reset your password on __siteName__",
"email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.",
"email-sent": "Email sent",
"email-verifyEmail-subject": "Verify your email address on __siteName__",
"email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
"enable-wip-limit": "Enable WIP Limit",
"error-board-doesNotExist": "This board does not exist",
"error-board-notAdmin": "You need to be admin of this board to do that",
"error-board-notAMember": "You need to be a member of this board to do that",
"error-json-malformed": "Your text is not valid JSON",
"error-json-schema": "Your JSON data does not include the proper information in the correct format",
"error-list-doesNotExist": "This list does not exist",
"error-user-doesNotExist": "This user does not exist",
"error-user-notAllowSelf": "You can not invite yourself",
"error-user-notCreated": "This user is not created",
"error-username-taken": "This username is already taken",
"error-email-taken": "Email has already been taken",
"export-board": "Export board",
"filter": "Filter",
"filter-cards": "Filter Cards",
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
"headerBarCreateBoardPopup-title": "Create Board",
"home": "Home",
"import": "Import",
"import-board": "import board",
"import-board-c": "Import board",
"import-board-title-trello": "Import board from Trello",
"import-board-title-wekan": "Import board from Wekan",
"import-sandstorm-warning": "Imported board will delete all existing data on board and replace it with imported board.",
"from-trello": "From Trello",
"from-wekan": "From Wekan",
"import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
"import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
"import-json-placeholder": "Paste your valid JSON data here",
"import-map-members": "Map members",
"import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
"import-show-user-mapping": "Review members mapping",
"import-user-select": "Pick the Wekan user you want to use as this member",
"importMapMembersAddPopup-title": "Select Wekan member",
"info": "Version",
"initials": "Initials",
"invalid-date": "Invalid date",
"invalid-time": "Invalid time",
"invalid-user": "Invalid user",
"joined": "joined",
"just-invited": "You are just invited to this board",
"keyboard-shortcuts": "Keyboard shortcuts",
"label-create": "Create Label",
"label-default": "%s label (default)",
"label-delete-pop": "There is no undo. This will remove this label from all cards and destroy its history.",
"labels": "Labels",
"language": "Language",
"last-admin-desc": "You can’t change roles because there must be at least one admin.",
"leave-board": "Leave Board",
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
"leaveBoardPopup-title": "Leave Board ?",
"link-card": "Link to this card",
"list-archive-cards": "Move all cards in this list to Recycle Bin",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
"list-move-cards": "Move all cards in this list",
"list-select-cards": "Select all cards in this list",
"listActionPopup-title": "List Actions",
"swimlaneActionPopup-title": "Swimlane Actions",
"listImportCardPopup-title": "Import a Trello card",
"listMorePopup-title": "More",
"link-list": "Link to this list",
"list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
"lists": "Lists",
"swimlanes": "Swimlanes",
"log-out": "Log Out",
"log-in": "Log In",
"loginPopup-title": "Log In",
"memberMenuPopup-title": "Member Settings",
"members": "Members",
"menu": "Menu",
"move-selection": "Move selection",
"moveCardPopup-title": "Move Card",
"moveCardToBottom-title": "Move to Bottom",
"moveCardToTop-title": "Move to Top",
"moveSelectionPopup-title": "Move selection",
"multi-selection": "Multi-Selection",
"multi-selection-on": "Multi-Selection is on",
"muted": "Muted",
"muted-info": "You will never be notified of any changes in this board",
"my-boards": "My Boards",
"name": "Name",
"no-archived-cards": "No cards in Recycle Bin.",
"no-archived-lists": "No lists in Recycle Bin.",
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
"no-results": "No results",
"normal": "Normal",
"normal-desc": "Can view and edit cards. Can't change settings.",
"not-accepted-yet": "Invitation not accepted yet",
"notify-participate": "Receive updates to any cards you participate as creater or member",
"notify-watch": "Receive updates to any boards, lists, or cards you’re watching",
"optional": "optional",
"or": "or",
"page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
"page-not-found": "Page not found.",
"password": "Password",
"paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)",
"participating": "Participating",
"preview": "Preview",
"previewAttachedImagePopup-title": "Preview",
"previewClipboardImagePopup-title": "Preview",
"private": "Private",
"private-desc": "This board is private. Only people added to the board can view and edit it.",
"profile": "Profile",
"public": "Public",
"public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.",
"quick-access-description": "Star a board to add a shortcut in this bar.",
"remove-cover": "Remove Cover",
"remove-from-board": "Remove from Board",
"remove-label": "Remove Label",
"listDeletePopup-title": "Delete List ?",
"remove-member": "Remove Member",
"remove-member-from-card": "Remove from Card",
"remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
"removeMemberPopup-title": "Remove Member?",
"rename": "Rename",
"rename-board": "Rename Board",
"restore": "Restore",
"save": "Save",
"search": "Search",
"search-cards": "Search from card titles and descriptions on this board",
"search-example": "Text to search for?",
"select-color": "Select Color",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
"setWipLimitPopup-title": "Set WIP Limit",
"shortcut-assign-self": "Assign yourself to current card",
"shortcut-autocomplete-emoji": "Autocomplete emoji",
"shortcut-autocomplete-members": "Autocomplete members",
"shortcut-clear-filters": "Clear all filters",
"shortcut-close-dialog": "បិទផ្ទាំង",
"shortcut-filter-my-cards": "តម្រងកាតរបស់ខ្ញុំ",
"shortcut-show-shortcuts": "Bring up this shortcuts list",
"shortcut-toggle-filterbar": "Toggle Filter Sidebar",
"shortcut-toggle-sidebar": "Toggle Board Sidebar",
"show-cards-minimum-count": "Show cards count if list contains more than",
"sidebar-open": "Open Sidebar",
"sidebar-close": "Close Sidebar",
"signupPopup-title": "បង្កើតគណនីមួយ",
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
"starred-boards": "Starred Boards",
"starred-boards-description": "Starred boards show up at the top of your boards list.",
"subscribe": "Subscribe",
"team": "Team",
"this-board": "this board",
"this-card": "កាតនេះ",
"spent-time-hours": "ចំណាយពេល (ម៉ោង)",
"overtime-hours": "លើសពេល (ម៉ោង)",
"overtime": "លើសពេល",
"has-overtime-cards": "មានកាតលើសពេល",
"has-spenttime-cards": "មានកាតដែលបានចំណាយពេល",
"time": "Time",
"title": "Title",
"tracking": "Tracking",
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
"type": "Type",
"unassign-member": "Unassign member",
"unsaved-description": "You have an unsaved description.",
"unwatch": "Unwatch",
"upload": "Upload",
"upload-avatar": "Upload an avatar",
"uploaded-avatar": "Uploaded an avatar",
"username": "Username",
"view-it": "View it",
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
"watch": "Watch",
"watching": "Watching",
"watching-info": "You will be notified of any change in this board",
"welcome-board": "Welcome Board",
"welcome-swimlane": "Milestone 1",
"welcome-list1": "Basics",
"welcome-list2": "Advanced",
"what-to-do": "What do you want to do?",
"wipLimitErrorPopup-title": "Invalid WIP Limit",
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
"admin-panel": "Admin Panel",
"settings": "Settings",
"people": "People",
"registration": "Registration",
"disable-self-registration": "Disable Self-Registration",
"invite": "Invite",
"invite-people": "Invite People",
"to-boards": "To board(s)",
"email-addresses": "Email Addresses",
"smtp-host-description": "The address of the SMTP server that handles your emails.",
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
"smtp-tls-description": "Enable TLS support for SMTP server",
"smtp-host": "SMTP Host",
"smtp-port": "SMTP Port",
"smtp-username": "Username",
"smtp-password": "Password",
"smtp-tls": "TLS support",
"send-from": "From",
"send-smtp-test": "Send a test email to yourself",
"invitation-code": "Invitation Code",
"email-invite-register-subject": "__inviter__ sent you an invitation",
"email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "You have successfully sent an email",
"error-invitation-code-not-exist": "Invitation code doesn't exist",
"error-notAuthorized": "You are not authorized to view this page.",
"outgoing-webhooks": "Outgoing Webhooks",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"new-outgoing-webhook": "New Outgoing Webhook",
"no-name": "(Unknown)",
"Wekan_version": "Wekan version",
"Node_version": "Node version",
"OS_Arch": "OS Arch",
"OS_Cpus": "OS CPU Count",
"OS_Freemem": "OS Free Memory",
"OS_Loadavg": "OS Load Average",
"OS_Platform": "OS Platform",
"OS_Release": "OS Release",
"OS_Totalmem": "OS Total Memory",
"OS_Type": "OS Type",
"OS_Uptime": "OS Uptime",
"hours": "hours",
"minutes": "minutes",
"seconds": "seconds",
"show-field-on-card": "Show this field on card",
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
"accounts-allowEmailChange": "Allow Email Change",
"accounts-allowUserNameChange": "Allow Username Change",
"createdAt": "Created at",
"verified": "Verified",
"active": "Active",
"card-received": "Received",
"card-received-on": "Received on",
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "보드 메뉴",
"boards": "보드",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "목록들",
"bucket-example": "예: “프로젝트 이름“ 입력",
@@ -108,7 +109,7 @@
"card-comments-title": "이 카드에 %s 코멘트가 있습니다.",
"card-delete-notice": "영구 삭제입니다. 이 카드와 관련된 모든 작업들을 잃게됩니다.",
"card-delete-pop": "모든 작업이 활동 내역에서 제거되며 카드를 다시 열 수 없습니다. 복구가 안되니 주의하시기 바랍니다.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "종료일",
"card-due-on": "종료일",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "필터 초기화",
"filter-no-label": "라벨 없음",
"filter-no-member": "멤버 없음",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "필터 사용",
"filter-on-desc": "보드에서 카드를 필터링합니다. 여기를 클릭하여 필터를 수정합니다.",
"filter-to-selection": "선택 항목으로 필터링",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "실명",
"header-logo-title": "보드 페이지로 돌아가기.",
"hide-system-messages": "시스템 메시지 숨기기",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Tavlemeny",
"boards": "Tavler",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Som \"Bucket List\" for eksempel",
@@ -108,7 +109,7 @@
"card-comments-title": "Dette kortet har %s kommentar.",
"card-delete-notice": "Sletting er permanent. Du vil miste alle hendelser knyttet til dette kortet.",
"card-delete-pop": "Alle handlinger vil fjernes fra feeden for aktiviteter og du vil ikke kunne åpne kortet på nytt. Det er ingen mulighet å angre.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Frist",
"card-due-on": "Frist til",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Bord menu",
"boards": "Borden",
"board-view": "Bord overzicht",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lijsten",
"bucket-example": "Zoals \"Bucket List\" bijvoorbeeld",
@@ -108,7 +109,7 @@
"card-comments-title": "Deze kaart heeft %s reactie.",
"card-delete-notice": "Verwijdering is permanent. Als je dit doet, verlies je alle informatie die op deze kaart is opgeslagen.",
"card-delete-pop": "Alle acties worden verwijderd van de activiteiten feed, en er zal geen mogelijkheid zijn om de kaart opnieuw te openen. Deze actie kan je niet ongedaan maken.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Deadline: ",
"card-due-on": "Deadline: ",
"card-spent": "gespendeerde tijd",
@@ -242,9 +243,12 @@
"filter-clear": "Reset filter",
"filter-no-label": "Geen label",
"filter-no-member": "Geen lid",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter staat aan",
"filter-on-desc": "Je bent nu kaarten aan het filteren op dit bord. Klik hier om het filter te wijzigen.",
"filter-to-selection": "Filter zoals selectie",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Volledige naam",
"header-logo-title": "Ga terug naar jouw borden pagina.",
"hide-system-messages": "Verberg systeemberichten",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Menu tablicy",
"boards": "Tablice",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Listy",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "Ta karta ma %s komentarzy.",
"card-delete-notice": "Usunięcie jest trwałe. Stracisz wszystkie akcje powiązane z tą kartą.",
"card-delete-pop": "Wszystkie akcje będą usunięte z widoku aktywności, nie można będzie ponownie otworzyć karty. Usunięcie jest nieodwracalne.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Usuń filter",
"filter-no-label": "Brak etykiety",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filtr jest włączony",
"filter-on-desc": "Filtrujesz karty na tej tablicy. Kliknij tutaj by edytować filtr.",
"filter-to-selection": "Odfiltruj zaznaczenie",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Wróć do swojej strony z tablicami.",
"hide-system-messages": "Ukryj wiadomości systemowe",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+70 -60
View File
@@ -3,17 +3,17 @@
"act-activity-notify": "[Wekan] Notificação de Atividade",
"act-addAttachment": "anexo __attachment__ de __card__",
"act-addChecklist": "added checklist __checklist__ no __card__",
"act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
"act-addChecklistItem": "adicionado __checklistitem__ para a lista de checagem __checklist__ em __card__",
"act-addComment": "comentou em __card__: __comment__",
"act-createBoard": "criou __board__",
"act-createCard": "__card__ adicionado à __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "criado campo customizado __customField__",
"act-createList": "__list__ adicionada à __board__",
"act-addBoardMember": "__member__ adicionado à __board__",
"act-archivedBoard": "__board__ moved to Recycle Bin",
"act-archivedCard": "__card__ moved to Recycle Bin",
"act-archivedList": "__list__ moved to Recycle Bin",
"act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
"act-archivedBoard": "__board__ movido para a lixeira",
"act-archivedCard": "__card__ movido para a lixeira",
"act-archivedList": "__list__ movido para a lixeira",
"act-archivedSwimlane": "__swimlane__ movido para a lixeira",
"act-importBoard": "__board__ importado",
"act-importCard": "__card__ importado",
"act-importList": "__list__ importada",
@@ -28,10 +28,10 @@
"activities": "Atividades",
"activity": "Atividade",
"activity-added": "adicionou %s a %s",
"activity-archived": "%s moved to Recycle Bin",
"activity-archived": "%s movido para a lixeira",
"activity-attached": "anexou %s a %s",
"activity-created": "criou %s",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "criado campo customizado %s",
"activity-excluded": "excluiu %s de %s",
"activity-imported": "importado %s em %s de %s",
"activity-imported-board": "importado %s de %s",
@@ -47,7 +47,7 @@
"add-attachment": "Adicionar Anexos",
"add-board": "Adicionar Quadro",
"add-card": "Adicionar Cartão",
"add-swimlane": "Add Swimlane",
"add-swimlane": "Adicionar Swimlane",
"add-checklist": "Adicionar Checklist",
"add-checklist-item": "Adicionar um item à lista de verificação",
"add-cover": "Adicionar Capa",
@@ -66,19 +66,19 @@
"and-n-other-card_plural": "E __count__ outros cartões",
"apply": "Aplicar",
"app-is-offline": "O Wekan está carregando, por favor espere. Recarregar a página irá causar perda de dado. Se o Wekan não carregar por favor verifique se o servidor Wekan não está parado.",
"archive": "Move to Recycle Bin",
"archive-all": "Move All to Recycle Bin",
"archive-board": "Move Board to Recycle Bin",
"archive-card": "Move Card to Recycle Bin",
"archive-list": "Move List to Recycle Bin",
"archive-swimlane": "Move Swimlane to Recycle Bin",
"archive-selection": "Move selection to Recycle Bin",
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
"archived-items": "Recycle Bin",
"archived-boards": "Boards in Recycle Bin",
"archive": "Mover para a lixeira",
"archive-all": "Mover tudo para a lixeira",
"archive-board": "Mover quadro para a lixeira",
"archive-card": "Mover cartão para a lixeira",
"archive-list": "Mover lista para a lixeira",
"archive-swimlane": "Mover Swimlane para a lixeira",
"archive-selection": "Mover seleção para a lixeira",
"archiveBoardPopup-title": "Mover o quadro para a lixeira?",
"archived-items": "Lixeira",
"archived-boards": "Quadros na lixeira",
"restore-board": "Restaurar Quadro",
"no-archived-boards": "No Boards in Recycle Bin.",
"archives": "Recycle Bin",
"no-archived-boards": "Não há quadros na lixeira",
"archives": "Lixeira",
"assign-member": "Atribuir Membro",
"attached": "anexado",
"attachment": "Anexo",
@@ -100,20 +100,21 @@
"boardMenuPopup-title": "Menu do Quadro",
"boards": "Quadros",
"board-view": "Visão de quadro",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Listas",
"bucket-example": "\"Bucket List\", por exemplo",
"cancel": "Cancelar",
"card-archived": "This card is moved to Recycle Bin.",
"card-archived": "Este cartão foi movido para a lixeira",
"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 removidas da lista de Atividades e vocês não poderá re-abrir o cartão. Não há como desfazer.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "Você pode mover um cartão para fora da lixeira e movê-lo para o quadro e preservar a atividade.",
"card-due": "Data fim",
"card-due-on": "Finaliza em",
"card-spent": "Tempo Gasto",
"card-edit-attachments": "Editar anexos",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Editar campos customizados",
"card-edit-labels": "Editar etiquetas",
"card-edit-members": "Editar membros",
"card-labels-title": "Alterar etiquetas do cartão.",
@@ -121,8 +122,8 @@
"card-start": "Data início",
"card-start-on": "Começa em",
"cardAttachmentsPopup-title": "Anexar a partir de",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "Mudar data",
"cardCustomFieldsPopup-title": "Editar campos customizados",
"cardDeletePopup-title": "Excluir Cartão?",
"cardDetailsActionsPopup-title": "Ações do cartão",
"cardLabelsPopup-title": "Etiquetas",
@@ -146,7 +147,7 @@
"clipboard": "Área de Transferência ou arraste e solte",
"close": "Fechar",
"close-board": "Fechar Quadro",
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
"close-board-pop": "Você poderá restaurar o quadro clicando no botão lixeira no cabeçalho da página inicial",
"color-black": "preto",
"color-blue": "azul",
"color-green": "verde",
@@ -172,25 +173,25 @@
"createBoardPopup-title": "Criar Quadro",
"chooseBoardSourcePopup-title": "Importar quadro",
"createLabelPopup-title": "Criar Etiqueta",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "Criar campo",
"createCustomFieldPopup-title": "Criar campo",
"current": "atual",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "Não existe desfazer. Isso irá remover o campo customizado de todos os cartões e destruir seu histórico",
"custom-field-checkbox": "Caixa de seleção",
"custom-field-date": "Data",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-dropdown": "Lista suspensa",
"custom-field-dropdown-none": "(nada)",
"custom-field-dropdown-options": "Lista de opções",
"custom-field-dropdown-options-placeholder": "Pressione enter para adicionar mais opções",
"custom-field-dropdown-unknown": "(desconhecido)",
"custom-field-number": "Número",
"custom-field-text": "Texto",
"custom-fields": "Campos customizados",
"date": "Data",
"decline": "Rejeitar",
"default-avatar": "Avatar padrão",
"delete": "Excluir",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "Deletar campo customizado?",
"deleteLabelPopup-title": "Excluir Etiqueta?",
"description": "Descrição",
"disambiguateMultiLabelPopup-title": "Desambiguar ações de etiquetas",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Limite de WIP",
"editCardStartDatePopup-title": "Altera data de início",
"editCardDueDatePopup-title": "Altera data fim",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Editar campo",
"editCardSpentTimePopup-title": "Editar tempo gasto",
"editLabelPopup-title": "Alterar Etiqueta",
"editNotificationPopup-title": "Editar Notificações",
@@ -242,9 +243,12 @@
"filter-clear": "Limpar filtro",
"filter-no-label": "Sem labels",
"filter-no-member": "Sem membros",
"filter-no-custom-fields": "Não há campos customizados",
"filter-on": "Filtro está ativo",
"filter-on-desc": "Você está filtrando cartões neste quadro. Clique aqui para editar o filtro.",
"filter-to-selection": "Filtrar esta seleção",
"advanced-filter-label": "Filtro avançado",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Nome Completo",
"header-logo-title": "Voltar para a lista de quadros.",
"hide-system-messages": "Esconde mensagens de sistema",
@@ -284,17 +288,17 @@
"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 all cards in this list to Recycle Bin",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
"list-archive-cards": "Mover todos os cartões nesta lista para a lixeira",
"list-archive-cards-pop": "Isso irá remover todos os cartões nesta lista do quadro. Para visualizar cartões na lixeira e trazê-los de volta ao quadro, clique em \"Menu\" > \"Lixeira\".",
"list-move-cards": "Mover todos os cartões desta lista",
"list-select-cards": "Selecionar todos os cartões nesta lista",
"listActionPopup-title": "Listar Ações",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneActionPopup-title": "Ações de Swimlane",
"listImportCardPopup-title": "Importe um cartão do Trello",
"listMorePopup-title": "Mais",
"link-list": "Vincular a esta lista",
"list-delete-pop": "Todas as ações serão removidas da lista de atividades e você não poderá recuperar a lista. Não há como desfazer.",
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
"list-delete-suggest-archive": "Você pode mover a lista para a lixeira para removê-la do quadro e preservar a atividade.",
"lists": "Listas",
"swimlanes": "Swimlanes",
"log-out": "Sair",
@@ -314,9 +318,9 @@
"muted-info": "Você nunca receberá qualquer notificação desse board",
"my-boards": "Meus Quadros",
"name": "Nome",
"no-archived-cards": "No cards in Recycle Bin.",
"no-archived-lists": "No lists in Recycle Bin.",
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
"no-archived-cards": "Não há cartões na lixeira",
"no-archived-lists": "Não há listas na lixeira",
"no-archived-swimlanes": "Não há swimlanes na lixeira",
"no-results": "Nenhum resultado.",
"normal": "Normal",
"normal-desc": "Pode ver e editar cartões. Não pode alterar configurações.",
@@ -381,12 +385,12 @@
"overtime-hours": "Tempo extras (Horas)",
"overtime": "Tempo extras",
"has-overtime-cards": "Tem cartões de horas extras",
"has-spenttime-cards": "Has spent time cards",
"has-spenttime-cards": "Gastou cartões de tempo",
"time": "Tempo",
"title": "Título",
"tracking": "Tracking",
"tracking-info": "Você será notificado se houver qualquer alteração em cards em que você é o criador ou membro",
"type": "Type",
"type": "Tipo",
"unassign-member": "Membro não associado",
"unsaved-description": "Você possui uma descrição não salva",
"unwatch": "Deixar de observar",
@@ -395,12 +399,12 @@
"uploaded-avatar": "Avatar carregado",
"username": "Nome de usuário",
"view-it": "Visualizar",
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
"warn-list-archived": "Aviso: este cartão está em uma lista na lixeira",
"watch": "Observar",
"watching": "Observando",
"watching-info": "Você será notificado em qualquer alteração desse board",
"welcome-board": "Board de Boas Vindas",
"welcome-swimlane": "Milestone 1",
"welcome-swimlane": "Marco 1",
"welcome-list1": "Básico",
"welcome-list2": "Avançado",
"what-to-do": "O que você gostaria de fazer?",
@@ -451,19 +455,25 @@
"hours": "horas",
"minutes": "minutos",
"seconds": "segundos",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "Mostrar este campo no cartão",
"yes": "Sim",
"no": "Não",
"accounts": "Contas",
"accounts-allowEmailChange": "Permitir Mudança de Email",
"accounts-allowUserNameChange": "Allow Username Change",
"accounts-allowUserNameChange": "Permitir alteração de nome de usuário",
"createdAt": "Criado em",
"verified": "Verificado",
"active": "Ativo",
"card-received": "Received",
"card-received-on": "Received on",
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"card-received": "Recebido",
"card-received-on": "Recebido em",
"card-end": "Fim",
"card-end-on": "Termina em",
"editCardReceivedDatePopup-title": "Modificar data de recebimento",
"editCardEndDatePopup-title": "Mudar data de fim",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Liste",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+34 -24
View File
@@ -7,7 +7,7 @@
"act-addComment": "прокомментировал __card__: __comment__",
"act-createBoard": "создал __board__",
"act-createCard": "добавил __card__ в __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "Расширенный фильтр позволяет написать строку, содержащую следующие операторы: ==! = <=> = && || () Пространство используется как разделитель между Операторами. Вы можете фильтровать все пользовательские поля, введя их имена и значения. Например: Field1 == Value1. Примечание. Если поля или значения содержат пробелы, вам необходимо инкапсулировать их в одинарные кавычки. Например: «Поле 1» == «Значение 1». Также вы можете комбинировать несколько условий. Например: F1 == V1 || F1 = V2. Обычно все операторы интерпретируются слева направо. Вы можете изменить порядок, разместив скобки. Например: F1 == V1 и (F2 == V2 || F2 == V3)",
"act-createList": "добавил __list__ для __board__",
"act-addBoardMember": "добавил __member__ в __board__",
"act-archivedBoard": "Доска __board__ перемещена в Корзину",
@@ -31,7 +31,7 @@
"activity-archived": "%s перемещено в Корзину",
"activity-attached": "прикрепил %s к %s",
"activity-created": "создал %s",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "создать настраиваемое поле",
"activity-excluded": "исключил %s из %s",
"activity-imported": "импортировал %s в %s из %s",
"activity-imported-board": "импортировал %s из %s",
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Меню доски",
"boards": "Доски",
"board-view": "Вид доски",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Дорожки",
"board-view-lists": "Списки",
"bucket-example": "Например “Список дел”",
@@ -113,7 +114,7 @@
"card-due-on": "Выполнить до",
"card-spent": "Затраченное время",
"card-edit-attachments": "Изменить вложения",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Редактировать настраиваемые поля",
"card-edit-labels": "Изменить метку",
"card-edit-members": "Изменить участников",
"card-labels-title": "Изменить метки для этой карточки.",
@@ -121,8 +122,8 @@
"card-start": "Дата начала",
"card-start-on": "Начнётся с",
"cardAttachmentsPopup-title": "Прикрепить из",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "Изменить дату",
"cardCustomFieldsPopup-title": "редактировать настраиваемые поля",
"cardDeletePopup-title": "Удалить карточку?",
"cardDetailsActionsPopup-title": "Действия в карточке",
"cardLabelsPopup-title": "Метки",
@@ -166,31 +167,31 @@
"copy-card-link-to-clipboard": "Копировать ссылку на карточку в буфер обмена",
"copyCardPopup-title": "Копировать карточку",
"copyChecklistToManyCardsPopup-title": "Копировать шаблон контрольного списка в несколько карточек",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"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": "Импортировать доску",
"createLabelPopup-title": "Создать метку",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "Создать поле",
"createCustomFieldPopup-title": "Создать поле",
"current": "текущий",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "Отменить нельзя. Это удалит настраиваемое поле со всех карт и уничтожит его историю.",
"custom-field-checkbox": "Галочка",
"custom-field-date": "Дата",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-dropdown": "Выпадающий список",
"custom-field-dropdown-none": "(нет)",
"custom-field-dropdown-options": "Параметры списка",
"custom-field-dropdown-options-placeholder": "Нажмите «Ввод», чтобы добавить дополнительные параметры.",
"custom-field-dropdown-unknown": "(неизвестно)",
"custom-field-number": "Номер",
"custom-field-text": "Текст",
"custom-fields": "Настраиваемые поля",
"date": "Дата",
"decline": "Отклонить",
"default-avatar": "Аватар по умолчанию",
"delete": "Удалить",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "Удалить настраиваемые поля?",
"deleteLabelPopup-title": "Удалить метку?",
"description": "Описание",
"disambiguateMultiLabelPopup-title": "Разрешить конфликт меток",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Мягкий лимит на кол-во задач",
"editCardStartDatePopup-title": "Изменить дату начала",
"editCardDueDatePopup-title": "Изменить дату выполнения",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Редактировать поле",
"editCardSpentTimePopup-title": "Изменить затраченное время",
"editLabelPopup-title": "Изменить метки",
"editNotificationPopup-title": "Редактировать уведомления",
@@ -242,9 +243,12 @@
"filter-clear": "Очистить фильтр",
"filter-no-label": "Нет метки",
"filter-no-member": "Нет участников",
"filter-no-custom-fields": "Нет настраиваемых полей",
"filter-on": "Включен фильтр",
"filter-on-desc": "Показываются карточки, соответствующие настройкам фильтра. Нажмите для редактирования.",
"filter-to-selection": "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": "Вернуться к доскам.",
"hide-system-messages": "Скрыть системные сообщения",
@@ -386,7 +390,7 @@
"title": "Название",
"tracking": "Отслеживание",
"tracking-info": "Вы будете уведомлены о любых изменениях в тех карточках, в которых вы являетесь создателем или участником.",
"type": "Type",
"type": "Тип",
"unassign-member": "Отменить назначение участника",
"unsaved-description": "У вас есть несохраненное описание.",
"unwatch": "Перестать следить",
@@ -451,12 +455,12 @@
"hours": "часы",
"minutes": "минуты",
"seconds": "секунды",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "Показать это поле на карте",
"yes": "Да",
"no": "Нет",
"accounts": "Учетные записи",
"accounts-allowEmailChange": "Разрешить изменение электронной почты",
"accounts-allowUserNameChange": "Allow Username Change",
"accounts-allowUserNameChange": "Разрешить изменение имени пользователя",
"createdAt": "Создано на",
"verified": "Проверено",
"active": "Действующий",
@@ -465,5 +469,11 @@
"card-end": "Дата окончания",
"card-end-on": "Завершится до",
"editCardReceivedDatePopup-title": "Изменить дату получения",
"editCardEndDatePopup-title": "Изменить дату завершения"
"editCardEndDatePopup-title": "Изменить дату завершения",
"assigned-by": "Назначено",
"requested-by": "Запрошен",
"board-delete-notice": "Удаление является постоянным. Вы потеряете все списки, карты и действия, связанные с этой доской.",
"delete-board-confirm-popup": "Все списки, карточки, ярлыки и действия будут удалены, и вы не сможете восстановить содержимое доски. Отменить нельзя.",
"boardDeletePopup-title": "Удалить доску?",
"delete-board": "Удалить доску"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Meni table",
"boards": "Table",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Na primer \"Lista zadataka\"",
@@ -108,7 +109,7 @@
"card-comments-title": "Ova kartica ima %s komentar.",
"card-delete-notice": "Brisanje je trajno. Izgubićeš sve akcije povezane sa ovom karticom.",
"card-delete-pop": "Sve akcije će biti uklonjene sa liste aktivnosti i kartica neće moći biti ponovo otvorena. Nema vraćanja unazad.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Krajnji datum",
"card-due-on": "Završava se",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "Nema oznake",
"filter-no-member": "Nema člana",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Sakrij sistemske poruke",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+61 -51
View File
@@ -7,7 +7,7 @@
"act-addComment": "kommenterade __card__: __comment__",
"act-createBoard": "skapade __board__",
"act-createCard": "lade till __card__ to __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "skapa anpassat fält __customField__",
"act-createList": "lade till __list__ to __board__",
"act-addBoardMember": "lade till __member__ to __board__",
"act-archivedBoard": "__board__ flyttad till papperskorgen",
@@ -31,7 +31,7 @@
"activity-archived": "%s flyttad till papperskorgen",
"activity-attached": "bifogade %s to %s",
"activity-created": "skapade %s",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "skapa anpassat fält %s",
"activity-excluded": "exkluderade %s från %s",
"activity-imported": "importerade %s till %s från %s",
"activity-imported-board": "importerade %s från %s",
@@ -47,7 +47,7 @@
"add-attachment": "Lägg till bilaga",
"add-board": "Lägg till anslagstavla",
"add-card": "Lägg till kort",
"add-swimlane": "Add Swimlane",
"add-swimlane": "Lägg till simbana",
"add-checklist": "Lägg till checklista",
"add-checklist-item": "Lägg till ett objekt till kontrollista",
"add-cover": "Lägg till omslag",
@@ -68,16 +68,16 @@
"app-is-offline": "Wekan laddar, vänta. Uppdatering av sidan kommer att leda till förlust av data. Om Wekan inte laddas, kontrollera att Wekan-servern inte har stoppats.",
"archive": "Flytta till papperskorgen",
"archive-all": "Flytta alla till papperskorgen",
"archive-board": "Move Board to Recycle Bin",
"archive-card": "Move Card to Recycle Bin",
"archive-list": "Move List to Recycle Bin",
"archive-swimlane": "Move Swimlane to Recycle Bin",
"archive-selection": "Move selection to Recycle Bin",
"archiveBoardPopup-title": "Move Board to Recycle Bin?",
"archive-board": "Flytta anslagstavla till papperskorgen",
"archive-card": "Flytta kort till papperskorgen",
"archive-list": "Flytta lista till papperskorgen",
"archive-swimlane": "Flytta simbana till papperskorgen",
"archive-selection": "Flytta val till papperskorgen",
"archiveBoardPopup-title": "Flytta anslagstavla till papperskorgen?",
"archived-items": "Papperskorgen",
"archived-boards": "Boards in Recycle Bin",
"archived-boards": "Anslagstavlor i papperskorgen",
"restore-board": "Återställ anslagstavla",
"no-archived-boards": "No Boards in Recycle Bin.",
"no-archived-boards": "Inga anslagstavlor i papperskorgen",
"archives": "Papperskorgen",
"assign-member": "Tilldela medlem",
"attached": "bifogad",
@@ -99,8 +99,9 @@
"boardChangeWatchPopup-title": "Ändra bevaka",
"boardMenuPopup-title": "Anslagstavla meny",
"boards": "Anslagstavlor",
"board-view": "Board View",
"board-view-swimlanes": "Swimlanes",
"board-view": "Anslagstavelsvy",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Simbanor",
"board-view-lists": "Listor",
"bucket-example": "Gilla \"att-göra-innan-jag-dör-lista\" till exempel",
"cancel": "Avbryt",
@@ -108,12 +109,12 @@
"card-comments-title": "Detta kort har %s kommentar.",
"card-delete-notice": "Ta bort är permanent. Du kommer att förlora alla åtgärder i samband med detta kort.",
"card-delete-pop": "Alla åtgärder kommer att tas bort från aktivitetsflöde och du kommer inte att kunna öppna kortet igen. Det går inte att ångra.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "Du kan flytta ett kort till papperskorgen for att ta bort det från anslagstavlan och bevara aktiviteten.",
"card-due": "Förfaller",
"card-due-on": "Förfaller på",
"card-spent": "Spenderad tid",
"card-edit-attachments": "Redigera bilaga",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Redigera anpassade fält",
"card-edit-labels": "Redigera etiketter",
"card-edit-members": "Redigera medlemmar",
"card-labels-title": "Ändra etiketter för kortet.",
@@ -121,8 +122,8 @@
"card-start": "Börja",
"card-start-on": "Börja med",
"cardAttachmentsPopup-title": "Bifoga från",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "Ändra datum",
"cardCustomFieldsPopup-title": "Redigera anpassade fält",
"cardDeletePopup-title": "Ta bort kort?",
"cardDetailsActionsPopup-title": "Kortåtgärder",
"cardLabelsPopup-title": "Etiketter",
@@ -146,7 +147,7 @@
"clipboard": "Urklipp eller dra och släpp",
"close": "Stäng",
"close-board": "Stäng anslagstavla",
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
"close-board-pop": "Du kan återskapa anslagstavlan genom att klicka på \"Papperskorgen\" från huvudmenyn.",
"color-black": "svart",
"color-blue": "blå",
"color-green": "grön",
@@ -165,32 +166,32 @@
"confirm-checklist-delete-dialog": "Är du säker på att du vill ta bort checklista",
"copy-card-link-to-clipboard": "Kopiera kortlänk till urklipp",
"copyCardPopup-title": "Kopiera kort",
"copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards",
"copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]",
"copyChecklistToManyCardsPopup-title": "Kopiera checklist-mallen till flera kort",
"copyChecklistToManyCardsPopup-instructions": "Destinationskorttitlar och beskrivningar i detta JSON-format",
"copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Första kortets titel\", \"description\":\"Första kortets beskrivning\"}, {\"title\":\"Andra kortets titel\",\"description\":\"Andra kortets beskrivning\"},{\"title\":\"Sista kortets titel\",\"description\":\"Sista kortets beskrivning\"} ]",
"create": "Skapa",
"createBoardPopup-title": "Skapa anslagstavla",
"chooseBoardSourcePopup-title": "Importera anslagstavla",
"createLabelPopup-title": "Skapa etikett",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "Skapa fält",
"createCustomFieldPopup-title": "Skapa fält",
"current": "aktuell",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "Det går inte att ångra. Detta tar bort det här anpassade fältet från alla kort och förstör dess historia.",
"custom-field-checkbox": "Kryssruta",
"custom-field-date": "Datum",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-dropdown": "Rullgardingsmeny",
"custom-field-dropdown-none": "(inga)",
"custom-field-dropdown-options": "Listalternativ",
"custom-field-dropdown-options-placeholder": "Tryck på enter för att lägga till fler alternativ",
"custom-field-dropdown-unknown": "(okänd)",
"custom-field-number": "Nummer",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-fields": "Anpassade fält",
"date": "Datum",
"decline": "Nedgång",
"default-avatar": "Standard avatar",
"delete": "Ta bort",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "Ta bort anpassade fält?",
"deleteLabelPopup-title": "Ta bort etikett?",
"description": "Beskrivning",
"disambiguateMultiLabelPopup-title": "Otvetydig etikettåtgärd",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Mjuk WIP-gräns",
"editCardStartDatePopup-title": "Ändra startdatum",
"editCardDueDatePopup-title": "Ändra förfallodatum",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Redigera fält",
"editCardSpentTimePopup-title": "Ändra spenderad tid",
"editLabelPopup-title": "Ändra etikett",
"editNotificationPopup-title": "Redigera avisering",
@@ -242,9 +243,12 @@
"filter-clear": "Rensa filter",
"filter-no-label": "Ingen etikett",
"filter-no-member": "Ingen medlem",
"filter-no-custom-fields": "Inga anpassade fält",
"filter-on": "Filter är på",
"filter-on-desc": "Du filtrerar kort på denna anslagstavla. Klicka här för att redigera filter.",
"filter-to-selection": "Filter till val",
"advanced-filter-label": "Avancerat filter",
"advanced-filter-description": "Avancerade Filter låter dig skriva en sträng innehållande följande operatorer: == != <= >= && || ( ). Ett mellanslag används som separator mellan operatorerna. Du kan filtrera alla specialfält genom att skriva dess namn och värde. Till exempel: Fält1 == Vårde1. Notera: om fälten eller värden innehåller mellanrum behöver du innesluta dem med enkla citatstecken. Till exempel: 'Fält 1' == 'Värde 1'. För att skippa enkla kontrolltecken (' \\/) kan du använda \\. Till exempel: Fält1 == I\\'m. Du kan även kombinera fler villkor. TIll exempel: F1 == V1 || F1 == V2. Vanligtvis läses operatorerna från vänster till höger. Du kan ändra ordning genom att använda paranteser. TIll exempel: F1 == V1 && ( F2 == V2 || F2 == V3 ). Du kan även söka efter textfält med hjälp av regex: F1 == /Tes.*/i",
"fullname": "Namn",
"header-logo-title": "Gå tillbaka till din anslagstavlor-sida.",
"hide-system-messages": "Göm systemmeddelanden",
@@ -285,18 +289,18 @@
"leaveBoardPopup-title": "Lämna anslagstavla ?",
"link-card": "Länka till detta kort",
"list-archive-cards": "Flytta alla kort i den här listan till papperskorgen",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
"list-archive-cards-pop": "Detta tar bort alla kort i den här listan från anslagstavlan. För att se kort i papperskorgen och få tillbaka dem till den här anslagstavlan, klicka på \"Meny\" > \"Papperskorgen\".",
"list-move-cards": "Flytta alla kort i denna lista",
"list-select-cards": "Välj alla kort i denna lista",
"listActionPopup-title": "Liståtgärder",
"swimlaneActionPopup-title": "Swimlane Actions",
"swimlaneActionPopup-title": "Simbana-åtgärder",
"listImportCardPopup-title": "Importera ett Trello kort",
"listMorePopup-title": "Mera",
"link-list": "Länk till den här listan",
"list-delete-pop": "Alla åtgärder kommer att tas bort från aktivitetsmatningen och du kommer inte att kunna återställa listan. Det går inte att ångra.",
"list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
"list-delete-suggest-archive": "Du kan flytta en lista till papperskorgen för att ta bort den från brädet och bevara aktiviteten.",
"lists": "Listor",
"swimlanes": "Swimlanes",
"swimlanes": "Simbanor ",
"log-out": "Logga ut",
"log-in": "Logga in",
"loginPopup-title": "Logga in",
@@ -316,7 +320,7 @@
"name": "Namn",
"no-archived-cards": "Inga kort i papperskorgen.",
"no-archived-lists": "Inga listor i papperskorgen.",
"no-archived-swimlanes": "No swimlanes in Recycle Bin.",
"no-archived-swimlanes": "Inga simbanor i papperskorgen.",
"no-results": "Inga reslutat",
"normal": "Normal",
"normal-desc": "Kan se och redigera kort. Kan inte ändra inställningar.",
@@ -352,7 +356,7 @@
"restore": "Återställ",
"save": "Spara",
"search": "Sök",
"search-cards": "Search from card titles and descriptions on this board",
"search-cards": "Sök från korttitlar och beskrivningar på det här brädet",
"search-example": "Text att söka efter?",
"select-color": "Välj färg",
"set-wip-limit-value": "Ange en gräns för det maximala antalet uppgifter i den här listan",
@@ -381,12 +385,12 @@
"overtime-hours": "Övertid (timmar)",
"overtime": "Övertid",
"has-overtime-cards": "Har övertidskort",
"has-spenttime-cards": "Has spent time cards",
"has-spenttime-cards": "Har spenderat tidkort",
"time": "Tid",
"title": "Titel",
"tracking": "Spårning",
"tracking-info": "Du kommer att meddelas om eventuella ändringar av dessa kort du deltar i som skapare eller medlem.",
"type": "Type",
"type": "Skriv",
"unassign-member": "Ta bort tilldelad medlem",
"unsaved-description": "Du har en osparad beskrivning.",
"unwatch": "Avbevaka",
@@ -395,7 +399,7 @@
"uploaded-avatar": "Laddade upp en avatar",
"username": "Änvandarnamn",
"view-it": "Visa det",
"warn-list-archived": "warning: this card is in an list at Recycle Bin",
"warn-list-archived": "varning: det här kortet finns i en lista i papperskorgen",
"watch": "Bevaka",
"watching": "Bevakar",
"watching-info": "Du kommer att meddelas om alla ändringar på denna anslagstavla",
@@ -433,9 +437,9 @@
"email-smtp-test-text": "Du har skickat ett e-postmeddelande",
"error-invitation-code-not-exist": "Inbjudningskod finns inte",
"error-notAuthorized": "Du är inte behörig att se den här sidan.",
"outgoing-webhooks": "Outgoing Webhooks",
"outgoingWebhooksPopup-title": "Outgoing Webhooks",
"new-outgoing-webhook": "New Outgoing Webhook",
"outgoing-webhooks": "Utgående Webhookar",
"outgoingWebhooksPopup-title": "Utgående Webhookar",
"new-outgoing-webhook": "Ny utgående webhook",
"no-name": "(Okänd)",
"Wekan_version": "Wekan version",
"Node_version": "Nodversion",
@@ -451,19 +455,25 @@
"hours": "timmar",
"minutes": "minuter",
"seconds": "sekunder",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "Visa detta fält på kort",
"yes": "Ja",
"no": "Nej",
"accounts": "Konton",
"accounts-allowEmailChange": "Tillåt e-poständring",
"accounts-allowUserNameChange": "Allow Username Change",
"accounts-allowUserNameChange": "Tillåt användarnamnändring",
"createdAt": "Skapad vid",
"verified": "Verifierad",
"active": "Aktiv",
"card-received": "Mottagen",
"card-received-on": "Received on",
"card-received-on": "Mottagen den",
"card-end": "Slut",
"card-end-on": "Ends on",
"card-end-on": "Slutar den",
"editCardReceivedDatePopup-title": "Ändra mottagningsdatum",
"editCardEndDatePopup-title": "Ändra slutdatum"
"editCardEndDatePopup-title": "Ändra slutdatum",
"assigned-by": "Tilldelad av",
"requested-by": "Efterfrågad av",
"board-delete-notice": "Borttagningen är permanent. Du kommer förlora alla listor, kort och händelser kopplade till den här anslagstavlan.",
"delete-board-confirm-popup": "Alla listor, kort, etiketter och aktiviteter kommer tas bort och du kommer inte kunna återställa anslagstavlans innehåll. Det går inte att ångra.",
"boardDeletePopup-title": "Ta bort anslagstavla?",
"delete-board": "Ta bort anslagstavla"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Boards",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "เมนูบอร์ด",
"boards": "บอร์ด",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "รายการ",
"bucket-example": "ตัวอย่างเช่น “ระบบที่ต้องทำ”",
@@ -108,7 +109,7 @@
"card-comments-title": "การ์ดนี้มี %s ความเห็น.",
"card-delete-notice": "เป็นการลบถาวร คุณจะสูญเสียข้อมูลที่เกี่ยวข้องกับการ์ดนี้ทั้งหมด",
"card-delete-pop": "การดำเนินการทั้งหมดจะถูกลบจาก feed กิจกรรมและคุณไม่สามารถเปิดได้อีกครั้งหรือยกเลิกการทำ",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "ครบกำหนด",
"card-due-on": "ครบกำหนดเมื่อ",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "ล้างตัวกรอง",
"filter-no-label": "ไม่มีฉลาก",
"filter-no-member": "ไม่มีสมาชิก",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "กรองบน",
"filter-on-desc": "คุณกำลังกรองการ์ดในบอร์ดนี้ คลิกที่นี่เพื่อแก้ไขตัวกรอง",
"filter-to-selection": "กรองตัวเลือก",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "ชื่อ นามสกุล",
"header-logo-title": "ย้อนกลับไปที่หน้าบอร์ดของคุณ",
"hide-system-messages": "ซ่อนข้อความของระบบ",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+33 -23
View File
@@ -7,7 +7,7 @@
"act-addComment": "__card__ kartına bir yorum bıraktı: __comment__",
"act-createBoard": "__board__ panosunu oluşturdu",
"act-createCard": "__card__ kartını ___list__ listesine ekledi",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "__customField__ adlı özel alan yaratıldı",
"act-createList": "__list__ listesini __board__ panosuna ekledi",
"act-addBoardMember": "__member__ kullanıcısını __board__ panosuna ekledi",
"act-archivedBoard": "__board__ Geri Dönüşüm Kutusu'na taşındı",
@@ -31,7 +31,7 @@
"activity-archived": "%s Geri Dönüşüm Kutusu'na taşındı",
"activity-attached": "%s içine %s ekledi",
"activity-created": "%s öğesini oluşturdu",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "%s adlı özel alan yaratıldı",
"activity-excluded": "%s içinden %s çıkarttı",
"activity-imported": "%s kaynağından %s öğesini %s öğesinin içine taşıdı ",
"activity-imported-board": "%s i %s içinden aktardı",
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Pano menüsü",
"boards": "Panolar",
"board-view": "Pano Görünümü",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Kulvarlar",
"board-view-lists": "Listeler",
"bucket-example": "Örn: \"Marketten Alacaklarım\"",
@@ -113,7 +114,7 @@
"card-due-on": "Bitiş tarihi:",
"card-spent": "Harcanan Zaman",
"card-edit-attachments": "Ek dosyasını düzenle",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "Özel alanları düzenle",
"card-edit-labels": "Etiketleri düzenle",
"card-edit-members": "Üyeleri düzenle",
"card-labels-title": "Bu kart için etiketleri düzenle",
@@ -121,8 +122,8 @@
"card-start": "Başlama",
"card-start-on": "Başlama tarihi:",
"cardAttachmentsPopup-title": "Eklenme",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "Tarihi değiştir",
"cardCustomFieldsPopup-title": "Özel alanları düzenle",
"cardDeletePopup-title": "Kart Silinsin mi?",
"cardDetailsActionsPopup-title": "Kart işlemleri",
"cardLabelsPopup-title": "Etiketler",
@@ -172,25 +173,25 @@
"createBoardPopup-title": "Pano Oluşturma",
"chooseBoardSourcePopup-title": "Panoyu içe aktar",
"createLabelPopup-title": "Etiket Oluşturma",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "Alanı yarat",
"createCustomFieldPopup-title": "Alanı yarat",
"current": "mevcut",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "Bunun geri dönüşü yoktur. Bu özel alan tüm kartlardan kaldırılıp tarihçesi yokedilecektir.",
"custom-field-checkbox": "İşaret kutusu",
"custom-field-date": "Tarih",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-dropdown": "Açılır liste",
"custom-field-dropdown-none": "(hiçbiri)",
"custom-field-dropdown-options": "Liste seçenekleri",
"custom-field-dropdown-options-placeholder": "Başka seçenekler eklemek için giriş tuşuna basınız",
"custom-field-dropdown-unknown": "(bilinmeyen)",
"custom-field-number": "Sayı",
"custom-field-text": "Metin",
"custom-fields": "Özel alanlar",
"date": "Tarih",
"decline": "Reddet",
"default-avatar": "Varsayılan avatar",
"delete": "Sil",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "Özel alan silinsin mi?",
"deleteLabelPopup-title": "Etiket Silinsin mi?",
"description": "Açıklama",
"disambiguateMultiLabelPopup-title": "Etiket işlemini izah et",
@@ -205,7 +206,7 @@
"soft-wip-limit": "Zayıf Devam Eden İş Sınırı",
"editCardStartDatePopup-title": "Başlangıç tarihini değiştir",
"editCardDueDatePopup-title": "Bitiş tarihini değiştir",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "Alanı düzenle",
"editCardSpentTimePopup-title": "Harcanan zamanı değiştir",
"editLabelPopup-title": "Etiket Değiştir",
"editNotificationPopup-title": "Bildirimi değiştir",
@@ -242,9 +243,12 @@
"filter-clear": "Filtreyi temizle",
"filter-no-label": "Etiket yok",
"filter-no-member": "Üye yok",
"filter-no-custom-fields": "Hiç özel alan yok",
"filter-on": "Filtre aktif",
"filter-on-desc": "Bu panodaki kartları filtreliyorsunuz. Fitreyi düzenlemek için tıklayın.",
"filter-to-selection": "Seçime göre filtreleme yap",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Ad Soyad",
"header-logo-title": "Panolar sayfanıza geri dön.",
"hide-system-messages": "Sistem mesajlarını gizle",
@@ -386,7 +390,7 @@
"title": "Başlık",
"tracking": "Takip",
"tracking-info": "Oluşturduğunuz veya üyesi olduğunuz tüm kartlardaki değişiklikler size bildirim olarak gelecek.",
"type": "Type",
"type": "Tür",
"unassign-member": "Üyeye atamayı kaldır",
"unsaved-description": "Kaydedilmemiş bir açıklama metnin bulunmakta",
"unwatch": "Takibi bırak",
@@ -451,12 +455,12 @@
"hours": "saat",
"minutes": "dakika",
"seconds": "saniye",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "Bu alanı kartta göster",
"yes": "Evet",
"no": "Hayır",
"accounts": "Hesaplar",
"accounts-allowEmailChange": "E-posta Değiştirmeye İzin Ver",
"accounts-allowUserNameChange": "Allow Username Change",
"accounts-allowUserNameChange": "Kullanıcı adı değiştirmeye izin ver",
"createdAt": "Oluşturulma tarihi",
"verified": "Doğrulanmış",
"active": "Aktif",
@@ -465,5 +469,11 @@
"card-end": "Bitiş",
"card-end-on": "Bitiş zamanı",
"editCardReceivedDatePopup-title": "Giriş tarihini değiştir",
"editCardEndDatePopup-title": "Bitiş tarihini değiştir"
"editCardEndDatePopup-title": "Bitiş tarihini değiştir",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Дошки",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "This card has %s comment.",
"card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "Board Menu",
"boards": "Bảng",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Lists",
"bucket-example": "Like “Bucket List” for example",
@@ -108,7 +109,7 @@
"card-comments-title": "Thẻ này có %s bình luận.",
"card-delete-notice": "Hành động xóa là không thể khôi phục. Bạn sẽ mất hết các hoạt động liên quan đến thẻ này.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "Due",
"card-due-on": "Due on",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "Clear filter",
"filter-no-label": "No label",
"filter-no-member": "No member",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "Filter is on",
"filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
"filter-to-selection": "Filter to selection",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "Full Name",
"header-logo-title": "Go back to your boards page.",
"hide-system-messages": "Hide system messages",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
+32 -22
View File
@@ -7,7 +7,7 @@
"act-addComment": "在 __card__ 发布评论: __comment__",
"act-createBoard": "创建看板 __board__",
"act-createCard": "添加卡片 __card__ 至列表 __list__",
"act-createCustomField": "created custom field __customField__",
"act-createCustomField": "创建了自定义字段 __customField__",
"act-createList": "添加列表 __list__ 至看板 __board__",
"act-addBoardMember": "添加成员 __member__ 至看板 __board__",
"act-archivedBoard": "__board__ 已被移入回收站 ",
@@ -31,7 +31,7 @@
"activity-archived": "%s 已被移入回收站",
"activity-attached": "添加附件 %s 至 %s",
"activity-created": "创建 %s",
"activity-customfield-created": "created custom field %s",
"activity-customfield-created": "创建了自定义字段 %s",
"activity-excluded": "排除 %s 从 %s",
"activity-imported": "导入 %s 至 %s 从 %s 中",
"activity-imported-board": "已导入 %s 从 %s 中",
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "看板菜单",
"boards": "看板",
"board-view": "看板视图",
"board-view-cal": "Calendar",
"board-view-swimlanes": "泳道图",
"board-view-lists": "列表",
"bucket-example": "例如 “目标清单”",
@@ -113,7 +114,7 @@
"card-due-on": "期限",
"card-spent": "耗时",
"card-edit-attachments": "编辑附件",
"card-edit-custom-fields": "Edit custom fields",
"card-edit-custom-fields": "编辑自定义字段",
"card-edit-labels": "编辑标签",
"card-edit-members": "编辑成员",
"card-labels-title": "更改该卡片上的标签",
@@ -121,8 +122,8 @@
"card-start": "开始",
"card-start-on": "始于",
"cardAttachmentsPopup-title": "附件来源",
"cardCustomField-datePopup-title": "Change date",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardCustomField-datePopup-title": "修改日期",
"cardCustomFieldsPopup-title": "编辑自定义字段",
"cardDeletePopup-title": "彻底删除卡片?",
"cardDetailsActionsPopup-title": "卡片操作",
"cardLabelsPopup-title": "标签",
@@ -172,25 +173,25 @@
"createBoardPopup-title": "创建看板",
"chooseBoardSourcePopup-title": "导入看板",
"createLabelPopup-title": "创建标签",
"createCustomField": "Create Field",
"createCustomFieldPopup-title": "Create Field",
"createCustomField": "创建字段",
"createCustomFieldPopup-title": "创建字段",
"current": "当前",
"custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.",
"custom-field-checkbox": "Checkbox",
"custom-field-delete-pop": "没有撤销,此动作将从所有卡片中移除自定义字段并销毁历史。",
"custom-field-checkbox": "选择框",
"custom-field-date": "日期",
"custom-field-dropdown": "Dropdown List",
"custom-field-dropdown-none": "(none)",
"custom-field-dropdown-options": "List Options",
"custom-field-dropdown-options-placeholder": "Press enter to add more options",
"custom-field-dropdown-unknown": "(unknown)",
"custom-field-number": "Number",
"custom-field-text": "Text",
"custom-fields": "Custom Fields",
"custom-field-dropdown": "下拉列表",
"custom-field-dropdown-none": "(无)",
"custom-field-dropdown-options": "列表选项",
"custom-field-dropdown-options-placeholder": "回车可以加入更多选项",
"custom-field-dropdown-unknown": "(未知)",
"custom-field-number": "数字",
"custom-field-text": "文本",
"custom-fields": "自定义字段",
"date": "日期",
"decline": "拒绝",
"default-avatar": "默认头像",
"delete": "删除",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteCustomFieldPopup-title": "删除自定义字段?",
"deleteLabelPopup-title": "删除标签?",
"description": "描述",
"disambiguateMultiLabelPopup-title": "标签消歧 [?]",
@@ -205,7 +206,7 @@
"soft-wip-limit": "软在制品限制",
"editCardStartDatePopup-title": "修改起始日期",
"editCardDueDatePopup-title": "修改截止日期",
"editCustomFieldPopup-title": "Edit Field",
"editCustomFieldPopup-title": "编辑字段",
"editCardSpentTimePopup-title": "修改耗时",
"editLabelPopup-title": "更改标签",
"editNotificationPopup-title": "编辑通知",
@@ -242,9 +243,12 @@
"filter-clear": "清空过滤器",
"filter-no-label": "无标签",
"filter-no-member": "无成员",
"filter-no-custom-fields": "无自定义字段",
"filter-on": "过滤器启用",
"filter-on-desc": "你正在过滤该看板上的卡片,点此编辑过滤。",
"filter-to-selection": "要选择的过滤器",
"advanced-filter-label": "高级过滤器",
"advanced-filter-description": "高级过滤器可以使用包含如下操作符的字符串进行过滤:== != <= >= && || ( ) 。操作符之间用空格隔开。输入字段名和数值就可以过滤所有自定义字段。例如:Field1 == Value1。注意如果字段名或数值包含空格,需要用单引号。例如: 'Field 1' == 'Value 1'。要跳过单个控制字符(' \\/),请使用 \\ 转义字符。例如: Field1 = I\\'m。支持组合使用多个条件,例如: F1 == V1 || F1 == V2。通常以从左到右的顺序进行判断。可以通过括号修改顺序,例如:F1 == V1 && ( F2 == V2 || F2 == V3 )。也支持使用正则表达式搜索文本字段。",
"fullname": "全称",
"header-logo-title": "返回您的看板页",
"hide-system-messages": "隐藏系统消息",
@@ -386,7 +390,7 @@
"title": "标题",
"tracking": "跟踪",
"tracking-info": "当任何包含您(作为创建者或成员)的卡片发生变更时,您将得到通知。",
"type": "Type",
"type": "类型",
"unassign-member": "取消分配成员",
"unsaved-description": "存在未保存的描述",
"unwatch": "取消关注",
@@ -451,7 +455,7 @@
"hours": "小时",
"minutes": "分钟",
"seconds": "秒",
"show-field-on-card": "Show this field on card",
"show-field-on-card": "在卡片上显示此字段",
"yes": "是",
"no": "否",
"accounts": "账号",
@@ -465,5 +469,11 @@
"card-end": "终止",
"card-end-on": "终止于",
"editCardReceivedDatePopup-title": "修改接收日期",
"editCardEndDatePopup-title": "修改终止日期"
"editCardEndDatePopup-title": "修改终止日期",
"assigned-by": "分配人",
"requested-by": "需求人",
"board-delete-notice": "删除时永久操作,将会丢失此看板上的所有列表、卡片和动作。",
"delete-board-confirm-popup": "所有列表、卡片、标签和活动都回被删除,将无法恢复看板内容。不支持撤销。",
"boardDeletePopup-title": "删除看板?",
"delete-board": "删除看板"
}
+12 -2
View File
@@ -100,6 +100,7 @@
"boardMenuPopup-title": "看板選單",
"boards": "看板",
"board-view": "Board View",
"board-view-cal": "Calendar",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "清單",
"bucket-example": "例如 “目標清單”",
@@ -108,7 +109,7 @@
"card-comments-title": "該卡片有 %s 則評論",
"card-delete-notice": "徹底刪除的操作不可復原,你將會遺失該卡片相關的所有操作記錄。",
"card-delete-pop": "所有的動作將從活動動態中被移除且您將無法重新打開該卡片。此操作無法復原。",
"card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
"card-due": "到期",
"card-due-on": "到期",
"card-spent": "Spent Time",
@@ -242,9 +243,12 @@
"filter-clear": "清空過濾條件",
"filter-no-label": "沒有標籤",
"filter-no-member": "沒有成員",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "過濾條件啟用",
"filter-on-desc": "你正在過濾該看板上的卡片,點此編輯過濾條件。",
"filter-to-selection": "要選擇的過濾條件",
"advanced-filter-label": "Advanced Filter",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
"fullname": "全稱",
"header-logo-title": "返回您的看板頁面",
"hide-system-messages": "隱藏系統訊息",
@@ -465,5 +469,11 @@
"card-end": "End",
"card-end-on": "Ends on",
"editCardReceivedDatePopup-title": "Change received date",
"editCardEndDatePopup-title": "Change end date"
"editCardEndDatePopup-title": "Change end date",
"assigned-by": "Assigned By",
"requested-by": "Requested By",
"board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
"delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
"boardDeletePopup-title": "Delete Board?",
"delete-board": "Delete Board"
}
Executable → Regular
View File
File mode changed.
+30
View File
@@ -94,6 +94,9 @@ Boards.attachSchema(new SimpleSchema({
allowedValues: [
'green', 'yellow', 'orange', 'red', 'purple',
'blue', 'sky', 'lime', 'pink', 'black',
'silver', 'peachpuff', 'crimson', 'plum', 'darkgreen',
'slateblue', 'magenta', 'gold', 'navy', 'gray',
'saddlebrown', 'paleturquoise', 'mistyrose', 'indigo',
],
},
// XXX We might want to maintain more informations under the member sub-
@@ -281,6 +284,33 @@ Boards.helpers({
return Cards.find(query, projection);
},
cardsInInterval(start, end) {
return Cards.find({
$or: [
{
startAt: {
$lte: start,
}, endAt: {
$gte: start,
},
}, {
startAt: {
$lte: end,
}, endAt: {
$gte: end,
},
}, {
startAt: {
$gte: start,
}, endAt: {
$lte: end,
},
},
],
});
},
});
Boards.mutations({
+34 -3
View File
@@ -66,6 +66,14 @@ Cards.attachSchema(new SimpleSchema({
type: String,
optional: true,
},
requestedBy: {
type: String,
optional: true,
},
assignedBy: {
type: String,
optional: true,
},
labelIds: {
type: [String],
optional: true,
@@ -220,13 +228,28 @@ Cards.helpers({
}).fetch();
// match right definition to each field
if (!this.customFields) return [];
return this.customFields.map((customField) => {
const definition = definitions.find((definition) => {
return definition._id === customField._id;
});
//search for "True Value" which is for DropDowns other then the Value (which is the id)
let trueValue = customField.value;
if (definition.settings.dropdownItems && definition.settings.dropdownItems.length > 0)
{
for (let i = 0; i < definition.settings.dropdownItems.length; i++)
{
if (definition.settings.dropdownItems[i]._id === customField.value)
{
trueValue = definition.settings.dropdownItems[i].name;
}
}
}
return {
_id: customField._id,
value: customField.value,
definition: definitions.find((definition) => {
return definition._id === customField._id;
}),
trueValue,
definition,
};
});
@@ -267,6 +290,14 @@ Cards.mutations({
return {$set: {description}};
},
setRequestedBy(requestedBy) {
return {$set: {requestedBy}};
},
setAssignedBy(assignedBy) {
return {$set: {assignedBy}};
},
move(swimlaneId, listId, sortIndex) {
const list = Lists.findOne(listId);
const mutatedFields = {
+5
View File
@@ -100,6 +100,11 @@ Users.attachSchema(new SimpleSchema({
'profile.boardView': {
type: String,
optional: true,
allowedValues: [
'board-view-lists',
'board-view-swimlanes',
'board-view-cal',
],
},
services: {
type: Object,
+1 -2
View File
@@ -1,6 +1,6 @@
{
"name": "wekan",
"version": "0.97.0",
"version": "1.09.0",
"description": "The open-source Trello-like kanban",
"private": true,
"scripts": {
@@ -24,7 +24,6 @@
},
"dependencies": {
"babel-runtime": "^6.26.0",
"bcrypt": "^2.0.1",
"bson-ext": "^2.0.0",
"es6-promise": "^4.2.4",
"meteor-node-stubs": "^0.4.1",
+2 -2
View File
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
appVersion = 82,
appVersion = 94,
# Increment this for every release.
appMarketingVersion = (defaultText = "0.97.0~2018-05-19"),
appMarketingVersion = (defaultText = "1.09.0~2018-06-28"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
+35 -8
View File
@@ -140,7 +140,7 @@ Migrations.add('add-sort-checklists', () => {
noValidate
);
}
checklist.items.find().forEach((item, index) => {
checklist.items.forEach((item, index) => {
if (!item.hasOwnProperty('sort')) {
Checklists.direct.update(
{ _id: checklist._id, 'items._id': item._id },
@@ -189,7 +189,7 @@ Migrations.add('add-views', () => {
});
Migrations.add('add-checklist-items', () => {
Checklists.find().forEach((checklist) => {
Checklists.forEach((checklist) => {
// Create new items
_.sortBy(checklist.items, 'sort').forEach((item, index) => {
ChecklistItems.direct.insert({
@@ -211,12 +211,14 @@ Migrations.add('add-checklist-items', () => {
Migrations.add('add-profile-view', () => {
Users.find().forEach((user) => {
// Set default view
Users.direct.update(
{ _id: user._id },
{ $set: { 'profile.boardView': 'board-view-lists' } },
noValidate
);
if (!user.hasOwnProperty('profile.boardView')) {
// Set default view
Users.direct.update(
{ _id: user._id },
{ $set: { 'profile.boardView': 'board-view-lists' } },
noValidate
);
}
});
});
@@ -231,3 +233,28 @@ Migrations.add('add-custom-fields-to-cards', () => {
},
}, noValidateMulti);
});
Migrations.add('add-requester-field', () => {
Cards.update({
requestedBy: {
$exists: false,
},
}, {
$set: {
requestedBy:'',
},
}, noValidateMulti);
});
Migrations.add('add-assigner-field', () => {
Cards.update({
assignedBy: {
$exists: false,
},
}, {
$set: {
assignedBy:'',
},
}, noValidateMulti);
});
+23 -5
View File
@@ -1,7 +1,25 @@
Meteor.publish('people', (limit) => {
Meteor.publish('people', function(limit) {
check(limit, Number);
return Users.find({}, {
limit,
sort: {createdAt: -1},
});
if (!Match.test(this.userId, String)) {
return [];
}
const user = Users.findOne(this.userId);
if (user && user.isAdmin) {
return Users.find({}, {
limit,
sort: {createdAt: -1},
fields: {
'username': 1,
'profile.fullname': 1,
'isAdmin': 1,
'emails': 1,
'createdAt': 1,
'loginDisabled': 1,
},
});
} else {
return [];
}
});
+17 -9
View File
@@ -65,7 +65,7 @@ apps:
parts:
mongodb:
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.19.tgz
source: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.20.tgz
plugin: dump
stage-packages: [libssl1.0.0]
filesets:
@@ -83,7 +83,7 @@ parts:
plugin: nodejs
node-engine: 8.11.1
node-packages:
- npm@5.5.1
- npm
- node-gyp
- node-pre-gyp
- fibers@2.0.0
@@ -96,6 +96,8 @@ parts:
- npm
- curl
- execstack
stage-packages:
- libfontconfig1
override-build: |
echo "Cleaning environment first"
rm -rf ~/.meteor ~/.npm /usr/local/lib/node_modules
@@ -108,8 +110,7 @@ parts:
# Fiber.poolSize = 1e9;
# Download node version 8.11.1 that has fix included, node binary copied from Sandstorm
# Description at https://releases.wekan.team/node.txt
# SHA256SUM: 18c99d5e79e2fe91e75157a31be30e5420787213684d4048eb91e602e092725d
echo "18c99d5e79e2fe91e75157a31be30e5420787213684d4048eb91e602e092725d node" >> node-SHASUMS256.txt.asc
echo "13baa1b3114a5ea3248875e0f36cb46fcf8acd212de1fb74ba68ef4c9a4e1d93 node" >> node-SHASUMS256.txt.asc
curl https://releases.wekan.team/node -o node
# Verify Fibers patched node authenticity
echo "Fibers 100% CPU issue patched node authenticity:"
@@ -138,13 +139,18 @@ parts:
meteor npm install --allow-superuser
meteor build .build --directory --allow-superuser
cp -f fix-download-unicode/cfs_access-point.txt .build/bundle/programs/server/packages/cfs_access-point.js
cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
rm -rf node_modules/bcrypt
meteor npm install --save bcrypt
#Removed binary version of bcrypt because of security vulnerability that is not fixed yet.
#https://github.com/wekan/wekan/commit/4b2010213907c61b0e0482ab55abb06f6a668eac
#https://github.com/wekan/wekan/commit/7eeabf14be3c63fae2226e561ef8a0c1390c8d3c
#cd .build/bundle/programs/server/npm/node_modules/meteor/npm-bcrypt
#rm -rf node_modules/bcrypt
#meteor npm install --save bcrypt
# Change from npm-bcrypt directory back to .build/bundle/programs/server directory.
#cd ../../../../
# Change to directory .build/bundle/programs/server
cd ../../../../
cd .build/bundle/programs/server
npm install
meteor npm install --save bcrypt
#meteor npm install --save bcrypt
# Change back to Wekan source directory
cd ../../../..
cp -r .build/bundle/* $SNAPCRAFT_PART_INSTALL/
@@ -153,6 +159,8 @@ parts:
execstack --clear-execstack $SNAPCRAFT_PART_INSTALL/programs/server/npm/node_modules/meteor/rajit_bootstrap3-datepicker/lib/bootstrap-datepicker/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs
organize:
README: README.wekan
prime:
- -lib/node_modules/node-pre-gyp/node_modules/tar/lib/.unpack.js.swp
helpers:
source: snap-src