Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4a42d683af | ||
|
|
8faa48fe12 | ||
|
|
67c4fae32b | ||
|
|
42d31901b5 | ||
|
|
72b22a73b6 | ||
|
|
4d30503cb5 | ||
|
|
7b45a0fbfe | ||
|
|
42dee10dbe | ||
|
|
68be12d166 | ||
|
|
fd896c29b5 | ||
|
|
98a4be643e | ||
|
|
b650a89728 | ||
|
|
346dba4969 | ||
|
|
f3b858ca21 | ||
|
|
5bc355f9a5 | ||
|
|
21fa26a1be | ||
|
|
66372271c2 | ||
|
|
e60926f847 | ||
|
|
b04df1d54d | ||
|
|
83f81f4586 | ||
|
|
4785086e2f | ||
|
|
98c38fe58f | ||
|
|
44378fe9d1 | ||
|
|
afcca947e3 | ||
|
|
20526756db | ||
|
|
58724f93c9 | ||
|
|
5d6c68a9cf | ||
|
|
ed4c49090a | ||
|
|
75dc5f226c | ||
|
|
020b663836 | ||
|
|
e5f0dd7dd8 | ||
|
|
4f34adbd44 | ||
|
|
62b72a03c4 | ||
|
|
5696e4a4c6 | ||
|
|
814e264521 | ||
|
|
872ed4b2f9 | ||
|
|
1d8633e7e6 | ||
|
|
b3637f2781 | ||
|
|
68d3cdae58 | ||
|
|
620a362244 | ||
|
|
d5cff1ec48 | ||
|
|
8d7714760c | ||
|
|
a37723f8a4 | ||
|
|
e3a727edec | ||
|
|
4ee88e026e | ||
|
|
55a2473d81 | ||
|
|
ba754cfaea | ||
|
|
7a8011f887 | ||
|
|
125231beff | ||
|
|
f70e47a012 | ||
|
|
0c34566aef | ||
|
|
f29d7daa1d | ||
|
|
0120c73a80 | ||
|
|
194b6ad46e | ||
|
|
03d7fc02ec |
No files matched your search
+1
-1
@@ -39,7 +39,7 @@ host = https://www.transifex.com
|
||||
# tap:i18n requires us to use `-` separator in the language identifiers whereas
|
||||
# Transifex uses a `_` separator, without an option to customize it on one side
|
||||
# or the other, so we need to do a Manual mapping.
|
||||
lang_map = bg_BG:bg, en_GB:en-GB, es_AR:es-AR, el_GR:el, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, zh_CN:zh-CN, zh_TW:zh-TW, zh_HK:zh-HK
|
||||
lang_map = bg_BG:bg, en_GB:en-GB, es_AR:es-AR, el_GR:el, fi_FI:fi, hu_HU:hu, id_ID:id, mn_MN:mn, no:nb, lv_LV:lv, pt_BR:pt-BR, ro_RO:ro, sl_SI:sl, zh_CN:zh-CN, zh_TW:zh-TW, zh_HK:zh-HK
|
||||
|
||||
[wekan.application]
|
||||
file_filter = i18n/<lang>.i18n.json
|
||||
|
||||
@@ -1,3 +1,48 @@
|
||||
# v3.46 2019-10-07 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
- [More black minicard badges](https://github.com/wekan/wekan/commit/68be12d166b21a41b4e2c4021b0966807e5ed1e6).
|
||||
Thanks to sfahrenholz and xet7.
|
||||
- [REST API: fix creation of Checklists](https://github.com/wekan/wekan/pull/2747).
|
||||
Thanks to liske.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v3.45 2019-10-03 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Cards due timeline will be shown in Calendar view](https://github.com/wekan/wekan/pull/2738).
|
||||
Thanks to whowillcare.
|
||||
- [Modified due day reminders in cards.js, so wekan server admin can control the reminder more flexibly](https://github.com/wekan/wekan/pull/2738).
|
||||
i.e. NOTIFY_DUE_DAYS_BEFORE_AND_AFTER = 0 notification will be sent on due day only.
|
||||
NOTIFY_DUE_DAYS_BEFORE_AND_AFTER = 2,0 it means notification will be sent on both due day and two days before.
|
||||
Thanks to whowillcare.
|
||||
- [Added modifications the help files, related to NOTIFY_DUE_DAYS_BEFORE_AND_AFTER](https://github.com/wekan/wekan/pull/2740).
|
||||
Thanks to whowillcare.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Modified list.style regarding .list-header-name when in mobile mode. It was too close to left arrow](https://github.com/wekan/wekan/pull/2740).
|
||||
Thanks to whowillcare.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v3.44 2019-09-17 Wekan release
|
||||
|
||||
This release adds the following languages:
|
||||
|
||||
- [Add language: Slovenian](https://github.com/wekan/wekan/commit/125231beff0fb84a18a46fe246fa12e098246985).
|
||||
Thanks to translators.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [Fix: in richer editor @ autocomplete doesn't really insert the username properly](https://github.com/wekan/wekan/pull/2717).
|
||||
Thanks to whowillcare.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v3.43 2019-09-17 Wekan release
|
||||
|
||||
This release fixes the following bugs:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
appId: wekan-public/apps/77b94f60-dec9-0136-304e-16ff53095928
|
||||
appVersion: "v3.43.0"
|
||||
appVersion: "v3.46.0"
|
||||
files:
|
||||
userUploads:
|
||||
- README.md
|
||||
|
||||
@@ -309,26 +309,46 @@ BlazeComponent.extendComponent({
|
||||
events(start, end, timezone, callback) {
|
||||
const currentBoard = Boards.findOne(Session.get('currentBoard'));
|
||||
const events = [];
|
||||
const pushEvent = function(card, title, start, end, extraCls) {
|
||||
start = start || card.startAt;
|
||||
end = end || card.endAt;
|
||||
title = title || card.title;
|
||||
const className =
|
||||
(extraCls ? `${extraCls} ` : '') +
|
||||
(card.color ? `calendar-event-${card.color}` : '');
|
||||
events.push({
|
||||
id: card._id,
|
||||
title,
|
||||
start,
|
||||
end: end || card.endAt,
|
||||
allDay:
|
||||
Math.abs(end.getTime() - start.getTime()) / 1000 === 24 * 3600,
|
||||
url: FlowRouter.url('card', {
|
||||
boardId: currentBoard._id,
|
||||
slug: currentBoard.slug,
|
||||
cardId: card._id,
|
||||
}),
|
||||
className,
|
||||
});
|
||||
};
|
||||
currentBoard
|
||||
.cardsInInterval(start.toDate(), end.toDate())
|
||||
.forEach(function(card) {
|
||||
events.push({
|
||||
id: card._id,
|
||||
title: card.title,
|
||||
start: card.startAt,
|
||||
end: card.endAt,
|
||||
allDay:
|
||||
Math.abs(card.endAt.getTime() - card.startAt.getTime()) /
|
||||
1000 ===
|
||||
24 * 3600,
|
||||
url: FlowRouter.url('card', {
|
||||
boardId: currentBoard._id,
|
||||
slug: currentBoard.slug,
|
||||
cardId: card._id,
|
||||
}),
|
||||
className: card.color ? `calendar-event-${card.color}` : null,
|
||||
});
|
||||
pushEvent(card);
|
||||
});
|
||||
currentBoard
|
||||
.cardsDueInBetween(start.toDate(), end.toDate())
|
||||
.forEach(function(card) {
|
||||
pushEvent(
|
||||
card,
|
||||
`${card.title} ${TAPi18n.__('card-due')}`,
|
||||
card.dueAt,
|
||||
new Date(card.dueAt.getTime() + 36e5),
|
||||
);
|
||||
});
|
||||
events.sort(function(first, second) {
|
||||
return first.id > second.id ? 1 : -1;
|
||||
});
|
||||
callback(events);
|
||||
},
|
||||
eventResize(event, delta, revertFunc) {
|
||||
|
||||
@@ -105,7 +105,8 @@
|
||||
right: 5px;
|
||||
top: 5px;
|
||||
display:none;
|
||||
@media only screen and (max-width: 1199px) {
|
||||
// @media only screen and (max-width: 1199px) {
|
||||
@media only screen and (max-width: 800px) {
|
||||
display:block;
|
||||
}
|
||||
.fa-arrows
|
||||
@@ -127,7 +128,7 @@
|
||||
.badges
|
||||
float: left
|
||||
margin-top: 7px
|
||||
color: darken(white, 50%)
|
||||
color: darken(white, 80%)
|
||||
|
||||
&:empty
|
||||
display: none
|
||||
|
||||
@@ -31,7 +31,7 @@ BlazeComponent.extendComponent({
|
||||
const itemsSelector = '.js-minicard:not(.placeholder, .js-card-composer)';
|
||||
const $cards = this.$('.js-minicards');
|
||||
|
||||
if (window.matchMedia('(max-width: 1199px)').matches) {
|
||||
if (Utils.isMiniScreen()) {
|
||||
$('.js-minicards').sortable({
|
||||
handle: '.handle',
|
||||
});
|
||||
|
||||
@@ -94,7 +94,13 @@ Template.editor.onRendered(() => {
|
||||
currentBoard
|
||||
.activeMembers()
|
||||
.map(member => {
|
||||
const username = Users.findOne(member.userId).username;
|
||||
const user = Users.findOne(member.userId);
|
||||
if (user._id === Meteor.userId()) {
|
||||
return null;
|
||||
}
|
||||
const value = user.username;
|
||||
const username =
|
||||
value && value.match(/\s+/) ? `"${value}"` : value;
|
||||
return username.includes(term) ? username : null;
|
||||
})
|
||||
.filter(Boolean),
|
||||
@@ -120,9 +126,10 @@ Template.editor.onRendered(() => {
|
||||
? [
|
||||
['view', ['fullscreen']],
|
||||
['table', ['table']],
|
||||
['font', ['bold', 'underline']],
|
||||
//['fontsize', ['fontsize']],
|
||||
['font', ['bold']],
|
||||
['color', ['color']],
|
||||
['insert', ['video']], // iframe tag will be sanitized TODO if iframe[class=note-video-clip] can be added into safe list, insert video can be enabled
|
||||
//['fontsize', ['fontsize']],
|
||||
]
|
||||
: [
|
||||
['style', ['style']],
|
||||
@@ -156,25 +163,45 @@ Template.editor.onRendered(() => {
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
let popupShown = false;
|
||||
inputs.each(function(idx, input) {
|
||||
mSummernotes[idx] = $(input).summernote({
|
||||
placeholder,
|
||||
callbacks: {
|
||||
onKeydown(e) {
|
||||
if (popupShown) {
|
||||
e.preventDefault();
|
||||
}
|
||||
},
|
||||
onKeyup(e) {
|
||||
if (popupShown) {
|
||||
e.preventDefault();
|
||||
}
|
||||
},
|
||||
onInit(object) {
|
||||
const originalInput = this;
|
||||
const setAutocomplete = function(jEditor) {
|
||||
if (jEditor !== undefined) {
|
||||
jEditor.escapeableTextComplete(mentions).on({
|
||||
'textComplete:show'() {
|
||||
popupShown = true;
|
||||
},
|
||||
'textComplete:hide'() {
|
||||
popupShown = false;
|
||||
},
|
||||
});
|
||||
}
|
||||
};
|
||||
$(originalInput).on('submitted', function() {
|
||||
// resetCommentInput has been called
|
||||
if (!this.value) {
|
||||
const sn = getSummernote(this);
|
||||
sn && sn.summernote('reset');
|
||||
object && object.editingArea.find('.note-placeholder').show();
|
||||
sn && sn.summernote('code', '');
|
||||
}
|
||||
});
|
||||
const jEditor = object && object.editable;
|
||||
const toolbar = object && object.toolbar;
|
||||
if (jEditor !== undefined) {
|
||||
jEditor.escapeableTextComplete(mentions);
|
||||
}
|
||||
setAutocomplete(jEditor);
|
||||
if (toolbar !== undefined) {
|
||||
const fBtn = toolbar.find('.btn-fullscreen');
|
||||
fBtn.on('click', function() {
|
||||
@@ -264,7 +291,7 @@ Template.editor.onRendered(() => {
|
||||
const someNote = getSummernote(object);
|
||||
const original = someNote.summernote('code');
|
||||
const cleaned = cleanPastedHTML(original); //this is where to call whatever clean function you want. I have mine in a different file, called CleanPastedHTML.
|
||||
someNote.summernote('reset'); //clear original
|
||||
someNote.summernote('code', ''); //clear original
|
||||
someNote.summernote('pasteHTML', cleaned); //this sets the displayed content editor to the cleaned pasted code.
|
||||
};
|
||||
setTimeout(function() {
|
||||
@@ -325,11 +352,12 @@ Blaze.Template.registerHelper(
|
||||
}
|
||||
return member;
|
||||
});
|
||||
const mentionRegex = /\B@([\w.]*)/gi;
|
||||
const mentionRegex = /\B@(?:(?:"([\w.\s]*)")|([\w.]+))/gi; // including space in username
|
||||
|
||||
let currentMention;
|
||||
while ((currentMention = mentionRegex.exec(content)) !== null) {
|
||||
const [fullMention, username] = currentMention;
|
||||
const [fullMention, quoteduser, simple] = currentMention;
|
||||
const username = quoteduser || simple;
|
||||
const knowedUser = _.findWhere(knowedUsers, { username });
|
||||
if (!knowedUser) {
|
||||
continue;
|
||||
|
||||
@@ -21,7 +21,15 @@ DatePicker = BlazeComponent.extendComponent({
|
||||
function(evt) {
|
||||
this.find('#date').value = moment(evt.date).format('L');
|
||||
this.error.set('');
|
||||
this.find('#time').focus();
|
||||
const timeInput = this.find('#time');
|
||||
timeInput.focus();
|
||||
if (!timeInput.value) {
|
||||
const currentHour = evt.date.getHours();
|
||||
const defaultMoment = moment(
|
||||
currentHour > 0 ? evt.date : '1970-01-01 08:00:00',
|
||||
); // default to 8:00 am local time
|
||||
timeInput.value = defaultMoment.format('LT');
|
||||
}
|
||||
}.bind(this),
|
||||
);
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@ $.fn.escapeableTextComplete = function(strategies, options, ...otherArgs) {
|
||||
});
|
||||
},
|
||||
});
|
||||
return this;
|
||||
};
|
||||
|
||||
EscapeActions.register('textcomplete', () => {}, () => dropdownMenuIsOpened, {
|
||||
|
||||
+2
-2
@@ -271,8 +271,8 @@ services:
|
||||
# dueat startat endat receivedat, also notification to
|
||||
# the watchers and if any card is due, about due or past due.
|
||||
#
|
||||
# Notify due days, default 2 days before and after. 0 = due notifications disabled. Default: 2
|
||||
#- NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2
|
||||
# Notify due days, default is None, 2 days before and on the event day
|
||||
#- NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2,0
|
||||
#
|
||||
# Notify due at hour of day. Default every morning at 8am. Can be 0-23.
|
||||
# If env variable has parsing error, use default. Notification sent to watchers.
|
||||
|
||||
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+3
-2
@@ -731,11 +731,12 @@
|
||||
"almostdue": "current due time %s is approaching",
|
||||
"pastdue": "current due time %s is past",
|
||||
"duenow": "current due time %s is today",
|
||||
"act-withDue": "__card__ due reminders [__board__]",
|
||||
"act-newDue": "__list__/__card__ has 1st due reminder [__board__]",
|
||||
"act-withDue": "__list__/__card__ due reminders [__board__]",
|
||||
"act-almostdue": "was reminding the current due (__timeValue__) of __card__ is approaching",
|
||||
"act-pastdue": "was reminding the current due (__timeValue__) of __card__ is past",
|
||||
"act-duenow": "was reminding the current due (__timeValue__) of __card__ is now",
|
||||
"act-atUserComment": "You were mentioned in [__board__] __card__",
|
||||
"act-atUserComment": "You were mentioned in [__board__] __list__/__card__",
|
||||
"delete-user-confirm-popup": "Are you sure you want to delete this account? There is no undo.",
|
||||
"accounts-allowUserDelete": "Allow users to self delete their account",
|
||||
"hide-minicard-label-text": "Hide minicard label text",
|
||||
|
||||
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+3
-2
@@ -728,11 +728,12 @@
|
||||
"almostdue": "La date d'échéance %s approche",
|
||||
"pastdue": "La date d'échéance %s est passée",
|
||||
"duenow": "La date d'échéance %s est aujourd'hui",
|
||||
"act-withDue": "__card__ rappel d'échéance [__board__]",
|
||||
"act-newDue": "__list__/__card__ a un 1er rappel d'échéance [__board__]",
|
||||
"act-withDue": "__list__/__card__ rappel d'échéance [__board__]",
|
||||
"act-almostdue": "rappelle que l'échéance (__timeValue__) de __card__ approche",
|
||||
"act-pastdue": "rappelle que l'échéance (__timeValue__) de __card__ est passée",
|
||||
"act-duenow": "rappelle que l'échéance (__timeValue__) de __card__ est maintenant",
|
||||
"act-atUserComment": "Vous avez été mentionné dans [__board__] __card__",
|
||||
"act-atUserComment": "Vous avez été mentionné dans [__board__] __list__/__card__",
|
||||
"delete-user-confirm-popup": "Êtes-vous sûr de vouloir supprimer ce compte ? Cette opération ne peut pas être annulée. ",
|
||||
"accounts-allowUserDelete": "Autoriser les utilisateurs à supprimer leur compte",
|
||||
"hide-minicard-label-text": "Cacher le label de la minicarte",
|
||||
|
||||
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,741 @@
|
||||
{
|
||||
"accept": "Sprejmi",
|
||||
"act-activity-notify": "Obvestilo o dejavnosti",
|
||||
"act-addAttachment": "dodal priponko __attachment__ h kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-deleteAttachment": "odstranil priponko __attachment__ iz kartice __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-addSubtask": "dodal podopravilo __subtask__ h kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-addLabel": "Dodal oznako __label__ h kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-addedLabel": "Dodal oznako __label__ h kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-removeLabel": "Odstranil oznako __label__ iz kartice __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-removedLabel": "Odstranil oznako __label__ iz kartice __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-addChecklist": "dodal kontrolni seznam __checklist__ h kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-addChecklistItem": "dodal postavko __checklistItem__ kontrolnega seznama __checklist__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-removeChecklist": "odstranil kontrolni seznam __checklist__ iz kartice __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-removeChecklistItem": "odstranil postavko __checklistItem__ kontrolnega seznama __checklist__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-checkedItem": "obkljukal postavko __checklistItem__ kontrolnega seznama __checklist__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-uncheckedItem": "odkljukal postavko __checklistItem__ kontrolnega seznama __checklist__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-completeChecklist": "dokončal kontrolni seznam __checklist__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-uncompleteChecklist": "nedokončan kontrolni seznam __checklist__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-addComment": "komentiral na kartici __card__: __comment__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-editComment": "uredil komentar na kartici __card__: __comment__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-deleteComment": "izbrisal komentar na kartici __card__: __comment__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-createBoard": "ustvaril tablo __board__",
|
||||
"act-createSwimlane": "ustvaril plavalno stezo __swimlane__ na tabli __board__",
|
||||
"act-createCard": "ustvaril kartico __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-createCustomField": "ustvaril poljubno polje __customField__ na tabli __board__",
|
||||
"act-deleteCustomField": "izbrisal poljubno polje __customField__ na tabli __board__",
|
||||
"act-setCustomField": "uredil poljubno polje __customField__: __customFieldValue__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-createList": "dodal seznam __list__ na tablo __board__",
|
||||
"act-addBoardMember": "dodal člana __member__ k tabli __board__",
|
||||
"act-archivedBoard": "Tabla __board__ premaknjena v arhiv",
|
||||
"act-archivedCard": "Kartica __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__ premaknjena v arhiv",
|
||||
"act-archivedList": "Seznam __list__ na plavalni stezi __swimlane__ na tabli __board__ premaknjen v arhiv",
|
||||
"act-archivedSwimlane": "Plavalna steza __swimlane__ na tabli __board__ premaknjena v arhiv",
|
||||
"act-importBoard": "uvozil tablo __board__",
|
||||
"act-importCard": "uvozil kartico __card__ na seznam __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-importList": "uvozil seznam __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-joinMember": "dodal član __member__ h kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-moveCard": "premakil kartico __card__ na tabli __board__ iz seznama __oldList__ na plavalni stezi __oldSwimlane__ na seznam __list__ na plavalni stezi __swimlane__",
|
||||
"act-moveCardToOtherBoard": "premaknil kartico __card__ iz seznama __oldList__ na plavalni stezi __oldSwimlane__ na tabli __oldBoard__ na seznam __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-removeBoardMember": "odstranil člana __member__ iz table __board__",
|
||||
"act-restoredCard": "obnovil kartico __card__ na seznam __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-unjoinMember": "odstranil člana __member__ iz kartice __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"act-withBoardTitle": "__board__",
|
||||
"act-withCardTitle": "[__board__] __card__",
|
||||
"actions": "Dejanja",
|
||||
"activities": "Aktivnosti",
|
||||
"activity": "Aktivnost",
|
||||
"activity-added": "dodal %s v %s",
|
||||
"activity-archived": "%s premaknjeno v arhiv",
|
||||
"activity-attached": "pripel %s v %s",
|
||||
"activity-created": "ustvaril %s",
|
||||
"activity-customfield-created": "ustvaril poljubno polje%s",
|
||||
"activity-excluded": "izključil %s iz %s",
|
||||
"activity-imported": "uvozil %s v %s iz %s",
|
||||
"activity-imported-board": "uvozil %s iz %s",
|
||||
"activity-joined": "se je pridružil na %s",
|
||||
"activity-moved": "premakil %s iz %s na %s",
|
||||
"activity-on": "na %s",
|
||||
"activity-removed": "odstranil %s iz %s",
|
||||
"activity-sent": "poslano %s na %s",
|
||||
"activity-unjoined": "se je odjavil iz %s",
|
||||
"activity-subtask-added": "dodal podopravilo k %s",
|
||||
"activity-checked-item": "obkljukal %s na kontrolnem seznamu %s od %s",
|
||||
"activity-unchecked-item": "odkljukal %s na kontrolnem seznamu %s od %s",
|
||||
"activity-checklist-added": "dodal kontrolni seznam na %s",
|
||||
"activity-checklist-removed": "odstranil kontrolni seznam iz %s",
|
||||
"activity-checklist-completed": "dokončal kontrolni seznam __checklist__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"activity-checklist-uncompleted": "nedokončal kontrolni seznam %s od %s",
|
||||
"activity-checklist-item-added": "dodal postavko kontrolnega seznama na '%s' v %s",
|
||||
"activity-checklist-item-removed": "odstranil postavko kontrolnega seznama iz '%s' v %s",
|
||||
"add": "Dodaj",
|
||||
"activity-checked-item-card": "obkljukal %s na kontrolnem seznamu %s",
|
||||
"activity-unchecked-item-card": "odkljukal %s na kontrolnem seznamu %s",
|
||||
"activity-checklist-completed-card": "dokončal kontrolni seznam __checklist__ na kartici __card__ na seznamu __list__ na plavalni stezi __swimlane__ na tabli __board__",
|
||||
"activity-checklist-uncompleted-card": "nedokončal kontrolni seznam %s",
|
||||
"activity-editComment": "uredil komentar %s",
|
||||
"activity-deleteComment": "izbrisal komentar %s",
|
||||
"add-attachment": "Dodaj priponko",
|
||||
"add-board": "Dodaj tablo",
|
||||
"add-card": "Dodaj kartico",
|
||||
"add-swimlane": "Dodaj plavalno stezo",
|
||||
"add-subtask": "Dodaj podopravilo",
|
||||
"add-checklist": "Dodaj kontrolni seznam",
|
||||
"add-checklist-item": "Dodaj postavko na kontrolni seznam",
|
||||
"add-cover": "Dodaj ovitek",
|
||||
"add-label": "Dodaj oznako",
|
||||
"add-list": "Dodaj seznam",
|
||||
"add-members": "Dodaj člane",
|
||||
"added": "Dodano",
|
||||
"addMemberPopup-title": "Člani",
|
||||
"admin": "Administrator",
|
||||
"admin-desc": "Lahko gleda in ureja kartice, odstrani člane in spreminja nastavitve table.",
|
||||
"admin-announcement": "Najava",
|
||||
"admin-announcement-active": "Aktivna vse-sistemska najava",
|
||||
"admin-announcement-title": "Najava od administratorja",
|
||||
"all-boards": "Vse table",
|
||||
"and-n-other-card": "In __count__ druga kartica",
|
||||
"and-n-other-card_plural": "In __count__ drugih kartic",
|
||||
"apply": "Uporabi",
|
||||
"app-is-offline": "Nalaganje, prosimo počakajte. Osveževanje strani bo povzročilo izgubo podatkov. Če nalaganje ne deluje, preverite, ali se strežnik ni ustavil.",
|
||||
"archive": "Premakni v arhiv",
|
||||
"archive-all": "Premakni vse v arhiv",
|
||||
"archive-board": "Premakni tablo v arhiv",
|
||||
"archive-card": "Premakni kartico v arhiv",
|
||||
"archive-list": "Premakni seznam v arhiv",
|
||||
"archive-swimlane": "Premakni plavalno stezo v arhiv",
|
||||
"archive-selection": "Premakni označeno v arhiv",
|
||||
"archiveBoardPopup-title": "Premakni tablo v arhiv?",
|
||||
"archived-items": "Arhiv",
|
||||
"archived-boards": "Table v arhivu",
|
||||
"restore-board": "Obnovi tablo",
|
||||
"no-archived-boards": "Nobene table ni v arhivu.",
|
||||
"archives": "Arhiv",
|
||||
"template": "Predloga",
|
||||
"templates": "Predloge",
|
||||
"assign-member": "Dodeli člana",
|
||||
"attached": "pripeto",
|
||||
"attachment": "Priponka",
|
||||
"attachment-delete-pop": "Brisanje priponke je trajno. Ne obstaja razveljavitev.",
|
||||
"attachmentDeletePopup-title": "Briši priponko?",
|
||||
"attachments": "Priponke",
|
||||
"auto-watch": "Samodejno spremljaj ustvarjene table",
|
||||
"avatar-too-big": "Velikost avatarja je prevelika (70kB maks.)",
|
||||
"back": "Nazaj",
|
||||
"board-change-color": "Spremeni barvo",
|
||||
"board-nb-stars": "%s zvezdic",
|
||||
"board-not-found": "Tabla ni najdena",
|
||||
"board-private-info": "Ta tabla bo <strong>privatna</strong>.",
|
||||
"board-public-info": "Ta tabla bo <strong>javna</strong>.",
|
||||
"boardChangeColorPopup-title": "Spremeni ozadje table",
|
||||
"boardChangeTitlePopup-title": "Preimenuj tablo",
|
||||
"boardChangeVisibilityPopup-title": "Spremeni vidnost",
|
||||
"boardChangeWatchPopup-title": "Spremeni opazovanje",
|
||||
"boardMenuPopup-title": "Nastavitve table",
|
||||
"boards": "Table",
|
||||
"board-view": "Pogled table",
|
||||
"board-view-cal": "Koledar",
|
||||
"board-view-swimlanes": "Plavalne steze",
|
||||
"board-view-lists": "Seznami",
|
||||
"bucket-example": "Kot na primer \"Življenjski seznam\"",
|
||||
"cancel": "Prekliči",
|
||||
"card-archived": "Kartica je premaknjena v arhiv.",
|
||||
"board-archived": "Tabla je premaknjena v arhiv.",
|
||||
"card-comments-title": "Ta kartica ima %s komentar.",
|
||||
"card-delete-notice": "Brisanje je trajno. Izgubili boste vsa dejanja povezana s to kartico.",
|
||||
"card-delete-pop": "Vsa dejanja bodo odstranjena iz vira dejavnosti in kartice ne boste mogli znova odpreti. Razveljavitve ni.",
|
||||
"card-delete-suggest-archive": "Kartico lahko premaknete v arhiv, da jo odstranite s table in ohranite dejavnost.",
|
||||
"card-due": "Rok",
|
||||
"card-due-on": "Rok",
|
||||
"card-spent": "Porabljen čas",
|
||||
"card-edit-attachments": "Uredi priponke",
|
||||
"card-edit-custom-fields": "Uredi poljubna polja",
|
||||
"card-edit-labels": "Uredi oznake",
|
||||
"card-edit-members": "Uredi člane",
|
||||
"card-labels-title": "Spremeni oznake za kartico.",
|
||||
"card-members-title": "Dodaj ali odstrani člane table iz kartice.",
|
||||
"card-start": "Začetek",
|
||||
"card-start-on": "Začne ob",
|
||||
"cardAttachmentsPopup-title": "Pripni od",
|
||||
"cardCustomField-datePopup-title": "Spremeni datum",
|
||||
"cardCustomFieldsPopup-title": "Uredi poljubna polja",
|
||||
"cardDeletePopup-title": "Briši kartico?",
|
||||
"cardDetailsActionsPopup-title": "Dejanja kartice",
|
||||
"cardLabelsPopup-title": "Oznake",
|
||||
"cardMembersPopup-title": "Člani",
|
||||
"cardMorePopup-title": "Več",
|
||||
"cardTemplatePopup-title": "Ustvari predlogo",
|
||||
"cards": "Kartice",
|
||||
"cards-count": "Kartic",
|
||||
"casSignIn": "Vpiši se s CAS",
|
||||
"cardType-card": "Kartica",
|
||||
"cardType-linkedCard": "Povezana kartica",
|
||||
"cardType-linkedBoard": "Povezana tabla",
|
||||
"change": "Spremeni",
|
||||
"change-avatar": "Spremeni avatar",
|
||||
"change-password": "Spremeni geslo",
|
||||
"change-permissions": "Spremeni dovoljenja",
|
||||
"change-settings": "Spremeni nastavitve",
|
||||
"changeAvatarPopup-title": "Spremeni avatar",
|
||||
"changeLanguagePopup-title": "Spremeni jezik",
|
||||
"changePasswordPopup-title": "Spremeni geslo",
|
||||
"changePermissionsPopup-title": "Spremeni dovoljenja",
|
||||
"changeSettingsPopup-title": "Spremeni nastavitve",
|
||||
"subtasks": "Podopravila",
|
||||
"checklists": "Kontrolni seznami",
|
||||
"click-to-star": "Kliknite, da označite tablo z zvezdico.",
|
||||
"click-to-unstar": "Kliknite, da odznačite tablo z zvezdico.",
|
||||
"clipboard": "Odložišče ali povleci & spusti",
|
||||
"close": "Zapri",
|
||||
"close-board": "Zapri tablo",
|
||||
"close-board-pop": "Tablo boste lahko obnovili s klikom na gumb »Arhiviraj« na začetni glavi.",
|
||||
"color-black": "črna",
|
||||
"color-blue": "modra",
|
||||
"color-crimson": "temno rdeča",
|
||||
"color-darkgreen": "temno zelena",
|
||||
"color-gold": "zlata",
|
||||
"color-gray": "siva",
|
||||
"color-green": "zelena",
|
||||
"color-indigo": "indigo",
|
||||
"color-lime": "limeta",
|
||||
"color-magenta": "magenta",
|
||||
"color-mistyrose": "rožnata",
|
||||
"color-navy": "navy modra",
|
||||
"color-orange": "oranžna",
|
||||
"color-paleturquoise": "bledo turkizna",
|
||||
"color-peachpuff": "breskvasta",
|
||||
"color-pink": "roza",
|
||||
"color-plum": "slivova",
|
||||
"color-purple": "vijolična",
|
||||
"color-red": "rdeča",
|
||||
"color-saddlebrown": "rjava",
|
||||
"color-silver": "srebrna",
|
||||
"color-sky": "nebesna",
|
||||
"color-slateblue": "skrilasto modra",
|
||||
"color-white": "bela",
|
||||
"color-yellow": "rumena",
|
||||
"unset-color": "Onemogoči",
|
||||
"comment": "Komentiraj",
|
||||
"comment-placeholder": "Napiši komentar",
|
||||
"comment-only": "Samo komentar",
|
||||
"comment-only-desc": "Lahko komentirate samo na karticah.",
|
||||
"no-comments": "Ni komentarjev",
|
||||
"no-comments-desc": "Ne morete videti komentarjev in dejavnosti.",
|
||||
"computer": "Računalnik",
|
||||
"confirm-subtask-delete-dialog": "Ste prepričani, da želite izbrisati podopravilo?",
|
||||
"confirm-checklist-delete-dialog": "Ste prepričani, da želite izbrisati kontrolni seznam?",
|
||||
"copy-card-link-to-clipboard": "Kopiraj povezavo kartice na odložišče",
|
||||
"linkCardPopup-title": "Poveži kartico",
|
||||
"searchElementPopup-title": "Išči",
|
||||
"copyCardPopup-title": "Kopiraj kartico",
|
||||
"copyChecklistToManyCardsPopup-title": "Kopiraj predlogo kontrolnega seznama na več kartic",
|
||||
"copyChecklistToManyCardsPopup-instructions": "Naslovi ciljnih kartic in opisi v tem JSON formatu",
|
||||
"copyChecklistToManyCardsPopup-format": "[ {\"naslov\": \"Naslov prve kartice\", \"opis\":\"Opis prve kartice\"}, {\"naslov\":\"Opis druge kartice\",\"opis\":\"Opis druge kartice\"},{\"naslov\":\"Naslov zadnje kartice\",\"opis\":\"Opis zadnje kartice\"} ]",
|
||||
"create": "Ustvari",
|
||||
"createBoardPopup-title": "Ustvari tablo",
|
||||
"chooseBoardSourcePopup-title": "Uvozi tablo",
|
||||
"createLabelPopup-title": "Ustvari oznako",
|
||||
"createCustomField": "Ustvari polje",
|
||||
"createCustomFieldPopup-title": "Ustvari polje",
|
||||
"current": "trenutno",
|
||||
"custom-field-delete-pop": "Razveljavitve ni. To bo odstranilo to poljubno polje iz vseh kartic in izbrisalo njegovo zgodovino.",
|
||||
"custom-field-checkbox": "Potrditveno polje",
|
||||
"custom-field-date": "Datum",
|
||||
"custom-field-dropdown": "Spustni seznam",
|
||||
"custom-field-dropdown-none": "(nobeno)",
|
||||
"custom-field-dropdown-options": "Možnosti seznama",
|
||||
"custom-field-dropdown-options-placeholder": "Pritisnite enter da dodate več možnosti",
|
||||
"custom-field-dropdown-unknown": "(neznano)",
|
||||
"custom-field-number": "Število",
|
||||
"custom-field-text": "Besedilo",
|
||||
"custom-fields": "Poljubna polja",
|
||||
"date": "Datum",
|
||||
"decline": "Zavrni",
|
||||
"default-avatar": "Privzeti avatar",
|
||||
"delete": "Briši",
|
||||
"deleteCustomFieldPopup-title": "Briši poljubno polje?",
|
||||
"deleteLabelPopup-title": "Briši oznako?",
|
||||
"description": "Opis",
|
||||
"disambiguateMultiLabelPopup-title": "Razdvoji Dejanje Oznake",
|
||||
"disambiguateMultiMemberPopup-title": "Razdvoji dejanje člana",
|
||||
"discard": "Razveljavi",
|
||||
"done": "Končano",
|
||||
"download": "Prenos",
|
||||
"edit": "Uredi",
|
||||
"edit-avatar": "Spremeni avatar",
|
||||
"edit-profile": "Uredi profil",
|
||||
"edit-wip-limit": "Uredi omejitev št. kartic",
|
||||
"soft-wip-limit": "Omehčaj omejitev št. kartic",
|
||||
"editCardStartDatePopup-title": "Spremeni začetni datum",
|
||||
"editCardDueDatePopup-title": "Spremeni datum zapadlosti",
|
||||
"editCustomFieldPopup-title": "Uredi polje",
|
||||
"editCardSpentTimePopup-title": "Spremeni porabljen čas",
|
||||
"editLabelPopup-title": "Spremeni oznako",
|
||||
"editNotificationPopup-title": "Uredi obvestilo",
|
||||
"editProfilePopup-title": "Uredi profil",
|
||||
"email": "E-pošta",
|
||||
"email-enrollAccount-subject": "Up. račun ustvarjen za vas na __siteName__",
|
||||
"email-enrollAccount-text": "Pozdravljeni __user__,\n\nZa začetek uporabe kliknite spodnjo povezavo.\n\n__url__\n\nHvala.",
|
||||
"email-fail": "Pošiljanje e-pošte ni uspelo",
|
||||
"email-fail-text": "Napaka pri poskusu pošiljanja e-pošte",
|
||||
"email-invalid": "Neveljavna e-pošta",
|
||||
"email-invite": "Povabi z uporabo e-pošte",
|
||||
"email-invite-subject": "__inviter__ vam je poslal povabilo",
|
||||
"email-invite-text": "Spoštovani __user__,\n\n__inviter__ vas vabi k sodelovanju na tabli \"__board__\".\n\nProsimo sledite spodnji povezavi:\n\n__url__\n\nHvala.",
|
||||
"email-resetPassword-subject": "Ponastavite geslo na __siteName__",
|
||||
"email-resetPassword-text": "Pozdravljeni __user__,\n\nZa ponastavitev gesla kliknite na spodnjo povezavo.\n\n__url__\n\nHvala.",
|
||||
"email-sent": "E-pošta poslana",
|
||||
"email-verifyEmail-subject": "Preverite svoje e-poštni naslov na __siteName__",
|
||||
"email-verifyEmail-text": "Pozdravljeni __user__,\n\nDa preverite e-poštni naslov za vaš uporabniški račun, kliknite na spodnjo povezavo.\n\n__url__\n\nHvala.",
|
||||
"enable-wip-limit": "Vklopi omejitev št. kartic",
|
||||
"error-board-doesNotExist": "Ta tabla ne obstaja",
|
||||
"error-board-notAdmin": "Če želite to narediti, morate biti skrbnik te table",
|
||||
"error-board-notAMember": "Če želite to narediti, morate biti član te table",
|
||||
"error-json-malformed": "Vaše besedilo ni veljaven JSON",
|
||||
"error-json-schema": "Vaši JSON podatki ne vsebujejo pravilnih informacij v ustreznem formatu",
|
||||
"error-list-doesNotExist": "Seznam ne obstaja",
|
||||
"error-user-doesNotExist": "Uporabnik ne obstaja",
|
||||
"error-user-notAllowSelf": "Ne morete povabiti sebe",
|
||||
"error-user-notCreated": "Ta uporabnik ni ustvarjen",
|
||||
"error-username-taken": "To up. ime že obstaja",
|
||||
"error-email-taken": "E-poštni naslov je že zaseden",
|
||||
"export-board": "Izvozi tablo",
|
||||
"filter": "Filtriraj",
|
||||
"filter-cards": "Filtriraj kartice",
|
||||
"filter-clear": "Počisti filter",
|
||||
"filter-no-label": "Brez oznake",
|
||||
"filter-no-member": "Brez člana",
|
||||
"filter-no-custom-fields": "Brez poljubnih polj",
|
||||
"filter-show-archive": "Prikaži arhivirane sezname",
|
||||
"filter-hide-empty": "Skrij prazne sezname",
|
||||
"filter-on": "Filter vklopljen",
|
||||
"filter-on-desc": "Filtrirane kartice na tej tabli. Kliknite tukaj za urejanje filtra.",
|
||||
"filter-to-selection": "Filtriraj izbrane",
|
||||
"advanced-filter-label": "Napredni filter",
|
||||
"advanced-filter-description": "Napredni filter omogoča pripravo niza, ki vsebuje naslednje operaterje: == != <= >= && || () Preslednica se uporablja kot ločilo med operatorji. Vsa polja po meri lahko filtrirate tako, da vtipkate njihova imena in vrednosti. Na primer: Polje1 == Vrednost1. Opomba: Če polja ali vrednosti vsebujejo presledke, jih morate postaviti v enojne narekovaje. Primer: 'Polje 1' == 'Vrednost 1'. Če želite preskočiti posamezne kontrolne znake (' \\/), lahko uporabite \\. Na primer: Polje1 == I\\'m. Prav tako lahko kombinirate več pogojev. Na primer: F1 == V1 || F1 == V2. Običajno se vsi operaterji interpretirajo od leve proti desni. Vrstni red lahko spremenite tako, da postavite oklepaje. Na primer: F1 == V1 && ( F2 == V2 || F2 == V3 ). Prav tako lahko po besedilu iščete z uporabo pravil regex: F1 == /Tes.*/i",
|
||||
"fullname": "Polno Ime",
|
||||
"header-logo-title": "Pojdi nazaj na stran s tablami.",
|
||||
"hide-system-messages": "Skrij sistemska sporočila",
|
||||
"headerBarCreateBoardPopup-title": "Ustvari tablo",
|
||||
"home": "Domov",
|
||||
"import": "Uvozi",
|
||||
"link": "Poveži",
|
||||
"import-board": "uvozi tablo",
|
||||
"import-board-c": "Uvozi tablo",
|
||||
"import-board-title-trello": "Uvozi tablo iz orodja Trello",
|
||||
"import-board-title-wekan": "Uvozi tablo iz prejšnjega izvoza",
|
||||
"import-sandstorm-backup-warning": "Ne zbrišite podatkov, ki jih uvozite z originalne izvožene table ali Trello, preden preverite ali se tabla uspešno zapre in odpre ali pa boste dobili sporočilo Tabla ni najdena, kar pomeni izgubo podatkov.",
|
||||
"import-sandstorm-warning": "Uvožena tabla bo izbrisala vse obstoječe podatke na tabli in jih zamenjala z uvoženo tablo.",
|
||||
"from-trello": "Iz orodja Trello",
|
||||
"from-wekan": "Od prejšnjega izvoza",
|
||||
"import-board-instruction-trello": "V vaši Trello tabli pojdite na 'Meni', 'Več', 'Natisni in Izvozi', 'Izvozi JSON', in kopirajte prikazano besedilo.",
|
||||
"import-board-instruction-wekan": "V vaši tabli pojdite na 'Meni', 'Izvozi tablo' in kopirajte besedilo iz prenesene datoteke.",
|
||||
"import-board-instruction-about-errors": "Pri napakah med uvozom table v nekaterih primerih uvažanje še deluje, uvožena tabla pa je na strani Vse Table.",
|
||||
"import-json-placeholder": "Tukaj prilepite veljavne JSON podatke",
|
||||
"import-map-members": "Mapiraj člane",
|
||||
"import-members-map": "Vaša uvožena tabla vsebuje nekaj članov. Prosimo mapirajte člane, ki jih želite uvoziti, z vašimi uporabniki.",
|
||||
"import-show-user-mapping": "Preglejte povezane člane",
|
||||
"import-user-select": "Izberite obstoječega uporabnika, ki ga želite uporabiti kot tega člana.",
|
||||
"importMapMembersAddPopup-title": "Izberite člana",
|
||||
"info": "Različica",
|
||||
"initials": "Inicialke",
|
||||
"invalid-date": "Neveljaven datum",
|
||||
"invalid-time": "Neveljaven čas",
|
||||
"invalid-user": "Neveljaven uporabnik",
|
||||
"joined": "se je pridružil",
|
||||
"just-invited": "Povabljeni ste k tej tabli",
|
||||
"keyboard-shortcuts": "Bližnjične tipke",
|
||||
"label-create": "Ustvari Oznako",
|
||||
"label-default": "%s oznaka (privzeto)",
|
||||
"label-delete-pop": "Razveljavitve ni. To bo odstranilo to oznako iz vseh kartic in izbrisalo njeno zgodovino.",
|
||||
"labels": "Oznake",
|
||||
"language": "Jezik",
|
||||
"last-admin-desc": "Ne morete zamenjati vlog, ker mora obstajati vsaj en admin.",
|
||||
"leave-board": "Zapusti tablo",
|
||||
"leave-board-pop": "Ste prepričani, da želite zapustiti tablo __boardTitle__? Odstranjeni boste iz vseh kartic na tej tabli.",
|
||||
"leaveBoardPopup-title": "Zapusti tablo ?",
|
||||
"link-card": "Poveži s to kartico",
|
||||
"list-archive-cards": "Premakni vse kartice v tem seznamu v arhiv",
|
||||
"list-archive-cards-pop": "To bo odstranilo vse kartice tega seznama iz table. Da si ogledate kartice v arhivu in jih vrnete na tablo, kliknite \"Meni\" > \"arhiv\".",
|
||||
"list-move-cards": "Premakni vse kartice na seznamu",
|
||||
"list-select-cards": "Izberi vse kartice na seznamu",
|
||||
"set-color-list": "Nastavi barvo",
|
||||
"listActionPopup-title": "Dejanja seznama",
|
||||
"swimlaneActionPopup-title": "Dejanja plavalnih stez",
|
||||
"swimlaneAddPopup-title": "Dodaj plavalno stezo spodaj",
|
||||
"listImportCardPopup-title": "Uvozi Trello kartico",
|
||||
"listMorePopup-title": "Več",
|
||||
"link-list": "Poveži s tem seznamom",
|
||||
"list-delete-pop": "Vsa dejanja bodo odstranjena iz vira dejavnosti in seznama ne boste mogli obnoviti. Razveljavitve ni.",
|
||||
"list-delete-suggest-archive": "Lahko premaknete seznam v arhiv, da ga odstranite iz table in ohranite dejavnosti.",
|
||||
"lists": "Seznami",
|
||||
"swimlanes": "Plavalne steze",
|
||||
"log-out": "Odjava",
|
||||
"log-in": "Prijava",
|
||||
"loginPopup-title": "Prijava",
|
||||
"memberMenuPopup-title": "Nastavitve članov",
|
||||
"members": "Člani",
|
||||
"menu": "Meni",
|
||||
"move-selection": "Premakni izbiro",
|
||||
"moveCardPopup-title": "Premakni kartico",
|
||||
"moveCardToBottom-title": "Premakni na dno",
|
||||
"moveCardToTop-title": "Premakni na vrh",
|
||||
"moveSelectionPopup-title": "Premakni izbiro",
|
||||
"multi-selection": "Multi-Izbira",
|
||||
"multi-selection-on": "Multi-Izbira je omogočena",
|
||||
"muted": "Utišano",
|
||||
"muted-info": "O spremembah na tej tabli nikoli ne boste obveščeni",
|
||||
"my-boards": "Moje Table",
|
||||
"name": "Ime",
|
||||
"no-archived-cards": "Ni kartic v arhivu",
|
||||
"no-archived-lists": "Ni seznamov v arhivu",
|
||||
"no-archived-swimlanes": "Ni plavalnih stez v arhivu",
|
||||
"no-results": "Ni zadetkov",
|
||||
"normal": "Normalno",
|
||||
"normal-desc": "Lahko gleda in ureja kartice. Ne more spreminjati nastavitev.",
|
||||
"not-accepted-yet": "Povabilo še ni sprejeto.",
|
||||
"notify-participate": "Prejemajte posodobitve kartic, na katerih sodelujete kot ustvarjalec ali član",
|
||||
"notify-watch": "Prejemajte posodobitve opazovanih tabel, seznamov ali kartic",
|
||||
"optional": "opcijsko",
|
||||
"or": "ali",
|
||||
"page-maybe-private": "Ta stran je mogoče privatna. Verjetno si jo lahko ogledate po<a href='%s'>prijavi</a>.",
|
||||
"page-not-found": "Stran ne obstaja.",
|
||||
"password": "Geslo",
|
||||
"paste-or-dragdrop": "prilepi ali povleci & spusti datoteko slike (samo slika)",
|
||||
"participating": "Sodelovanje",
|
||||
"preview": "Predogled",
|
||||
"previewAttachedImagePopup-title": "Predogled",
|
||||
"previewClipboardImagePopup-title": "Predogled",
|
||||
"private": "Zasebno",
|
||||
"private-desc": "Ta tabla je zasebna. Samo dodani uporabniki lahko vidijo ali urejajo vsebino.",
|
||||
"profile": "Profil",
|
||||
"public": "Javno",
|
||||
"public-desc": "Ta tabla je javna. Vidna je vsakomur s povezavo do table in bo prikazana v zadetkih iskalnikov kot Google. Samo uporabniki table jo lahko urejajo.",
|
||||
"quick-access-description": "Če tablo označite z zvezdico, bo tukaj dodana bližnjica.",
|
||||
"remove-cover": "Odstrani ovitek",
|
||||
"remove-from-board": "Odstrani iz table",
|
||||
"remove-label": "Odstrani oznako",
|
||||
"listDeletePopup-title": "Odstrani seznam?",
|
||||
"remove-member": "Odstrani člana",
|
||||
"remove-member-from-card": "Odstrani iz kartice",
|
||||
"remove-member-pop": "Odstrani __name__ (__username__) iz __boardTitle__? Član bo odstranjen iz vseh kartic te table in bo prejel obvestilo.",
|
||||
"removeMemberPopup-title": "Odstrani člana?",
|
||||
"rename": "Preimenuj",
|
||||
"rename-board": "Preimenuj tablo",
|
||||
"restore": "Obnovi",
|
||||
"save": "Shrani",
|
||||
"search": "Išči",
|
||||
"rules": "Pravila",
|
||||
"search-cards": "Išči po imenih kartic in opisih na tej tabli",
|
||||
"search-example": "Besedilo za iskanje?",
|
||||
"select-color": "Izberi barvo",
|
||||
"set-wip-limit-value": "Nastavi omejitev maksimalnega števila opravil v tem seznamu",
|
||||
"setWipLimitPopup-title": "Nastavi omejitev št. kartic",
|
||||
"shortcut-assign-self": "Dodeli sebe k trenutni kartici",
|
||||
"shortcut-autocomplete-emoji": "Samodokončaj emoji",
|
||||
"shortcut-autocomplete-members": "Samodokončaj člane",
|
||||
"shortcut-clear-filters": "Počisti vse filtre",
|
||||
"shortcut-close-dialog": "Zapri dialog",
|
||||
"shortcut-filter-my-cards": "Filtriraj moje kartice",
|
||||
"shortcut-show-shortcuts": "Prikaži ta seznam bližnjic",
|
||||
"shortcut-toggle-filterbar": "Preklopi stransko vrstico za filter",
|
||||
"shortcut-toggle-sidebar": "Preklopi stransko vrstico table",
|
||||
"show-cards-minimum-count": "Prikaži število kartic, če seznam vsebuje več kot",
|
||||
"sidebar-open": "Odpri stransko vrstico",
|
||||
"sidebar-close": "Zapri stransko vrstico",
|
||||
"signupPopup-title": "Ustvari up. račun",
|
||||
"star-board-title": "Kliknite, da označite to tablo z zvezdico. Prikazana bo na vrhu vašega seznama tabel.",
|
||||
"starred-boards": "Table z zvezdico",
|
||||
"starred-boards-description": "Table z zvezdico se prikažejo na vrhu vašega seznama tabel.",
|
||||
"subscribe": "Naročite se",
|
||||
"team": "Skupina",
|
||||
"this-board": "to tablo",
|
||||
"this-card": "kartico",
|
||||
"spent-time-hours": "Porabljen čas (ure)",
|
||||
"overtime-hours": "Presežen čas (ure)",
|
||||
"overtime": "Presežen čas",
|
||||
"has-overtime-cards": "Ima kartice s preseženim časom",
|
||||
"has-spenttime-cards": "Ima kartice s porabljenim časom",
|
||||
"time": "Čas",
|
||||
"title": "Naslov",
|
||||
"tracking": "Sledenje",
|
||||
"tracking-info": "Obveščeni boste o vseh spremembah kartic, kjer sodelujete kot lastnik ali član.",
|
||||
"type": "Tip",
|
||||
"unassign-member": "Odjavi člana",
|
||||
"unsaved-description": "Imate neshranjen opis.",
|
||||
"unwatch": "Prekliči opazovanje",
|
||||
"upload": "Naloži",
|
||||
"upload-avatar": "Naloži avatar",
|
||||
"uploaded-avatar": "Naložil avatar",
|
||||
"username": "Up. ime",
|
||||
"view-it": "Oglej",
|
||||
"warn-list-archived": "opozorilo: ta kartica je v seznamu v arhivu",
|
||||
"watch": "Opazuj",
|
||||
"watching": "Opazuje",
|
||||
"watching-info": "O spremembah na tej tabli boste obveščeni",
|
||||
"welcome-board": "Tabla Dobrodošli",
|
||||
"welcome-swimlane": "Mejnik 1",
|
||||
"welcome-list1": "Osnove",
|
||||
"welcome-list2": "Napredno",
|
||||
"card-templates-swimlane": "Predloge kartice",
|
||||
"list-templates-swimlane": "Predloge seznama",
|
||||
"board-templates-swimlane": "Predloge table",
|
||||
"what-to-do": "Kaj želite storiti?",
|
||||
"wipLimitErrorPopup-title": "Neveljaven limit št. kartic",
|
||||
"wipLimitErrorPopup-dialog-pt1": "Število opravil v tem seznamu je višje od definiranega limita št. kartic.",
|
||||
"wipLimitErrorPopup-dialog-pt2": "Prosimo premaknite nekaj opravil iz tega seznama ali nastavite višji limit št. kartic.",
|
||||
"admin-panel": "Skrbniška plošča",
|
||||
"settings": "Nastavitve",
|
||||
"people": "Ljudje",
|
||||
"registration": "Registracija",
|
||||
"disable-self-registration": "Onemogoči samo-registracijo",
|
||||
"invite": "Povabi",
|
||||
"invite-people": "Povabi ljudi",
|
||||
"to-boards": "K tabli(am)",
|
||||
"email-addresses": "E-poštni naslovi",
|
||||
"smtp-host-description": "Naslov vašega strežnika SMTP.",
|
||||
"smtp-port-description": "Vrata vašega strežnika SMTP za odhodno pošto.",
|
||||
"smtp-tls-description": "Omogoči šifriranje TLS za SMTP strežnik.",
|
||||
"smtp-host": "SMTP gostitelj",
|
||||
"smtp-port": "SMTP vrata",
|
||||
"smtp-username": "Up. ime",
|
||||
"smtp-password": "Geslo",
|
||||
"smtp-tls": "TLS podpora",
|
||||
"send-from": "Od",
|
||||
"send-smtp-test": "Pošljite testno e-pošto na svoj naslov",
|
||||
"invitation-code": "Koda Povabila",
|
||||
"email-invite-register-subject": "__inviter__ vam je poslal povabilo",
|
||||
"email-invite-register-text": "Dragi __user__,\n\n__inviter__ vas vabi na kanban tablo za sodelovanje.\n\nProsimo sledite spodnji povezavi:\n__url__\n\nVaša koda povabila je: __icode__\n\nHvala.",
|
||||
"email-smtp-test-subject": "SMTP testna e-pošta",
|
||||
"email-smtp-test-text": "Uspešno ste poslali e-pošto",
|
||||
"error-invitation-code-not-exist": "Koda povabila ne obstaja",
|
||||
"error-notAuthorized": "Nimate pravic za ogled te strani.",
|
||||
"webhook-title": "Ime spletnega vmesnika (webhook)",
|
||||
"webhook-token": "Žeton (opcijsko za avtentikacijo)",
|
||||
"outgoing-webhooks": "Izhodni spletni vmesniki (webhooks)",
|
||||
"bidirectional-webhooks": "Dvo-smerni spletni vmesniki (webhooks)",
|
||||
"outgoingWebhooksPopup-title": "Izhodni spletni vmesniki (webhooks)",
|
||||
"boardCardTitlePopup-title": "Filter po naslovu kartice",
|
||||
"disable-webhook": "Onemogoči ta spletni vmesnik (webhook)",
|
||||
"global-webhook": "Globalni spletni vmesnik (webhook)",
|
||||
"new-outgoing-webhook": "Nov izhodni spletni vmesnik (webhook)",
|
||||
"no-name": "(Neznano)",
|
||||
"Node_version": "Node različica",
|
||||
"Meteor_version": "Meteor različica",
|
||||
"MongoDB_version": "MongoDB različica",
|
||||
"MongoDB_storage_engine": "MongoDB storage engine",
|
||||
"MongoDB_Oplog_enabled": "MongoDB Oplog omogočen",
|
||||
"OS_Arch": "OS Arhitektura",
|
||||
"OS_Cpus": "OS število CPU",
|
||||
"OS_Freemem": "OS prost pomnilnik",
|
||||
"OS_Loadavg": "OS povp. obremenitev",
|
||||
"OS_Platform": "OS platforma",
|
||||
"OS_Release": "OS izdaja",
|
||||
"OS_Totalmem": "OS skupni pomnilnik",
|
||||
"OS_Type": "OS tip",
|
||||
"OS_Uptime": "OS čas delovanja",
|
||||
"days": "dnevi",
|
||||
"hours": "ure",
|
||||
"minutes": "minute",
|
||||
"seconds": "sekunde",
|
||||
"show-field-on-card": "Prikaži to polje na kartici",
|
||||
"automatically-field-on-card": "Samodejno dodaj polja na vse kartice",
|
||||
"showLabel-field-on-card": "Prikaži oznako polja na mini kartici",
|
||||
"yes": "Da",
|
||||
"no": "Ne",
|
||||
"accounts": "Up. računi",
|
||||
"accounts-allowEmailChange": "Dovoli spremembo e-poštnega naslova",
|
||||
"accounts-allowUserNameChange": "Dovoli spremembo up. imena",
|
||||
"createdAt": "Ustvarjen ob",
|
||||
"verified": "Preverjeno",
|
||||
"active": "Aktivno",
|
||||
"card-received": "Prejeto",
|
||||
"card-received-on": "Prejeto ob",
|
||||
"card-end": "Konec",
|
||||
"card-end-on": "Končano na",
|
||||
"editCardReceivedDatePopup-title": "Spremeni datum prejema",
|
||||
"editCardEndDatePopup-title": "Spremeni končni datum",
|
||||
"setCardColorPopup-title": "Nastavi barvo",
|
||||
"setCardActionsColorPopup-title": "Izberi barvo",
|
||||
"setSwimlaneColorPopup-title": "Izberi barvo",
|
||||
"setListColorPopup-title": "Izberi barvo",
|
||||
"assigned-by": "Dodelil",
|
||||
"requested-by": "Zahteval",
|
||||
"board-delete-notice": "Brisanje je trajno. Izgubili boste vse sezname, kartice in akcije, povezane z desko.",
|
||||
"delete-board-confirm-popup": "Vsi seznami, kartice, oznake in dejavnosti bodo izbrisani in vsebine table ne boste mogli obnoviti. Razveljavitve ni.",
|
||||
"boardDeletePopup-title": "Izbriši tablo?",
|
||||
"delete-board": "Izbriši tablo",
|
||||
"default-subtasks-board": "Podopravila za tablo",
|
||||
"default": "Privzeto",
|
||||
"queue": "Čakalna vrsta",
|
||||
"subtask-settings": "Nastavitve podopravil",
|
||||
"boardSubtaskSettingsPopup-title": "Nastavitve podopravil table",
|
||||
"show-subtasks-field": "Dovoli pod-poravila na karticah",
|
||||
"deposit-subtasks-board": "Deponiraj podopravila na tole tablo:",
|
||||
"deposit-subtasks-list": "Ciljni seznam za deponirana podopravila:",
|
||||
"show-parent-in-minicard": "Pokaži starša na mini-kartici:",
|
||||
"prefix-with-full-path": "Predpona s celotno potjo",
|
||||
"prefix-with-parent": "Predpona s staršem",
|
||||
"subtext-with-full-path": "Podbesedilo s celotno potjo",
|
||||
"subtext-with-parent": "Podbesedilo s staršem",
|
||||
"change-card-parent": "Zamenjaj starša kartice",
|
||||
"parent-card": "Starševska kartica",
|
||||
"source-board": "Izvorna tabla",
|
||||
"no-parent": "Ne prikaži starša",
|
||||
"activity-added-label": "dodal oznako '%s' do %s",
|
||||
"activity-removed-label": "odstranil oznako '%s' od %s",
|
||||
"activity-delete-attach": "izbrisal priponko od %s",
|
||||
"activity-added-label-card": "dodal oznako '%s'",
|
||||
"activity-removed-label-card": "izbrisal oznako '%s'",
|
||||
"activity-delete-attach-card": "izbrisal priponko",
|
||||
"activity-set-customfield": "nastavi polje po meri '%s' do '%s' v %s",
|
||||
"activity-unset-customfield": "zbriši polje po meri '%s' v %s",
|
||||
"r-rule": "Pravilo",
|
||||
"r-add-trigger": "Dodaj prožilec",
|
||||
"r-add-action": "Dodaj akcijo",
|
||||
"r-board-rules": "Pravila table",
|
||||
"r-add-rule": "Dodaj pravilo",
|
||||
"r-view-rule": "Poglej pravilo",
|
||||
"r-delete-rule": "Izbriši pravilo",
|
||||
"r-new-rule-name": "Ime novega pravila",
|
||||
"r-no-rules": "Ni pravil",
|
||||
"r-when-a-card": "Ko je kartica",
|
||||
"r-is": " ",
|
||||
"r-is-moved": "premaknjena",
|
||||
"r-added-to": "dodan na",
|
||||
"r-removed-from": "izbrisan iz",
|
||||
"r-the-board": "tabla",
|
||||
"r-list": "seznam",
|
||||
"set-filter": "Nastavi filter",
|
||||
"r-moved-to": "premaknjena v",
|
||||
"r-moved-from": "premaknjena iz",
|
||||
"r-archived": "premaknjena v arhiv",
|
||||
"r-unarchived": "obnovljena iz arhiva",
|
||||
"r-a-card": "kartico",
|
||||
"r-when-a-label-is": "Ko je oznaka",
|
||||
"r-when-the-label": "Ko je oznaka",
|
||||
"r-list-name": "ime sezn.",
|
||||
"r-when-a-member": "Ko je član",
|
||||
"r-when-the-member": "Ko je član",
|
||||
"r-name": "ime",
|
||||
"r-when-a-attach": "Ko je priponka",
|
||||
"r-when-a-checklist": "Ko je kontrolni seznam",
|
||||
"r-when-the-checklist": "Ko kontrolni seznam",
|
||||
"r-completed": "zaključen",
|
||||
"r-made-incomplete": "nastavljen kot nedokončan",
|
||||
"r-when-a-item": "Ko je kontrolni seznam",
|
||||
"r-when-the-item": "Ko je element kontrolnega seznama",
|
||||
"r-checked": "označen",
|
||||
"r-unchecked": "odznačen",
|
||||
"r-move-card-to": "Premakni kartico na",
|
||||
"r-top-of": "Vrh",
|
||||
"r-bottom-of": "Dno",
|
||||
"r-its-list": "pripadajočega seznama",
|
||||
"r-archive": "premaknjena v arhiv",
|
||||
"r-unarchive": "Obnovi iz arhiva",
|
||||
"r-card": "kartico",
|
||||
"r-add": "Dodaj",
|
||||
"r-remove": "Odstrani",
|
||||
"r-label": "oznaka",
|
||||
"r-member": "član",
|
||||
"r-remove-all": "Izbriši vse člane iz kartice",
|
||||
"r-set-color": "Nastavi barvo na",
|
||||
"r-checklist": "kontrolni seznam",
|
||||
"r-check-all": "Označi vse",
|
||||
"r-uncheck-all": "Odznači vse",
|
||||
"r-items-check": "postavke kontrolnega lista",
|
||||
"r-check": "Označi",
|
||||
"r-uncheck": "Odznači",
|
||||
"r-item": "postavka",
|
||||
"r-of-checklist": "kontrolnega seznama",
|
||||
"r-send-email": "Pošlji e-pošto",
|
||||
"r-to": "naslovnik",
|
||||
"r-subject": "zadeva",
|
||||
"r-rule-details": "Podrobnosti pravila",
|
||||
"r-d-move-to-top-gen": "Premakni kartico na vrh pripadajočega sezama",
|
||||
"r-d-move-to-top-spec": "Premakni kartico na vrh seznama",
|
||||
"r-d-move-to-bottom-gen": "Premakni kartico na dno pripadajočega seznama",
|
||||
"r-d-move-to-bottom-spec": "Premakni kartico na dno seznama",
|
||||
"r-d-send-email": "Pošlji e-pošto",
|
||||
"r-d-send-email-to": "na",
|
||||
"r-d-send-email-subject": "zadeva",
|
||||
"r-d-send-email-message": "vsebina",
|
||||
"r-d-archive": "Premakni kartico v arhiv",
|
||||
"r-d-unarchive": "Obnovi kartico iz arhiva",
|
||||
"r-d-add-label": "Dodaj oznako",
|
||||
"r-d-remove-label": "Izbriši oznako",
|
||||
"r-create-card": "Ustvari novo kartico",
|
||||
"r-in-list": "v seznamu",
|
||||
"r-in-swimlane": "v plavalni stezi",
|
||||
"r-d-add-member": "Dodaj člana",
|
||||
"r-d-remove-member": "Odstrani člana",
|
||||
"r-d-remove-all-member": "Odstrani vse člane",
|
||||
"r-d-check-all": "Označi vse elemente seznama",
|
||||
"r-d-uncheck-all": "Odznači vse elemente seznama",
|
||||
"r-d-check-one": "Označi element",
|
||||
"r-d-uncheck-one": "Odznači element",
|
||||
"r-d-check-of-list": "kontrolnega seznama",
|
||||
"r-d-add-checklist": "Dodaj kontrolni list",
|
||||
"r-d-remove-checklist": "Odstrani kotrolni list",
|
||||
"r-by": "od",
|
||||
"r-add-checklist": "Dodaj kontrolni list",
|
||||
"r-with-items": "s postavkami",
|
||||
"r-items-list": "el1,el2,el3",
|
||||
"r-add-swimlane": "Dodaj plavalno stezo",
|
||||
"r-swimlane-name": "ime pl. steze",
|
||||
"r-board-note": "Opomba: polje pustite prazno, da ustreza vsaki možni vrednosti.",
|
||||
"r-checklist-note": "Opomba: elementi kontrolnega seznama morajo biti zapisani kot vrednosti, ločene z vejicami.",
|
||||
"r-when-a-card-is-moved": "Ko je kartica premaknjena v drug seznam",
|
||||
"r-set": "Nastavi",
|
||||
"r-update": "Posodobi",
|
||||
"r-datefield": "polje z datumom",
|
||||
"r-df-start-at": "začetek",
|
||||
"r-df-due-at": "rok",
|
||||
"r-df-end-at": "konec",
|
||||
"r-df-received-at": "prejeto",
|
||||
"r-to-current-datetime": "v trenutni datum/čas",
|
||||
"r-remove-value-from": "Izbriši vrednost iz",
|
||||
"ldap": "LDAP",
|
||||
"oauth2": "OAuth2",
|
||||
"cas": "CAS",
|
||||
"authentication-method": "Metoda avtentikacije",
|
||||
"authentication-type": "Način avtentikacije",
|
||||
"custom-product-name": "Ime izdelka po meri",
|
||||
"layout": "Postavitev",
|
||||
"hide-logo": "Skrij logo",
|
||||
"add-custom-html-after-body-start": "Dodaj HTML po meri po <body> začetku",
|
||||
"add-custom-html-before-body-end": "Dodaj HMTL po meri po </body> koncu",
|
||||
"error-undefined": "Prišlo je do napake",
|
||||
"error-ldap-login": "Prišlo je do napake ob prijavi",
|
||||
"display-authentication-method": "Prikaži metodo avtentikacije",
|
||||
"default-authentication-method": "Privzeta metoda avtentikacije",
|
||||
"duplicate-board": "Dupliciraj tablo",
|
||||
"people-number": "Število ljudi je:",
|
||||
"swimlaneDeletePopup-title": "Zbriši plavalno stezo?",
|
||||
"swimlane-delete-pop": "Vsa dejanja bodo odstranjena iz seznama dejavnosti. Plavalne steze ne boste mogli obnoviti. Razveljavitve ni.",
|
||||
"restore-all": "Obnovi vse",
|
||||
"delete-all": "Izbriši vse",
|
||||
"loading": "Nalagam, prosimo počakajte",
|
||||
"previous_as": "zadnji čas je bil",
|
||||
"act-a-dueAt": "spremenil rok zapadlosti na \nKdaj: __timeValue__\nKje: __card__\n prejšnji rok zapadlosti je bil __timeOldValue__",
|
||||
"act-a-endAt": "spremenil čas dokončanja na __timeValue__ iz (__timeOldValue__)",
|
||||
"act-a-startAt": "spremenil čas pričetka na __timeValue__ iz (__timeOldValue__)",
|
||||
"act-a-receivedAt": "spremenil čas prejema na __timeValue__ iz (__timeOldValue__)",
|
||||
"a-dueAt": "spremenil rok v",
|
||||
"a-endAt": "spremenil končni čas v",
|
||||
"a-startAt": "spremenil začetni čas v",
|
||||
"a-receivedAt": "spremenil čas prejetja v",
|
||||
"almostdue": "trenutni rok %s se približuje",
|
||||
"pastdue": "trenutni rok %s je potekel",
|
||||
"duenow": "trenutni rok %s je danes",
|
||||
"act-newDue": "__list__/__card__ ima 1. opomnik roka zapadlosti [__board__]",
|
||||
"act-withDue": "__list__/__card__ opomniki roka zapadlosti [__board__]",
|
||||
"act-almostdue": "je opomnil trenuten rok zapadlosti (__timeValue__) kartice __card__ se bliža",
|
||||
"act-pastdue": "je opomnil trenuten rok zapadlosti (__timeValue__) kartice __card__ je potekel",
|
||||
"act-duenow": "je opomnil trenuten rok zapadlosti (__timeValue__) kartice __card__ je sedaj",
|
||||
"act-atUserComment": "Omenjeni ste bili v [__board__] __list__/__card__",
|
||||
"delete-user-confirm-popup": "Ali ste prepričani, da želite izbrisati ta račun? Razveljavitve ni.",
|
||||
"accounts-allowUserDelete": "Dovoli uporabnikom, da sami izbrišejo svoj račun",
|
||||
"hide-minicard-label-text": "Skrij besedilo oznak na karticah",
|
||||
"show-desktop-drag-handles": "Pokaži ročke za povleko na namizju"
|
||||
}
|
||||
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+740
-739
File diff suppressed because it is too large.
Load diff
+29
-22
@@ -180,28 +180,34 @@ if (Meteor.isServer) {
|
||||
const comment = activity.comment();
|
||||
params.comment = comment.text;
|
||||
if (board) {
|
||||
const atUser = /(?:^|>|\b|\s)@(\S+?)(?:\s|$|<|\b)/g;
|
||||
const comment = params.comment;
|
||||
if (comment.match(atUser)) {
|
||||
const commenter = params.user;
|
||||
while (atUser.exec(comment)) {
|
||||
const username = RegExp.$1;
|
||||
if (commenter === username) {
|
||||
// it's person at himself, ignore it?
|
||||
continue;
|
||||
}
|
||||
const atUser =
|
||||
Users.findOne(username) || Users.findOne({ username });
|
||||
if (atUser && atUser._id) {
|
||||
const uid = atUser._id;
|
||||
params.atUsername = username;
|
||||
params.atEmails = atUser.emails;
|
||||
if (board.hasMember(uid)) {
|
||||
title = 'act-atUserComment';
|
||||
watchers = _.union(watchers, [uid]);
|
||||
}
|
||||
}
|
||||
const knownUsers = board.members.map(member => {
|
||||
const u = Users.findOne(member.userId);
|
||||
if (u) {
|
||||
member.username = u.username;
|
||||
member.emails = u.emails;
|
||||
}
|
||||
return member;
|
||||
});
|
||||
const mentionRegex = /\B@(?:(?:"([\w.\s]*)")|([\w.]+))/gi; // including space in username
|
||||
let currentMention;
|
||||
while ((currentMention = mentionRegex.exec(comment)) !== null) {
|
||||
/*eslint no-unused-vars: ["error", { "varsIgnorePattern": "[iI]gnored" }]*/
|
||||
const [ignored, quoteduser, simple] = currentMention;
|
||||
const username = quoteduser || simple;
|
||||
if (username === params.user) {
|
||||
// ignore commenter mention himself?
|
||||
continue;
|
||||
}
|
||||
const atUser = _.findWhere(knownUsers, { username });
|
||||
if (!atUser) {
|
||||
continue;
|
||||
}
|
||||
const uid = atUser.userId;
|
||||
params.atUsername = username;
|
||||
params.atEmails = atUser.emails;
|
||||
title = 'act-atUserComment';
|
||||
watchers = _.union(watchers, [uid]);
|
||||
}
|
||||
}
|
||||
params.commentId = comment._id;
|
||||
@@ -236,8 +242,8 @@ if (Meteor.isServer) {
|
||||
(!activity.timeKey || activity.timeKey === 'dueAt') &&
|
||||
activity.timeValue
|
||||
) {
|
||||
// due time reminder
|
||||
title = 'act-withDue';
|
||||
// due time reminder, if it doesn't have old value, it's a brand new set, need some differentiation
|
||||
title = activity.timeOldValue ? 'act-withDue' : 'act-newDue';
|
||||
}
|
||||
['timeValue', 'timeOldValue'].forEach(key => {
|
||||
// copy time related keys & values to params
|
||||
@@ -283,6 +289,7 @@ if (Meteor.isServer) {
|
||||
activities: { $in: [description, 'all'] },
|
||||
}).fetch();
|
||||
if (integrations.length > 0) {
|
||||
params.watchers = watchers;
|
||||
integrations.forEach(integration => {
|
||||
Meteor.call(
|
||||
'outgoingWebhooks',
|
||||
|
||||
@@ -699,6 +699,13 @@ Boards.helpers({
|
||||
return result;
|
||||
},
|
||||
|
||||
cardsDueInBetween(start, end) {
|
||||
return Cards.find({
|
||||
boardId: this._id,
|
||||
dueAt: { $gte: start, $lte: end },
|
||||
});
|
||||
},
|
||||
|
||||
cardsInInterval(start, end) {
|
||||
return Cards.find({
|
||||
boardId: this._id,
|
||||
|
||||
+28
-7
@@ -1558,6 +1558,7 @@ function cardRemover(userId, doc) {
|
||||
const findDueCards = days => {
|
||||
const seekDue = ($from, $to, activityType) => {
|
||||
Cards.find({
|
||||
archived: false,
|
||||
dueAt: { $gte: $from, $lt: $to },
|
||||
}).forEach(card => {
|
||||
const username = Users.findOne(card.userId).username;
|
||||
@@ -1578,18 +1579,38 @@ const findDueCards = days => {
|
||||
const now = new Date(),
|
||||
aday = 3600 * 24 * 1e3,
|
||||
then = day => new Date(now.setHours(0, 0, 0, 0) + day * aday);
|
||||
seekDue(then(1), then(days), 'almostdue');
|
||||
seekDue(then(0), then(1), 'duenow');
|
||||
seekDue(then(-days), now, 'pastdue');
|
||||
if (!days) return;
|
||||
if (!days.map) days = [days];
|
||||
days.map(day => {
|
||||
let args = [];
|
||||
if (day === 0) {
|
||||
args = [then(0), then(1), 'duenow'];
|
||||
} else if (day > 0) {
|
||||
args = [then(1), then(day), 'almostdue'];
|
||||
} else {
|
||||
args = [then(day), now, 'pastdue'];
|
||||
}
|
||||
seekDue(...args);
|
||||
});
|
||||
};
|
||||
const addCronJob = _.debounce(
|
||||
Meteor.bindEnvironment(function findDueCardsDebounced() {
|
||||
const notifydays =
|
||||
parseInt(process.env.NOTIFY_DUE_DAYS_BEFORE_AND_AFTER, 10) || 2; // default as 2 days before and after
|
||||
if (!(notifydays > 0 && notifydays < 15)) {
|
||||
// notifying due is disabled
|
||||
const envValue = process.env.NOTIFY_DUE_DAYS_BEFORE_AND_AFTER;
|
||||
if (!envValue) {
|
||||
return;
|
||||
}
|
||||
const notifydays = envValue
|
||||
.split(',')
|
||||
.map(value => {
|
||||
const iValue = parseInt(value, 10);
|
||||
if (!(iValue > 0 && iValue < 15)) {
|
||||
// notifying due is disabled
|
||||
return false;
|
||||
} else {
|
||||
return iValue;
|
||||
}
|
||||
})
|
||||
.filter(Boolean);
|
||||
const notifyitvl = process.env.NOTIFY_DUE_AT_HOUR_OF_DAY; //passed in the itvl has to be a number standing for the hour of current time
|
||||
const defaultitvl = 8; // default every morning at 8am, if the passed env variable has parsing error use default
|
||||
const itvl = parseInt(notifyitvl, 10) || defaultitvl;
|
||||
|
||||
+11
-2
@@ -276,6 +276,7 @@ if (Meteor.isServer) {
|
||||
* @param {string} boardId the board ID
|
||||
* @param {string} cardId the card ID
|
||||
* @param {string} title the title of the new checklist
|
||||
* @param {string} [items] the list of items on the new checklist
|
||||
* @return_type {_id: string}
|
||||
*/
|
||||
JsonRoutes.add(
|
||||
@@ -291,11 +292,19 @@ if (Meteor.isServer) {
|
||||
sort: 0,
|
||||
});
|
||||
if (id) {
|
||||
req.body.items.forEach(function(item, idx) {
|
||||
let items = req.body.items || [];
|
||||
if (_.isString(items)) {
|
||||
if (items === '') {
|
||||
items = [];
|
||||
} else {
|
||||
items = [items];
|
||||
}
|
||||
}
|
||||
items.forEach(function(item, idx) {
|
||||
ChecklistItems.insert({
|
||||
cardId: paramCardId,
|
||||
checklistId: id,
|
||||
title: item.title,
|
||||
title: item,
|
||||
sort: idx,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -541,6 +541,7 @@ Users.mutations({
|
||||
Meteor.methods({
|
||||
setUsername(username, userId) {
|
||||
check(username, String);
|
||||
check(userId, String);
|
||||
const nUsersWithUsername = Users.find({ username }).count();
|
||||
if (nUsersWithUsername > 0) {
|
||||
throw new Meteor.Error('username-already-taken');
|
||||
|
||||
Generated
+4
-4
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v3.43.0",
|
||||
"version": "v3.46.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
@@ -25,9 +25,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/runtime": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.5.tgz",
|
||||
"integrity": "sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ==",
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.2.tgz",
|
||||
"integrity": "sha512-EXxN64agfUqqIGeEjI5dL5z0Sw0ZwWo1mLTi4mQowCZ42O59b7DRpZAnTC6OqdF28wMBMFKNb/4uFGrVaigSpg==",
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.13.2"
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "wekan",
|
||||
"version": "v3.43.0",
|
||||
"version": "v3.46.0",
|
||||
"description": "Open-Source kanban",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
@@ -53,7 +53,7 @@
|
||||
"prettier-eslint": "^8.8.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.5.5",
|
||||
"@babel/runtime": "^7.6.2",
|
||||
"ajv": "^5.0.0",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"bcrypt": "^3.0.2",
|
||||
|
||||
+12
-3
@@ -1524,7 +1524,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<ul class="toc-list-h1">
|
||||
|
||||
<li>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.42">Wekan REST API v3.42</a>
|
||||
<a href="#wekan-rest-api" class="toc-h1 toc-link" data-title="Wekan REST API v3.46">Wekan REST API v3.46</a>
|
||||
|
||||
</li>
|
||||
|
||||
@@ -2017,7 +2017,7 @@ var n=this.pipeline.run(e.tokenizer(t)),r=new e.Vector,i=[],o=this._fields.reduc
|
||||
<div class="page-wrapper">
|
||||
<div class="dark-box"></div>
|
||||
<div class="content">
|
||||
<h1 id="wekan-rest-api">Wekan REST API v3.42</h1>
|
||||
<h1 id="wekan-rest-api">Wekan REST API v3.46</h1>
|
||||
<blockquote>
|
||||
<p>Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.</p>
|
||||
</blockquote>
|
||||
@@ -4479,7 +4479,8 @@ $.ajax({
|
||||
</code></pre>
|
||||
<pre class="highlight tab tab-javascript--nodejs"><code><span class="hljs-keyword">const</span> fetch = <span class="hljs-built_in">require</span>(<span class="hljs-string">'node-fetch'</span>);
|
||||
<span class="hljs-keyword">const</span> inputBody = <span class="hljs-string">'{
|
||||
"title": "string"
|
||||
"title": "string",
|
||||
"items": "string"
|
||||
}'</span>;
|
||||
<span class="hljs-keyword">const</span> headers = {
|
||||
<span class="hljs-string">'Content-Type'</span>:<span class="hljs-string">'multipart/form-data'</span>,
|
||||
@@ -4573,6 +4574,7 @@ System.out.println(response.toString());
|
||||
<p>Body parameter</p>
|
||||
</blockquote>
|
||||
<pre class="highlight tab tab-yaml"><code><span class="hljs-attr">title:</span> <span class="hljs-string">string</span>
|
||||
<span class="hljs-attr">items:</span> <span class="hljs-string">string</span>
|
||||
|
||||
</code></pre>
|
||||
<h3 id="post_board_card_checklists-parameters">Parameters</h3>
|
||||
@@ -4615,6 +4617,13 @@ System.out.println(response.toString());
|
||||
<td>true</td>
|
||||
<td>the title value</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>» items</td>
|
||||
<td>body</td>
|
||||
<td>string</td>
|
||||
<td>true</td>
|
||||
<td>the items value</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<h3 id="post_board_card_checklists-responses">Responses</h3>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
swagger: '2.0'
|
||||
info:
|
||||
title: Wekan REST API
|
||||
version: v3.42
|
||||
version: v3.46
|
||||
description: |
|
||||
The REST API allows you to control and extend Wekan with ease.
|
||||
|
||||
@@ -319,6 +319,11 @@ paths:
|
||||
description: the title value
|
||||
type: string
|
||||
required: true
|
||||
- name: items
|
||||
in: formData
|
||||
description: the items value
|
||||
type: string
|
||||
required: true
|
||||
- name: board
|
||||
in: path
|
||||
description: the board value
|
||||
|
||||
@@ -36,6 +36,9 @@ tx pull -f -l en_GB
|
||||
echo "Greek:"
|
||||
tx pull -f -l el
|
||||
|
||||
echo "Slovenian:"
|
||||
tx pull -f -l sl_SI
|
||||
|
||||
echo "Spanish:"
|
||||
tx pull -f -l es
|
||||
|
||||
|
||||
@@ -70,8 +70,9 @@
|
||||
# dueat startat endat receivedat, also notification to
|
||||
# the watchers and if any card is due, about due or past due.
|
||||
#
|
||||
# Notify due days, default 2 days before and after. 0 = due notifications disabled. Default: 2
|
||||
#export NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2
|
||||
# Notify due days, default is None.
|
||||
#export NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2,0
|
||||
# it will notify user 2 days before due day and on the due day
|
||||
#
|
||||
# Notify due at hour of day. Default every morning at 8am. Can be 0-23.
|
||||
# If env variable has parsing error, use default. Notification sent to watchers.
|
||||
|
||||
@@ -22,10 +22,10 @@ const pkgdef :Spk.PackageDefinition = (
|
||||
appTitle = (defaultText = "Wekan"),
|
||||
# The name of the app as it is displayed to the user.
|
||||
|
||||
appVersion = 345,
|
||||
appVersion = 348,
|
||||
# Increment this for every release.
|
||||
|
||||
appMarketingVersion = (defaultText = "3.43.0~2019-09-17"),
|
||||
appMarketingVersion = (defaultText = "3.46.0~2019-10-07"),
|
||||
# Human-readable presentation of the app version.
|
||||
|
||||
minUpgradableAppVersion = 0,
|
||||
|
||||
@@ -13,11 +13,14 @@ Meteor.startup(() => {
|
||||
const lan = user.getLanguage();
|
||||
const subject = TAPi18n.__(title, params, lan); // the original function has a fault, i believe the title should be used according to original author
|
||||
const existing = user.getEmailBuffer().length > 0;
|
||||
const text = `${existing ? `<br/>\n${subject}<br/>\n` : ''}${
|
||||
const htmlEnabled =
|
||||
Meteor.settings.public &&
|
||||
Meteor.settings.public.RICHER_CARD_COMMENT_EDITOR !== false;
|
||||
const text = `${existing ? `\n${subject}\n` : ''}${
|
||||
params.user
|
||||
} ${TAPi18n.__(description, quoteParams, lan)}<br/>\n${params.url}`;
|
||||
} ${TAPi18n.__(description, quoteParams, lan)}\n${params.url}`;
|
||||
|
||||
user.addEmailBuffer(text);
|
||||
user.addEmailBuffer(htmlEnabled ? text.replace(/\n/g, '<br/>') : text);
|
||||
|
||||
// unlike setTimeout(func, delay, args),
|
||||
// Meteor.setTimeout(func, delay) does not accept args :-(
|
||||
|
||||
+1
-1
@@ -108,7 +108,7 @@ DESCRIPTION_BIGEVENTS_PATTERN="Big events pattern: Notify always due etc regardl
|
||||
DEFAULT_BIGEVENTS_PATTERN="NONE"
|
||||
KEY_BIGEVENTS_PATTERN="bigevents-pattern"
|
||||
|
||||
DESCRIPTION_NOTIFY_DUE_DAYS_BEFORE_AND_AFTER="Notify due days, default 2 days before and after. 0 = due notifications disabled. Default: 2"
|
||||
DESCRIPTION_NOTIFY_DUE_DAYS_BEFORE_AND_AFTER="Notify due days, accepts ',' delimited string, i.e. 2,0 means notify will be sent out 2 days before and right on due day. Default: empty"
|
||||
DEFAULT_NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=""
|
||||
KEY_NOTIFY_DUE_DAYS_BEFORE_AND_AFTER="notify-due-days-before-and-after"
|
||||
|
||||
|
||||
@@ -104,13 +104,10 @@ echo -e "\t$ snap set $SNAP_NAME bigevents-pattern='NONE'"
|
||||
echo -e "\n"
|
||||
echo -e "EMAIL DUE DATE NOTIFICATION https://github.com/wekan/wekan/pull/2536"
|
||||
echo -e "System timelines will be showing any user modification for dueat startat endat receivedat, also notification to the watchers and if any card is due, about due or past due."
|
||||
echo -e "Notify due days, default 2 days before and after. 0 = due notifications disabled. Default: 2"
|
||||
echo -e "To enable different Notify Due Days Before And After than default 2:"
|
||||
echo -e "\t$ snap set $SNAP_NAME notify-due-days-before-and-after='4'"
|
||||
echo -e "Notify due days, number less than 15 or negative number accepted, you can specify multiple days delimited by ','. Default: NONE"
|
||||
echo -e "To enable different Notify for Due Days on 2 days before, and on the event day "
|
||||
echo -e "\t$ snap set $SNAP_NAME notify-due-days-before-and-after='2,0'"
|
||||
echo -e "\t-Disable Notifying for Due Days:"
|
||||
echo -e "\t$ snap set $SNAP_NAME notify-due-days-before-and-after='0'"
|
||||
echo -e "\n"
|
||||
echo -e "\t-To set back to default 2:"
|
||||
echo -e "\t$ snap set $SNAP_NAME notify-due-days-before-and-after=''"
|
||||
echo -e "\n"
|
||||
echo -e "Notify due at hour of day. Default every morning at 8am. Can be 0-23."
|
||||
|
||||
+2
-2
@@ -64,8 +64,8 @@ REM # https://github.com/wekan/wekan/pull/2536
|
||||
REM # System timelines will be showing any user modification for
|
||||
REM # dueat startat endat receivedat, also notification to
|
||||
REM # the watchers and if any card is due, about due or past due.
|
||||
REM # Notify due days, default 2 days before and after. 0 = due notifications disabled. Default: 2
|
||||
REM SET NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2
|
||||
REM # Notify due days, default is None.
|
||||
REM # SET NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2,0
|
||||
REM # Notify due at hour of day. Default every morning at 8am. Can be 0-23.
|
||||
REM # If env variable has parsing error, use default. Notification sent to watchers.
|
||||
REM SET NOTIFY_DUE_AT_HOUR_OF_DAY=8
|
||||
|
||||
+3
-2
@@ -71,8 +71,9 @@
|
||||
# dueat startat endat receivedat, also notification to
|
||||
# the watchers and if any card is due, about due or past due.
|
||||
#
|
||||
# Notify due days, default 2 days before and after. 0 = due notifications disabled. Default: 2
|
||||
#export NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2
|
||||
# Notify due days, default is None.
|
||||
#export NOTIFY_DUE_DAYS_BEFORE_AND_AFTER=2,0
|
||||
# it will notify user 2 days before due day and on the due day
|
||||
#
|
||||
# Notify due at hour of day. Default every morning at 8am. Can be 0-23.
|
||||
# If env variable has parsing error, use default. Notification sent to watchers.
|
||||
|
||||
Reference in new issue
Block a user