summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.meteor/packages1
-rw-r--r--.meteor/versions1
-rw-r--r--.tx/config2
-rw-r--r--CHANGELOG.md59
-rw-r--r--Dockerfile6
-rw-r--r--client/components/cards/attachments.jade4
-rw-r--r--client/components/cards/attachments.js3
-rw-r--r--client/components/cards/attachments.styl21
-rw-r--r--client/components/cards/cardDetails.jade7
-rw-r--r--client/components/cards/cardDetails.js3
-rw-r--r--client/components/cards/checklists.jade16
-rw-r--r--client/components/cards/checklists.js5
-rw-r--r--client/components/cards/minicard.jade4
-rw-r--r--client/components/lists/list.styl9
-rw-r--r--client/components/lists/listBody.js3
-rw-r--r--client/components/lists/listHeader.jade25
-rw-r--r--client/components/lists/listHeader.js36
-rw-r--r--client/components/main/layouts.jade1
-rw-r--r--client/components/settings/peopleBody.jade89
-rw-r--r--client/components/settings/peopleBody.js156
-rw-r--r--client/components/settings/peopleBody.styl15
-rw-r--r--client/components/settings/settingHeader.jade9
-rw-r--r--client/components/users/userHeader.js10
-rw-r--r--config/router.js20
-rw-r--r--i18n/ar.i18n.json126
-rw-r--r--i18n/br.i18n.json6
-rw-r--r--i18n/ca.i18n.json6
-rw-r--r--i18n/cs.i18n.json6
-rw-r--r--i18n/de.i18n.json20
-rw-r--r--i18n/en-GB.i18n.json6
-rw-r--r--i18n/en.i18n.json6
-rw-r--r--i18n/eo.i18n.json6
-rw-r--r--i18n/es-AR.i18n.json411
-rw-r--r--i18n/es.i18n.json18
-rw-r--r--i18n/eu.i18n.json6
-rw-r--r--i18n/fa.i18n.json6
-rw-r--r--i18n/fi.i18n.json6
-rw-r--r--i18n/fr.i18n.json6
-rw-r--r--i18n/gl.i18n.json6
-rw-r--r--i18n/he.i18n.json32
-rw-r--r--i18n/hu.i18n.json582
-rw-r--r--i18n/id.i18n.json6
-rw-r--r--i18n/it.i18n.json62
-rw-r--r--i18n/ja.i18n.json10
-rw-r--r--i18n/ko.i18n.json6
-rw-r--r--i18n/nb.i18n.json6
-rw-r--r--i18n/nl.i18n.json6
-rw-r--r--i18n/pl.i18n.json14
-rw-r--r--i18n/pt-BR.i18n.json20
-rw-r--r--i18n/ro.i18n.json6
-rw-r--r--i18n/ru.i18n.json6
-rw-r--r--i18n/sr.i18n.json6
-rw-r--r--i18n/sv.i18n.json30
-rw-r--r--i18n/ta.i18n.json6
-rw-r--r--i18n/th.i18n.json6
-rw-r--r--i18n/tr.i18n.json62
-rw-r--r--i18n/uk.i18n.json6
-rw-r--r--i18n/vi.i18n.json6
-rw-r--r--i18n/zh-CN.i18n.json6
-rw-r--r--i18n/zh-TW.i18n.json6
-rw-r--r--models/cards.js2
-rw-r--r--models/lists.js42
-rw-r--r--models/settings.js2
-rw-r--r--models/users.js86
-rw-r--r--models/wekanCreator.js48
-rw-r--r--package.json2
-rw-r--r--public/fonts/roboto-bold.woffbin18568 -> 71808 bytes
-rw-r--r--public/fonts/roboto-bold.woff2bin14552 -> 52056 bytes
-rw-r--r--public/fonts/roboto-regular.woffbin18520 -> 70236 bytes
-rw-r--r--public/fonts/roboto-regular.woff2bin14584 -> 51140 bytes
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--server/publications/people.js7
73 files changed, 1604 insertions, 626 deletions
diff --git a/.gitignore b/.gitignore
index 7642f23d..89dc3fd5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
tmp/
node_modules/
.vscode/
+.idea/
.build/*
packages/kadira-flow-router/
packages/meteor-useraccounts-core/
diff --git a/.meteor/packages b/.meteor/packages
index 7c04f207..7e67c10d 100644
--- a/.meteor/packages
+++ b/.meteor/packages
@@ -79,3 +79,4 @@ shell-server@0.2.3
simple:rest-accounts-password
useraccounts:core
email@1.2.3
+horka:swipebox
diff --git a/.meteor/versions b/.meteor/versions
index 689362ea..38ee1e3f 100644
--- a/.meteor/versions
+++ b/.meteor/versions
@@ -58,6 +58,7 @@ es5-shim@4.6.15
fastclick@1.0.13
fortawesome:fontawesome@4.7.0
geojson-utils@1.0.10
+horka:swipebox@1.0.2
hot-code-push@1.0.4
html-tools@1.0.11
htmljs@1.0.11
diff --git a/.tx/config b/.tx/config
index 230e8f16..3a6a9f91 100644
--- a/.tx/config
+++ b/.tx/config
@@ -39,7 +39,7 @@ host = https://www.transifex.com
# tap:i18n requires us to use `-` separator in the language identifiers whereas
# Transifex uses a `_` separator, without an option to customize it on one side
# or the other, so we need to do a Manual mapping.
-lang_map = en_GB:en-GB, fa_IR:fa, fi_FI:fi, hu_HU:hu, id_ID:id, no:nb, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
+lang_map = en_GB:en-GB, es_AR:es-AR, fa_IR:fa, fi_FI:fi, hu_HU:hu, id_ID:id, no:nb, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW
[wekan.application]
file_filter = i18n/<lang>.i18n.json
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 91b014e1..5ce8e144 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,62 @@
+# Upcoming Wekan release
+
+This release adds the following new features:
+
+* [Markdown in card/minicard/checlist titles and checklist items. Next line: Shift+Enter. Submit: Enter.](https://github.com/wekan/wekan/pull/1334);
+* [User Admin to Admin Panel: List users. Change: is user admin, name, fullname, email address, is user active. Not changing password yet.](https://github.com/wekan/wekan/pull/1325);
+* [REST API better error output](https://github.com/wekan/wekan/pull/1323).
+
+and fixes the following bugs:
+
+* [Emoji detection breaks MAC addresses](https://github.com/wekan/wekan/issues/1248);
+* [Codeblocks should not be scanned for emoji](https://github.com/wekan/wekan/issues/643);
+* [Whitespace trimming breaks Markdown code block indentation](https://github.com/wekan/wekan/issues/1288):
+* [Helper to list boards for user](https://github.com/wekan/wekan/pull/1327).
+
+Thanks to Github users brooksbecton, milesibastos, soohwa, thuanpq and xet7 for their contributions.
+
+# v0.54 2017-11-02 Wekan release
+
+This release adds the following new features:
+
+* [Soft WIP Limit](https://github.com/wekan/wekan/pull/1319).
+
+Thanks to GitHub users amadilsons and xet7 for their contributions.
+
+# v0.53 2017-11-02 Wekan release
+
+(This was canceled, it had some missing version numbers).
+
+# v0.52 2017-10-31 Wekan release
+
+This release adds the following new features:
+
+* [Permit editing WIP limit](https://github.com/wekan/wekan/pull/1312);
+* [Image attachment resize on smaller screens and swipebox](https://github.com/wekan/wekan/pull/1315);
+* [Add iPhone favicon for Wekan](https://github.com/wekan/wekan/issues/1317).
+
+and fixes the following bugs:
+
+* [Members do not get included on board import from Wekan](https://github.com/wekan/wekan/pull/1316).
+
+Thanks to GitHub users brooksbecton, guillaumebriday, nztqa, ocdtrekkie and Tentoe for their contributions.
+
+# v0.51 2017-10-25 Wekan release
+
+This release adds the following new features:
+
+* [REST API: Disable and enable user login. Take ownership boards of a user. List boards of user.](https://github.com/wekan/wekan/pull/1296);
+* [Add translation: Spanish of Argentina](https://github.com/wekan/wekan/commit/b105f0e2e72c49a2f1ba3f6c87532a5418192386);
+* [Add more languages to Roboto font](https://github.com/wekan/wekan/issues/1299).
+
+and fixes the following bugs:
+
+* [Segfault on Alpine Linux](https://github.com/wekan/wekan/issues/1303);
+* [Change invitation link from sign-in to sign-up](https://github.com/wekan/wekan/issues/1300);
+* [User with comment only permission can add cards](https://github.com/wekan/wekan/issues/1301).
+
+Thanks to GitHub users chromas-cro, soohwa, wenerme and xet7 for their contributions.
+
# v0.50 2017-10-10 Wekan release
This release fixes the following bugs:
diff --git a/Dockerfile b/Dockerfile
index ab0670db..6857079c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,7 +12,8 @@ ARG ARCHITECTURE
ARG SRC_PATH
# Set the environment variables (defaults where required)
-ENV BUILD_DEPS="wget curl bzip2 build-essential python git ca-certificates gcc-4.9"
+# paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
+ENV BUILD_DEPS="wget curl bzip2 build-essential python git ca-certificates gcc-4.9 paxctl"
ENV GOSU_VERSION=1.10
ENV NODE_VERSION ${NODE_VERSION:-v4.8.4}
ENV METEOR_RELEASE ${METEOR_RELEASE:-1.4.4.1}
@@ -78,6 +79,9 @@ RUN \
ln -s /opt/nodejs/bin/node /usr/bin/node && \
ln -s /opt/nodejs/bin/npm /usr/bin/npm && \
\
+ # paxctl fix for alpine linux: https://github.com/wekan/wekan/issues/1303
+ paxctl -mC `which node` && \
+ \
# Install Node dependencies
npm install -g npm@${NPM_VERSION} && \
npm install -g node-gyp && \
diff --git a/client/components/cards/attachments.jade b/client/components/cards/attachments.jade
index e35b364a..c8442691 100644
--- a/client/components/cards/attachments.jade
+++ b/client/components/cards/attachments.jade
@@ -21,11 +21,11 @@ template(name="attachmentDeletePopup")
template(name="attachmentsGalery")
.attachments-galery
each attachments
- a.attachment-item.js-open-viewer(title="{{_ 'added'}} {{ moment uploadedAt }}")
+ a.attachment-item.swipebox(href="{{url}}" title="{{name}}")
.attachment-thumbnail
if isUploaded
if isImage
- img.attachment-thumbnail-img.js-preview-image(src="{{url}}")
+ img.attachment-thumbnail-img(src="{{url}}")
else
span.attachment-thumbnail-ext= extension
else
diff --git a/client/components/cards/attachments.js b/client/components/cards/attachments.js
index 95cb9f55..36e8a5ec 100644
--- a/client/components/cards/attachments.js
+++ b/client/components/cards/attachments.js
@@ -11,9 +11,6 @@ Template.attachmentsGalery.events({
'click .js-download'(event) {
event.stopPropagation();
},
- 'click .js-open-viewer'() {
- // XXX Not implemented!
- },
'click .js-add-cover'() {
Cards.findOne(this.cardId).setCover(this._id);
},
diff --git a/client/components/cards/attachments.styl b/client/components/cards/attachments.styl
index 9a5d0645..4a22fd8a 100644
--- a/client/components/cards/attachments.styl
+++ b/client/components/cards/attachments.styl
@@ -58,7 +58,28 @@
.preview-clipboard-image
width: 280px
+ max-width: 100%;
height: 200px
display: block
border: 1px solid black
box-shadow: 0 1px 2px rgba(0,0,0,.2)
+
+@media screen and (max-width: 800px)
+ .attachments-galery
+ flex-direction
+ row
+ .attachment-item
+ width: 50% - 2%
+
+ .attachment-thumbnail
+ height: 130px
+ .attachment-details
+ font-size: 1.1em
+
+@media screen and (max-width: 360px)
+ .attachments-galery
+ .attachment-item
+ width: 100%
+
+ .attachment-thumbnail
+ height: 200px
diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade
index ce93d6fd..b6572251 100644
--- a/client/components/cards/cardDetails.jade
+++ b/client/components/cards/cardDetails.jade
@@ -9,9 +9,10 @@ template(name="cardDetails")
a.fa.fa-navicon.card-details-menu.js-open-card-details-menu
h2.card-details-title.js-card-title(
class="{{#if canModifyCard}}js-open-inlined-form is-editable{{/if}}")
- = title
- if isWatching
- i.fa.fa-eye.card-details-watch
+ +viewer
+ = title
+ if isWatching
+ i.fa.fa-eye.card-details-watch
if archived
p.warning {{_ 'card-archived'}}
diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js
index 836a2353..3825bda8 100644
--- a/client/components/cards/cardDetails.js
+++ b/client/components/cards/cardDetails.js
@@ -197,7 +197,8 @@ Template.editCardTitleForm.onRendered(function () {
Template.editCardTitleForm.events({
'keydown .js-edit-card-title' (evt) {
// If enter key was pressed, submit the data
- if (evt.keyCode === 13) {
+ // Unless the shift key is also being pressed
+ if (evt.keyCode === 13 && !event.shiftKey) {
$('.js-submit-edit-card-title-form').click();
}
},
diff --git a/client/components/cards/checklists.jade b/client/components/cards/checklists.jade
index 9ff52d8e..42fe3bd4 100644
--- a/client/components/cards/checklists.jade
+++ b/client/components/cards/checklists.jade
@@ -28,9 +28,13 @@ template(name="checklistDetail")
span.checklist-stat(class="{{#if checklist.isFinished}}is-finished{{/if}}") {{checklist.finishedCount}}/{{checklist.itemCount}}
if canModifyCard
- h2.title.js-open-inlined-form.is-editable {{checklist.title}}
+ h2.title.js-open-inlined-form.is-editable
+ +viewer
+ = checklist.title
else
- h2.title {{checklist.title}}
+ h2.title
+ +viewer
+ = checklist.title
+checklistItems(checklist = checklist)
template(name="checklistDeleteDialog")
@@ -83,7 +87,11 @@ template(name='itemDetail')
.item.js-checklist-item
if canModifyCard
.check-box.materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
- .item-title.js-open-inlined-form.is-editable(class="{{#if item.isFinished }}is-checked{{/if}}") {{item.title}}
+ .item-title.js-open-inlined-form.is-editable(class="{{#if item.isFinished }}is-checked{{/if}}")
+ +viewer
+ = item.title
else
.materialCheckBox(class="{{#if item.isFinished }}is-checked{{/if}}")
- .item-title(class="{{#if item.isFinished }}is-checked{{/if}}") {{item.title}}
+ .item-title(class="{{#if item.isFinished }}is-checked{{/if}}")
+ +viewer
+ = item.title
diff --git a/client/components/cards/checklists.js b/client/components/cards/checklists.js
index 1cd77c9f..d3a946f0 100644
--- a/client/components/cards/checklists.js
+++ b/client/components/cards/checklists.js
@@ -146,8 +146,9 @@ BlazeComponent.extendComponent({
},
pressKey(event) {
- //If user press enter key inside a form, submit it, so user doesn't have to leave keyboard to submit a form.
- if (event.keyCode === 13) {
+ //If user press enter key inside a form, submit it
+ //Unless the user is also holding down the 'shift' key
+ if (event.keyCode === 13 && !event.shiftKey) {
event.preventDefault();
const $form = $(event.currentTarget).closest('form');
$form.find('button[type=submit]').click();
diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade
index 6fd83386..3e582b6f 100644
--- a/client/components/cards/minicard.jade
+++ b/client/components/cards/minicard.jade
@@ -6,7 +6,9 @@ template(name="minicard")
.minicard-labels
each labels
.minicard-label(class="card-label-{{color}}" title="{{name}}")
- .minicard-title= title
+ .minicard-title
+ +viewer
+ = title
.dates
if startAt
.date
diff --git a/client/components/lists/list.styl b/client/components/lists/list.styl
index f426b243..b7bc33e8 100644
--- a/client/components/lists/list.styl
+++ b/client/components/lists/list.styl
@@ -79,6 +79,9 @@
.list-header-plus-icon
color: #a6a6a6
+ .highlight
+ color: #ce1414
+
.list-body
flex: 1
display: flex
@@ -126,3 +129,9 @@
.wip-limit-error
display: none
+
+ .soft-wip-limit
+ margin-right: 8px
+
+ div
+ float: left
diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js
index 22ed9e57..fe2f1630 100644
--- a/client/components/lists/listBody.js
+++ b/client/components/lists/listBody.js
@@ -102,8 +102,7 @@ BlazeComponent.extendComponent({
reachedWipLimit() {
const list = Template.currentData();
- if( !list.getWipLimit() ) { return false; }
- return list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count();
+ return !list.getWipLimit('soft') && list.getWipLimit('enabled') && list.getWipLimit('value') <= list.cards().count();
},
events() {
diff --git a/client/components/lists/listHeader.jade b/client/components/lists/listHeader.jade
index c1055008..4bbc023c 100644
--- a/client/components/lists/listHeader.jade
+++ b/client/components/lists/listHeader.jade
@@ -5,10 +5,12 @@ template(name="listHeader")
else
h2.list-header-name(
class="{{#if currentUser.isBoardMember}}js-open-inlined-form is-editable{{/if}}")
- = title
- if isWipLimitEnabled
- span
- | ({{cards.count}}/#{wipLimit.value})
+ = title
+ if wipLimit.enabled
+ |&nbsp;(
+ span(class="{{#if reachedWipLimit}}highlight{{/if}}") {{cards.count}}
+ |/#{wipLimit.value})
+
if showCardsCountForList cards.count
= cards.count
span.lowercase
@@ -17,9 +19,10 @@ template(name="listHeader")
if isWatching
i.list-header-watch-icon.fa.fa-eye
div.list-header-menu
- unless isWipLimitEnabled
- a.js-add-card.fa.fa-plus.list-header-plus-icon
- a.fa.fa-navicon.js-open-list-menu
+ unless currentUser.isCommentOnly
+ if canSeeAddCard
+ a.js-add-card.fa.fa-plus.list-header-plus-icon
+ a.fa.fa-navicon.js-open-list-menu
template(name="editListTitleForm")
.list-composer
@@ -75,16 +78,20 @@ template(name="listDeletePopup")
template(name="setWipLimitPopup")
#js-wip-limit-edit
- lable {{_ 'set-wip-limit-value'}}
+ label {{_ 'set-wip-limit-value'}}
ul.pop-over-list
li: a.js-enable-wip-limit {{_ 'enable-wip-limit'}}
if isWipLimitEnabled
i.fa.fa-check
if isWipLimitEnabled
p
- input.wip-limit-value(type="number" value="{{ wipLimitValue }}" min="1" max="99" onkeydown="return false")
+ input.wip-limit-value(type="number" value="{{ wipLimitValue }}" min="1" max="99")
input.wip-limit-apply(type="submit" value="{{_ 'apply'}}")
input.wip-limit-error
+ p
+ .soft-wip-limit
+ .materialCheckBox(class="{{#if isWipLimitSoft}}is-checked{{/if}}")
+ label {{_ 'soft-wip-limit'}}
template(name="wipLimitErrorPopup")
.wip-limit-invalid
diff --git a/client/components/lists/listHeader.js b/client/components/lists/listHeader.js
index 9974c788..04dba683 100644
--- a/client/components/lists/listHeader.js
+++ b/client/components/lists/listHeader.js
@@ -1,4 +1,9 @@
BlazeComponent.extendComponent({
+ canSeeAddCard() {
+ const list = Template.currentData();
+ return !list.getWipLimit('enabled') || list.getWipLimit('soft') || !this.reachedWipLimit();
+ },
+
editTitle(evt) {
evt.preventDefault();
const newTitle = this.childComponents('inlinedForm')[0].getValue().trim();
@@ -13,18 +18,15 @@ BlazeComponent.extendComponent({
return list.findWatcher(Meteor.userId());
},
- isWipLimitEnabled() {
- const wipLimit = this.currentData().getWipLimit();
- if(!wipLimit) {
- return 0;
- }
- return wipLimit.enabled && wipLimit.value > 0;
- },
-
limitToShowCardsCount() {
return Meteor.user().getLimitToShowCardsCount();
},
+ reachedWipLimit() {
+ const list = Template.currentData();
+ return list.getWipLimit('enabled') && list.getWipLimit('value') <= list.cards().count();
+ },
+
showCardsCountForList(count) {
return count > this.limitToShowCardsCount();
},
@@ -82,7 +84,7 @@ BlazeComponent.extendComponent({
const list = Template.currentData();
const limit = parseInt(Template.instance().$('.wip-limit-value').val(), 10);
- if(limit < list.cards().count()){
+ if(limit < list.cards().count() && !list.getWipLimit('soft')){
Template.instance().$('.wip-limit-error').click();
} else {
Meteor.call('applyWipLimit', list._id, limit);
@@ -90,15 +92,28 @@ BlazeComponent.extendComponent({
}
},
+ enableSoftLimit() {
+ const list = Template.currentData();
+
+ if(list.getWipLimit('soft') && list.getWipLimit('value') < list.cards().count()){
+ list.setWipLimit(list.cards().count());
+ }
+ Meteor.call('enableSoftLimit', Template.currentData()._id);
+ },
+
enableWipLimit() {
const list = Template.currentData();
// Prevent user from using previously stored wipLimit.value if it is less than the current number of cards in the list
- if(list.getWipLimit() && !list.getWipLimit('enabled') && list.getWipLimit('value') < list.cards().count()){
+ if(!list.getWipLimit('enabled') && list.getWipLimit('value') < list.cards().count()){
list.setWipLimit(list.cards().count());
}
Meteor.call('enableWipLimit', list._id);
},
+ isWipLimitSoft() {
+ return Template.currentData().getWipLimit('soft');
+ },
+
isWipLimitEnabled() {
return Template.currentData().getWipLimit('enabled');
},
@@ -112,6 +127,7 @@ BlazeComponent.extendComponent({
'click .js-enable-wip-limit': this.enableWipLimit,
'click .wip-limit-apply': this.applyWipLimit,
'click .wip-limit-error': Popup.open('wipLimitError'),
+ 'click .materialCheckBox': this.enableSoftLimit,
}];
},
}).register('setWipLimitPopup');
diff --git a/client/components/main/layouts.jade b/client/components/main/layouts.jade
index a51a35e0..4d76aabb 100644
--- a/client/components/main/layouts.jade
+++ b/client/components/main/layouts.jade
@@ -8,6 +8,7 @@ head
difficult to do that cleanly with Blaze -- at least without adding extra
packages.
link(rel="shortcut icon" href="/wekan-favicon.png")
+ link(rel="apple-touch-icon" href="/wekan-favicon.png")
link(rel="manifest" href="/wekan-manifest.json")
template(name="userFormsLayout")
diff --git a/client/components/settings/peopleBody.jade b/client/components/settings/peopleBody.jade
new file mode 100644
index 00000000..d6568720
--- /dev/null
+++ b/client/components/settings/peopleBody.jade
@@ -0,0 +1,89 @@
+template(name="people")
+ .setting-content
+ unless currentUser.isAdmin
+ | {{_ 'error-notAuthorized'}}
+ else
+ .content-title
+ span {{_ 'people'}}
+ .content-body
+ .side-menu
+ ul
+ li.active
+ a.js-setting-menu(data-id="people-setting") {{_ 'people'}}
+ .main-body
+ if loading.get
+ +spinner
+ else if people.get
+ +peopleGeneral
+
+template(name="peopleGeneral")
+ table
+ tbody
+ tr
+ th {{_ 'username'}}
+ th {{_ 'fullname'}}
+ th {{_ 'admin'}}
+ th {{_ 'email'}}
+ th {{_ 'verified'}}
+ th {{_ 'createdAt'}}
+ th {{_ 'active'}}
+ th
+ each user in peopleList
+ +peopleRow(userId=user._id)
+
+template(name="peopleRow")
+ tr
+ td.username {{ userData.username }}
+ td {{ userData.profile.fullname }}
+ td
+ if userData.isAdmin
+ | {{_ 'yes'}}
+ else
+ | {{_ 'no'}}
+ td {{ userData.emails.[0].address }}
+ td
+ if userData.emails.[0].verified
+ | {{_ 'yes'}}
+ else
+ | {{_ 'no'}}
+ td {{ moment userData.createdAt 'LLL' }}
+ td
+ if userData.loginDisabled
+ | {{_ 'no'}}
+ else
+ | {{_ 'yes'}}
+ td
+ a.edit-user
+ | {{_ 'edit'}}
+
+template(name="editUserPopup")
+ form
+ label.hide.userId(type="text" value=user._id)
+ label
+ | {{_ 'fullname'}}
+ input.js-profile-fullname(type="text" value=user.profile.fullname autofocus)
+ label
+ | {{_ 'username'}}
+ span.error.hide.username-taken
+ | {{_ 'error-username-taken'}}
+ input.js-profile-username(type="text" value=user.username)
+ label
+ | {{_ 'initials'}}
+ input.js-profile-initials(type="text" value=user.profile.initials)
+ label
+ | {{_ 'email'}}
+ span.error.hide.email-taken
+ | {{_ 'error-email-taken'}}
+ input.js-profile-email(type="email" value="{{user.emails.[0].address}}")
+ label
+ | {{_ 'admin'}}
+ select.select-role.js-profile-isadmin
+ option(value="false") {{_ 'no'}}
+ option(value="true" selected="{{user.isAdmin}}") {{_ 'yes'}}
+ label
+ | {{_ 'active'}}
+ select.select-active.js-profile-isactive
+ option(value="false") {{_ 'yes'}}
+ option(value="true" selected="{{user.loginDisabled}}") {{_ 'no'}}
+
+ input.primary.wide(type="submit" value="{{_ 'save'}}")
diff --git a/client/components/settings/peopleBody.js b/client/components/settings/peopleBody.js
new file mode 100644
index 00000000..d0da60d0
--- /dev/null
+++ b/client/components/settings/peopleBody.js
@@ -0,0 +1,156 @@
+const usersPerPage = 25;
+
+BlazeComponent.extendComponent({
+ mixins() {
+ return [Mixins.InfiniteScrolling];
+ },
+ onCreated() {
+ this.error = new ReactiveVar('');
+ this.loading = new ReactiveVar(false);
+ this.people = new ReactiveVar(true);
+
+ this.page = new ReactiveVar(1);
+ this.loadNextPageLocked = false;
+ this.callFirstWith(null, 'resetNextPeak');
+ this.autorun(() => {
+ const limit = this.page.get() * usersPerPage;
+
+ this.subscribe('people', limit, () => {
+ this.loadNextPageLocked = false;
+ const nextPeakBefore = this.callFirstWith(null, 'getNextPeak');
+ this.calculateNextPeak();
+ const nextPeakAfter = this.callFirstWith(null, 'getNextPeak');
+ if (nextPeakBefore === nextPeakAfter) {
+ this.callFirstWith(null, 'resetNextPeak');
+ }
+ });
+ });
+ },
+ loadNextPage() {
+ if (this.loadNextPageLocked === false) {
+ this.page.set(this.page.get() + 1);
+ this.loadNextPageLocked = true;
+ }
+ },
+ calculateNextPeak() {
+ const element = this.find('.main-body');
+ if (element) {
+ const altitude = element.scrollHeight;
+ this.callFirstWith(this, 'setNextPeak', altitude);
+ }
+ },
+ reachNextPeak() {
+ this.loadNextPage();
+ },
+ setError(error) {
+ this.error.set(error);
+ },
+ setLoading(w) {
+ this.loading.set(w);
+ },
+ peopleList() {
+ return Users.find({}, {
+ fields: {_id: true},
+ });
+ },
+}).register('people');
+
+Template.peopleRow.helpers({
+ userData() {
+ const userCollection = this.esSearch ? ESSearchResults : Users;
+ return userCollection.findOne(this.userId);
+ },
+});
+
+Template.editUserPopup.helpers({
+ user() {
+ return Users.findOne(this.userId);
+ },
+});
+
+BlazeComponent.extendComponent({
+ onCreated() {
+ },
+ user() {
+ return Users.findOne(this.userId);
+ },
+ events() {
+ return [{
+ 'click a.edit-user': Popup.open('editUser'),
+ }];
+ },
+}).register('peopleRow');
+
+Template.editUserPopup.events({
+ submit(evt, tpl) {
+ evt.preventDefault();
+ const user = Users.findOne(this.userId);
+ const fullname = tpl.find('.js-profile-fullname').value.trim();
+ const username = tpl.find('.js-profile-username').value.trim();
+ const initials = tpl.find('.js-profile-initials').value.trim();
+ const isAdmin = tpl.find('.js-profile-isadmin').value.trim();
+ const isActive = tpl.find('.js-profile-isactive').value.trim();
+ const email = tpl.find('.js-profile-email').value.trim();
+ let isChangeUserName = false;
+ let isChangeEmail = false;
+
+ Users.update(this.userId, {
+ $set: {
+ 'profile.fullname': fullname,
+ 'profile.initials': initials,
+ 'isAdmin': isAdmin === 'true',
+ 'loginDisabled': isActive === 'true',
+ },
+ });
+
+ isChangeUserName = username !== user.username;
+ isChangeEmail = email.toLowerCase() !== user.emails[0].address.toLowerCase();
+
+ if (isChangeUserName && isChangeEmail) {
+ Meteor.call('setUsernameAndEmail', username, email.toLowerCase(), this.userId, function (error) {
+ const usernameMessageElement = tpl.$('.username-taken');
+ const emailMessageElement = tpl.$('.email-taken');
+ if (error) {
+ const errorElement = error.error;
+ if (errorElement === 'username-already-taken') {
+ usernameMessageElement.show();
+ emailMessageElement.hide();
+ } else if (errorElement === 'email-already-taken') {
+ usernameMessageElement.hide();
+ emailMessageElement.show();
+ }
+ } else {
+ usernameMessageElement.hide();
+ emailMessageElement.hide();
+ Popup.close();
+ }
+ });
+ } else if (isChangeUserName) {
+ Meteor.call('setUsername', username, this.userId, function (error) {
+ const usernameMessageElement = tpl.$('.username-taken');
+ if (error) {
+ const errorElement = error.error;
+ if (errorElement === 'username-already-taken') {
+ usernameMessageElement.show();
+ }
+ } else {
+ usernameMessageElement.hide();
+ Popup.close();
+ }
+ });
+ } else if (isChangeEmail) {
+ Meteor.call('setEmail', email.toLowerCase(), this.userId, function (error) {
+ const emailMessageElement = tpl.$('.email-taken');
+ if (error) {
+ const errorElement = error.error;
+ if (errorElement === 'email-already-taken') {
+ emailMessageElement.show();
+ }
+ } else {
+ emailMessageElement.hide();
+ Popup.close();
+ }
+ });
+ } else Popup.close();
+ },
+});
diff --git a/client/components/settings/peopleBody.styl b/client/components/settings/peopleBody.styl
new file mode 100644
index 00000000..2e89ea3b
--- /dev/null
+++ b/client/components/settings/peopleBody.styl
@@ -0,0 +1,15 @@
+.main-body
+ overflow: scroll;
+
+table
+ font-family: arial, sans-serif;
+ border-collapse: collapse;
+ width: 100%;
+
+ td, th
+ border: 1px solid #d2d0d0;
+ text-align: left;
+ padding: 8px;
+
+ tr:nth-child(even)
+ background-color: #dddddd;
diff --git a/client/components/settings/settingHeader.jade b/client/components/settings/settingHeader.jade
index c22cf5c6..c2d4db3a 100644
--- a/client/components/settings/settingHeader.jade
+++ b/client/components/settings/settingHeader.jade
@@ -9,13 +9,14 @@ template(name="settingHeaderBar")
a.setting-header-btn.settings(href="{{pathFor 'setting'}}")
i.fa(class="fa-cog")
span {{_ 'settings'}}
+
+ a.setting-header-btn.people(href="{{pathFor 'people'}}")
+ i.fa(class="fa-users")
+ span {{_ 'people'}}
+
a.setting-header-btn.informations(href="{{pathFor 'information'}}")
i.fa(class="fa-info-circle")
span {{_ 'info'}}
-//TODO
-// a.setting-header-btn.people
-// i.fa(class="fa-users")
-// span {{_ 'people'}}
else
a.setting-header-btn.js-log-in(
diff --git a/client/components/users/userHeader.js b/client/components/users/userHeader.js
index 90205ee1..481b13c3 100644
--- a/client/components/users/userHeader.js
+++ b/client/components/users/userHeader.js
@@ -42,7 +42,7 @@ Template.editProfilePopup.events({
isChangeUserName = username !== Meteor.user().username;
isChangeEmail = email.toLowerCase() !== Meteor.user().emails[0].address.toLowerCase();
if (isChangeUserName && isChangeEmail) {
- Meteor.call('setUsernameAndEmail', username, email.toLowerCase(), function(error) {
+ Meteor.call('setUsernameAndEmail', username, email.toLowerCase(), Meteor.userId(), function (error) {
const usernameMessageElement = tpl.$('.username-taken');
const emailMessageElement = tpl.$('.email-taken');
if (error) {
@@ -61,7 +61,7 @@ Template.editProfilePopup.events({
}
});
} else if (isChangeUserName) {
- Meteor.call('setUsername', username, function(error) {
+ Meteor.call('setUsername', username, Meteor.userId(), function (error) {
const messageElement = tpl.$('.username-taken');
if (error) {
messageElement.show();
@@ -71,7 +71,7 @@ Template.editProfilePopup.events({
}
});
} else if (isChangeEmail) {
- Meteor.call('setEmail', email.toLowerCase(), function(error) {
+ Meteor.call('setEmail', email.toLowerCase(), Meteor.userId(), function (error) {
const messageElement = tpl.$('.email-taken');
if (error) {
messageElement.show();
@@ -105,7 +105,7 @@ Template.editNotificationPopup.events({
// XXX For some reason the useraccounts autofocus isnt working in this case.
// See https://github.com/meteor-useraccounts/core/issues/384
-Template.changePasswordPopup.onRendered(function() {
+Template.changePasswordPopup.onRendered(function () {
this.find('#at-field-current_password').focus();
});
@@ -116,7 +116,7 @@ Template.changeLanguagePopup.helpers({
tag: code,
name: lang.name === 'br' ? 'Brezhoneg' : lang.name,
};
- }).sort(function(a, b) {
+ }).sort(function (a, b) {
if (a.name === b.name) {
return 0;
} else {
diff --git a/config/router.js b/config/router.js
index 7f657820..c86a92ac 100644
--- a/config/router.js
+++ b/config/router.js
@@ -140,6 +140,26 @@ FlowRouter.route('/information', {
},
});
+FlowRouter.route('/people', {
+ name: 'people',
+ triggersEnter: [
+ AccountsTemplates.ensureSignedIn,
+ () => {
+ Session.set('currentBoard', null);
+ Session.set('currentCard', null);
+
+ Filter.reset();
+ EscapeActions.executeAll();
+ },
+ ],
+ action() {
+ BlazeLayout.render('defaultLayout', {
+ headerBar: 'settingHeaderBar',
+ content: 'people',
+ });
+ },
+});
+
FlowRouter.notFound = {
action() {
BlazeLayout.render('defaultLayout', { content: 'notFound' });
diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json
index a68706e6..daaf977c 100644
--- a/i18n/ar.i18n.json
+++ b/i18n/ar.i18n.json
@@ -54,7 +54,7 @@
"addMemberPopup-title": "الأعضاء",
"admin": "المدير",
"admin-desc": "إمكانية مشاهدة و تعديل و حذف أعضاء ، و تعديل إعدادات اللوحة أيضا.",
- "admin-announcement": "Announcement",
+ "admin-announcement": "إعلان",
"admin-announcement-active": "Active System-Wide Announcement",
"admin-announcement-title": "Announcement from Administrator",
"all-boards": "كل اللوحات",
@@ -150,8 +150,8 @@
"comment-only-desc": "يمكن التعليق على بطاقات فقط.",
"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",
+ "copy-card-link-to-clipboard": "نسخ رابط البطاقة إلى الحافظة",
+ "copyCardPopup-title": "نسخ البطاقة",
"create": "إنشاء",
"createBoardPopup-title": "إنشاء لوحة",
"chooseBoardSourcePopup-title": "استيراد لوحة",
@@ -172,6 +172,7 @@
"edit-avatar": "تعديل الصورة الشخصية",
"edit-profile": "تعديل الملف الشخصي",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "تغيير تاريخ البدء",
"editCardDueDatePopup-title": "تغيير تاريخ الاستحقاق",
"editLabelPopup-title": "تعديل العلامة",
@@ -201,7 +202,7 @@
"error-user-notAllowSelf": "لا يمكنك دعوة نفسك",
"error-user-notCreated": "This user is not created",
"error-username-taken": "إسم المستخدم مأخوذ مسبقا",
- "error-email-taken": "Email has already been taken",
+ "error-email-taken": "البريد الإلكتروني مأخوذ بالفعل",
"export-board": "Export board",
"filter": "تصفية",
"filter-cards": "تصفية البطاقات",
@@ -232,7 +233,7 @@
"import-show-user-mapping": "Review members mapping",
"import-user-select": "Pick the Wekan user you want to use as this member",
"importMapMembersAddPopup-title": "حدّد عضو ويكان",
- "info": "Version",
+ "info": "الإصدار",
"initials": "أولية",
"invalid-date": "تاريخ غير صالح",
"joined": "انضمّ",
@@ -246,7 +247,7 @@
"last-admin-desc": "لا يمكن تعديل الأدوار لأن ذلك يتطلب صلاحيات المدير.",
"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 ?",
+ "leaveBoardPopup-title": "مغادرة اللوحة ؟",
"link-card": "ربط هذه البطاقة",
"list-archive-cards": "أرضفت بطاقات هذه القائمة",
"list-archive-cards-pop": "سيقتضي هذا أرشفة جميع بطاقات هذه القائمة. لمشاهدة أرشيف البطاقات أو إعادتها إلى اللوحة، اضغط على -القائمة- ثم - أرشيف العناصر-",
@@ -267,12 +268,12 @@
"menu": "القائمة",
"move-selection": "Move selection",
"moveCardPopup-title": "نقل البطاقة",
- "moveCardToBottom-title": "Move to Bottom",
- "moveCardToTop-title": "Move to Top",
+ "moveCardToBottom-title": "التحرك إلى القاع",
+ "moveCardToTop-title": "التحرك إلى الأعلى",
"moveSelectionPopup-title": "Move selection",
"multi-selection": "تحديد أكثر من واحدة",
"multi-selection-on": "Multi-Selection is on",
- "muted": "Muted",
+ "muted": "مكتوم",
"muted-info": "You will never be notified of any changes in this board",
"my-boards": "لوحاتي",
"name": "اسم",
@@ -290,7 +291,7 @@
"page-not-found": "صفحة غير موجودة",
"password": "كلمة المرور",
"paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)",
- "participating": "Participating",
+ "participating": "المشاركة",
"preview": "Preview",
"previewAttachedImagePopup-title": "Preview",
"previewClipboardImagePopup-title": "Preview",
@@ -302,8 +303,8 @@
"quick-access-description": "أضف لوحة إلى المفضلة لإنشاء اختصار في هذا الشريط.",
"remove-cover": "حذف الغلاف",
"remove-from-board": "حذف من اللوحة",
- "remove-label": "Remove Label",
- "listDeletePopup-title": "Delete List ?",
+ "remove-label": "إزالة التصنيف",
+ "listDeletePopup-title": "حذف القائمة ؟",
"remove-member": "حذف العضو",
"remove-member-from-card": "حذف من البطاقة",
"remove-member-pop": "حذف __name__ (__username__) من __boardTitle__ ? سيتم حذف هذا العضو من جميع بطاقة اللوحة مع إرسال إشعار له بذاك.",
@@ -313,7 +314,7 @@
"restore": "استعادة",
"save": "حفظ",
"search": "بحث",
- "select-color": "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",
@@ -325,9 +326,9 @@
"shortcut-show-shortcuts": "عرض قائمة الإختصارات ،تلك",
"shortcut-toggle-filterbar": "Toggle Filter Sidebar",
"shortcut-toggle-sidebar": "إظهار-إخفاء الشريط الجانبي للوحة",
- "show-cards-minimum-count": "Show cards count if list contains more than",
- "sidebar-open": "Open Sidebar",
- "sidebar-close": "Close Sidebar",
+ "show-cards-minimum-count": "إظهار عدد البطاقات إذا كانت القائمة تتضمن أكثر من",
+ "sidebar-open": "فتح الشريط الجانبي",
+ "sidebar-close": "إغلاق الشريط الجانبي",
"signupPopup-title": "إنشاء حساب",
"star-board-title": "اضغط لإضافة هذه اللوحة إلى المفضلة . سوف يتم إظهارها على رأس بقية اللوحات.",
"starred-boards": "اللوحات المفضلة",
@@ -336,72 +337,75 @@
"team": "فريق",
"this-board": "هذه اللوحة",
"this-card": "هذه البطاقة",
- "time": "Time",
+ "time": "الوقت",
"title": "عنوان",
- "tracking": "Tracking",
+ "tracking": "تتبع",
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
"unassign-member": "إلغاء تعيين العضو",
"unsaved-description": "لديك وصف غير محفوظ",
- "unwatch": "Unwatch",
+ "unwatch": "غير مُشاهد",
"upload": "Upload",
"upload-avatar": "رفع صورة شخصية",
"uploaded-avatar": "تم رفع الصورة الشخصية",
"username": "اسم المستخدم",
"view-it": "شاهدها",
"warn-list-archived": "انتبه : هذه البطاقة في أرشيف القائمات",
- "watch": "Watch",
- "watching": "Watching",
+ "watch": "مُشاهد",
+ "watching": "مشاهدة",
"watching-info": "You will be notified of any change in this board",
"welcome-board": "لوحة التّرحيب",
- "welcome-list1": "Basics",
- "welcome-list2": "Advanced",
+ "welcome-list1": "المبادئ",
+ "welcome-list2": "متقدم",
"what-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",
+ "admin-panel": "لوحة التحكم",
+ "settings": "الإعدادات",
+ "people": "الناس",
+ "registration": "تسجيل",
"disable-self-registration": "Disable Self-Registration",
- "invite": "Invite",
- "invite-people": "Invite People",
+ "invite": "دعوة",
+ "invite-people": "الناس المدعوين",
"to-boards": "إلى اللوحات",
- "email-addresses": "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-tls-description": "تفعيل دعم TLS من اجل خادم SMTP",
+ "smtp-host": "مضيف SMTP",
+ "smtp-port": "منفذ SMTP",
"smtp-username": "اسم المستخدم",
"smtp-password": "كلمة المرور",
- "smtp-tls": "TLS support",
- "send-from": "From",
- "invitation-code": "Invitation Code",
- "email-invite-register-subject": "__inviter__ sent you an invitation",
+ "smtp-tls": "دعم التي ال سي",
+ "send-from": "من",
+ "invitation-code": "رمز الدعوة",
+ "email-invite-register-subject": "__inviter__ أرسل دعوة لك",
"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.",
- "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",
- "yes": "Yes",
- "no": "No",
- "accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "error-invitation-code-not-exist": "رمز الدعوة غير موجود",
+ "error-notAuthorized": "أنتَ لا تملك الصلاحيات لرؤية هذه الصفحة.",
+ "outgoing-webhooks": "الويبهوك الصادرة",
+ "outgoingWebhooksPopup-title": "الويبهوك الصادرة",
+ "new-outgoing-webhook": "ويبهوك جديدة ",
+ "no-name": "(غير معروف)",
+ "Wekan_version": "إصدار ويكان",
+ "Node_version": "إصدار النود",
+ "OS_Arch": "معمارية نظام التشغيل",
+ "OS_Cpus": "استهلاك وحدة المعالجة المركزية لنظام التشغيل",
+ "OS_Freemem": "الذاكرة الحرة لنظام التشغيل",
+ "OS_Loadavg": "متوسط حمل نظام التشغيل",
+ "OS_Platform": "منصة نظام التشغيل",
+ "OS_Release": "إصدار نظام التشغيل",
+ "OS_Totalmem": "الذاكرة الكلية لنظام التشغيل",
+ "OS_Type": "نوع نظام التشغيل",
+ "OS_Uptime": "مدة تشغيل نظام التشغيل",
+ "hours": "الساعات",
+ "minutes": "الدقائق",
+ "seconds": "الثواني",
+ "yes": "نعم",
+ "no": "لا",
+ "accounts": "الحسابات",
+ "accounts-allowEmailChange": "السماح بتغيير البريد الإلكتروني",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json
index 3a51ddcd..9cd5603b 100644
--- a/i18n/br.i18n.json
+++ b/i18n/br.i18n.json
@@ -172,6 +172,7 @@
"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",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json
index 18a5d21c..057dd08a 100644
--- a/i18n/ca.i18n.json
+++ b/i18n/ca.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Canvia Avatar",
"edit-profile": "Edita el teu Perfil",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Canvia data d'inici",
"editCardDueDatePopup-title": "Canvia data de finalització",
"editLabelPopup-title": "Canvia etiqueta",
@@ -403,5 +404,8 @@
"yes": "Si",
"no": "No",
"accounts": "Comptes",
- "accounts-allowEmailChange": "Permet modificar correu electrònic"
+ "accounts-allowEmailChange": "Permet modificar correu electrònic",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json
index 428a323e..f4556a99 100644
--- a/i18n/cs.i18n.json
+++ b/i18n/cs.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Změnit avatar",
"edit-profile": "Upravit profil",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Změnit datum startu úkolu",
"editCardDueDatePopup-title": "Změnit datum dokončení úkolu",
"editLabelPopup-title": "Změnit štítek",
@@ -403,5 +404,8 @@
"yes": "Ano",
"no": "Ne",
"accounts": "Účty",
- "accounts-allowEmailChange": "Povolit změnu Emailu"
+ "accounts-allowEmailChange": "Povolit změnu Emailu",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index 0dd43edd..766b1d5b 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -72,7 +72,7 @@
"archived-items": "Archivierte Einträge",
"archived-boards": "Achivierte Boards",
"restore-board": "Board wiederherstellen",
- "no-archived-boards": "keine archivierten Boards",
+ "no-archived-boards": "Keine archivierten Boards",
"archives": "Archive",
"assign-member": "Mitglied zuweisen",
"attached": "angehängt",
@@ -88,7 +88,7 @@
"board-not-found": "Board nicht gefunden",
"board-private-info": "Dieses Board wird <strong>privat</strong> sein.",
"board-public-info": "Dieses Board wird <strong>öffentlich</strong> sein.",
- "boardChangeColorPopup-title": "Boardfarbe ändern",
+ "boardChangeColorPopup-title": "Farbe des Boards ändern",
"boardChangeTitlePopup-title": "Board umbenennen",
"boardChangeVisibilityPopup-title": "Sichtbarkeit ändern",
"boardChangeWatchPopup-title": "Beobachtung ändern",
@@ -97,7 +97,7 @@
"bucket-example": "z.B. \"Löffelliste\"",
"cancel": "Abbrechen",
"card-archived": "Diese Karte wurde archiviert.",
- "card-comments-title": "Diese Karte hat %s Kommentare.",
+ "card-comments-title": "Diese Karte hat %s Kommentar(e).",
"card-delete-notice": "Löschen ist unwiderruflich. Alle Aktionen die dieser Karte zugeordnet sind werden ebenfalls gelöscht.",
"card-delete-pop": "Alle Aktionen werden vom Aktivitätsfeed entfernt und die Karte kann nicht mehr geöffnet werden. Das Löschen kann nicht widerrufen werden!",
"card-delete-suggest-archive": "Sie können eine Karte archivieren, um sie von dem Board zu entfernen und die Aktivitäten zu behalten.",
@@ -172,6 +172,7 @@
"edit-avatar": "Profilbild ändern",
"edit-profile": "Profil ändern",
"edit-wip-limit": "WIP-Limit bearbeiten",
+ "soft-wip-limit": "Soft WIP-Limit",
"editCardStartDatePopup-title": "Startdatum ändern",
"editCardDueDatePopup-title": "Enddatum ändern",
"editLabelPopup-title": "Label ändern",
@@ -228,7 +229,7 @@
"import-board-instruction-wekan": "Gehen Sie in Ihrem Wekan board auf 'Menü', und dann auf 'Board exportieren'. Kopieren Sie anschließend den Text aus der heruntergeladenen Datei.",
"import-json-placeholder": "Fügen Sie die korrekten JSON-Daten hier ein",
"import-map-members": "Mitglieder zuordnen",
- "import-members-map": "Das importierte Board hat einige Mitglieder. Bitte ordnen Sie die Mitglieder, die importiert werden sollen, Wekan-Nutzern zu",
+ "import-members-map": "Das importierte Board hat Mitglieder. Bitte ordnen Sie jene, die importiert werden sollen, vorhandenen Wekan-Nutzern zu",
"import-show-user-mapping": "Mitgliederzuordnung überprüfen",
"import-user-select": "Wählen Sie den Wekan-Nutzer aus, der dieses Mitglied sein soll",
"importMapMembersAddPopup-title": "Wekan-Nutzer auswählen",
@@ -267,13 +268,13 @@
"menu": "Menü",
"move-selection": "Auswahl verschieben",
"moveCardPopup-title": "Karte verschieben",
- "moveCardToBottom-title": "Zum Ende verschieben",
+ "moveCardToBottom-title": "Ans Ende verschieben",
"moveCardToTop-title": "Zum Anfang verschieben",
"moveSelectionPopup-title": "Auswahl verschieben",
"multi-selection": "Mehrfachauswahl",
"multi-selection-on": "Mehrfachauswahl ist aktiv",
"muted": "Stumm",
- "muted-info": "Sie werden über keine Änderung in diesem Board benachrichtigt",
+ "muted-info": "Sie werden nicht über Änderungen auf diesem Board benachrichtigt",
"my-boards": "Meine Boards",
"name": "Name",
"no-archived-cards": "Keine archivierten Karten.",
@@ -282,7 +283,7 @@
"normal": "Normal",
"normal-desc": "Kann Karten anschauen und bearbeiten, aber keine Einstellungen ändern.",
"not-accepted-yet": "Die Einladung wurde noch nicht angenommen",
- "notify-participate": "Benachrichtigungen über alle Karten erhalten, bei denen Sie als Ersteller oder Mitglied teilnehmen",
+ "notify-participate": "Benachrichtigungen zu allen Karten erhalten, an denen Sie teilnehmen",
"notify-watch": "Benachrichtigungen über alle Boards, Listen oder Karten erhalten, die Sie beobachten",
"optional": "optional",
"or": "oder",
@@ -403,5 +404,8 @@
"yes": "Ja",
"no": "Nein",
"accounts": "Konten",
- "accounts-allowEmailChange": "Zulassen E-Mail ändern"
+ "accounts-allowEmailChange": "E-Mail ändern zulassen",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json
index 568976b5..c3d783c1 100644
--- a/i18n/en-GB.i18n.json
+++ b/i18n/en-GB.i18n.json
@@ -172,6 +172,7 @@
"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",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index ccd28c5f..5ec6a5f0 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -172,6 +172,7 @@
"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",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
}
diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json
index 0bb850af..6abb07d6 100644
--- a/i18n/eo.i18n.json
+++ b/i18n/eo.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Redakti profilo",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Redakti komencdato",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Ŝanĝi etikedo",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json
new file mode 100644
index 00000000..85508e14
--- /dev/null
+++ b/i18n/es-AR.i18n.json
@@ -0,0 +1,411 @@
+{
+ "accept": "Aceptar",
+ "act-activity-notify": "[Wekan] Notificación de Actividad",
+ "act-addAttachment": "adjunto __attachment__ a __card__",
+ "act-addChecklist": "lista de ítems __checklist__ agregada a __card__",
+ "act-addChecklistItem": " __checklistItem__ agregada a lista de ítems __checklist__ en __card__",
+ "act-addComment": "comentado en __card__: __comment__",
+ "act-createBoard": "__board__ creado",
+ "act-createCard": "agregada __card__ a __list__",
+ "act-createList": "agregada __list__ a __board__",
+ "act-addBoardMember": "agregado __member__ a __board__",
+ "act-archivedBoard": "__board__ archivado",
+ "act-archivedCard": "__card__ archivada",
+ "act-archivedList": "__list__ archivada",
+ "act-importBoard": "__board__ importado",
+ "act-importCard": "__card__ importada",
+ "act-importList": "__list__ importada",
+ "act-joinMember": "__member__ agregado a __card__",
+ "act-moveCard": "__card__ movida de __oldList__ a __list__",
+ "act-removeBoardMember": "__member__ removido de __board__",
+ "act-restoredCard": "__card__ restaurada a __board__",
+ "act-unjoinMember": "__member__ removido de __card__",
+ "act-withBoardTitle": "__board__ [Wekan]",
+ "act-withCardTitle": "__card__ [__board__] ",
+ "actions": "Acciones",
+ "activities": "Actividades",
+ "activity": "Actividad",
+ "activity-added": "agregadas %s a %s",
+ "activity-archived": "archivadas %s",
+ "activity-attached": "adjuntadas %s a %s",
+ "activity-created": "creadas %s",
+ "activity-excluded": "excluidas %s de %s",
+ "activity-imported": "importadas %s en %s de %s",
+ "activity-imported-board": "importadas %s de %s",
+ "activity-joined": "unidas %s",
+ "activity-moved": "movidas %s de %s a %s",
+ "activity-on": "en %s",
+ "activity-removed": "eliminadas %s de %s",
+ "activity-sent": "enviadas %s a %s",
+ "activity-unjoined": "separadas %s",
+ "activity-checklist-added": "agregada lista de tareas a %s",
+ "activity-checklist-item-added": "agregado item de lista de tareas a '%s' en %s",
+ "add": "Agregar",
+ "add-attachment": "Agregar Adjunto",
+ "add-board": "Agregar Tablero",
+ "add-card": "Agregar Tarjeta",
+ "add-checklist": "Agregar Lista de Tareas",
+ "add-checklist-item": "Agregar ítem a lista de tareas",
+ "add-cover": "Agregar Portadas",
+ "add-label": "Agregar Etiqueta",
+ "add-list": "Agregar Lista",
+ "add-members": "Agregar Miembros",
+ "added": "Agregadas",
+ "addMemberPopup-title": "Miembros",
+ "admin": "Administrador",
+ "admin-desc": "Puede ver y editar tarjetas, eliminar miembros, y cambiar opciones para el tablero.",
+ "admin-announcement": "Anuncio",
+ "admin-announcement-active": "Anuncio del Sistema Activo",
+ "admin-announcement-title": "Anuncio del Administrador",
+ "all-boards": "Todos los tableros",
+ "and-n-other-card": "Y __count__ otra tarjeta",
+ "and-n-other-card_plural": "Y __count__ otras tarjetas",
+ "apply": "Aplicar",
+ "app-is-offline": "Wekan está cargándose, por favor espere. Refrescar la página va a causar pérdida de datos. Si Wekan no se carga, por favor revise que el servidor de Wekan no se haya detenido.",
+ "archive": "Archivar",
+ "archive-all": "Archivar Todo",
+ "archive-board": "Archivar Tablero",
+ "archive-card": "Archivar Tarjeta",
+ "archive-list": "Archivar Lista",
+ "archive-selection": "Archivar selección",
+ "archiveBoardPopup-title": "Archivar Tablero?",
+ "archived-items": "Items Archivados",
+ "archived-boards": "Tableros Archivados",
+ "restore-board": "Restaurar Tablero",
+ "no-archived-boards": "Tableros no archivados.",
+ "archives": "Archivos",
+ "assign-member": "Asignar miembro",
+ "attached": "adjunto(s)",
+ "attachment": "Adjunto",
+ "attachment-delete-pop": "Borrar un adjunto es permanente. No hay deshacer.",
+ "attachmentDeletePopup-title": "¿Borrar Adjunto?",
+ "attachments": "Adjuntos",
+ "auto-watch": "Seguir tableros automáticamente al crearlos",
+ "avatar-too-big": "El avatar es muy grande (70KB max)",
+ "back": "Atrás",
+ "board-change-color": "Cambiar color",
+ "board-nb-stars": "%s estrellas",
+ "board-not-found": "Tablero no encontrado",
+ "board-private-info": "Este tablero va a ser <strong>privado</strong>.",
+ "board-public-info": "Este tablero va a ser <strong>público</strong>.",
+ "boardChangeColorPopup-title": "Cambiar Fondo del Tablero",
+ "boardChangeTitlePopup-title": "Renombrar Tablero",
+ "boardChangeVisibilityPopup-title": "Cambiar Visibilidad",
+ "boardChangeWatchPopup-title": "Alternar Seguimiento",
+ "boardMenuPopup-title": "Menú del Tablero",
+ "boards": "Tableros",
+ "bucket-example": "Como \"Lista de Contenedores\" por ejemplo",
+ "cancel": "Cancelar",
+ "card-archived": "Esta tarjeta está archivada",
+ "card-comments-title": "Esta tarjeta tiene %s comentario.",
+ "card-delete-notice": "Borrar es permanente. Perderás todas las acciones asociadas con esta tarjeta.",
+ "card-delete-pop": "Todas las acciones van a ser eliminadas del agregador de actividad y no podrás re-abrir la tarjeta. No hay deshacer.",
+ "card-delete-suggest-archive": "Tu puedes archivar una tarjeta para removerla del tablero y preservar la actividad.",
+ "card-due": "Vence",
+ "card-due-on": "Vence en",
+ "card-edit-attachments": "Editar adjuntos",
+ "card-edit-labels": "Editar etiquetas",
+ "card-edit-members": "Editar miembros",
+ "card-labels-title": "Cambiar las etiquetas de la tarjeta.",
+ "card-members-title": "Agregar o eliminar de la tarjeta miembros del tablero.",
+ "card-start": "Empieza",
+ "card-start-on": "Empieza el",
+ "cardAttachmentsPopup-title": "Adjuntar De",
+ "cardDeletePopup-title": "¿Borrar Tarjeta?",
+ "cardDetailsActionsPopup-title": "Acciones de la Tarjeta",
+ "cardLabelsPopup-title": "Etiquetas",
+ "cardMembersPopup-title": "Miembros",
+ "cardMorePopup-title": "Mas",
+ "cards": "Tarjetas",
+ "change": "Cambiar",
+ "change-avatar": "Cambiar Avatar",
+ "change-password": "Cambiar Contraseña",
+ "change-permissions": "Cambiar permisos",
+ "change-settings": "Cambiar Opciones",
+ "changeAvatarPopup-title": "Cambiar Avatar",
+ "changeLanguagePopup-title": "Cambiar Lenguaje",
+ "changePasswordPopup-title": "Cambiar Contraseña",
+ "changePermissionsPopup-title": "Cambiar Permisos",
+ "changeSettingsPopup-title": "Cambiar Opciones",
+ "checklists": "Listas de ítems",
+ "click-to-star": "Clickeá para darle una estrella a este tablero.",
+ "click-to-unstar": "Clickeá para sacarle la estrella al tablero.",
+ "clipboard": "Portapapeles o arrastrar y soltar",
+ "close": "Cerrar",
+ "close-board": "Cerrar Tablero",
+ "close-board-pop": "Podrás restaurar el tablero apretando el botón \"Archivos\" del encabezado en inicio.",
+ "color-black": "negro",
+ "color-blue": "azul",
+ "color-green": "verde",
+ "color-lime": "lima",
+ "color-orange": "naranja",
+ "color-pink": "rosa",
+ "color-purple": "púrpura",
+ "color-red": "rojo",
+ "color-sky": "cielo",
+ "color-yellow": "amarillo",
+ "comment": "Comentario",
+ "comment-placeholder": "Comentar",
+ "comment-only": "Comentar solamente",
+ "comment-only-desc": "Puede comentar en tarjetas solamente.",
+ "computer": "Computadora",
+ "confirm-checklist-delete-dialog": "¿Estás segur@ que querés borrar la lista de ítems?",
+ "copy-card-link-to-clipboard": "Copiar enlace a tarjeta en el portapapeles",
+ "copyCardPopup-title": "Copiar Tarjeta",
+ "create": "Crear",
+ "createBoardPopup-title": "Crear Tablero",
+ "chooseBoardSourcePopup-title": "Importar tablero",
+ "createLabelPopup-title": "Crear Etiqueta",
+ "current": "actual",
+ "date": "Fecha",
+ "decline": "Rechazar",
+ "default-avatar": "Avatar por defecto",
+ "delete": "Borrar",
+ "deleteLabelPopup-title": "¿Borrar Etiqueta?",
+ "description": "Descripción",
+ "disambiguateMultiLabelPopup-title": "Desambiguación de Acción de Etiqueta",
+ "disambiguateMultiMemberPopup-title": "Desambiguación de Acción de Miembro",
+ "discard": "Descartar",
+ "done": "Hecho",
+ "download": "Descargar",
+ "edit": "Editar",
+ "edit-avatar": "Cambiar Avatar",
+ "edit-profile": "Editar Perfil",
+ "edit-wip-limit": "Editar Lìmite de TEP",
+ "soft-wip-limit": "Soft WIP Limit",
+ "editCardStartDatePopup-title": "Cambiar fecha de inicio",
+ "editCardDueDatePopup-title": "Cambiar fecha de vencimiento",
+ "editLabelPopup-title": "Cambiar Etiqueta",
+ "editNotificationPopup-title": "Editar Notificació",
+ "editProfilePopup-title": "Editar Perfil",
+ "email": "Email",
+ "email-enrollAccount-subject": "Una cuenta creada para vos en __siteName__",
+ "email-enrollAccount-text": "Hola __user__,\n\nPara empezar a usar el servicio, simplemente clickeá en el enlace de abajo.\n\n__url__\n\nGracias.",
+ "email-fail": "Fallo envío de email",
+ "email-invalid": "Email inválido",
+ "email-invite": "Invitar vía Email",
+ "email-invite-subject": "__inviter__ te envió una invitación",
+ "email-invite-text": "Querido __user__,\n\n__inviter__ te invita a unirte al tablero \"__board__\" para colaborar.\n\nPor favor sigue el enlace de abajo:\n\n__url__\n\nGracias.",
+ "email-resetPassword-subject": "Restaurá tu contraseña en __siteName__",
+ "email-resetPassword-text": "Hola __user__,\n\nPara restaurar tu contraseña, simplemente clickeá el enlace de abajo.\n\n__url__\n\nGracias.",
+ "email-sent": "Email enviado",
+ "email-verifyEmail-subject": "Verificá tu dirección de email en __siteName__",
+ "email-verifyEmail-text": "Hola __user__,\n\nPara verificar tu cuenta de email, simplemente clickeá el enlace de abajo.\n\n__url__\n\nGracias.",
+ "enable-wip-limit": "Activar Límite TEP",
+ "error-board-doesNotExist": "Este tablero no existe",
+ "error-board-notAdmin": "Necesitás ser administrador de este tablero para hacer eso",
+ "error-board-notAMember": "Necesitás ser miembro de este tablero para hacer eso",
+ "error-json-malformed": "Tu texto no es JSON válido",
+ "error-json-schema": "Tus datos JSON no incluyen la información correcta en el formato adecuado",
+ "error-list-doesNotExist": "Esta lista no existe",
+ "error-user-doesNotExist": "Este usuario no existe",
+ "error-user-notAllowSelf": "No podés invitarte a vos mismo",
+ "error-user-notCreated": " El usuario no se creó",
+ "error-username-taken": "El nombre de usuario ya existe",
+ "error-email-taken": "El email ya existe",
+ "export-board": "Exportar tablero",
+ "filter": "Filtrar",
+ "filter-cards": "Filtrar Tarjetas",
+ "filter-clear": "Sacar filtro",
+ "filter-no-label": "Sin etiqueta",
+ "filter-no-member": "No es miembro",
+ "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",
+ "fullname": "Nombre Completo",
+ "header-logo-title": "Retroceder a tu página de tableros.",
+ "hide-system-messages": "Esconder mensajes del sistema",
+ "headerBarCreateBoardPopup-title": "Crear Tablero",
+ "home": "Inicio",
+ "import": "Importar",
+ "import-board": "importar tablero",
+ "import-board-c": "Importar tablero",
+ "import-board-title-trello": "Importar tablero de Trello",
+ "import-board-title-wekan": "Importar tablero de Wekan",
+ "import-sandstorm-warning": "El tablero importado va a borrar todos los datos existentes en el tablero y reemplazarlos con los del tablero en cuestión.",
+ "from-trello": "De Trello",
+ "from-wekan": "De Wekan",
+ "import-board-instruction-trello": "En tu tablero de Trello, ve a 'Menú', luego a 'Más', 'Imprimir y Exportar', 'Exportar JSON', y copia el texto resultante.",
+ "import-board-instruction-wekan": "En tu tablero Wekan, ve a 'Menú', luego a 'Exportar tablero', y copia el texto en el archivo descargado.",
+ "import-json-placeholder": "Pegá tus datos JSON válidos acá",
+ "import-map-members": "Mapear Miembros",
+ "import-members-map": "Tu tablero importado tiene algunos miembros. Por favor mapeá los miembros que quieras importar/convertir a usuarios de Wekan.",
+ "import-show-user-mapping": "Revisar mapeo de miembros",
+ "import-user-select": "Elegí el usuario de Wekan que querés usar como éste miembro",
+ "importMapMembersAddPopup-title": "Elegí el miembro de Wekan.",
+ "info": "Versión",
+ "initials": "Iniciales",
+ "invalid-date": "Fecha inválida",
+ "joined": "unido",
+ "just-invited": "Fuiste invitado a este tablero",
+ "keyboard-shortcuts": "Atajos de teclado",
+ "label-create": "Crear Etiqueta",
+ "label-default": "%s etiqueta (por defecto)",
+ "label-delete-pop": "No hay deshacer. Esto va a eliminar esta etiqueta de todas las tarjetas y destruir su historia.",
+ "labels": "Etiquetas",
+ "language": "Lenguaje",
+ "last-admin-desc": "No podés cambiar roles porque tiene que haber al menos un administrador.",
+ "leave-board": "Dejar Tablero",
+ "leave-board-pop": "¿Estás seguro que querés dejar __boardTitle__? Vas a salir de todas las tarjetas en este tablero.",
+ "leaveBoardPopup-title": "¿Dejar Tablero?",
+ "link-card": "Enlace a esta tarjeta",
+ "list-archive-cards": "Archivar todas las tarjetas en esta lista",
+ "list-archive-cards-pop": "Esto va a eliminar las tarjetas en esta lista del tablero. Para ver tarjetas archivadas y traerlas de vuelta al tablero, clickeá \"Menú\" > \"Items Archivados\".",
+ "list-move-cards": "Mueve todas las tarjetas en esta lista",
+ "list-select-cards": "Selecciona todas las tarjetas en esta lista",
+ "listActionPopup-title": "Listar Acciones",
+ "listImportCardPopup-title": "Importar una tarjeta Trello",
+ "listMorePopup-title": "Mas",
+ "link-list": "Enlace a esta lista",
+ "list-delete-pop": "Todas las acciones van a ser eliminadas del agregador de actividad y no podás recuperar la lista. No se puede deshacer.",
+ "list-delete-suggest-archive": "Podés archivar la lista para eliminarla del tablero y preservar la actividad.",
+ "lists": "Listas",
+ "log-out": "Salir",
+ "log-in": "Entrar",
+ "loginPopup-title": "Entrar",
+ "memberMenuPopup-title": "Opciones de Miembros",
+ "members": "Miembros",
+ "menu": "Menú",
+ "move-selection": "Mover selección",
+ "moveCardPopup-title": "Mover Tarjeta",
+ "moveCardToBottom-title": "Mover al Final",
+ "moveCardToTop-title": "Mover al Tope",
+ "moveSelectionPopup-title": "Mover selección",
+ "multi-selection": "Multi-Selección",
+ "multi-selection-on": "Multi-selección está activo",
+ "muted": "Silenciado",
+ "muted-info": "No serás notificado de ningún cambio en este tablero",
+ "my-boards": "Mis Tableros",
+ "name": "Nombre",
+ "no-archived-cards": "No hay tarjetas archivadas.",
+ "no-archived-lists": "No hay listas archivadas.",
+ "no-results": "No hay resultados",
+ "normal": "Normal",
+ "normal-desc": "Puede ver y editar tarjetas. No puede cambiar opciones.",
+ "not-accepted-yet": "Invitación no aceptada todavía",
+ "notify-participate": "Recibí actualizaciones en cualquier tarjeta que participés como creador o miembro",
+ "notify-watch": "Recibí actualizaciones en cualquier tablero, lista, o tarjeta que estés siguiendo",
+ "optional": "opcional",
+ "or": "o",
+ "page-maybe-private": "Esta página puede ser privada. Vos podrás verla <a href='%s'>entrando</a>.",
+ "page-not-found": "Página no encontrada.",
+ "password": "Contraseña",
+ "paste-or-dragdrop": "pegar, arrastrar y soltar el archivo de imagen a esto (imagen sola)",
+ "participating": "Participando",
+ "preview": "Previsualización",
+ "previewAttachedImagePopup-title": "Previsualización",
+ "previewClipboardImagePopup-title": "Previsualización",
+ "private": "Privado",
+ "private-desc": "Este tablero es privado. Solo personas agregadas a este tablero pueden verlo y editarlo.",
+ "profile": "Perfil",
+ "public": "Público",
+ "public-desc": "Este tablero es público. Es visible para cualquiera con un enlace y se va a mostrar en los motores de búsqueda como Google. Solo personas agregadas a este tablero pueden editarlo.",
+ "quick-access-description": "Dale una estrella al tablero para agregar un acceso directo en esta barra.",
+ "remove-cover": "Remover Portada",
+ "remove-from-board": "Remover del Tablero",
+ "remove-label": "Remover Etiqueta",
+ "listDeletePopup-title": "¿Borrar Lista?",
+ "remove-member": "Remover Miembro",
+ "remove-member-from-card": "Remover de Tarjeta",
+ "remove-member-pop": "¿Remover __name__ (__username__) de __boardTitle__? Los miembros va a ser removido de todas las tarjetas en este tablero. Serán notificados.",
+ "removeMemberPopup-title": "¿Remover Miembro?",
+ "rename": "Renombrar",
+ "rename-board": "Renombrar Tablero",
+ "restore": "Restaurar",
+ "save": "Grabar",
+ "search": "Buscar",
+ "select-color": "Seleccionar Color",
+ "set-wip-limit-value": "Fijar un límite para el número máximo de tareas en esta lista",
+ "setWipLimitPopup-title": "Establecer Límite TEP",
+ "shortcut-assign-self": "Asignarte a vos mismo en la tarjeta actual",
+ "shortcut-autocomplete-emoji": "Autocompletar emonji",
+ "shortcut-autocomplete-members": "Autocompletar miembros",
+ "shortcut-clear-filters": "Limpiar todos los filtros",
+ "shortcut-close-dialog": "Cerrar Diálogo",
+ "shortcut-filter-my-cards": "Filtrar mis tarjetas",
+ "shortcut-show-shortcuts": "Traer esta lista de atajos",
+ "shortcut-toggle-filterbar": "Activar/Desactivar Barra Lateral de Filtros",
+ "shortcut-toggle-sidebar": "Activar/Desactivar Barra Lateral de Tableros",
+ "show-cards-minimum-count": "Mostrar cuenta de tarjetas si la lista contiene más que",
+ "sidebar-open": "Abrir Barra Lateral",
+ "sidebar-close": "Cerrar Barra Lateral",
+ "signupPopup-title": "Crear Cuenta",
+ "star-board-title": "Clickear para darle una estrella a este tablero. Se mostrará arriba en el tope de tu lista de tableros.",
+ "starred-boards": "Tableros con estrellas",
+ "starred-boards-description": "Tableros con estrellas se muestran en el tope de tu lista de tableros.",
+ "subscribe": "Suscribirse",
+ "team": "Equipo",
+ "this-board": "este tablero",
+ "this-card": "esta tarjeta",
+ "time": "Hora",
+ "title": "Título",
+ "tracking": "Seguimiento",
+ "tracking-info": "Serás notificado de cualquier cambio a aquellas tarjetas en las que seas creador o miembro.",
+ "unassign-member": "Desasignar miembro",
+ "unsaved-description": "Tienes una descripción sin guardar.",
+ "unwatch": "Dejar de seguir",
+ "upload": "Cargar",
+ "upload-avatar": "Cargar un avatar",
+ "uploaded-avatar": "Cargado un avatar",
+ "username": "Nombre de usuario",
+ "view-it": "Verlo",
+ "warn-list-archived": "cuidado; esta tarjeta está en una lista archivada",
+ "watch": "Seguir",
+ "watching": "Siguiendo",
+ "watching-info": "Serás notificado de cualquier cambio en este tablero",
+ "welcome-board": "Tablero de Bienvenida",
+ "welcome-list1": "Básicos",
+ "welcome-list2": "Avanzado",
+ "what-to-do": "¿Qué querés hacer?",
+ "wipLimitErrorPopup-title": "Límite TEP Inválido",
+ "wipLimitErrorPopup-dialog-pt1": " El número de tareas en esta lista es mayor que el límite TEP que definiste.",
+ "wipLimitErrorPopup-dialog-pt2": "Por favor mové algunas tareas fuera de esta lista, o seleccioná un límite TEP más alto.",
+ "admin-panel": "Panel de Administración",
+ "settings": "Opciones",
+ "people": "Gente",
+ "registration": "Registro",
+ "disable-self-registration": "Desactivar auto-registro",
+ "invite": "Invitar",
+ "invite-people": "Invitar Gente",
+ "to-boards": "A tarjeta(s)",
+ "email-addresses": "Dirección de Email",
+ "smtp-host-description": "La dirección del servidor SMTP que maneja tus emails",
+ "smtp-port-description": "El puerto que tu servidor SMTP usa para correos salientes",
+ "smtp-tls-description": "Activar soporte TLS para el servidor SMTP",
+ "smtp-host": "Servidor SMTP",
+ "smtp-port": "Puerto SMTP",
+ "smtp-username": "Usuario",
+ "smtp-password": "Contraseña",
+ "smtp-tls": "Soporte TLS",
+ "send-from": "De",
+ "invitation-code": "Código de Invitación",
+ "email-invite-register-subject": "__inviter__ te envió una invitación",
+ "email-invite-register-text": "Querido __user__,\n\n__inviter__ te invita a Wekan para colaborar.\n\nPor favor sigue el enlace de abajo:\n__url__\n\nI tu código de invitación es: __icode__\n\nGracias.",
+ "error-invitation-code-not-exist": "El código de invitación no existe",
+ "error-notAuthorized": "No estás autorizado para ver esta página.",
+ "outgoing-webhooks": "Ganchos Web Salientes",
+ "outgoingWebhooksPopup-title": "Ganchos Web Salientes",
+ "new-outgoing-webhook": "Nuevo Gancho Web",
+ "no-name": "(desconocido)",
+ "Wekan_version": "Versión de Wekan",
+ "Node_version": "Versión de Node",
+ "OS_Arch": "Arch del SO",
+ "OS_Cpus": "Cantidad de CPU del SO",
+ "OS_Freemem": "Memoria Libre del SO",
+ "OS_Loadavg": "Carga Promedio del SO",
+ "OS_Platform": "Plataforma del SO",
+ "OS_Release": "Revisión del SO",
+ "OS_Totalmem": "Memoria Total del SO",
+ "OS_Type": "Tipo de SO",
+ "OS_Uptime": "Tiempo encendido del SO",
+ "hours": "horas",
+ "minutes": "minutos",
+ "seconds": "segundos",
+ "yes": "Si",
+ "no": "No",
+ "accounts": "Cuentas",
+ "accounts-allowEmailChange": "Permitir Cambio de Email",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
+} \ No newline at end of file
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index 7dbd8694..24d78b96 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -25,7 +25,7 @@
"actions": "Acciones",
"activities": "Actividades",
"activity": "Actividad",
- "activity-added": "Se ha añadido a %s a %s",
+ "activity-added": "ha añadido %s a %s",
"activity-archived": "ha archivado %s",
"activity-attached": "ha adjuntado %s a %s",
"activity-created": "ha creado %s",
@@ -140,7 +140,7 @@
"color-lime": "lima",
"color-orange": "naranja",
"color-pink": "rosa",
- "color-purple": "púrpura",
+ "color-purple": "violeta",
"color-red": "roja",
"color-sky": "celeste",
"color-yellow": "amarilla",
@@ -172,6 +172,7 @@
"edit-avatar": "Cambiar el avatar",
"edit-profile": "Editar el perfil",
"edit-wip-limit": "Cambiar el límite del WIP",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Cambiar la fecha de inicio",
"editCardDueDatePopup-title": "Cambiar la fecha de vencimiento",
"editLabelPopup-title": "Cambiar la etiqueta",
@@ -320,11 +321,11 @@
"shortcut-autocomplete-emoji": "Autocompletar emoji",
"shortcut-autocomplete-members": "Autocompletar miembros",
"shortcut-clear-filters": "Limpiar todos los filtros",
- "shortcut-close-dialog": "Cerrar diálogo",
+ "shortcut-close-dialog": "Cerrar el cuadro de diálogo",
"shortcut-filter-my-cards": "Filtrar mis tarjetas",
- "shortcut-show-shortcuts": "Destacar esta lista de atajos",
- "shortcut-toggle-filterbar": "Intercambiar la barra lateral del filtro",
- "shortcut-toggle-sidebar": "Intercambiar la barra lateral del tablero",
+ "shortcut-show-shortcuts": "Mostrar esta lista de atajos",
+ "shortcut-toggle-filterbar": "Conmutar la barra lateral del filtro",
+ "shortcut-toggle-sidebar": "Conmutar la barra lateral del tablero",
"show-cards-minimum-count": "Mostrar recuento de tarjetas si la lista contiene más de",
"sidebar-open": "Abrir la barra lateral",
"sidebar-close": "Cerrar la barra lateral",
@@ -403,5 +404,8 @@
"yes": "Sí",
"no": "No",
"accounts": "Cuentas",
- "accounts-allowEmailChange": "Permitir cambiar el correo electrónico"
+ "accounts-allowEmailChange": "Permitir cambiar el correo electrónico",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json
index f3b737f9..98f64479 100644
--- a/i18n/eu.i18n.json
+++ b/i18n/eu.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Aldatu avatarra",
"edit-profile": "Editatu profila",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Aldatu hasiera data",
"editCardDueDatePopup-title": "Aldatu epemuga data",
"editLabelPopup-title": "Aldatu etiketa",
@@ -403,5 +404,8 @@
"yes": "Bai",
"no": "Ez",
"accounts": "Kontuak",
- "accounts-allowEmailChange": "Baimendu e-mail aldaketa"
+ "accounts-allowEmailChange": "Baimendu e-mail aldaketa",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json
index 10dd81bf..c90ae0e8 100644
--- a/i18n/fa.i18n.json
+++ b/i18n/fa.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "تغییر تصویر",
"edit-profile": "ویرایش پروفایل",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "تغییر تاریخ آغاز",
"editCardDueDatePopup-title": "تغییر تاریخ بدلیل",
"editLabelPopup-title": "تغیر برچسب",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json
index bff7b3a8..0231d173 100644
--- a/i18n/fi.i18n.json
+++ b/i18n/fi.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Muokkaa profiilikuvaa",
"edit-profile": "Muokkaa profiilia",
"edit-wip-limit": "Muokkaa WIP-rajaa",
+ "soft-wip-limit": "Pehmeä WIP raja",
"editCardStartDatePopup-title": "Muokkaa aloituspäivää",
"editCardDueDatePopup-title": "Muokkaa eräpäivää",
"editLabelPopup-title": "Muokkaa tunnistetta",
@@ -403,5 +404,8 @@
"yes": "Kyllä",
"no": "Ei",
"accounts": "Tilit",
- "accounts-allowEmailChange": "Salli sähköpostiosoitteen muuttaminen"
+ "accounts-allowEmailChange": "Salli sähköpostiosoitteen muuttaminen",
+ "createdAt": "Luotu",
+ "verified": "Varmistettu",
+ "active": "Aktiivinen"
} \ No newline at end of file
diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json
index 43670d5f..4778a24c 100644
--- a/i18n/fr.i18n.json
+++ b/i18n/fr.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Modifier l'avatar",
"edit-profile": "Modifier le profil",
"edit-wip-limit": "Éditer la limite WIP",
+ "soft-wip-limit": "Limite Soft WIP",
"editCardStartDatePopup-title": "Modifier la date de début",
"editCardDueDatePopup-title": "Modifier la date d'échéance",
"editLabelPopup-title": "Modifier l'étiquette",
@@ -403,5 +404,8 @@
"yes": "Oui",
"no": "Non",
"accounts": "Comptes",
- "accounts-allowEmailChange": "Autoriser le changement d'adresse mail"
+ "accounts-allowEmailChange": "Autoriser le changement d'adresse mail",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json
index bf924c15..463caae8 100644
--- a/i18n/gl.i18n.json
+++ b/i18n/gl.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Cambiar de avatar",
"edit-profile": "Editar o perfil",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Cambiar a data de inicio",
"editCardDueDatePopup-title": "Cambiar a data límite",
"editLabelPopup-title": "Cambiar a etiqueta",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json
index 4d73a884..7f80bcbd 100644
--- a/i18n/he.i18n.json
+++ b/i18n/he.i18n.json
@@ -150,7 +150,7 @@
"comment-only-desc": "ניתן להעיר על כרטיסים בלבד.",
"computer": "מחשב",
"confirm-checklist-delete-dialog": "האם אתה בטוח שברצונך למחוק את רשימת המשימות",
- "copy-card-link-to-clipboard": "Copy card link to clipboard",
+ "copy-card-link-to-clipboard": "העתקת קישור הכרטיס ללוח הגזירים",
"copyCardPopup-title": "העתק כרטיס",
"create": "יצירה",
"createBoardPopup-title": "יצירת לוח",
@@ -171,7 +171,8 @@
"edit": "עריכה",
"edit-avatar": "החלפת תמונת משתמש",
"edit-profile": "עריכת פרופיל",
- "edit-wip-limit": "Edit WIP Limit",
+ "edit-wip-limit": "עריכת מגבלת „בעבודה”",
+ "soft-wip-limit": "מגבלת „בעבודה” רכה",
"editCardStartDatePopup-title": "שינוי מועד התחלה",
"editCardDueDatePopup-title": "שינוי מועד סיום",
"editLabelPopup-title": "שינוי תווית",
@@ -190,7 +191,7 @@
"email-sent": "הודעת הדוא״ל נשלחה",
"email-verifyEmail-subject": "אימות כתובת הדוא״ל שלך באתר __siteName__",
"email-verifyEmail-text": "__user__ שלום,\n\nלאימות כתובת הדוא״ל המשויכת לחשבונך, עליך פשוט ללחוץ על הקישור המופיע להלן.\n\n__url__\n\nתודה.",
- "enable-wip-limit": "Enable WIP Limit",
+ "enable-wip-limit": "הפעלת מגבלת „בעבודה”",
"error-board-doesNotExist": "לוח זה אינו קיים",
"error-board-notAdmin": "צריכות להיות לך הרשאות ניהול על לוח זה כדי לעשות זאת",
"error-board-notAMember": "עליך לקבל חברות בלוח זה כדי לעשות זאת",
@@ -245,8 +246,8 @@
"language": "שפה",
"last-admin-desc": "אין אפשרות לשנות תפקידים כיוון שחייב להיות מנהל אחד לפחות.",
"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 ?",
+ "leave-board-pop": "לעזוב את __boardTitle__? שמך יוסר מכל הכרטיסים שבלוח זה.",
+ "leaveBoardPopup-title": "לעזוב לוח ?",
"link-card": "קישור לכרטיס זה",
"list-archive-cards": "העברת כל הכרטיסים שברשימה זו לארכיון",
"list-archive-cards-pop": "פעולה זו תסיר את כל הכרטיסים שברשימה הזו מהלוח. כדי לצפות בכרטיסים שבארכיון ולהחזיר אותם בחזרה ללוח, יש ללחוץ על „תפריט“ > „פריטים בארכיון“.",
@@ -314,8 +315,8 @@
"save": "שמירה",
"search": "חיפוש",
"select-color": "בחירת צבע",
- "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
- "setWipLimitPopup-title": "Set WIP Limit",
+ "set-wip-limit-value": "הגדרת מגבלה למספר המרבי של משימות ברשימה זו",
+ "setWipLimitPopup-title": "הגדרת מגבלת „בעבודה”",
"shortcut-assign-self": "להקצות אותי לכרטיס הנוכחי",
"shortcut-autocomplete-emoji": "השלמה אוטומטית לאימוג׳י",
"shortcut-autocomplete-members": "השלמה אוטומטית של חברים",
@@ -356,9 +357,9 @@
"welcome-list1": "יסודות",
"welcome-list2": "מתקדם",
"what-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.",
+ "wipLimitErrorPopup-title": "מגבלת „בעבודה” שגויה",
+ "wipLimitErrorPopup-dialog-pt1": "מספר המשימות ברשימה זו גדולה ממגבלת הפריטים „בעבודה” שהגדרת.",
+ "wipLimitErrorPopup-dialog-pt2": "נא להוציא חלק מהמשימות מרשימה זו או להגדיר מגבלת „בעבודה” גדולה יותר.",
"admin-panel": "חלונית ניהול המערכת",
"settings": "הגדרות",
"people": "אנשים",
@@ -382,9 +383,9 @@
"email-invite-register-text": "__user__ יקר,\n\nקיבלת הזמנה מאת __inviter__ לשתף פעולה ב־Wekan.\n\nנא ללחוץ על הקישור:\n__url__\n\nקוד ההזמנה שלך הוא: __icode__\n\nתודה.",
"error-invitation-code-not-exist": "קוד ההזמנה אינו קיים",
"error-notAuthorized": "אין לך הרשאה לצפות בעמוד זה.",
- "outgoing-webhooks": "Outgoing Webhooks",
- "outgoingWebhooksPopup-title": "Outgoing Webhooks",
- "new-outgoing-webhook": "New Outgoing Webhook",
+ "outgoing-webhooks": "קרסי רשת יוצאים",
+ "outgoingWebhooksPopup-title": "קרסי רשת יוצאים",
+ "new-outgoing-webhook": "קרסי רשת יוצאים חדשים",
"no-name": "(לא ידוע)",
"Wekan_version": "גרסת Wekan",
"Node_version": "גרסת Node",
@@ -403,5 +404,8 @@
"yes": "כן",
"no": "לא",
"accounts": "חשבונות",
- "accounts-allowEmailChange": "אפשר שינוי דוא\"ל"
+ "accounts-allowEmailChange": "אפשר שינוי דוא\"ל",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json
index 72b151da..1b5a25cc 100644
--- a/i18n/hu.i18n.json
+++ b/i18n/hu.i18n.json
@@ -1,263 +1,264 @@
{
- "accept": "Elfogad",
+ "accept": "Elfogadás",
"act-activity-notify": "[Wekan] Tevékenység értesítés",
- "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-createList": "added __list__ to __board__",
- "act-addBoardMember": "added __member__ to __board__",
- "act-archivedBoard": "archived __board__",
- "act-archivedCard": "archived __card__",
- "act-archivedList": "archived __list__",
- "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-addAttachment": "__attachment__ mellékletet csatolt a kártyához: __card__",
+ "act-addChecklist": "__checklist__ ellenőrzőlistát adott hozzá a kártyához: __card__",
+ "act-addChecklistItem": "__checklistItem__ elemet adott hozzá a(z) __checklist__ ellenőrzőlistához ezen a kártyán: __card__",
+ "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-createList": "__list__ listát adott hozzá a táblához: __board__",
+ "act-addBoardMember": "__member__ tagot hozzáadta a táblához: __board__",
+ "act-archivedBoard": "archiválta a táblát: __board__",
+ "act-archivedCard": "archiválta a kártyát: __card__",
+ "act-archivedList": "archiválta a listát: __list__",
+ "act-importBoard": "importálta a táblát: __board__",
+ "act-importCard": "importálta a kártyát: __card__",
+ "act-importList": "importálta a listát: __list__",
+ "act-joinMember": "__member__ tagot hozzáadta a kártyához: __card__",
+ "act-moveCard": "áthelyezte a(z) __card__ kártyát: __oldList__ → __list__",
+ "act-removeBoardMember": "eltávolította __member__ tagot a tábláról: __board__",
+ "act-restoredCard": "visszaállította a(z) __card__ kártyát ide: __board__",
+ "act-unjoinMember": "eltávolította __member__ tagot a kártyáról: __card__",
"act-withBoardTitle": "[Wekan] __board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Műveletek",
"activities": "Tevékenységek",
"activity": "Tevékenység",
- "activity-added": "added %s to %s",
- "activity-archived": "archiválva %s",
- "activity-attached": "attached %s to %s",
- "activity-created": "létrehozva %s",
- "activity-excluded": "excluded %s from %s",
- "activity-imported": "imported %s into %s from %s",
- "activity-imported-board": "imported %s from %s",
+ "activity-added": "%s hozzáadva ehhez: %s",
+ "activity-archived": "%s archiválva",
+ "activity-attached": "%s mellékletet csatolt a kártyához: %s",
+ "activity-created": "%s létrehozva",
+ "activity-excluded": "%s kizárva innen: %s",
+ "activity-imported": "%s importálva ebbe: %s, innen: %s",
+ "activity-imported-board": "%s importálva innen: %s",
"activity-joined": "%s csatlakozott",
- "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-moved": "%s áthelyezve: %s → %s",
+ "activity-on": "ekkor: %s",
+ "activity-removed": "%s eltávolítva innen: %s",
+ "activity-sent": "%s elküldve ide: %s",
"activity-unjoined": "%s kilépett a csoportból",
- "activity-checklist-added": "added checklist to %s",
- "activity-checklist-item-added": "added checklist item to '%s' in %s",
- "add": "Hozzáad",
- "add-attachment": "Add Attachment",
- "add-board": "Add Board",
- "add-card": "Add Card",
- "add-checklist": "Add Checklist",
- "add-checklist-item": "Elem hozzáadása a feladatlistához",
- "add-cover": "Új borító",
- "add-label": "Add Label",
- "add-list": "Add List",
+ "activity-checklist-added": "ellenőrzőlista hozzáadva ehhez: %s",
+ "activity-checklist-item-added": "ellenőrzőlista elem hozzáadva ehhez: „%s”, ebben: %s",
+ "add": "Hozzáadás",
+ "add-attachment": "Melléklet hozzáadása",
+ "add-board": "Tábla hozzáadása",
+ "add-card": "Kártya hozzáadása",
+ "add-checklist": "Ellenőrzőlista hozzáadása",
+ "add-checklist-item": "Elem hozzáadása az ellenőrzőlistához",
+ "add-cover": "Borító hozzáadása",
+ "add-label": "Címke hozzáadása",
+ "add-list": "Lista hozzáadása",
"add-members": "Tagok hozzáadása",
"added": "Hozzáadva",
"addMemberPopup-title": "Tagok",
"admin": "Adminisztrátor",
- "admin-desc": "Lehet szerkeszteni a lapot, tagokat távolíthat el, és és a fórumon-beállításainak módosítása.",
- "admin-announcement": "Announcement",
- "admin-announcement-active": "Active System-Wide Announcement",
- "admin-announcement-title": "Announcement from Administrator",
+ "admin-desc": "Megtekintheti és szerkesztheti a kártyákat, eltávolíthat tagokat, valamint megváltoztathatja a tábla beállításait.",
+ "admin-announcement": "Bejelentés",
+ "admin-announcement-active": "Bekapcsolt rendszerszintű bejelentés",
+ "admin-announcement-title": "Bejelentés az adminisztrátortól",
"all-boards": "Összes tábla",
- "and-n-other-card": "And __count__ other card",
- "and-n-other-card_plural": "And __count__ other cards",
+ "and-n-other-card": "És __count__ egyéb kártya",
+ "and-n-other-card_plural": "És __count__ egyéb kártya",
"apply": "Alkalmaz",
- "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": "Archív",
- "archive-all": "Összes archivált",
- "archive-board": "Archívált tábla",
- "archive-card": "Archívált kártya",
- "archive-list": "Archive List",
- "archive-selection": "Archiváld a megjelölteket",
- "archiveBoardPopup-title": "Archiváljuk a táblát?",
+ "app-is-offline": "A Wekan betöltés alatt van, kérem várjon. Az oldal újratöltése adatvesztést okoz. Ha a Wekan nem töltődik be, akkor ellenőrizze, hogy a Wekan kiszolgáló nem állt-e le.",
+ "archive": "Archiválás",
+ "archive-all": "Összes archiválása",
+ "archive-board": "Tábla archiválása",
+ "archive-card": "Kártya archiválása",
+ "archive-list": "Lista archiválása",
+ "archive-selection": "Kijelölés archiválása",
+ "archiveBoardPopup-title": "Archiválja a táblát?",
"archived-items": "Archivált elemek",
- "archived-boards": "Archived Boards",
- "restore-board": "Restore Board",
- "no-archived-boards": "No Archived Boards.",
+ "archived-boards": "Archivált táblák",
+ "restore-board": "Tábla visszaállítása",
+ "no-archived-boards": "Nincsenek archivált táblák.",
"archives": "Archívumok",
"assign-member": "Tag hozzárendelése",
"attached": "csatolva",
- "attachment": "Csatolmány",
- "attachment-delete-pop": "A csatolmány törlése végeleges. Nincs visszaállítás.",
- "attachmentDeletePopup-title": "Törli a csatolmányt?",
- "attachments": "Csatolmányok",
- "auto-watch": "Automatically watch boards when they are created",
- "avatar-too-big": "The avatar is too large (70KB max)",
+ "attachment": "Melléklet",
+ "attachment-delete-pop": "A melléklet törlése végeleges. Nincs visszaállítás.",
+ "attachmentDeletePopup-title": "Törli a mellékletet?",
+ "attachments": "Mellékletek",
+ "auto-watch": "Táblák automatikus megtekintése, amikor létrejönnek",
+ "avatar-too-big": "Az avatár túl nagy (legfeljebb 70 KB)",
"back": "Vissza",
- "board-change-color": "Szín módosítása",
- "board-nb-stars": "%s stars",
+ "board-change-color": "Szín megváltoztatása",
+ "board-nb-stars": "%s csillag",
"board-not-found": "A tábla nem található",
- "board-private-info": "Eza tábla legyen <strong>privát</strong>.",
- "board-public-info": "Ez a tábla legyen <strong>publikus</strong>.",
- "boardChangeColorPopup-title": "A tábla háttérszínének módosítása",
+ "board-private-info": "Ez a tábla legyen <strong>személyes</strong>.",
+ "board-public-info": "Ez a tábla legyen <strong>nyilvános</strong>.",
+ "boardChangeColorPopup-title": "Tábla hátterének megváltoztatása",
"boardChangeTitlePopup-title": "Tábla átnevezése",
- "boardChangeVisibilityPopup-title": "Láthatóság módosítása",
- "boardChangeWatchPopup-title": "Óra módosítása",
+ "boardChangeVisibilityPopup-title": "Láthatóság megváltoztatása",
+ "boardChangeWatchPopup-title": "Megfigyelés megváltoztatása",
"boardMenuPopup-title": "Tábla menü",
"boards": "Táblák",
- "bucket-example": "Like “Bucket List” for example",
- "cancel": "Mégsem",
- "card-archived": "Ez a kártya archivált.",
+ "bucket-example": "Mint például „Bakancslista”",
+ "cancel": "Mégse",
+ "card-archived": "Ez a kártya archiválva van.",
"card-comments-title": "Ez a kártya %s hozzászólást tartalmaz.",
- "card-delete-notice": "A törlés végleges. Az összes eseményt elveszíti ami ehhez a kártyához tartozik.",
- "card-delete-pop": "Minden esemény eltávolításra kerül a tevékenység listájából és többé nem lehet újra nyitni ezt a kártyát. Nincs visszaállítási lehetőség.",
- "card-delete-suggest-archive": "Archiválhatod a kártyákat hogy eltávolítsd a tábláról és és megőrizheted az eseményt.",
- "card-due": "Eddig",
- "card-due-on": "Ebben az időpontban",
- "card-edit-attachments": "Csatolmányok szerkesztése",
- "card-edit-labels": "Cimkék szerkesztése",
+ "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": "Archiválhat egy kártyát, hogy eltávolítsa a tábláról, és megőrizze a tevékenységet.",
+ "card-due": "Esedékes",
+ "card-due-on": "Esedékes ekkor",
+ "card-edit-attachments": "Mellékletek szerkesztése",
+ "card-edit-labels": "Címkék szerkesztése",
"card-edit-members": "Tagok szerkesztése",
- "card-labels-title": "A kártya cimkéjének módosítása",
- "card-members-title": "Adj hozzá vagy távolítsd el a tagokat a táblákról és a kártyáról",
- "card-start": "Start",
- "card-start-on": "Kezdődik",
+ "card-labels-title": "A kártya címkéinek megváltoztatása.",
+ "card-members-title": "A tábla tagjainak hozzáadása vagy eltávolítása a kártyáról.",
+ "card-start": "Kezdés",
+ "card-start-on": "Kezdés ekkor",
"cardAttachmentsPopup-title": "Innen csatolva",
- "cardDeletePopup-title": "Kártya törlése?",
- "cardDetailsActionsPopup-title": "Kártya események",
- "cardLabelsPopup-title": "Cimkék",
+ "cardDeletePopup-title": "Törli a kártyát?",
+ "cardDetailsActionsPopup-title": "Kártyaműveletek",
+ "cardLabelsPopup-title": "Címkék",
"cardMembersPopup-title": "Tagok",
"cardMorePopup-title": "Több",
"cards": "Kártyák",
- "change": "Módosít",
- "change-avatar": "Avatar módosítása",
- "change-password": "Jelszó módosítása",
- "change-permissions": "Hozzáférések módosítása",
- "change-settings": "Beállítások módosítása",
- "changeAvatarPopup-title": "Avatar módosítása",
- "changeLanguagePopup-title": "Nyelv módosítása",
- "changePasswordPopup-title": "Change Password",
- "changePermissionsPopup-title": "Hozzáférések módosítása",
- "changeSettingsPopup-title": "Beállítások módosítása",
- "checklists": "Ellenőrzőlista ",
- "click-to-star": "Kattints a csillagra és add a kiemeltekhez ezt a táblát.",
- "click-to-unstar": "Kattints a csillagra hogy eltávolítsd a kiemeltek közül.",
- "clipboard": "Vágólap vagy húzd és dobd",
- "close": "Bezár",
+ "change": "Változtatás",
+ "change-avatar": "Avatár megváltoztatása",
+ "change-password": "Jelszó megváltoztatása",
+ "change-permissions": "Jogosultságok megváltoztatása",
+ "change-settings": "Beállítások megváltoztatása",
+ "changeAvatarPopup-title": "Avatár megváltoztatása",
+ "changeLanguagePopup-title": "Nyelv megváltoztatása",
+ "changePasswordPopup-title": "Jelszó megváltoztatása",
+ "changePermissionsPopup-title": "Jogosultságok megváltoztatása",
+ "changeSettingsPopup-title": "Beállítások megváltoztatása",
+ "checklists": "Ellenőrzőlisták",
+ "click-to-star": "Kattintson a tábla csillagozásához.",
+ "click-to-unstar": "Kattintson a tábla csillagának eltávolításához.",
+ "clipboard": "Vágólap vagy fogd és vidd",
+ "close": "Bezárás",
"close-board": "Tábla bezárása",
- "close-board-pop": "You will be able to restore the board by clicking the “Archives” button from the home header.",
+ "close-board-pop": "Lehetősége lesz visszaállítani a táblát a kezdőlap fejlécében lévő „Archívumok” gombra kattintva.",
"color-black": "fekete",
"color-blue": "kék",
"color-green": "zöld",
- "color-lime": "lime",
+ "color-lime": "citrus",
"color-orange": "narancssárga",
"color-pink": "rózsaszín",
"color-purple": "lila",
"color-red": "piros",
- "color-sky": "világos kék",
+ "color-sky": "égszínkék",
"color-yellow": "sárga",
"comment": "Megjegyzés",
- "comment-placeholder": "Write Comment",
- "comment-only": "Comment only",
- "comment-only-desc": "Can comment on cards only.",
+ "comment-placeholder": "Megjegyzés írása",
+ "comment-only": "Csak megjegyzés",
+ "comment-only-desc": "Csak megjegyzést írhat a kártyákhoz.",
"computer": "Számítógép",
- "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",
- "create": "Létrehoz",
- "createBoardPopup-title": "Új tábla",
- "chooseBoardSourcePopup-title": "Import board",
- "createLabelPopup-title": "Új cimke",
- "current": "aktuális",
+ "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",
+ "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",
+ "current": "jelenlegi",
"date": "Dátum",
- "decline": "Elutasít",
- "default-avatar": "Alapértelmezett avatar",
- "delete": "Töröl",
- "deleteLabelPopup-title": "Cimke törlése?",
+ "decline": "Elutasítás",
+ "default-avatar": "Alapértelmezett avatár",
+ "delete": "Törlés",
+ "deleteLabelPopup-title": "Törli a címkét?",
"description": "Leírás",
- "disambiguateMultiLabelPopup-title": "Cimke értelmező esemény",
- "disambiguateMultiMemberPopup-title": "Tag értelmező esemény",
- "discard": "Elutasít",
+ "disambiguateMultiLabelPopup-title": "Címkeművelet egyértelműsítése",
+ "disambiguateMultiMemberPopup-title": "Tagművelet egyértelműsítése",
+ "discard": "Eldobás",
"done": "Kész",
"download": "Letöltés",
- "edit": "Szerkeszt",
- "edit-avatar": "Avatar módosítása",
+ "edit": "Szerkesztés",
+ "edit-avatar": "Avatár megváltoztatása",
"edit-profile": "Profil szerkesztése",
- "edit-wip-limit": "Edit WIP Limit",
- "editCardStartDatePopup-title": "Kezdő dátum módosítása",
- "editCardDueDatePopup-title": "Lejárati dátum módosítása",
- "editLabelPopup-title": "Cimke módosítása",
+ "edit-wip-limit": "WIP korlát szerkesztése",
+ "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",
+ "editLabelPopup-title": "Címke megváltoztatása",
"editNotificationPopup-title": "Értesítés szerkesztése",
- "editProfilePopup-title": "Edit Profile",
- "email": "Email",
- "email-enrollAccount-subject": "A fiókodat létrehozták a __siteName__ oldalon",
- "email-enrollAccount-text": "Üdvözöljük __user__,\n\nA rendszer használatának megkezdéséhez Egyszerűen kattintson az alábbi linkre.\n\n__url__\n\nKöszönjük.",
- "email-fail": "Email küldése sikertelen",
- "email-invalid": "Nem megfelelő email cím",
- "email-invite": "Meghívás Emailben",
- "email-invite-subject": "__inviter__ küldött neked egy meghívót",
- "email-invite-text": "Üdvözöljük __user__,\n\n__inviter__ meghívott téged közreműködésre az alábbi táblába \"__board__\".\n\nKérjük kattints az alábbi linkre:\n\n__url__\n\nKöszönjük.",
- "email-resetPassword-subject": "Jelszó visszaállítása a __siteName__ oldalon",
- "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.",
- "email-sent": "Email elküldve",
- "email-verifyEmail-subject": "Igazold vissza az email címedet a __siteName__ oldalon",
- "email-verifyEmail-text": "Üdvözöljük __user__,\n\nAz Email címe ellenőrzéséhez kérjük kattintson az alábbi linkre.\n\n__url__\n\nKöszönjük.",
- "enable-wip-limit": "Enable WIP Limit",
+ "editProfilePopup-title": "Profil szerkesztése",
+ "email": "E-mail",
+ "email-enrollAccount-subject": "Létrejött a profilja a következő oldalon: __siteName__",
+ "email-enrollAccount-text": "Kedves __user__!\n\nA szolgáltatás használatának megkezdéséhez egyszerűen kattintson a lenti hivatkozásra.\n\n__url__\n\nKöszönjük.",
+ "email-fail": "Az e-mail küldése nem sikerült",
+ "email-invalid": "Érvénytelen e-mail",
+ "email-invite": "Meghívás e-mailben",
+ "email-invite-subject": "__inviter__ egy meghívást küldött Önnek",
+ "email-invite-text": "Kedves __user__!\n\n__inviter__ meghívta Önt, hogy csatlakozzon a(z) „__board__” táblán történő együttműködéshez.\n\nKattintson az alábbi hivatkozásra:\n\n__url__\n\nKöszönjük.",
+ "email-resetPassword-subject": "Jelszó visszaállítása ezen az oldalon: __siteName__",
+ "email-resetPassword-text": "Kedves __user__!\n\nA jelszava visszaállításához egyszerűen kattintson a lenti hivatkozásra.\n\n__url__\n\nKöszönjük.",
+ "email-sent": "E-mail elküldve",
+ "email-verifyEmail-subject": "Igazolja vissza az e-mail címét a következő oldalon: __siteName__",
+ "email-verifyEmail-text": "Kedves __user__!\n\nAz e-mail fiókjának visszaigazolásához egyszerűen kattintson a lenti hivatkozásra.\n\n__url__\n\nKöszönjük.",
+ "enable-wip-limit": "WIP korlát engedélyezése",
"error-board-doesNotExist": "Ez a tábla nem létezik",
- "error-board-notAdmin": "Adminisztrátor joggal kell rendelkezned hogy megtehesd ezen a táblán",
- "error-board-notAMember": "Az tábla tagjának kell lenned, hogy megtehesd",
- "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-board-notAdmin": "A tábla adminisztrátorának kell lennie, hogy ezt megtehesse",
+ "error-board-notAMember": "A tábla tagjának kell lennie, hogy ezt megtehesse",
+ "error-json-malformed": "A szöveg nem érvényes JSON",
+ "error-json-schema": "A JSON adatok nem a helyes formátumban tartalmazzák a megfelelő információkat",
"error-list-doesNotExist": "Ez a lista nem létezik",
"error-user-doesNotExist": "Ez a felhasználó nem létezik",
- "error-user-notAllowSelf": "You can not invite yourself",
- "error-user-notCreated": "Ez a felhasználó nem jött létre",
+ "error-user-notAllowSelf": "Nem hívhatja meg saját magát",
+ "error-user-notCreated": "Ez a felhasználó nincs létrehozva",
"error-username-taken": "Ez a felhasználónév már foglalt",
- "error-email-taken": "Email has already been taken",
+ "error-email-taken": "Az e-mail már foglalt",
"export-board": "Tábla exportálása",
"filter": "Szűrő",
"filter-cards": "Kártyák szűrése",
- "filter-clear": "Szürő törlése",
- "filter-no-label": "Nincs cimke",
- "filter-no-member": "Nincsenek tagok",
+ "filter-clear": "Szűrő törlése",
+ "filter-no-label": "Nincs címke",
+ "filter-no-member": "Nincs tag",
"filter-on": "Szűrő bekapcsolva",
- "filter-on-desc": "Éppen kártyákat szűrsz ezen a táblán. Kattints ide a szűrő szerkesztéséhez.",
- "filter-to-selection": "Szűrő beállítása a kijelölés szerint",
+ "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",
"fullname": "Teljes név",
- "header-logo-title": "Vissza a táblák oldaladra.",
+ "header-logo-title": "Vissza a táblák oldalára.",
"hide-system-messages": "Rendszerüzenetek elrejtése",
- "headerBarCreateBoardPopup-title": "Új tábla",
+ "headerBarCreateBoardPopup-title": "Tábla létrehozása",
"home": "Kezdőlap",
"import": "Importálás",
- "import-board": "import board",
- "import-board-c": "Import board",
- "import-board-title-trello": "Tábla importálása a Trello-ról",
- "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": "Tagok megjelenítése",
- "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",
+ "import-board": "tábla importálása",
+ "import-board-c": "Tábla importálása",
+ "import-board-title-trello": "Tábla importálása a Trello oldalról",
+ "import-board-title-wekan": "Tábla importálása a Wekan oldalról",
+ "import-sandstorm-warning": "Az importált tábla törölni fogja a táblán lévő összes meglévő adatot, és kicseréli az importált táblával.",
+ "from-trello": "A Trello oldalról",
+ "from-wekan": "A Wekan oldalról",
+ "import-board-instruction-trello": "A Trello tábláján menjen a „Menü”, majd a „Több”, „Nyomtatás és exportálás”, „JSON exportálása” menüpontokra, és másolja ki az eredményül kapott szöveget.",
+ "import-board-instruction-wekan": "A Wekan tábláján menjen a „Menü”, majd a „Tábla exportálás” menüpontra, és másolja ki a letöltött fájlban lévő szöveget.",
+ "import-json-placeholder": "Illessze be ide az érvényes JSON adatokat",
+ "import-map-members": "Tagok leképezése",
+ "import-members-map": "Az importált táblának van néhány tagja. Képezze le a tagokat, akiket importálni szeretne a Wekan felhasználókba.",
+ "import-show-user-mapping": "Tagok leképezésének vizsgálata",
+ "import-user-select": "Válassza ki a Wekan felhasználót, akit ezen tagként használni szeretne",
+ "importMapMembersAddPopup-title": "Wekan tag kiválasztása",
+ "info": "Verzió",
"initials": "Kezdőbetűk",
- "invalid-date": "Hibás dátum",
- "joined": "becsatlakozott",
- "just-invited": "Éppen most hívtak meg erre a táblára",
+ "invalid-date": "Érvénytelen dátum",
+ "joined": "csatlakozott",
+ "just-invited": "Éppen most hívták meg erre a táblára",
"keyboard-shortcuts": "Gyorsbillentyűk",
- "label-create": "Új cimke",
- "label-default": "%s cimke (alapértelmezett)",
- "label-delete-pop": "Nincsen visszaállítás. Ez el fogja távolítani ezt a cimkét az összes kártyáról és törli az előzményeket.",
- "labels": "Cimkék",
+ "label-create": "Címke létrehozása",
+ "label-default": "%s címke (alapértelmezett)",
+ "label-delete-pop": "Nincs visszavonás. Ez el fogja távolítani ezt a címkét az összes kártyáról, és törli az előzményeit.",
+ "labels": "Címkék",
"language": "Nyelv",
- "last-admin-desc": "You can’t change roles because there must be at least one admin.",
+ "last-admin-desc": "Nem változtathatja meg a szerepeket, mert legalább egy adminisztrátora szükség van.",
"leave-board": "Tábla elhagyása",
- "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": "Kapcsolja ehhez a kártyához",
- "list-archive-cards": "Archiváld az összes kártyát ezen a listán.",
- "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view archived cards and bring them back to the board, click “Menu” > “Archived Items”.",
- "list-move-cards": "Move all cards in this list",
- "list-select-cards": "Válaszd ki az összes kártyát ezen a listán",
- "listActionPopup-title": "Események megjelenítése",
+ "leave-board-pop": "Biztosan el szeretné hagyni ezt a táblát: __boardTitle__? El lesz távolítva a táblán lévő összes kártyáról.",
+ "leaveBoardPopup-title": "Elhagyja a táblát?",
+ "link-card": "Összekapcsolás ezzel a kártyával",
+ "list-archive-cards": "Az összes kártya archiválása ezen a listán",
+ "list-archive-cards-pop": "Ez el fogja távolítani a listán lévő összes kártyát a tábláról. Az archivált kártyák megtekintéséhez, és azok visszahozásához a táblára, kattintson a „Menü” → „Archivált elemek” menüpontra.",
+ "list-move-cards": "A listán lévő összes kártya áthelyezése",
+ "list-select-cards": "A listán lévő összes kártya kiválasztása",
+ "listActionPopup-title": "Műveletek felsorolása",
"listImportCardPopup-title": "Trello kártya importálása",
"listMorePopup-title": "Több",
- "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 archive a list to remove it from the board and preserve the activity.",
+ "link-list": "Összekapcsolás ezzel a listával",
+ "list-delete-pop": "Az összes művelet el lesz távolítva a tevékenységlistából, és nem lesz lehetősége visszaállítani a listát. Nincs visszavonás.",
+ "list-delete-suggest-archive": "Archiválhat egy listát, hogy eltávolítsa a tábláról, és megőrizze a tevékenységet.",
"lists": "Listák",
"log-out": "Kijelentkezés",
"log-in": "Bejelentkezés",
@@ -265,73 +266,73 @@
"memberMenuPopup-title": "Tagok beállításai",
"members": "Tagok",
"menu": "Menü",
- "move-selection": "Kijelöltek mozgatása",
- "moveCardPopup-title": "Kártya mozgatása",
- "moveCardToBottom-title": "Mozgatás az aljára",
- "moveCardToTop-title": "Mozgatás a tetejére",
- "moveSelectionPopup-title": "Kijelöltek mozgatása",
- "multi-selection": "Kijelöltek mozgatása",
+ "move-selection": "Kijelölés áthelyezése",
+ "moveCardPopup-title": "Kártya áthelyezése",
+ "moveCardToBottom-title": "Áthelyezés az aljára",
+ "moveCardToTop-title": "Áthelyezés a tetejére",
+ "moveSelectionPopup-title": "Kijelölés áthelyezése",
+ "multi-selection": "Többszörös kijelölés",
"multi-selection-on": "Többszörös kijelölés bekapcsolva",
- "muted": "Elnémítva",
- "muted-info": "Soha nem leszel értesítve ennek a táblának a módosításairól.",
+ "muted": "Némítva",
+ "muted-info": "Soha sem lesz értesítve a táblán lévő semmilyen változásról.",
"my-boards": "Saját tábláim",
"name": "Név",
"no-archived-cards": "Nincsenek archivált kártyák.",
"no-archived-lists": "Nincsenek archivált listák.",
- "no-results": "Nincs eredmény",
+ "no-results": "Nincs találat",
"normal": "Normál",
- "normal-desc": "Megtekinthet és szerkeszthet kártyákat. Nem módosíthatja a beállításokat.",
- "not-accepted-yet": "A meghívást még nem fogadták el",
- "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",
+ "normal-desc": "Megtekintheti és szerkesztheti a kártyákat. Nem változtathatja meg a beállításokat.",
+ "not-accepted-yet": "A meghívás még nincs elfogadva",
+ "notify-participate": "Frissítések fogadása bármely kártyánál, amelynél létrehozóként vagy tagként vesz részt",
+ "notify-watch": "Frissítések fogadása bármely táblánál, listánál vagy kártyánál, amelyet megtekint",
"optional": "opcionális",
"or": "vagy",
- "page-maybe-private": "Ez az oldal privát. A megtekintéshez jelentkezz be itt: <a href='%s'>bejelentkezés</a>.",
+ "page-maybe-private": "Ez az oldal személyes lehet. Esetleg megtekintheti, ha <a href='%s'>bejelentkezik</a>.",
"page-not-found": "Az oldal nem található.",
"password": "Jelszó",
- "paste-or-dragdrop": "illeszd be, vagy húzd ide a kép fájlt (csak képeket)",
- "participating": "Résztvevő",
+ "paste-or-dragdrop": "illessze be, vagy fogd és vidd módon húzza ide a képfájlt (csak képeket)",
+ "participating": "Részvétel",
"preview": "Előnézet",
"previewAttachedImagePopup-title": "Előnézet",
"previewClipboardImagePopup-title": "Előnézet",
- "private": "Privát",
- "private-desc": "Ez a tábla privát. Csak a táblához hozzáadott emberek tekinthetik meg és szerkeszthetik.",
+ "private": "Személyes",
+ "private-desc": "Ez a tábla személyes. Csak a táblához hozzáadott emberek tekinthetik meg és szerkeszthetik.",
"profile": "Profil",
- "public": "Publikus",
- "public-desc": "Ez a tábla publikus. A link birtokában bárki megtekintheti és látszik a keresőkben mint a Google. Csak azok az emberek szerkeszthetik akiket hozzáadtak.",
- "quick-access-description": "Emeled ki a táblát hogy létrehozz egy parancsikont ezen a sávon.",
+ "public": "Nyilvános",
+ "public-desc": "Ez a tábla nyilvános. A hivatkozás birtokában bárki számára látható, és megjelenik az olyan keresőmotorokban, mint például a Google. Csak a táblához hozzáadott emberek szerkeszthetik.",
+ "quick-access-description": "Csillagozzon meg egy táblát egy gyors hivatkozás hozzáadásához ebbe a sávba.",
"remove-cover": "Borító eltávolítása",
"remove-from-board": "Eltávolítás a tábláról",
- "remove-label": "Remove Label",
- "listDeletePopup-title": "Delete List ?",
+ "remove-label": "Címke eltávolítása",
+ "listDeletePopup-title": "Törli a listát?",
"remove-member": "Tag eltávolítása",
"remove-member-from-card": "Eltávolítás a kártyáról",
- "remove-member-pop": "Remove __name__ (__username__) from __boardTitle__? The member will be removed from all cards on this board. They will receive a notification.",
+ "remove-member-pop": "Eltávolítja __name__ (__username__) felhasználót a tábláról: __boardTitle__? A tag el lesz távolítva a táblán lévő összes kártyáról. Értesítést fog kapni erről.",
"removeMemberPopup-title": "Eltávolítja a tagot?",
- "rename": "Átnevez",
+ "rename": "Átnevezés",
"rename-board": "Tábla átnevezése",
- "restore": "Visszaállít",
+ "restore": "Visszaállítás",
"save": "Mentés",
"search": "Keresés",
- "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": "Add hozzá magad az aktuális kártyához",
- "shortcut-autocomplete-emoji": "Automatikus emoji kiegészítés",
- "shortcut-autocomplete-members": "Automatikus tag név kiegészítés",
+ "select-color": "Szín kiválasztása",
+ "set-wip-limit-value": "Korlát beállítása a listán lévő feladatok legnagyobb számához",
+ "setWipLimitPopup-title": "WIP korlát beállítása",
+ "shortcut-assign-self": "Önmaga hozzárendelése a jelenlegi kártyához",
+ "shortcut-autocomplete-emoji": "Emodzsi automatikus kiegészítése",
+ "shortcut-autocomplete-members": "Tagok automatikus kiegészítése",
"shortcut-clear-filters": "Összes szűrő törlése",
- "shortcut-close-dialog": "Beszélgetés bezárása",
+ "shortcut-close-dialog": "Párbeszédablak bezárása",
"shortcut-filter-my-cards": "Kártyáim szűrése",
- "shortcut-show-shortcuts": "Hozd létre ezt a hivatkozási listát",
- "shortcut-toggle-filterbar": "Szűrő oldalsáv kényszerítése",
- "shortcut-toggle-sidebar": "Tábla oldalsáv kényszerítése",
- "show-cards-minimum-count": "Mutasd a kártyák számát ha a lista többet tartalmaz mint",
- "sidebar-open": "Oldalsáv megjelenítése",
- "sidebar-close": "Oldalsáv elrejtése",
+ "shortcut-show-shortcuts": "A hivatkozási lista előre hozása",
+ "shortcut-toggle-filterbar": "Szűrő oldalsáv ki- és bekapcsolása",
+ "shortcut-toggle-sidebar": "Tábla oldalsáv ki- és bekapcsolása",
+ "show-cards-minimum-count": "Kártyaszámok megjelenítése, ha a lista többet tartalmaz mint",
+ "sidebar-open": "Oldalsáv megnyitása",
+ "sidebar-close": "Oldalsáv bezárása",
"signupPopup-title": "Fiók létrehozása",
- "star-board-title": "Kattints a tábla kiemeléséhez. Megjelenik a táblák lista tetején.",
- "starred-boards": "Kiemelt táblák",
- "starred-boards-description": "A kiemelt táblák megjelennek a táblák lista tetején.",
+ "star-board-title": "Kattintson a tábla csillagozásához. Meg fog jelenni a táblalistája tetején.",
+ "starred-boards": "Csillagozott táblák",
+ "starred-boards-description": "A csillagozott táblák megjelennek a táblalistája tetején.",
"subscribe": "Feliratkozás",
"team": "Csapat",
"this-board": "ez a tábla",
@@ -339,69 +340,72 @@
"time": "Idő",
"title": "Cím",
"tracking": "Követés",
- "tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
- "unassign-member": "Tag eltávolítása",
- "unsaved-description": "Van egy elmentetlen leírásod.",
- "unwatch": "Figyelés leállítása",
- "upload": "Feltölt",
- "upload-avatar": "Tölts fel egy avatart",
- "uploaded-avatar": "Feltöltött egy avatart",
+ "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.",
+ "unassign-member": "Tag hozzárendelésének megszüntetése",
+ "unsaved-description": "Van egy mentetlen leírása.",
+ "unwatch": "Megfigyelés megszüntetése",
+ "upload": "Feltöltés",
+ "upload-avatar": "Egy avatár feltöltése",
+ "uploaded-avatar": "Egy avatár feltöltve",
"username": "Felhasználónév",
"view-it": "Megtekintés",
- "warn-list-archived": "figyelem: ez a kártya szerepel az egyik archiv listán",
- "watch": "Figyel",
- "watching": "Megfigyelt",
- "watching-info": "Értesítve leszel minden módosításról ebben a táblában.",
+ "warn-list-archived": "figyelmeztetés: ez a kártya egy archivált 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-list1": "Alapok",
"welcome-list2": "Speciális",
- "what-to-do": "Mit akarsz csinálni?",
- "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": "Adminisztrációs felület",
+ "what-to-do": "Mit szeretne tenni?",
+ "wipLimitErrorPopup-title": "Érvénytelen WIP korlát",
+ "wipLimitErrorPopup-dialog-pt1": "A listán lévő feladatok száma magasabb a meghatározott WIP korlátnál.",
+ "wipLimitErrorPopup-dialog-pt2": "Helyezzen át néhány feladatot a listáról, vagy állítson be magasabb WIP korlátot.",
+ "admin-panel": "Adminisztrációs panel",
"settings": "Beállítások",
- "people": "Ember",
+ "people": "Emberek",
"registration": "Regisztráció",
- "disable-self-registration": "Egyéni regisztráció kikapcsolva",
+ "disable-self-registration": "Önregisztráció letiltása",
"invite": "Meghívás",
"invite-people": "Emberek meghívása",
- "to-boards": "Táblá(k)hoz",
- "email-addresses": "Email címek",
- "smtp-host-description": "A levelezésed SMTP szerverének IP címe.",
- "smtp-port-description": "Az SMTP szervered portja a kimenő levelekhez.",
- "smtp-tls-description": "Enable TLS support for SMTP server",
+ "to-boards": "Táblákhoz",
+ "email-addresses": "E-mail címek",
+ "smtp-host-description": "Az SMTP kiszolgáló címe, amely az e-maileket kezeli.",
+ "smtp-port-description": "Az SMTP kiszolgáló által használt port a kimenő e-mailekhez.",
+ "smtp-tls-description": "TLS támogatás engedélyezése az SMTP kiszolgálónál",
"smtp-host": "SMTP kiszolgáló",
"smtp-port": "SMTP port",
"smtp-username": "Felhasználónév",
"smtp-password": "Jelszó",
- "smtp-tls": "TLS support",
- "send-from": "Tól",
- "invitation-code": "Meghívó kód",
- "email-invite-register-subject": "__inviter__ küldött neked egy meghívót",
- "email-invite-register-text": "Kedves __user__,\n\n__inviter__ meghívott közreműködésre a Wekanba.\n\nKérlek kövesd az alábbi linket:\n__url__\n\nA meghívókódod: __icode__\n\nKöszönjük.",
- "error-invitation-code-not-exist": "A meghívó kódja nem érvényes",
- "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",
- "yes": "Yes",
- "no": "No",
- "accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "smtp-tls": "TLS támogatás",
+ "send-from": "Feladó",
+ "invitation-code": "Meghívási kód",
+ "email-invite-register-subject": "__inviter__ egy meghívás küldött Önnek",
+ "email-invite-register-text": "Kedves __user__!\n\n__inviter__ meghívta Önt közreműködésre a Wekan oldalra.\n\nKövesse a lenti hivatkozást:\n__url__\n\nÉs a meghívási kódja: __icode__\n\nKöszönjük.",
+ "error-invitation-code-not-exist": "A meghívási kód nem létezik",
+ "error-notAuthorized": "Nincs jogosultsága az oldal megtekintéséhez.",
+ "outgoing-webhooks": "Kimenő webhurkok",
+ "outgoingWebhooksPopup-title": "Kimenő webhurkok",
+ "new-outgoing-webhook": "Új kimenő webhurok",
+ "no-name": "(Ismeretlen)",
+ "Wekan_version": "Wekan verzió",
+ "Node_version": "Node verzió",
+ "OS_Arch": "Operációs rendszer architektúrája",
+ "OS_Cpus": "Operációs rendszer CPU száma",
+ "OS_Freemem": "Operációs rendszer szabad memóriája",
+ "OS_Loadavg": "Operációs rendszer átlagos terhelése",
+ "OS_Platform": "Operációs rendszer platformja",
+ "OS_Release": "Operációs rendszer kiadása",
+ "OS_Totalmem": "Operációs rendszer összes memóriája",
+ "OS_Type": "Operációs rendszer típusa",
+ "OS_Uptime": "Operációs rendszer üzemideje",
+ "hours": "óra",
+ "minutes": "perc",
+ "seconds": "másodperc",
+ "yes": "Igen",
+ "no": "Nem",
+ "accounts": "Fiókok",
+ "accounts-allowEmailChange": "E-mail megváltoztatásának engedélyezése",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json
index 197616a4..4922ed4a 100644
--- a/i18n/id.i18n.json
+++ b/i18n/id.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Ubah Avatar",
"edit-profile": "Sunting Profil",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Ubah tanggal mulai",
"editCardDueDatePopup-title": "Ubah tanggal selesai",
"editLabelPopup-title": "Ubah Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json
index 4c321b70..7bec9026 100644
--- a/i18n/it.i18n.json
+++ b/i18n/it.i18n.json
@@ -2,8 +2,8 @@
"accept": "Accetta",
"act-activity-notify": "[Wekan] Notifiche attività",
"act-addAttachment": "ha allegato __attachment__ a __card__",
- "act-addChecklist": "added checklist __checklist__ to __card__",
- "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
+ "act-addChecklist": "aggiunta checklist __checklist__ a __card__",
+ "act-addChecklistItem": "aggiunto __checklistItem__ alla checklist __checklist__ su __card__",
"act-addComment": "ha commentato su __card__: __comment__",
"act-createBoard": "ha creato __board__",
"act-createCard": "ha aggiunto __card__ a __list__",
@@ -54,9 +54,9 @@
"addMemberPopup-title": "Membri",
"admin": "Amministratore",
"admin-desc": "Può vedere e modificare schede, rimuovere membri e modificare le impostazioni della bacheca.",
- "admin-announcement": "Announcement",
- "admin-announcement-active": "Active System-Wide Announcement",
- "admin-announcement-title": "Announcement from Administrator",
+ "admin-announcement": "Annunci",
+ "admin-announcement-active": "Attiva annunci di sistema",
+ "admin-announcement-title": "Annunci dall'Amministratore",
"all-boards": "Tutte le bacheche",
"and-n-other-card": "E __count__ altra scheda",
"and-n-other-card_plural": "E __count__ altre schede",
@@ -149,9 +149,9 @@
"comment-only": "Solo commenti",
"comment-only-desc": "Puoi commentare solo le schede.",
"computer": "Computer",
- "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
+ "confirm-checklist-delete-dialog": "Sei sicuro di voler cancellare questa checklist?",
"copy-card-link-to-clipboard": "Copia link della scheda sulla clipboard",
- "copyCardPopup-title": "Copy Card",
+ "copyCardPopup-title": "Copia Scheda",
"create": "Crea",
"createBoardPopup-title": "Crea bacheca",
"chooseBoardSourcePopup-title": "Importa bacheca",
@@ -171,7 +171,8 @@
"edit": "Modifica",
"edit-avatar": "Cambia avatar",
"edit-profile": "Modifica profilo",
- "edit-wip-limit": "Edit WIP Limit",
+ "edit-wip-limit": "Modifica limite di work in progress",
+ "soft-wip-limit": "Limite Work in progress soft",
"editCardStartDatePopup-title": "Cambia data di inizio",
"editCardDueDatePopup-title": "Cambia data di scadenza",
"editLabelPopup-title": "Cambia etichetta",
@@ -190,7 +191,7 @@
"email-sent": "Email inviata",
"email-verifyEmail-subject": "Verifica il tuo indirizzo email su on __siteName__",
"email-verifyEmail-text": "Ciao __user__,\n\nPer verificare il tuo account email, clicca sul link seguente:\n\n__url__\n\nGrazie.",
- "enable-wip-limit": "Enable WIP Limit",
+ "enable-wip-limit": "Abilita limite di work in progress",
"error-board-doesNotExist": "Questa bacheca non esiste",
"error-board-notAdmin": "Devi essere admin di questa bacheca per poterlo fare",
"error-board-notAMember": "Devi essere un membro di questa bacheca per poterlo fare",
@@ -245,8 +246,8 @@
"language": "Lingua",
"last-admin-desc": "Non puoi cambiare i ruoli perché deve esserci almeno un admin.",
"leave-board": "Abbandona bacheca",
- "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 ?",
+ "leave-board-pop": "Sei sicuro di voler abbandonare __boardTitle__? Sarai rimosso da tutte le schede in questa bacheca.",
+ "leaveBoardPopup-title": "Abbandona Bacheca?",
"link-card": "Link a questa scheda",
"list-archive-cards": "Archivia tutte le schede in questa lista",
"list-archive-cards-pop": "Questo rimuoverà dalla bacheca tutte le schede in questa lista. Per vedere le schede archiviate e portarle indietro alla bacheca, clicca “Menu” > “Elementi archiviati”",
@@ -314,8 +315,8 @@
"save": "Salva",
"search": "Cerca",
"select-color": "Seleziona Colore",
- "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
- "setWipLimitPopup-title": "Set WIP Limit",
+ "set-wip-limit-value": "Seleziona un limite per il massimo numero di attività in questa lista",
+ "setWipLimitPopup-title": "Imposta limite di work in progress",
"shortcut-assign-self": "Aggiungi te stesso alla scheda corrente",
"shortcut-autocomplete-emoji": "Autocompletamento emoji",
"shortcut-autocomplete-members": "Autocompletamento membri",
@@ -356,9 +357,9 @@
"welcome-list1": "Basi",
"welcome-list2": "Avanzate",
"what-to-do": "Cosa vuoi fare?",
- "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.",
+ "wipLimitErrorPopup-title": "Limite work in progress non valido. ",
+ "wipLimitErrorPopup-dialog-pt1": "Il numero di compiti in questa lista è maggiore del limite di work in progress che hai definito in precedenza. ",
+ "wipLimitErrorPopup-dialog-pt2": "Per favore, sposta alcuni dei compiti fuori da questa lista, oppure imposta un limite di work in progress più alto. ",
"admin-panel": "Pannello dell'Amministratore",
"settings": "Impostazioni",
"people": "Persone",
@@ -384,24 +385,27 @@
"error-notAuthorized": "Non sei autorizzato ad accedere a questa pagina.",
"outgoing-webhooks": "Server esterni",
"outgoingWebhooksPopup-title": "Server esterni",
- "new-outgoing-webhook": "New Outgoing Webhook",
- "no-name": "(Unknown)",
+ "new-outgoing-webhook": "Nuovo webhook in uscita",
+ "no-name": "(Sconosciuto)",
"Wekan_version": "Versione di Wekan",
- "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",
+ "Node_version": "Versione di Node",
+ "OS_Arch": "Architettura del sistema operativo",
+ "OS_Cpus": "Conteggio della CPU del sistema operativo",
+ "OS_Freemem": "Memoria libera del sistema operativo ",
+ "OS_Loadavg": "Carico medio del sistema operativo ",
+ "OS_Platform": "Piattaforma del sistema operativo",
+ "OS_Release": "Versione di rilascio del sistema operativo",
+ "OS_Totalmem": "Memoria totale del sistema operativo ",
+ "OS_Type": "Tipo di sistema operativo ",
+ "OS_Uptime": "Tempo di attività del sistema operativo. ",
"hours": "ore",
"minutes": "minuti",
"seconds": "secondi",
"yes": "Sì",
"no": "No",
"accounts": "Profili",
- "accounts-allowEmailChange": "Permetti modifica dell'email"
+ "accounts-allowEmailChange": "Permetti modifica dell'email",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json
index dc0ccdfb..42a34514 100644
--- a/i18n/ja.i18n.json
+++ b/i18n/ja.i18n.json
@@ -151,7 +151,7 @@
"computer": "コンピューター",
"confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
"copy-card-link-to-clipboard": "カードへのリンクをクリップボードにコピー",
- "copyCardPopup-title": "Copy Card",
+ "copyCardPopup-title": "カードをコピー",
"create": "作成",
"createBoardPopup-title": "ボードの作成",
"chooseBoardSourcePopup-title": "ボードをインポート",
@@ -172,6 +172,7 @@
"edit-avatar": "アバターの変更",
"edit-profile": "プロフィールの編集",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "開始日の変更",
"editCardDueDatePopup-title": "期限の変更",
"editLabelPopup-title": "ラベルの変更",
@@ -246,7 +247,7 @@
"last-admin-desc": "最低でも1人以上の管理者が必要なためロールを変更できません。",
"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 ?",
+ "leaveBoardPopup-title": "ボードから退出しますか?",
"link-card": "このカードへのリンク",
"list-archive-cards": "リストの全カードをアーカイブする",
"list-archive-cards-pop": "ボードのこのリスト内のすべてのカードを取り除きます。アーカイブされたカードの確認やそれをボードに戻すには、メニューをクリックし、\"アーカイブされたアイテム\"をクリックしてください。",
@@ -403,5 +404,8 @@
"yes": "はい",
"no": "いいえ",
"accounts": "アカウント",
- "accounts-allowEmailChange": "メールアドレスの変更を許可"
+ "accounts-allowEmailChange": "メールアドレスの変更を許可",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json
index aae15ab2..9e8c0c45 100644
--- a/i18n/ko.i18n.json
+++ b/i18n/ko.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "아바타 변경",
"edit-profile": "프로필 변경",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "시작일 변경",
"editCardDueDatePopup-title": "종료일 변경",
"editLabelPopup-title": "라벨 변경",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json
index d0bde3c0..43315230 100644
--- a/i18n/nb.i18n.json
+++ b/i18n/nb.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Endre 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",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json
index 41ab312b..29ee257d 100644
--- a/i18n/nl.i18n.json
+++ b/i18n/nl.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Wijzig avatar",
"edit-profile": "Wijzig profiel",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Wijzig start datum",
"editCardDueDatePopup-title": "Wijzig deadline",
"editLabelPopup-title": "Wijzig label",
@@ -403,5 +404,8 @@
"yes": "Ja",
"no": "Nee",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Sta E-mailadres wijzigingen toe"
+ "accounts-allowEmailChange": "Sta E-mailadres wijzigingen toe",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json
index 1185a80a..92861e39 100644
--- a/i18n/pl.i18n.json
+++ b/i18n/pl.i18n.json
@@ -49,14 +49,14 @@
"add-cover": "Dodaj okładkę",
"add-label": "Dodaj etykietę",
"add-list": "Dodaj listę",
- "add-members": "Dodaj członka",
+ "add-members": "Dodaj członków",
"added": "Dodano",
"addMemberPopup-title": "Członkowie",
"admin": "Admin",
"admin-desc": "Może widzieć i edytować karty, usuwać członków oraz zmieniać ustawienia tablicy.",
- "admin-announcement": "Announcement",
+ "admin-announcement": "Ogłoszenie",
"admin-announcement-active": "Active System-Wide Announcement",
- "admin-announcement-title": "Announcement from Administrator",
+ "admin-announcement-title": "Ogłoszenie od Administratora",
"all-boards": "Wszystkie tablice",
"and-n-other-card": "And __count__ other card",
"and-n-other-card_plural": "And __count__ other cards",
@@ -66,7 +66,7 @@
"archive-all": "Zarchiwizuj wszystkie",
"archive-board": "Zarchiwizuj tablicę",
"archive-card": "Zarchiwizuj kartę",
- "archive-list": "Archive List",
+ "archive-list": "Zarchiwizuj listę",
"archive-selection": "Zarchiwizuj zaznaczone",
"archiveBoardPopup-title": "Zarchiwizować tablicę?",
"archived-items": "Archived Items",
@@ -172,6 +172,7 @@
"edit-avatar": "Zmień Avatar",
"edit-profile": "Edytuj profil",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Change start date",
"editCardDueDatePopup-title": "Change due date",
"editLabelPopup-title": "Zmień etykietę",
@@ -403,5 +404,8 @@
"yes": "Tak",
"no": "Nie",
"accounts": "Konto",
- "accounts-allowEmailChange": "Zezwól na zmianę adresu email"
+ "accounts-allowEmailChange": "Zezwól na zmianę adresu email",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index 1b872644..1c3762d8 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -42,7 +42,7 @@
"activity-checklist-item-added": "adicionado o item de checklist para '%s' em %s",
"add": "Novo",
"add-attachment": "Adicionar Anexos",
- "add-board": "Adiconar Quadro",
+ "add-board": "Adicionar Quadro",
"add-card": "Adicionar Cartão",
"add-checklist": "Adicionar Checklist",
"add-checklist-item": "Adicionar um item à lista de verificação",
@@ -54,9 +54,9 @@
"addMemberPopup-title": "Membros",
"admin": "Administrador",
"admin-desc": "Pode ver e editar cartões, remover membros e alterar configurações do quadro.",
- "admin-announcement": "Announcement",
- "admin-announcement-active": "Active System-Wide Announcement",
- "admin-announcement-title": "Announcement from Administrator",
+ "admin-announcement": "Anúncio",
+ "admin-announcement-active": "Anúncio ativo em todo o sistema",
+ "admin-announcement-title": "Anúncio do Administrador",
"all-boards": "Todos os quadros",
"and-n-other-card": "E __count__ outro cartão",
"and-n-other-card_plural": "E __count__ outros cartões",
@@ -151,7 +151,7 @@
"computer": "Computador",
"confirm-checklist-delete-dialog": "Tem a certeza de que pretende eliminar lista de verificação",
"copy-card-link-to-clipboard": "Copiar link do cartão para a área de transferência",
- "copyCardPopup-title": "Copy Card",
+ "copyCardPopup-title": "Copiar o cartão",
"create": "Criar",
"createBoardPopup-title": "Criar Quadro",
"chooseBoardSourcePopup-title": "Importar quadro",
@@ -172,6 +172,7 @@
"edit-avatar": "Alterar Avatar",
"edit-profile": "Editar Perfil",
"edit-wip-limit": "Editar Limite WIP",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Altera data de início",
"editCardDueDatePopup-title": "Altera data fim",
"editLabelPopup-title": "Alterar Etiqueta",
@@ -384,8 +385,8 @@
"error-notAuthorized": "Você não está autorizado à ver esta página.",
"outgoing-webhooks": "Webhook de saída",
"outgoingWebhooksPopup-title": "Webhook de saída",
- "new-outgoing-webhook": "New Outgoing Webhook",
- "no-name": "(Unknown)",
+ "new-outgoing-webhook": "Novo Webhook de saída",
+ "no-name": "(Desconhecido)",
"Wekan_version": "Versão do Wekan",
"Node_version": "Versão do Node",
"OS_Arch": "Arquitetura do SO",
@@ -403,5 +404,8 @@
"yes": "Sim",
"no": "Não",
"accounts": "Contas",
- "accounts-allowEmailChange": "Permitir Mudança de Email"
+ "accounts-allowEmailChange": "Permitir Mudança de Email",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json
index 7511535d..653e0cdd 100644
--- a/i18n/ro.i18n.json
+++ b/i18n/ro.i18n.json
@@ -172,6 +172,7 @@
"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",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json
index 9f0eabb8..96b88ea7 100644
--- a/i18n/ru.i18n.json
+++ b/i18n/ru.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Изменить аватар",
"edit-profile": "Изменить Профиль",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Сменить дату начала",
"editCardDueDatePopup-title": "Изменить дату до",
"editLabelPopup-title": "Редактирование метки",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json
index b5b92895..dc5a8f07 100644
--- a/i18n/sr.i18n.json
+++ b/i18n/sr.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "Change Avatar",
"edit-profile": "Edit Profile",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "Izmeni početni datum",
"editCardDueDatePopup-title": "Izmeni krajnji datum",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index 596fe4d8..b41e512d 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -54,9 +54,9 @@
"addMemberPopup-title": "Medlemmar",
"admin": "Adminstratör",
"admin-desc": "Kan visa och redigera kort, ta bort medlemmar och ändra inställningarna för anslagstavlan.",
- "admin-announcement": "Announcement",
- "admin-announcement-active": "Active System-Wide Announcement",
- "admin-announcement-title": "Announcement from Administrator",
+ "admin-announcement": "Meddelande",
+ "admin-announcement-active": "Aktivt system-brett meddelande",
+ "admin-announcement-title": "Meddelande från administratör",
"all-boards": "Alla anslagstavlor",
"and-n-other-card": "Och __count__ annat kort",
"and-n-other-card_plural": "Och __count__ andra kort",
@@ -171,7 +171,8 @@
"edit": "Redigera",
"edit-avatar": "Ändra avatar",
"edit-profile": "Redigera profil",
- "edit-wip-limit": "Edit WIP Limit",
+ "edit-wip-limit": "Redigera WIP-gränsen",
+ "soft-wip-limit": "Mjuk WIP-gräns",
"editCardStartDatePopup-title": "Ändra startdatum",
"editCardDueDatePopup-title": "Ändra förfallodatum",
"editLabelPopup-title": "Ändra etikett",
@@ -190,7 +191,7 @@
"email-sent": "E-post skickad",
"email-verifyEmail-subject": "Verifiera din e-post adress på __siteName__",
"email-verifyEmail-text": "Hej __user__,\n\nFör att verifiera din konto e-post, klicka på länken nedan.\n\n__url__\n\nTack.",
- "enable-wip-limit": "Enable WIP Limit",
+ "enable-wip-limit": "Aktivera WIP-gräns",
"error-board-doesNotExist": "Denna anslagstavla finns inte",
"error-board-notAdmin": "Du måste vara administratör för denna anslagstavla för att göra det",
"error-board-notAMember": "Du måste vara medlem i denna anslagstavla för att göra det",
@@ -245,8 +246,8 @@
"language": "Språk",
"last-admin-desc": "Du kan inte ändra roller för det måste finnas minst en administratör.",
"leave-board": "Lämna anslagstavla",
- "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 ?",
+ "leave-board-pop": "Är du säker på att du vill lämna __boardTitle__? Du kommer att tas bort från alla kort på den här anslagstavlan.",
+ "leaveBoardPopup-title": "Lämna anslagstavla ?",
"link-card": "Länka till detta kort",
"list-archive-cards": "Arkivera alla kort i denna lista",
"list-archive-cards-pop": "Detta tar bort alla kort i denna lista från anslagstavlan. Om du se arkiverade kort och få dem tillbaka till anslagstavlan, klicka på ”Meny” > ”Arkiverade objekt”.",
@@ -314,8 +315,8 @@
"save": "Spara",
"search": "Sök",
"select-color": "Välj färg",
- "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
- "setWipLimitPopup-title": "Set WIP Limit",
+ "set-wip-limit-value": "Ange en gräns för det maximala antalet uppgifter i den här listan",
+ "setWipLimitPopup-title": "Ställ in WIP-gräns",
"shortcut-assign-self": "Tilldela dig nuvarande kort",
"shortcut-autocomplete-emoji": "Komplettera automatiskt emoji",
"shortcut-autocomplete-members": "Komplettera automatiskt medlemmar",
@@ -356,9 +357,9 @@
"welcome-list1": "Grunderna",
"welcome-list2": "Avancerad",
"what-to-do": "Vad vill du göra?",
- "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.",
+ "wipLimitErrorPopup-title": "Ogiltig WIP-gräns",
+ "wipLimitErrorPopup-dialog-pt1": "Antalet uppgifter i den här listan är högre än WIP-gränsen du har definierat.",
+ "wipLimitErrorPopup-dialog-pt2": "Flytta några uppgifter ur listan, eller ställ in en högre WIP-gräns.",
"admin-panel": "Administratörspanel ",
"settings": "Inställningar",
"people": "Personer",
@@ -403,5 +404,8 @@
"yes": "Ja",
"no": "Nej",
"accounts": "Konton",
- "accounts-allowEmailChange": "Tillåt e-poständring"
+ "accounts-allowEmailChange": "Tillåt e-poständring",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json
index 1d6b9da6..3c126132 100644
--- a/i18n/ta.i18n.json
+++ b/i18n/ta.i18n.json
@@ -172,6 +172,7 @@
"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",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json
index f3679f71..f6ba4770 100644
--- a/i18n/th.i18n.json
+++ b/i18n/th.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "เปลี่ยนภาพ",
"edit-profile": "แก้ไขโปรไฟล์",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "เปลี่ยนวันเริ่มต้น",
"editCardDueDatePopup-title": "เปลี่ยนวันครบกำหนด",
"editLabelPopup-title": "เปลี่ยนป้ายกำกับ",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json
index c233ad98..9c253dd6 100644
--- a/i18n/tr.i18n.json
+++ b/i18n/tr.i18n.json
@@ -2,19 +2,19 @@
"accept": "Kabul Et",
"act-activity-notify": "[Wekan] Etkinlik Bildirimi",
"act-addAttachment": "__card__ kartına __attachment__ dosyasını ekledi",
- "act-addChecklist": "added checklist __checklist__ to __card__",
- "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
+ "act-addChecklist": "__card__ kartında __checklist__ yapılacak listesini ekledi",
+ "act-addChecklistItem": "__checklistItem__ öğesini __card__ kartındaki __checklist__ yapılacak listesine ekledi",
"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-createCard": "__card__ kartını ___list__ listesine ekledi",
"act-createList": "__list__ listesini __board__ panosuna ekledi",
"act-addBoardMember": "__member__ kullanıcısını __board__ panosuna ekledi",
"act-archivedBoard": "__board__ panosunu arşivledi",
"act-archivedCard": "__card__ kartını arşivledi",
"act-archivedList": "__list__ listesini arşivledi",
- "act-importBoard": "__board__ panosunu aktardı",
- "act-importCard": "__card__ kartını aktardı",
- "act-importList": "__list__ listesini aktardı",
+ "act-importBoard": "__board__ panosunu içe aktardı",
+ "act-importCard": "__card__ kartını içe aktardı",
+ "act-importList": "__list__ listesini içe aktardı",
"act-joinMember": "__member__ kullanıcısnı __card__ kartına ekledi",
"act-moveCard": "__card__ kartını __oldList__ listesinden __list__ listesine taşıdı",
"act-removeBoardMember": "__board__ panosundan __member__ kullanıcısını çıkarttı",
@@ -54,9 +54,9 @@
"addMemberPopup-title": "Üyeler",
"admin": "Yönetici",
"admin-desc": "Kartları görüntüleyebilir ve düzenleyebilir, üyeleri çıkarabilir ve pano ayarlarını değiştirebilir.",
- "admin-announcement": "Announcement",
- "admin-announcement-active": "Active System-Wide Announcement",
- "admin-announcement-title": "Announcement from Administrator",
+ "admin-announcement": "Duyuru",
+ "admin-announcement-active": "Tüm Sistemde Etkin Duyuru",
+ "admin-announcement-title": "Yöneticiden Duyuru",
"all-boards": "Tüm panolar",
"and-n-other-card": "Ve __count__ diğer kart",
"and-n-other-card_plural": "Ve __count__ diğer kart",
@@ -68,7 +68,7 @@
"archive-card": "Kartı Arşivle",
"archive-list": "Listeyi Arşivle",
"archive-selection": "Seçimi arşivle",
- "archiveBoardPopup-title": "Pano arşivlensin mi?",
+ "archiveBoardPopup-title": "Pano Arşivlensin mi?",
"archived-items": "Arşivlenmiş Öğeler",
"archived-boards": "Arşivlenmiş Panolar",
"restore-board": "Panoyu Geri Getir",
@@ -89,7 +89,7 @@
"board-private-info": "Bu pano <strong>gizli</strong> olacak.",
"board-public-info": "Bu pano <strong>genel</strong>e açılacaktır.",
"boardChangeColorPopup-title": "Pano arkaplan rengini değiştir",
- "boardChangeTitlePopup-title": "Pano Adı Değiştirme",
+ "boardChangeTitlePopup-title": "Panonun Adını Değiştir",
"boardChangeVisibilityPopup-title": "Görünebilirliği Değiştir",
"boardChangeWatchPopup-title": "İzleme Durumunu Değiştir",
"boardMenuPopup-title": "Pano menüsü",
@@ -149,7 +149,7 @@
"comment-only": "Sadece yorum",
"comment-only-desc": "Sadece kartlara yorum yazabilir.",
"computer": "Bilgisayar",
- "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist",
+ "confirm-checklist-delete-dialog": "Yapılacak listesini silmek istediğinize emin misiniz",
"copy-card-link-to-clipboard": "Kartın linkini kopyala",
"copyCardPopup-title": "Kartı Kopyala",
"create": "Oluştur",
@@ -171,7 +171,8 @@
"edit": "Düzenle",
"edit-avatar": "Avatar Değiştir",
"edit-profile": "Profili Düzenle",
- "edit-wip-limit": "Edit WIP Limit",
+ "edit-wip-limit": "Devam Eden İş Sınırını Düzenle",
+ "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",
"editLabelPopup-title": "Etiket Değiştir",
@@ -190,7 +191,7 @@
"email-sent": "E-posta gönderildi",
"email-verifyEmail-subject": "__siteName__ üzerindeki e-posta adresini doğrulama",
"email-verifyEmail-text": "Merhaba __user__,\n\nHesap e-posta adresini doğrulamak için aşağıdaki linke tıklaman yeterli.\n\n__url__\n\nTeşekkürler.",
- "enable-wip-limit": "Enable WIP Limit",
+ "enable-wip-limit": "Devam Eden İş Sınırını Aç",
"error-board-doesNotExist": "Pano bulunamadı",
"error-board-notAdmin": "Bu işlemi yapmak için pano yöneticisi olmalısın.",
"error-board-notAMember": "Bu işlemi yapmak için panoya üye olmalısın.",
@@ -245,8 +246,8 @@
"language": "Dil",
"last-admin-desc": "En az bir yönetici olması gerektiğinden rolleri değiştiremezsiniz.",
"leave-board": "Panodan ayrıl",
- "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 ?",
+ "leave-board-pop": "__boardTitle__ panosundan ayrılmak istediğinize emin misiniz? Panodaki tüm kartlardan kaldırılacaksınız.",
+ "leaveBoardPopup-title": "Panodan ayrılmak istediğinize emin misiniz?",
"link-card": "Bu kartın bağlantısı",
"list-archive-cards": "Bu liste içindeki tüm kartları arşivle",
"list-archive-cards-pop": "Bu işlem bu listedeki tüm kartları kaldıracak ve arşivleyecek. Arşivlenmiş kartları görmek ve panoya geri yüklemek için \"Menü\" altından \"Arşivlenmiş Öğeler\"e gidebilirsiniz.",
@@ -314,8 +315,8 @@
"save": "Kaydet",
"search": "Arama",
"select-color": "Renk Seç",
- "set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
- "setWipLimitPopup-title": "Set WIP Limit",
+ "set-wip-limit-value": "Bu listedeki en fazla öğe sayısı için bir sınır belirleyin",
+ "setWipLimitPopup-title": "Devam Eden İş Sınırı Belirle",
"shortcut-assign-self": "Kendini karta ata",
"shortcut-autocomplete-emoji": "Emojileri otomatik tamamla",
"shortcut-autocomplete-members": "Üye isimlerini otomatik tamamla",
@@ -356,9 +357,9 @@
"welcome-list1": "Temel",
"welcome-list2": "Gelişmiş",
"what-to-do": "Ne yapmak istiyorsunuz?",
- "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.",
+ "wipLimitErrorPopup-title": "Geçersiz Devam Eden İş Sınırı",
+ "wipLimitErrorPopup-dialog-pt1": "Bu listedeki iş sayısı belirlediğiniz sınırdan daha fazla.",
+ "wipLimitErrorPopup-dialog-pt2": "Lütfen bazı işleri bu listeden başka listeye taşıyın ya da devam eden iş sınırını yükseltin.",
"admin-panel": "Yönetici Paneli",
"settings": "Ayarlar",
"people": "Kullanıcılar",
@@ -389,19 +390,22 @@
"Wekan_version": "Wekan sürümü",
"Node_version": "Node sürümü",
"OS_Arch": "İşletim Sistemi Mimarisi",
- "OS_Cpus": "İS İşlemci Sayısı",
- "OS_Freemem": "İŞ Kullanılmayan Bellek",
- "OS_Loadavg": "İŞ Ortalama Yük",
- "OS_Platform": "İŞ Platformu",
+ "OS_Cpus": "İşletim Sistemi İşlemci Sayısı",
+ "OS_Freemem": "İşletim Sistemi Kullanılmayan Bellek",
+ "OS_Loadavg": "İşletim Sistemi Ortalama Yük",
+ "OS_Platform": "İşletim Sistemi Platformu",
"OS_Release": "İşletim Sistemi Sürümü",
- "OS_Totalmem": "İŞ Toplam Belleği",
- "OS_Type": "İŞ Tipi",
- "OS_Uptime": "İŞ Toplam Açık Kalınan Süre",
+ "OS_Totalmem": "İşletim Sistemi Toplam Belleği",
+ "OS_Type": "İşletim Sistemi Tipi",
+ "OS_Uptime": "İşletim Sistemi Toplam Açık Kalınan Süre",
"hours": "saat",
"minutes": "dakika",
"seconds": "saniye",
"yes": "Evet",
"no": "Hayır",
"accounts": "Hesaplar",
- "accounts-allowEmailChange": "E-posta Değiştirmeye İzin Ver"
+ "accounts-allowEmailChange": "E-posta Değiştirmeye İzin Ver",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json
index 206e626f..05790abc 100644
--- a/i18n/uk.i18n.json
+++ b/i18n/uk.i18n.json
@@ -172,6 +172,7 @@
"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",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json
index fe1fcc4a..0e1f7a04 100644
--- a/i18n/vi.i18n.json
+++ b/i18n/vi.i18n.json
@@ -172,6 +172,7 @@
"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",
"editLabelPopup-title": "Change Label",
@@ -403,5 +404,8 @@
"yes": "Yes",
"no": "No",
"accounts": "Accounts",
- "accounts-allowEmailChange": "Allow Email Change"
+ "accounts-allowEmailChange": "Allow Email Change",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index 2c732192..a9a30032 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "更改头像",
"edit-profile": "编辑资料",
"edit-wip-limit": "编辑最大任务数",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "修改起始日期",
"editCardDueDatePopup-title": "修改截止日期",
"editLabelPopup-title": "更改标签",
@@ -403,5 +404,8 @@
"yes": "是",
"no": "否",
"accounts": "账号",
- "accounts-allowEmailChange": "允许邮箱变更"
+ "accounts-allowEmailChange": "允许邮箱变更",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json
index 765d69fd..08953728 100644
--- a/i18n/zh-TW.i18n.json
+++ b/i18n/zh-TW.i18n.json
@@ -172,6 +172,7 @@
"edit-avatar": "更改大頭貼",
"edit-profile": "編輯資料",
"edit-wip-limit": "Edit WIP Limit",
+ "soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "更改開始日期",
"editCardDueDatePopup-title": "更改到期日期",
"editLabelPopup-title": "更改標籤",
@@ -403,5 +404,8 @@
"yes": "是",
"no": "否",
"accounts": "帳號",
- "accounts-allowEmailChange": "准許變更電子信箱"
+ "accounts-allowEmailChange": "准許變更電子信箱",
+ "createdAt": "Created at",
+ "verified": "Verified",
+ "active": "Active"
} \ No newline at end of file
diff --git a/models/cards.js b/models/cards.js
index 5b752ec3..5de17c6f 100644
--- a/models/cards.js
+++ b/models/cards.js
@@ -182,7 +182,7 @@ Cards.helpers({
canBeRestored() {
const list = Lists.findOne({_id: this.listId});
- if(list.getWipLimit() && list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count()){
+ if(!list.getWipLimit('soft') && list.getWipLimit('enabled') && list.getWipLimit('value') === list.cards().count()){
return false;
}
return true;
diff --git a/models/lists.js b/models/lists.js
index 75c39d2a..a5f4791b 100644
--- a/models/lists.js
+++ b/models/lists.js
@@ -49,23 +49,15 @@ Lists.attachSchema(new SimpleSchema({
'wipLimit.value': {
type: Number,
decimal: false,
- autoValue() {
- if(this.isInsert){
- return 0;
- }
- return this.value;
- },
- optional: true,
+ defaultValue: 1,
},
- 'wipLimit.enabled':{
+ 'wipLimit.enabled': {
type: Boolean,
- autoValue() {
- if(this.isInsert){
- return false;
- }
- return this.value;
- },
- optional: true,
+ defaultValue: false,
+ },
+ 'wipLimit.soft': {
+ type: Boolean,
+ defaultValue: false,
},
}));
@@ -123,6 +115,10 @@ Lists.mutations({
return { $set: { archived: false } };
},
+ toggleSoftLimit(toggle) {
+ return { $set: { 'wipLimit.soft': toggle } };
+ },
+
toggleWipLimit(toggle) {
return { $set: { 'wipLimit.enabled': toggle } };
},
@@ -136,17 +132,25 @@ Meteor.methods({
applyWipLimit(listId, limit){
check(listId, String);
check(limit, Number);
+ if(limit === 0){
+ limit = 1;
+ }
Lists.findOne({ _id: listId }).setWipLimit(limit);
},
enableWipLimit(listId) {
check(listId, String);
const list = Lists.findOne({ _id: listId });
- if(list.getWipLimit()){ // Necessary check to avoid exceptions for the case where the doc doesn't have the wipLimit field yet set
- list.toggleWipLimit(!list.getWipLimit('enabled'));
- } else {
- list.toggleWipLimit(true); // First time toggle is always to 'true' because default is 'false'
+ if(list.getWipLimit('value') === 0){
+ list.setWipLimit(1);
}
+ list.toggleWipLimit(!list.getWipLimit('enabled'));
+ },
+
+ enableSoftLimit(listId) {
+ check(listId, String);
+ const list = Lists.findOne({ _id: listId });
+ list.toggleSoftLimit(!list.getWipLimit('soft'));
},
});
diff --git a/models/settings.js b/models/settings.js
index a490d9c5..a02bb3fb 100644
--- a/models/settings.js
+++ b/models/settings.js
@@ -105,7 +105,7 @@ if (Meteor.isServer) {
inviter: Users.findOne(icode.authorId).username,
user: icode.email.split('@')[0],
icode: icode.code,
- url: FlowRouter.url('sign-in'),
+ url: FlowRouter.url('sign-up'),
};
const lang = author.getLanguage();
Email.send({
diff --git a/models/users.js b/models/users.js
index 5ba0131f..11a53ce6 100644
--- a/models/users.js
+++ b/models/users.js
@@ -118,6 +118,13 @@ Users.attachSchema(new SimpleSchema({
},
}));
+Users.allow({
+ update(userId) {
+ const user = Users.findOne(userId);
+ return user && Meteor.user().isAdmin;
+ },
+});
+
// Search a user in the complete server database by its name or username. This
// is used for instance to add a new user to a board.
const searchInFields = ['username', 'profile.fullname'];
@@ -152,36 +159,36 @@ if (Meteor.isClient) {
Users.helpers({
boards() {
- return Boards.find({ userId: this._id });
+ return Boards.find({ 'members.userId': this._id });
},
starredBoards() {
- const { starredBoards = [] } = this.profile;
- return Boards.find({ archived: false, _id: { $in: starredBoards } });
+ const {starredBoards = []} = this.profile;
+ return Boards.find({archived: false, _id: {$in: starredBoards}});
},
hasStarred(boardId) {
- const { starredBoards = [] } = this.profile;
+ const {starredBoards = []} = this.profile;
return _.contains(starredBoards, boardId);
},
invitedBoards() {
- const { invitedBoards = [] } = this.profile;
- return Boards.find({ archived: false, _id: { $in: invitedBoards } });
+ const {invitedBoards = []} = this.profile;
+ return Boards.find({archived: false, _id: {$in: invitedBoards}});
},
isInvitedTo(boardId) {
- const { invitedBoards = [] } = this.profile;
+ const {invitedBoards = []} = this.profile;
return _.contains(invitedBoards, boardId);
},
hasTag(tag) {
- const { tags = [] } = this.profile;
+ const {tags = []} = this.profile;
return _.contains(tags, tag);
},
hasNotification(activityId) {
- const { notifications = [] } = this.profile;
+ const {notifications = []} = this.profile;
return _.contains(notifications, activityId);
},
@@ -191,7 +198,7 @@ Users.helpers({
},
getEmailBuffer() {
- const { emailBuffer = [] } = this.profile;
+ const {emailBuffer = []} = this.profile;
return emailBuffer;
},
@@ -316,22 +323,22 @@ Users.mutations({
},
setAvatarUrl(avatarUrl) {
- return { $set: { 'profile.avatarUrl': avatarUrl } };
+ return {$set: {'profile.avatarUrl': avatarUrl}};
},
setShowCardsCountAt(limit) {
- return { $set: { 'profile.showCardsCountAt': limit } };
+ return {$set: {'profile.showCardsCountAt': limit}};
},
});
Meteor.methods({
- setUsername(username) {
+ setUsername(username, userId) {
check(username, String);
- const nUsersWithUsername = Users.find({ username }).count();
+ const nUsersWithUsername = Users.find({username}).count();
if (nUsersWithUsername > 0) {
throw new Meteor.Error('username-already-taken');
} else {
- Users.update(this.userId, { $set: { username } });
+ Users.update(userId, {$set: {username}});
}
},
toggleSystemMessages() {
@@ -342,13 +349,13 @@ Meteor.methods({
check(limit, Number);
Meteor.user().setShowCardsCountAt(limit);
},
- setEmail(email) {
+ setEmail(email, userId) {
check(email, String);
- const existingUser = Users.findOne({ 'emails.address': email }, { fields: { _id: 1 } });
+ const existingUser = Users.findOne({'emails.address': email}, {fields: {_id: 1}});
if (existingUser) {
throw new Meteor.Error('email-already-taken');
} else {
- Users.update(this.userId, {
+ Users.update(userId, {
$set: {
emails: [{
address: email,
@@ -358,11 +365,12 @@ Meteor.methods({
});
}
},
- setUsernameAndEmail(username, email) {
+ setUsernameAndEmail(username, email, userId) {
check(username, String);
check(email, String);
- Meteor.call('setUsername', username);
- Meteor.call('setEmail', email);
+ check(userId, String);
+ Meteor.call('setUsername', username, userId);
+ Meteor.call('setEmail', email, userId);
},
});
@@ -379,8 +387,8 @@ if (Meteor.isServer) {
board &&
board.members &&
_.contains(_.pluck(board.members, 'userId'), inviter._id) &&
- _.where(board.members, { userId: inviter._id })[0].isActive &&
- _.where(board.members, { userId: inviter._id })[0].isAdmin;
+ _.where(board.members, {userId: inviter._id})[0].isActive &&
+ _.where(board.members, {userId: inviter._id})[0].isAdmin;
if (!allowInvite) throw new Meteor.Error('error-board-notAMember');
this.unblock();
@@ -388,9 +396,9 @@ if (Meteor.isServer) {
const posAt = username.indexOf('@');
let user = null;
if (posAt >= 0) {
- user = Users.findOne({ emails: { $elemMatch: { address: username } } });
+ user = Users.findOne({emails: {$elemMatch: {address: username}}});
} else {
- user = Users.findOne(username) || Users.findOne({ username });
+ user = Users.findOne(username) || Users.findOne({username});
}
if (user) {
if (user._id === inviter._id) throw new Meteor.Error('error-user-notAllowSelf');
@@ -400,7 +408,7 @@ if (Meteor.isServer) {
// Set in lowercase email before creating account
const email = username.toLowerCase();
username = email.substring(0, posAt);
- const newUserId = Accounts.createUser({ username, email });
+ const newUserId = Accounts.createUser({username, email});
if (!newUserId) throw new Meteor.Error('error-user-notCreated');
// assume new user speak same language with inviter
if (inviter.profile && inviter.profile.language) {
@@ -434,7 +442,7 @@ if (Meteor.isServer) {
} catch (e) {
throw new Meteor.Error('email-fail', e.message);
}
- return { username: user.username, email: user.emails[0].address };
+ return {username: user.username, email: user.emails[0].address};
},
});
Accounts.onCreateUser((options, user) => {
@@ -457,11 +465,15 @@ if (Meteor.isServer) {
if (!options || !options.profile) {
throw new Meteor.Error('error-invitation-code-blank', 'The invitation code is required');
}
- const invitationCode = InvitationCodes.findOne({ code: options.profile.invitationcode, email: options.email, valid: true });
+ const invitationCode = InvitationCodes.findOne({
+ code: options.profile.invitationcode,
+ email: options.email,
+ valid: true,
+ });
if (!invitationCode) {
throw new Meteor.Error('error-invitation-code-not-exist', 'The invitation code doesn\'t exist');
} else {
- user.profile = { icode: options.profile.invitationcode };
+ user.profile = {icode: options.profile.invitationcode};
}
return user;
@@ -473,7 +485,7 @@ if (Meteor.isServer) {
Meteor.startup(() => {
Users._collection._ensureIndex({
username: 1,
- }, { unique: true });
+ }, {unique: true});
});
// Each board document contains the de-normalized number of users that have
@@ -492,6 +504,7 @@ if (Meteor.isServer) {
function getStarredBoardsIds(doc) {
return doc.profile && doc.profile.starredBoards;
}
+
const oldIds = getStarredBoardsIds(this.previous);
const newIds = getStarredBoardsIds(user);
@@ -500,9 +513,10 @@ if (Meteor.isServer) {
// direction and then in the other.
function incrementBoards(boardsIds, inc) {
boardsIds.forEach((boardId) => {
- Boards.update(boardId, { $inc: { stars: inc } });
+ Boards.update(boardId, {$inc: {stars: inc}});
});
}
+
incrementBoards(_.difference(oldIds, newIds), -1);
incrementBoards(_.difference(newIds, oldIds), +1);
});
@@ -529,7 +543,7 @@ if (Meteor.isServer) {
}, fakeUser, (err, boardId) => {
['welcome-list1', 'welcome-list2'].forEach((title) => {
- Lists.insert({ title: TAPi18n.__(title), boardId }, fakeUser);
+ Lists.insert({title: TAPi18n.__(title), boardId}, fakeUser);
});
});
});
@@ -545,14 +559,14 @@ if (Meteor.isServer) {
// the disableRegistration check.
// Issue : https://github.com/wekan/wekan/issues/1232
// PR : https://github.com/wekan/wekan/pull/1251
- Users.update(doc._id, { $set: { createdThroughApi: '' } });
+ Users.update(doc._id, {$set: {createdThroughApi: ''}});
return;
}
//invite user to corresponding boards
const disableRegistration = Settings.findOne().disableRegistration;
if (disableRegistration) {
- const invitationCode = InvitationCodes.findOne({ code: doc.profile.icode, valid: true });
+ const invitationCode = InvitationCodes.findOne({code: doc.profile.icode, valid: true});
if (!invitationCode) {
throw new Meteor.Error('error-invitation-code-not-exist');
} else {
@@ -564,8 +578,8 @@ if (Meteor.isServer) {
doc.profile = {};
}
doc.profile.invitedBoards = invitationCode.boardsToBeInvited;
- Users.update(doc._id, { $set: { profile: doc.profile } });
- InvitationCodes.update(invitationCode._id, { $set: { valid: false } });
+ Users.update(doc._id, {$set: {profile: doc.profile}});
+ InvitationCodes.update(invitationCode._id, {$set: {valid: false}});
}
}
});
diff --git a/models/wekanCreator.js b/models/wekanCreator.js
index 3cd65fd7..ae8e32ca 100644
--- a/models/wekanCreator.js
+++ b/models/wekanCreator.js
@@ -133,47 +133,39 @@ export class WekanCreator {
}
// You must call parseActions before calling this one.
- createBoardAndLabels(wekanBoard) {
+ createBoardAndLabels(boardToImport) {
const boardToCreate = {
- archived: wekanBoard.archived,
- color: wekanBoard.color,
+ archived: boardToImport.archived,
+ color: boardToImport.color,
// very old boards won't have a creation activity so no creation date
- createdAt: this._now(wekanBoard.createdAt),
+ createdAt: this._now(boardToImport.createdAt),
labels: [],
members: [{
userId: Meteor.userId(),
- isAdmin: true,
+ wekanId: Meteor.userId(),
isActive: true,
+ isAdmin: true,
isCommentOnly: false,
}],
// Standalone Export has modifiedAt missing, adding modifiedAt to fix it
- modifiedAt: this._now(wekanBoard.modifiedAt),
- permission: wekanBoard.permission,
- slug: getSlug(wekanBoard.title) || 'board',
+ modifiedAt: this._now(boardToImport.modifiedAt),
+ permission: boardToImport.permission,
+ slug: getSlug(boardToImport.title) || 'board',
stars: 0,
- title: wekanBoard.title,
+ title: boardToImport.title,
};
// now add other members
- if(wekanBoard.members) {
- wekanBoard.members.forEach((wekanMember) => {
- const wekanId = wekanMember.userId;
- // do we have a mapping?
- if(this.members[wekanId]) {
- const wekanId = this.members[wekanId];
- // do we already have it in our list?
- const wekanMember = boardToCreate.members.find((wekanMember) => wekanMember.userId === wekanId);
- if(!wekanMember) {
- boardToCreate.members.push({
- userId: wekanId,
- isAdmin: wekanMember.isAdmin,
- isActive: true,
- isCommentOnly: false,
- });
- }
- }
+ if(boardToImport.members) {
+ boardToImport.members.forEach((wekanMember) => {
+ // do we already have it in our list?
+ if(!boardToCreate.members.some((member) => member.wekanId === wekanMember.wekanId))
+ boardToCreate.members.push({
+ ... wekanMember,
+ userId: wekanMember.wekanId,
+ });
});
}
- wekanBoard.labels.forEach((label) => {
+ boardToImport.labels.forEach((label) => {
const labelToCreate = {
_id: Random.id(6),
color: label.color,
@@ -192,7 +184,7 @@ export class WekanCreator {
boardId,
createdAt: this._now(),
source: {
- id: wekanBoard.id,
+ id: boardToImport.id,
system: 'Wekan',
},
// We attribute the import to current user,
diff --git a/package.json b/package.json
index 52af46cf..d643fbfb 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "0.50.0",
+ "version": "0.54.0",
"description": "The open-source Trello-like kanban",
"private": true,
"scripts": {
diff --git a/public/fonts/roboto-bold.woff b/public/fonts/roboto-bold.woff
index bf737c1c..6ec255f5 100644
--- a/public/fonts/roboto-bold.woff
+++ b/public/fonts/roboto-bold.woff
Binary files differ
diff --git a/public/fonts/roboto-bold.woff2 b/public/fonts/roboto-bold.woff2
index 11cde5d0..f779b2c5 100644
--- a/public/fonts/roboto-bold.woff2
+++ b/public/fonts/roboto-bold.woff2
Binary files differ
diff --git a/public/fonts/roboto-regular.woff b/public/fonts/roboto-regular.woff
index 941dfa4b..f9a02e26 100644
--- a/public/fonts/roboto-regular.woff
+++ b/public/fonts/roboto-regular.woff
Binary files differ
diff --git a/public/fonts/roboto-regular.woff2 b/public/fonts/roboto-regular.woff2
index 120796bb..cebe610d 100644
--- a/public/fonts/roboto-regular.woff2
+++ b/public/fonts/roboto-regular.woff2
Binary files differ
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index d0a426f1..d3b7b2c6 100644
--- a/sandstorm-pkgdef.capnp
+++ b/sandstorm-pkgdef.capnp
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
appTitle = (defaultText = "Wekan"),
# The name of the app as it is displayed to the user.
- appVersion = 37,
+ appVersion = 40,
# Increment this for every release.
- appMarketingVersion = (defaultText = "0.50.0~2017-10-10"),
+ appMarketingVersion = (defaultText = "0.54.0~2017-11-02"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
diff --git a/server/publications/people.js b/server/publications/people.js
new file mode 100644
index 00000000..f3c2bdfe
--- /dev/null
+++ b/server/publications/people.js
@@ -0,0 +1,7 @@
+Meteor.publish('people', (limit) => {
+ check(limit, Number);
+ return Users.find({}, {
+ limit,
+ sort: {createdAt: -1},
+ });
+});