diff options
55 files changed, 691 insertions, 228 deletions
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 4610f2f8..f1dad78f 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -2,15 +2,17 @@ **Server Setup Information**: +* Did you test in newest Wekan?: +* Wekan version: +* If this is about old version of Wekan, what upgrade problem you have?: * Operating System: -* Deployment Method(snap/sandstorm/mongodb bundle): -* Http frontend (Caddy, Nginx, Apache, see config examples from Wekan GitHub wiki first): +* Deployment Method(snap/docker/sandstorm/mongodb bundle/source): +* Http frontend if any (Caddy, Nginx, Apache, see config examples from Wekan GitHub wiki first): * Node Version: * MongoDB Version: * ROOT_URL environment variable http(s)://(subdomain).example.com(/suburl): **Problem description**: -- *be as explicit as you can* -- *describe the problem and its symptoms* -- *explain how to reproduce* -- *attach whatever information that can help understanding the context (screen capture, log files in .zip file)* +- *REQUIRED: Add recorded animated gif about how it works currently, and screenshot mockups how it should work* +- *Explain steps how to reproduce* +- *Attach log files in .zip file)* diff --git a/CHANGELOG.md b/CHANGELOG.md index 579cdb34..ac833674 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,35 @@ +# Upcoming Wekan release + +This release adds the following new features: + +* [Update xss to version 1.00](https://github.com/wekan/wekan/commit/5b4d75a976244652d3c86e6d46c23d7c11e9ae8e). + +Thanks to GitHub user xet7 for contributions. + +# v1.01 2018-05-23 Wekan release + +This release possibly fixes the following bugs, please test: + +* [Possible quickfix for all customFields Import errors, please test](https://github.com/wekan/wekan/pull/1653). + +Thanks to GitHub users feuerball11 and xet7 for their contributions. + +# v1.00 2018-05-21 Wekan release + +This release fixes the following bugs: + +* [Typo in English translation: brakets to brackets](https://github.com/wekan/wekan/issues/1647). + +Thanks to GitHub user yarons for contributions. + +# v0.99 2018-05-21 Wekan release + +This release adds the following new features: + +* [Advanced Filter for Custom Fields](https://github.com/wekan/wekan/pull/1646). + +Thanks to GitHub users feuerball11 and xet7 for their contributions. + # v0.98 2018-05-19 Wekan release This release adds the following new features: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 78fedf61..3ae99519 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1 +1,4 @@ -To get started, [sign the Contributor License Agreement](https://www.clahub.com/agreements/wekan/wekan). +To get started, [please sign the Contributor License Agreement](https://www.clahub.com/agreements/wekan/wekan). + +[Then, please read documentation at wiki](https://github.com/wekan/wekan/wiki). + diff --git a/Contributing.md b/Contributing.md deleted file mode 100644 index 82440260..00000000 --- a/Contributing.md +++ /dev/null @@ -1,5 +0,0 @@ -# Contributing - -Please see wiki for all documentation: - -<https://github.com/wekan/wekan/wiki> diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade index 9fa4dd57..aa0708dd 100644 --- a/client/components/cards/minicard.jade +++ b/client/components/cards/minicard.jade @@ -20,10 +20,20 @@ template(name="minicard") .date +cardSpentTime + .minicard-custom-fields + each customFieldsWD + if definition.showOnCard + .minicard-custom-field + .minicard-custom-field-item + = definition.name + .minicard-custom-field-item + = value + if members .minicard-members.js-minicard-members each members +userAvatar(userId=this) + .badges if comments.count .badge(title="{{_ 'card-comments-title' comments.count }}") diff --git a/client/components/cards/minicard.styl b/client/components/cards/minicard.styl index d59f1f63..38f829d0 100644 --- a/client/components/cards/minicard.styl +++ b/client/components/cards/minicard.styl @@ -77,6 +77,13 @@ height: @width border-radius: 2px margin-left: 3px + .minicard-custom-fields + display:block; + .minicard-custom-field + display:flex; + .minicard-custom-field-item + max-width:50%; + flex-grow:1; .minicard-title p:last-child margin-bottom: 0 diff --git a/client/components/sidebar/sidebarFilters.jade b/client/components/sidebar/sidebarFilters.jade index 5f9fcf72..514870b8 100644 --- a/client/components/sidebar/sidebarFilters.jade +++ b/client/components/sidebar/sidebarFilters.jade @@ -55,6 +55,10 @@ template(name="filterSidebar") {{ name }} if Filter.customFields.isSelected _id i.fa.fa-check + hr + span {{_ 'advanced-filter-label'}} + input.js-field-advanced-filter(type="text") + span {{_ 'advanced-filter-description'}} if Filter.isActive hr a.sidebar-btn.js-clear-all diff --git a/client/components/sidebar/sidebarFilters.js b/client/components/sidebar/sidebarFilters.js index ba2633de..fd8229e4 100644 --- a/client/components/sidebar/sidebarFilters.js +++ b/client/components/sidebar/sidebarFilters.js @@ -16,6 +16,11 @@ BlazeComponent.extendComponent({ Filter.customFields.toggle(this.currentData()._id); Filter.resetExceptions(); }, + 'change .js-field-advanced-filter'(evt) { + evt.preventDefault(); + Filter.advanced.set(this.find('.js-field-advanced-filter').value.trim()); + Filter.resetExceptions(); + }, 'click .js-clear-all'(evt) { evt.preventDefault(); Filter.reset(); diff --git a/client/lib/filter.js b/client/lib/filter.js index f68c9711..fa139cfe 100644 --- a/client/lib/filter.js +++ b/client/lib/filter.js @@ -79,6 +79,279 @@ class SetFilter { } } + +// Advanced filter forms a MongoSelector from a users String. +// Build by: Ignatz 19.05.2018 (github feuerball11) +class AdvancedFilter { + constructor() { + this._dep = new Tracker.Dependency(); + this._filter = ''; + this._lastValide = {}; + } + + set(str) { + this._filter = str; + this._dep.changed(); + } + + reset() { + this._filter = ''; + this._lastValide = {}; + this._dep.changed(); + } + + _isActive() { + this._dep.depend(); + return this._filter !== ''; + } + + _filterToCommands() { + const commands = []; + let current = ''; + let string = false; + let wasString = false; + let ignore = false; + for (let i = 0; i < this._filter.length; i++) { + const char = this._filter.charAt(i); + if (ignore) { + ignore = false; + continue; + } + if (char === '\'') { + string = !string; + if (string) wasString = true; + continue; + } + if (char === '\\') { + ignore = true; + continue; + } + if (char === ' ' && !string) { + commands.push({ 'cmd': current, 'string': wasString }); + wasString = false; + current = ''; + continue; + } + current += char; + } + if (current !== '') { + commands.push({ 'cmd': current, 'string': wasString }); + } + return commands; + } + + _fieldNameToId(field) { + const found = CustomFields.findOne({ 'name': field }); + return found._id; + } + + _arrayToSelector(commands) { + try { + //let changed = false; + this._processSubCommands(commands); + } + catch (e) { return this._lastValide; } + this._lastValide = { $or: commands }; + return { $or: commands }; + } + + _processSubCommands(commands) { + const subcommands = []; + let level = 0; + let start = -1; + for (let i = 0; i < commands.length; i++) { + if (commands[i].cmd) { + switch (commands[i].cmd) { + case '(': + { + level++; + if (start === -1) start = i; + continue; + } + case ')': + { + level--; + commands.splice(i, 1); + i--; + continue; + } + default: + { + if (level > 0) { + subcommands.push(commands[i]); + commands.splice(i, 1); + i--; + continue; + } + } + } + } + } + if (start !== -1) { + this._processSubCommands(subcommands); + if (subcommands.length === 1) + commands.splice(start, 0, subcommands[0]); + else + commands.splice(start, 0, subcommands); + } + this._processConditions(commands); + this._processLogicalOperators(commands); + } + + _processConditions(commands) { + for (let i = 0; i < commands.length; i++) { + if (!commands[i].string && commands[i].cmd) { + switch (commands[i].cmd) { + case '=': + case '==': + case '===': + { + const field = commands[i - 1].cmd; + const str = commands[i + 1].cmd; + commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': str }; + commands.splice(i - 1, 1); + commands.splice(i, 1); + //changed = true; + i--; + break; + } + case '!=': + case '!==': + { + const field = commands[i - 1].cmd; + const str = commands[i + 1].cmd; + commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $not: str } }; + commands.splice(i - 1, 1); + commands.splice(i, 1); + //changed = true; + i--; + break; + } + case '>': + case 'gt': + case 'Gt': + case 'GT': + { + const field = commands[i - 1].cmd; + const str = commands[i + 1].cmd; + commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $gt: str } }; + commands.splice(i - 1, 1); + commands.splice(i, 1); + //changed = true; + i--; + break; + } + case '>=': + case '>==': + case 'gte': + case 'Gte': + case 'GTE': + { + const field = commands[i - 1].cmd; + const str = commands[i + 1].cmd; + commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $gte: str } }; + commands.splice(i - 1, 1); + commands.splice(i, 1); + //changed = true; + i--; + break; + } + case '<': + case 'lt': + case 'Lt': + case 'LT': + { + const field = commands[i - 1].cmd; + const str = commands[i + 1].cmd; + commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $lt: str } }; + commands.splice(i - 1, 1); + commands.splice(i, 1); + //changed = true; + i--; + break; + } + case '<=': + case '<==': + case 'lte': + case 'Lte': + case 'LTE': + { + const field = commands[i - 1].cmd; + const str = commands[i + 1].cmd; + commands[i] = { 'customFields._id': this._fieldNameToId(field), 'customFields.value': { $lte: str } }; + commands.splice(i - 1, 1); + commands.splice(i, 1); + //changed = true; + i--; + break; + } + + } + } + } + } + + _processLogicalOperators(commands) { + for (let i = 0; i < commands.length; i++) { + if (!commands[i].string && commands[i].cmd) { + switch (commands[i].cmd) { + case 'or': + case 'Or': + case 'OR': + case '|': + case '||': + { + const op1 = commands[i - 1]; + const op2 = commands[i + 1]; + commands[i] = { $or: [op1, op2] }; + commands.splice(i - 1, 1); + commands.splice(i, 1); + //changed = true; + i--; + break; + } + case 'and': + case 'And': + case 'AND': + case '&': + case '&&': + { + const op1 = commands[i - 1]; + const op2 = commands[i + 1]; + commands[i] = { $and: [op1, op2] }; + commands.splice(i - 1, 1); + commands.splice(i, 1); + //changed = true; + i--; + break; + } + + case 'not': + case 'Not': + case 'NOT': + case '!': + { + const op1 = commands[i + 1]; + commands[i] = { $not: op1 }; + commands.splice(i + 1, 1); + //changed = true; + i--; + break; + } + + } + } + } + } + + _getMongoSelector() { + this._dep.depend(); + const commands = this._filterToCommands(); + return this._arrayToSelector(commands); + } + +} + // The global Filter object. // XXX It would be possible to re-write this object more elegantly, and removing // the need to provide a list of `_fields`. We also should move methods into the @@ -90,6 +363,7 @@ Filter = { labelIds: new SetFilter(), members: new SetFilter(), customFields: new SetFilter('_id'), + advanced: new AdvancedFilter(), _fields: ['labelIds', 'members', 'customFields'], @@ -102,7 +376,7 @@ Filter = { isActive() { return _.any(this._fields, (fieldName) => { return this[fieldName]._isActive(); - }); + }) || this.advanced._isActive(); }, _getMongoSelector() { @@ -115,12 +389,10 @@ Filter = { this._fields.forEach((fieldName) => { const filter = this[fieldName]; if (filter._isActive()) { - if (filter.subField !== '') - { + if (filter.subField !== '') { filterSelector[`${fieldName}.${filter.subField}`] = filter._getMongoSelector(); } - else - { + else { filterSelector[fieldName] = filter._getMongoSelector(); } emptySelector[fieldName] = filter._getEmptySelector(); @@ -130,13 +402,18 @@ Filter = { } }); - const exceptionsSelector = {_id: {$in: this._exceptions}}; + const exceptionsSelector = { _id: { $in: this._exceptions } }; this._exceptionsDep.depend(); - if (includeEmptySelectors) - return {$or: [filterSelector, exceptionsSelector, emptySelector]}; - else - return {$or: [filterSelector, exceptionsSelector]}; + const selectors = [exceptionsSelector]; + + if (_.any(this._fields, (fieldName) => { + return this[fieldName]._isActive(); + })) selectors.push(filterSelector); + if (includeEmptySelectors) selectors.push(emptySelector); + if (this.advanced._isActive()) selectors.push(this.advanced._getMongoSelector()); + + return { $or: selectors }; }, mongoSelector(additionalSelector) { @@ -144,7 +421,7 @@ Filter = { if (_.isUndefined(additionalSelector)) return filterSelector; else - return {$and: [filterSelector, additionalSelector]}; + return { $and: [filterSelector, additionalSelector] }; }, reset() { @@ -152,6 +429,7 @@ Filter = { const filter = this[fieldName]; filter.reset(); }); + this.advanced.reset(); this.resetExceptions(); }, diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 7c470976..1e3366b6 100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "مسح التصفية", "filter-no-label": "لا يوجد ملصق", "filter-no-member": "ليس هناك أي عضو", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "التصفية تشتغل", "filter-on-desc": "أنت بصدد تصفية بطاقات هذه اللوحة. اضغط هنا لتعديل التصفية.", "filter-to-selection": "تصفية بالتحديد", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "الإسم الكامل", "header-logo-title": "الرجوع إلى صفحة اللوحات", "hide-system-messages": "إخفاء رسائل النظام", diff --git a/i18n/bg.i18n.json b/i18n/bg.i18n.json index 39cf7a47..5d52aa16 100644 --- a/i18n/bg.i18n.json +++ b/i18n/bg.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Премахване на филтрите", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Има приложени филтри", "filter-on-desc": "В момента филтрирате картите в тази дъска. Моля, натиснете тук, за да промените филтъра.", "filter-to-selection": "Филтрирай избраните", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Име", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Скриване на системните съобщения", diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json index 7f2c7479..7f34db18 100644 --- a/i18n/br.i18n.json +++ b/i18n/br.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json index 6d49f9fc..b0d0c2d2 100644 --- a/i18n/ca.i18n.json +++ b/i18n/ca.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Elimina filtre", "filter-no-label": "Sense etiqueta", "filter-no-member": "Sense membres", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filtra per", "filter-on-desc": "Estau filtrant fitxes en aquest tauler. Feu clic aquí per editar el filtre.", "filter-to-selection": "Filtra selecció", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Nom complet", "header-logo-title": "Torna a la teva pàgina de taulers", "hide-system-messages": "Oculta missatges del sistema", diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index 46d0cb70..b86baa25 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -121,7 +121,7 @@ "card-start": "Start", "card-start-on": "Začít dne", "cardAttachmentsPopup-title": "Přiložit formulář", - "cardCustomField-datePopup-title": "Change date", + "cardCustomField-datePopup-title": "Změnit datum", "cardCustomFieldsPopup-title": "Edit custom fields", "cardDeletePopup-title": "Smazat kartu?", "cardDetailsActionsPopup-title": "Akce karty", @@ -242,9 +242,12 @@ "filter-clear": "Vyčistit filtr", "filter-no-label": "Žádný štítek", "filter-no-member": "Žádný člen", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filtr je zapnut", "filter-on-desc": "Filtrujete karty tohoto tabla. Pro úpravu filtru klikni sem.", "filter-to-selection": "Filtrovat výběr", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Celé jméno", "header-logo-title": "Jit zpět na stránku s tably.", "hide-system-messages": "Skrýt systémové zprávy", diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index daf3abdd..9af3544e 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -28,10 +28,10 @@ "activities": "Aktivitäten", "activity": "Aktivität", "activity-added": "hat %s zu %s hinzugefügt", - "activity-archived": "%s in den Papierkorb verschoben", + "activity-archived": "hat %s in den Papierkorb verschoben", "activity-attached": "hat %s an %s angehängt", "activity-created": "hat %s erstellt", - "activity-customfield-created": "Benutzerdefiniertes Feld erstellen %s", + "activity-customfield-created": "hat das benutzerdefinierte Feld %s erstellt", "activity-excluded": "hat %s von %s ausgeschlossen", "activity-imported": "hat %s in %s von %s importiert", "activity-imported-board": "hat %s von %s importiert", @@ -175,16 +175,16 @@ "createCustomField": "Feld erstellen", "createCustomFieldPopup-title": "Feld erstellen", "current": "aktuell", - "custom-field-delete-pop": "Dies wird die Karte entfernen und der dazugehörige Verlauf löschen. Es gibt keine Rückgängig-Funktion.", + "custom-field-delete-pop": "Dies wird das Feld aus allen Karten entfernen und den dazugehörigen Verlauf löschen. Die Aktion kann nicht rückgängig gemacht werden.", "custom-field-checkbox": "Kontrollkästchen", "custom-field-date": "Datum", - "custom-field-dropdown": "Dropdown-Liste", + "custom-field-dropdown": "Dropdownliste", "custom-field-dropdown-none": "(keiner)", "custom-field-dropdown-options": "Listenoptionen", - "custom-field-dropdown-options-placeholder": "Enter-Taste drücken zum Hinzufügen weiterer Optionen", + "custom-field-dropdown-options-placeholder": "Drücken Sie die Eingabetaste, um weitere Optionen hinzuzufügen", "custom-field-dropdown-unknown": "(unbekannt)", "custom-field-number": "Zahl", - "custom-field-text": "Test", + "custom-field-text": "Text", "custom-fields": "Benutzerdefinierte Felder", "date": "Datum", "decline": "Ablehnen", @@ -242,9 +242,12 @@ "filter-clear": "Filter entfernen", "filter-no-label": "Kein Label", "filter-no-member": "Kein Mitglied", + "filter-no-custom-fields": "Keine benutzerdefinierten Felder", "filter-on": "Filter ist aktiv", "filter-on-desc": "Sie filtern die Karten in diesem Board. Klicken Sie, um den Filter zu bearbeiten.", "filter-to-selection": "Ergebnisse auswählen", + "advanced-filter-label": "Erweiterter Filter", + "advanced-filter-description": "Der erweiterte Filter erlaubt die Eingabe von Zeichenfolgen, die folgende Operatoren enthalten: == != <= >= && || ( ). Ein Leerzeichen wird als Trennzeichen zwischen den Operatoren verwendet. Sie können nach allen benutzerdefinierten Feldern filtern, indem Sie deren Namen und Werte eingeben. Zum Beispiel: Feld1 == Wert1. Beachten Sie: Wenn Felder oder Werte Leerzeichen enthalten, müssen Sie sie in einfache Anführungszeichen setzen. Zum Beispiel: 'Feld 1' == 'Wert 1'. Sie können außerdem mehrere Bedingungen kombinieren. Zum Beispiel: F1 == W1 || F1 == W2. Normalerweise werden alle Operatoren von links nach rechts interpretiert. Sie können die Reihenfolge ändern, indem Sie Klammern setzen. Zum Beispiel: F1 == W1 && ( F2 == W2 || F2 == W3 )", "fullname": "Vollständiger Name", "header-logo-title": "Zurück zur Board Seite.", "hide-system-messages": "Systemmeldungen ausblenden", @@ -375,7 +378,7 @@ "starred-boards-description": "Markierte Boards erscheinen oben in ihrer Boardliste.", "subscribe": "Abonnieren", "team": "Team", - "this-board": "dieses Board", + "this-board": "diesem Board", "this-card": "diese Karte", "spent-time-hours": "Aufgewendete Zeit (Stunden)", "overtime-hours": "Mehrarbeit (Stunden)", diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json index 09b8fda7..2ee5abea 100644 --- a/i18n/el.i18n.json +++ b/i18n/el.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "Κανένα μέλος", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Πλήρες Όνομα", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json index 1182677d..ad63a64f 100644 --- a/i18n/en-GB.i18n.json +++ b/i18n/en-GB.i18n.json @@ -246,6 +246,8 @@ "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index e2d6ddce..7bf25ccf 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -246,6 +246,8 @@ "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json index 177c2270..5525ce98 100644 --- a/i18n/eo.i18n.json +++ b/i18n/eo.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "Nenia etikedo", "filter-no-member": "Nenia membro", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json index 6e410413..35d807f1 100644 --- a/i18n/es-AR.i18n.json +++ b/i18n/es-AR.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Sacar filtro", "filter-no-label": "Sin etiqueta", "filter-no-member": "No es miembro", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "El filtro está activado", "filter-on-desc": "Estás filtrando cartas en este tablero. Clickeá acá para editar el filtro.", "filter-to-selection": "Filtrar en la selección", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Nombre Completo", "header-logo-title": "Retroceder a tu página de tableros.", "hide-system-messages": "Esconder mensajes del sistema", diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json index 7e575d8b..5411be6e 100644 --- a/i18n/es.i18n.json +++ b/i18n/es.i18n.json @@ -7,7 +7,7 @@ "act-addComment": "ha comentado en __card__: __comment__", "act-createBoard": "ha creado __board__", "act-createCard": "ha añadido __card__ a __list__", - "act-createCustomField": "created custom field __customField__", + "act-createCustomField": "creado el campo personalizado __customField__", "act-createList": "ha añadido __list__ a __board__", "act-addBoardMember": "ha añadido a __member__ a __board__", "act-archivedBoard": "__board__ se ha enviado a la papelera de reciclaje", @@ -31,7 +31,7 @@ "activity-archived": "%s se ha enviado a la papelera de reciclaje", "activity-attached": "ha adjuntado %s a %s", "activity-created": "ha creado %s", - "activity-customfield-created": "created custom field %s", + "activity-customfield-created": "creado el campo personalizado %s", "activity-excluded": "ha excluido %s de %s", "activity-imported": "ha importado %s a %s desde %s", "activity-imported-board": "ha importado %s desde %s", @@ -113,7 +113,7 @@ "card-due-on": "Vence el", "card-spent": "Tiempo consumido", "card-edit-attachments": "Editar los adjuntos", - "card-edit-custom-fields": "Edit custom fields", + "card-edit-custom-fields": "Editar los campos personalizados", "card-edit-labels": "Editar las etiquetas", "card-edit-members": "Editar los miembros", "card-labels-title": "Cambia las etiquetas de la tarjeta", @@ -121,8 +121,8 @@ "card-start": "Comienza", "card-start-on": "Comienza el", "cardAttachmentsPopup-title": "Adjuntar desde", - "cardCustomField-datePopup-title": "Change date", - "cardCustomFieldsPopup-title": "Edit custom fields", + "cardCustomField-datePopup-title": "Cambiar la fecha", + "cardCustomFieldsPopup-title": "Editar los campos personalizados", "cardDeletePopup-title": "¿Eliminar la tarjeta?", "cardDetailsActionsPopup-title": "Acciones de la tarjeta", "cardLabelsPopup-title": "Etiquetas", @@ -172,25 +172,25 @@ "createBoardPopup-title": "Crear tablero", "chooseBoardSourcePopup-title": "Importar un tablero", "createLabelPopup-title": "Crear etiqueta", - "createCustomField": "Create Field", - "createCustomFieldPopup-title": "Create Field", + "createCustomField": "Crear un campo", + "createCustomFieldPopup-title": "Crear un campo", "current": "actual", - "custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.", - "custom-field-checkbox": "Checkbox", + "custom-field-delete-pop": "Se eliminará este campo personalizado de todas las tarjetas y se destruirá su historial. Esta acción no puede deshacerse.", + "custom-field-checkbox": "Casilla de verificación", "custom-field-date": "Fecha", - "custom-field-dropdown": "Dropdown List", - "custom-field-dropdown-none": "(none)", - "custom-field-dropdown-options": "List Options", - "custom-field-dropdown-options-placeholder": "Press enter to add more options", - "custom-field-dropdown-unknown": "(unknown)", - "custom-field-number": "Number", - "custom-field-text": "Text", - "custom-fields": "Custom Fields", + "custom-field-dropdown": "Lista desplegable", + "custom-field-dropdown-none": "(nada)", + "custom-field-dropdown-options": "Opciones de la lista", + "custom-field-dropdown-options-placeholder": "Pulsa Intro para añadir más opciones", + "custom-field-dropdown-unknown": "(desconocido)", + "custom-field-number": "Número", + "custom-field-text": "Texto", + "custom-fields": "Campos personalizados", "date": "Fecha", "decline": "Declinar", "default-avatar": "Avatar por defecto", "delete": "Eliminar", - "deleteCustomFieldPopup-title": "Delete Custom Field?", + "deleteCustomFieldPopup-title": "¿Borrar el campo personalizado?", "deleteLabelPopup-title": "¿Eliminar la etiqueta?", "description": "Descripción", "disambiguateMultiLabelPopup-title": "Desambiguar la acción de etiqueta", @@ -205,7 +205,7 @@ "soft-wip-limit": "Límite del trabajo en proceso flexible", "editCardStartDatePopup-title": "Cambiar la fecha de comienzo", "editCardDueDatePopup-title": "Cambiar la fecha de vencimiento", - "editCustomFieldPopup-title": "Edit Field", + "editCustomFieldPopup-title": "Editar el campo", "editCardSpentTimePopup-title": "Cambiar el tiempo consumido", "editLabelPopup-title": "Cambiar la etiqueta", "editNotificationPopup-title": "Editar las notificaciones", @@ -242,9 +242,12 @@ "filter-clear": "Limpiar el filtro", "filter-no-label": "Sin etiqueta", "filter-no-member": "Sin miembro", + "filter-no-custom-fields": "Sin campos personalizados", "filter-on": "Filtro activado", "filter-on-desc": "Estás filtrando tarjetas en este tablero. Haz clic aquí para editar el filtro.", "filter-to-selection": "Filtrar la selección", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Nombre completo", "header-logo-title": "Volver a tu página de tableros", "hide-system-messages": "Ocultar las notificaciones de actividad", @@ -276,7 +279,7 @@ "keyboard-shortcuts": "Atajos de teclado", "label-create": "Crear una etiqueta", "label-default": "etiqueta %s (por defecto)", - "label-delete-pop": "Esto eliminará esta etiqueta de todas las tarjetas y destruirá su historial. Esta acción no puede deshacerse.", + "label-delete-pop": "Se eliminará esta etiqueta de todas las tarjetas y se destruirá su historial. Esta acción no puede deshacerse.", "labels": "Etiquetas", "language": "Cambiar el idioma", "last-admin-desc": "No puedes cambiar roles porque debe haber al menos un administrador.", @@ -386,7 +389,7 @@ "title": "Título", "tracking": "Siguiendo", "tracking-info": "Serás notificado de cualquier cambio en las tarjetas en las que participas como creador o miembro.", - "type": "Type", + "type": "Tipo", "unassign-member": "Desvincular al miembro", "unsaved-description": "Tienes una descripción por añadir.", "unwatch": "Dejar de vigilar", @@ -451,7 +454,7 @@ "hours": "horas", "minutes": "minutos", "seconds": "segundos", - "show-field-on-card": "Show this field on card", + "show-field-on-card": "Mostrar este campo en la tarjeta", "yes": "Sí", "no": "No", "accounts": "Cuentas", diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json index 7a079103..434943ff 100644 --- a/i18n/eu.i18n.json +++ b/i18n/eu.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Garbitu iragazkia", "filter-no-label": "Etiketarik ez", "filter-no-member": "Kiderik ez", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Iragazkia gaituta dago", "filter-on-desc": "Arbel honetako txartela iragazten ari zara. Egin klik hemen iragazkia editatzeko.", "filter-to-selection": "Iragazketa aukerara", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Izen abizenak", "header-logo-title": "Itzuli zure arbelen orrira.", "hide-system-messages": "Ezkutatu sistemako mezuak", diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json index 52f8abbf..d03d0df6 100644 --- a/i18n/fa.i18n.json +++ b/i18n/fa.i18n.json @@ -7,13 +7,13 @@ "act-addComment": "درج نظر برای __card__: __comment__", "act-createBoard": "__board__ ایجاد شد", "act-createCard": "__card__ به __list__ اضافه شد", - "act-createCustomField": "created custom field __customField__", + "act-createCustomField": "فیلد __customField__ ایجاد شد", "act-createList": "__list__ به __board__ اضافه شد", "act-addBoardMember": "__member__ به __board__ اضافه شد", - "act-archivedBoard": "__board__ moved to Recycle Bin", - "act-archivedCard": "__card__ moved to Recycle Bin", - "act-archivedList": "__list__ moved to Recycle Bin", - "act-archivedSwimlane": "__swimlane__ moved to Recycle Bin", + "act-archivedBoard": "__board__ به سطل زباله ریخته شد", + "act-archivedCard": "__card__ به سطل زباله منتقل شد", + "act-archivedList": "__list__ به سطل زباله منتقل شد", + "act-archivedSwimlane": "__swimlane__ به سطل زباله منتقل شد", "act-importBoard": "__board__ وارد شده", "act-importCard": "__card__ وارد شده", "act-importList": "__list__ وارد شده", @@ -28,10 +28,10 @@ "activities": "فعالیت ها", "activity": "فعالیت", "activity-added": "%s به %s اضافه شد", - "activity-archived": "%s moved to Recycle Bin", + "activity-archived": "%s به سطل زباله منتقل شد", "activity-attached": "%s به %s پیوست شد", "activity-created": "%s ایجاد شد", - "activity-customfield-created": "created custom field %s", + "activity-customfield-created": "%s فیلدشخصی ایجاد شد", "activity-excluded": "%s از %s مستثنی گردید", "activity-imported": "%s از %s وارد %s شد", "activity-imported-board": "%s از %s وارد شد", @@ -66,19 +66,19 @@ "and-n-other-card_plural": "و __count__ کارت دیگر", "apply": "اعمال", "app-is-offline": "Wekan در حال بارگذاری است. لطفا صبر کنید. نوسازی صفحه، منجر به از دست رفتن دادهها میشود. اگر Wekan بارگذاری نشد، لطفا بررسی کنید که سرور Wekan متوقف نشده باشد.", - "archive": "Move to Recycle Bin", - "archive-all": "Move All to Recycle Bin", - "archive-board": "Move Board to Recycle Bin", - "archive-card": "Move Card to Recycle Bin", - "archive-list": "Move List to Recycle Bin", - "archive-swimlane": "Move Swimlane to Recycle Bin", - "archive-selection": "Move selection to Recycle Bin", - "archiveBoardPopup-title": "Move Board to Recycle Bin?", - "archived-items": "Recycle Bin", - "archived-boards": "Boards in Recycle Bin", + "archive": "ریختن به سطل زباله", + "archive-all": "ریختن همه به سطل زباله", + "archive-board": "ریختن تخته به سطل زباله", + "archive-card": "ریختن کارت به سطل زباله", + "archive-list": "ریختن لیست به سطل زباله", + "archive-swimlane": "ریختن مسیرشنا به سطل زباله", + "archive-selection": "انتخاب شده ها را به سطل زباله بریز", + "archiveBoardPopup-title": "آیا تخته به سطل زباله ریخته شود؟", + "archived-items": "سطل زباله", + "archived-boards": "تخته هایی که به زباله ریخته شده است", "restore-board": "بازیابی تخته", - "no-archived-boards": "No Boards in Recycle Bin.", - "archives": "Recycle Bin", + "no-archived-boards": "هیچ تخته ای در سطل زباله وجود ندارد", + "archives": "سطل زباله", "assign-member": "تعیین عضو", "attached": "ضمیمه شده", "attachment": "ضمیمه", @@ -104,7 +104,7 @@ "board-view-lists": "فهرستها", "bucket-example": "برای مثال چیزی شبیه \"لیست سبدها\"", "cancel": "انصراف", - "card-archived": "This card is moved to Recycle Bin.", + "card-archived": "این کارت به سطل زباله ریخته شده است", "card-comments-title": "این کارت دارای %s نظر است.", "card-delete-notice": "حذف دائمی. تمامی موارد مرتبط با این کارت از بین خواهند رفت.", "card-delete-pop": "همه اقدامات از این پردازه (خوراک) حذف خواهد شد و امکان بازگرداندن کارت وجود نخواهد داشت.", @@ -113,7 +113,7 @@ "card-due-on": "مقتضی بر", "card-spent": "زمان صرف شده", "card-edit-attachments": "ویرایش ضمائم", - "card-edit-custom-fields": "Edit custom fields", + "card-edit-custom-fields": "ویرایش فیلدهای شخصی", "card-edit-labels": "ویرایش برچسب", "card-edit-members": "ویرایش اعضا", "card-labels-title": "تغییر برچسب کارت", @@ -121,8 +121,8 @@ "card-start": "شروع", "card-start-on": "شروع از", "cardAttachmentsPopup-title": "ضمیمه از", - "cardCustomField-datePopup-title": "Change date", - "cardCustomFieldsPopup-title": "Edit custom fields", + "cardCustomField-datePopup-title": "تغییر تاریخ", + "cardCustomFieldsPopup-title": "ویرایش فیلدهای شخصی", "cardDeletePopup-title": "آیا می خواهید کارت را حذف کنید؟", "cardDetailsActionsPopup-title": "اعمال کارت", "cardLabelsPopup-title": "برچسب ها", @@ -146,7 +146,7 @@ "clipboard": "ذخیره در حافظه ویا بردار-رهاکن", "close": "بستن", "close-board": "بستن برد", - "close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.", + "close-board-pop": "شما با کلیک روی دکمه \"سطل زباله\" در قسمت خانه می توانید تخته را بازیابی کنید.", "color-black": "مشکی", "color-blue": "آبی", "color-green": "سبز", @@ -172,25 +172,25 @@ "createBoardPopup-title": "ایجاد تخته", "chooseBoardSourcePopup-title": "بارگذاری تخته", "createLabelPopup-title": "ایجاد برچسب", - "createCustomField": "Create Field", - "createCustomFieldPopup-title": "Create Field", + "createCustomField": "ایجاد فیلد", + "createCustomFieldPopup-title": "ایجاد فیلد", "current": "جاری", - "custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.", - "custom-field-checkbox": "Checkbox", + "custom-field-delete-pop": "این اقدام فیلدشخصی را بهمراه تمامی تاریخچه آن از کارت ها پاک می کند و برگشت پذیر نمی باشد", + "custom-field-checkbox": "جعبه انتخابی", "custom-field-date": "تاریخ", - "custom-field-dropdown": "Dropdown List", + "custom-field-dropdown": "لیست افتادنی", "custom-field-dropdown-none": "(none)", - "custom-field-dropdown-options": "List Options", - "custom-field-dropdown-options-placeholder": "Press enter to add more options", + "custom-field-dropdown-options": "لیست امکانات", + "custom-field-dropdown-options-placeholder": "کلید Enter را جهت افزودن امکانات بیشتر فشار دهید", "custom-field-dropdown-unknown": "(unknown)", - "custom-field-number": "Number", - "custom-field-text": "Text", - "custom-fields": "Custom Fields", + "custom-field-number": "عدد", + "custom-field-text": "متن", + "custom-fields": "فیلدهای شخصی", "date": "تاریخ", "decline": "رد", "default-avatar": "تصویر پیش فرض", "delete": "حذف", - "deleteCustomFieldPopup-title": "Delete Custom Field?", + "deleteCustomFieldPopup-title": "آیا فیلدشخصی پاک شود؟", "deleteLabelPopup-title": "آیا می خواهید برچسب را حذف کنید؟", "description": "توضیحات", "disambiguateMultiLabelPopup-title": "عمل ابهام زدایی از برچسب", @@ -205,7 +205,7 @@ "soft-wip-limit": "Soft WIP Limit", "editCardStartDatePopup-title": "تغییر تاریخ آغاز", "editCardDueDatePopup-title": "تغییر تاریخ بدلیل", - "editCustomFieldPopup-title": "Edit Field", + "editCustomFieldPopup-title": "ویرایش فیلد", "editCardSpentTimePopup-title": "تغییر زمان صرف شده", "editLabelPopup-title": "تغیر برچسب", "editNotificationPopup-title": "اصلاح اعلان", @@ -242,9 +242,12 @@ "filter-clear": "حذف صافی ـFilterـ", "filter-no-label": "بدون برچسب", "filter-no-member": "بدون عضو", + "filter-no-custom-fields": "هیچ فیلدشخصی ای وجود ندارد", "filter-on": "صافی ـFilterـ فعال است", "filter-on-desc": "شما صافی ـFilterـ برای کارتهای تخته را روشن کرده اید. جهت ویرایش کلیک نمایید.", "filter-to-selection": "صافی ـFilterـ برای موارد انتخابی", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "نام و نام خانوادگی", "header-logo-title": "بازگشت به صفحه تخته.", "hide-system-messages": "عدم نمایش پیامهای سیستمی", diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json index 935f760c..95d32911 100644 --- a/i18n/fi.i18n.json +++ b/i18n/fi.i18n.json @@ -246,6 +246,8 @@ "filter-on": "Suodatus on päällä", "filter-on-desc": "Suodatat kortteja tällä taululla. Klikkaa tästä muokataksesi suodatinta.", "filter-to-selection": "Suodata valintaan", + "advanced-filter-label": "Edistynyt suodatin", + "advanced-filter-description": "Edistynyt suodatin mahdollistaa merkkijonon, joka sisältää seuraavat operaattorit: ==! = <=> = && || () Operaattorien välissä käytetään välilyöntiä. Voit suodattaa kaikki mukautetut kentät kirjoittamalla niiden nimet ja arvot. Esimerkiksi: Field1 == Value1. Huomaa: Jos kentillä tai arvoilla on välilyöntejä, sinun on sijoitettava ne yksittäisiin lainausmerkkeihin. Esimerkki: 'Kenttä 1' == 'Arvo 1'. Voit myös yhdistää useita ehtoja. Esimerkiksi: F1 == V1 || F1 = V2. Yleensä kaikki operaattorit tulkitaan vasemmalta oikealle. Voit muuttaa järjestystä asettamalla sulkuja. Esimerkiksi: F1 == V1 ja (F2 == V2 || F2 == V3)", "fullname": "Koko nimi", "header-logo-title": "Palaa taulut sivullesi.", "hide-system-messages": "Piilota järjestelmäviestit", diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index 7cc6e2e6..5f95f7cf 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Supprimer les filtres", "filter-no-label": "Aucune étiquette", "filter-no-member": "Aucun membre", + "filter-no-custom-fields": "Pas de champs personnalisés", "filter-on": "Le filtre est actif", "filter-on-desc": "Vous êtes en train de filtrer les cartes sur ce tableau. Cliquez ici pour modifier les filtres.", "filter-to-selection": "Filtre vers la sélection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Nom complet", "header-logo-title": "Retourner à la page des tableaux", "hide-system-messages": "Masquer les messages système", diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json index 6712c2c6..231d07d8 100644 --- a/i18n/gl.i18n.json +++ b/i18n/gl.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Limpar filtro", "filter-no-label": "Non hai etiquetas", "filter-no-member": "Non hai membros", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "O filtro está activado", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Nome completo", "header-logo-title": "Retornar á páxina dos seus taboleiros.", "hide-system-messages": "Agochar as mensaxes do sistema", diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index 20662943..d5980cfe 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -7,7 +7,7 @@ "act-addComment": "התקבלה תגובה על הכרטיס __card__: __comment__", "act-createBoard": "הלוח __board__ נוצר", "act-createCard": "הכרטיס __card__ התווסף לרשימה __list__", - "act-createCustomField": "created custom field __customField__", + "act-createCustomField": "נוצר שדה בהתאמה אישית __customField__", "act-createList": "הרשימה __list__ התווספה ללוח __board__", "act-addBoardMember": "המשתמש __member__ נוסף ללוח __board__", "act-archivedBoard": "__board__ הועבר לסל המחזור", @@ -175,22 +175,22 @@ "createCustomField": "יצירת שדה", "createCustomFieldPopup-title": "יצירת שדה", "current": "נוכחי", - "custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.", - "custom-field-checkbox": "Checkbox", + "custom-field-delete-pop": "אין אפשרות לבטל את הפעולה. הפעולה תסיר את השדה שהותאם אישית מכל הכרטיסים ותשמיד את ההיסטוריה שלו.", + "custom-field-checkbox": "תיבת סימון", "custom-field-date": "תאריך", - "custom-field-dropdown": "Dropdown List", - "custom-field-dropdown-none": "(none)", - "custom-field-dropdown-options": "List Options", - "custom-field-dropdown-options-placeholder": "Press enter to add more options", - "custom-field-dropdown-unknown": "(unknown)", - "custom-field-number": "Number", - "custom-field-text": "Text", - "custom-fields": "Custom Fields", + "custom-field-dropdown": "רשימה נגללת", + "custom-field-dropdown-none": "(ללא)", + "custom-field-dropdown-options": "אפשרויות רשימה", + "custom-field-dropdown-options-placeholder": "יש ללחוץ על enter כדי להוסיף עוד אפשרויות", + "custom-field-dropdown-unknown": "(לא ידוע)", + "custom-field-number": "מספר", + "custom-field-text": "טקסט", + "custom-fields": "שדות מותאמים אישית", "date": "תאריך", "decline": "סירוב", "default-avatar": "תמונת משתמש כבררת מחדל", "delete": "מחיקה", - "deleteCustomFieldPopup-title": "Delete Custom Field?", + "deleteCustomFieldPopup-title": "למחוק שדה מותאם אישית?", "deleteLabelPopup-title": "למחוק תווית?", "description": "תיאור", "disambiguateMultiLabelPopup-title": "הבהרת פעולת תווית", @@ -205,7 +205,7 @@ "soft-wip-limit": "מגבלת „בעבודה” רכה", "editCardStartDatePopup-title": "שינוי מועד התחלה", "editCardDueDatePopup-title": "שינוי מועד סיום", - "editCustomFieldPopup-title": "Edit Field", + "editCustomFieldPopup-title": "עריכת שדה", "editCardSpentTimePopup-title": "שינוי הזמן שהושקע", "editLabelPopup-title": "שינוי תווית", "editNotificationPopup-title": "שינוי דיווח", @@ -242,9 +242,12 @@ "filter-clear": "ניקוי המסנן", "filter-no-label": "אין תווית", "filter-no-member": "אין חבר כזה", + "filter-no-custom-fields": "אין שדות מותאמים אישית", "filter-on": "המסנן פועל", "filter-on-desc": "מסנן כרטיסים פעיל בלוח זה. יש ללחוץ כאן לעריכת המסנן.", "filter-to-selection": "סינון לבחירה", + "advanced-filter-label": "מסנן מתקדם", + "advanced-filter-description": "המסנן המתקדם מאפשר לך לכתוב מחרוזת שמכילה את הפעולות הבאות: == != <= >= && || ( ) רווח מכהן כמפריד בין הפעולות. ניתן לסנן את כל השדות המותאמים אישית על ידי הקלדת שמם והערך שלהם. למשל: שדה1 == ערך1. לתשומת לבך: אם שדות או ערכים מכילים רווח, יש לעטוף אותם במירכא מכל צד. למשל: 'שדה 1' == 'ערך 1'. ניתן גם לשלב מגוון תנאים. למשל: F1 == V1 || F1 = V2. על פי רוב כל הפעולות מפוענחות משמאל לימין. ניתן לשנות את הסדר על ידי הצבת סוגריים. למשל: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "שם מלא", "header-logo-title": "חזרה לדף הלוחות שלך.", "hide-system-messages": "הסתרת הודעות מערכת", @@ -386,7 +389,7 @@ "title": "כותרת", "tracking": "מעקב", "tracking-info": "על כל שינוי בכרטיסים בהם הייתה לך מעורבות ברמת היצירה או כחברות תגיע אליך הודעה.", - "type": "Type", + "type": "סוג", "unassign-member": "ביטול הקצאת חבר", "unsaved-description": "יש לך תיאור לא שמור.", "unwatch": "ביטול מעקב", @@ -451,7 +454,7 @@ "hours": "שעות", "minutes": "דקות", "seconds": "שניות", - "show-field-on-card": "Show this field on card", + "show-field-on-card": "הצגת שדה זה בכרטיס", "yes": "כן", "no": "לא", "accounts": "חשבונות", diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json index cdec6414..5f5cd058 100644 --- a/i18n/hu.i18n.json +++ b/i18n/hu.i18n.json @@ -7,12 +7,12 @@ "act-addComment": "hozzászólt a(z) __card__ kártyán: __comment__", "act-createBoard": "létrehozta a táblát: __board__", "act-createCard": "__card__ kártyát adott hozzá a listához: __list__", - "act-createCustomField": "created custom field __customField__", + "act-createCustomField": "létrehozta a(z) __customField__ egyéni listát", "act-createList": "__list__ listát adott hozzá a táblához: __board__", "act-addBoardMember": "__member__ tagot hozzáadta a táblához: __board__", - "act-archivedBoard": "A __board__ tábla a lomtárba került.", - "act-archivedCard": "A __card__ kártya a lomtárba került.", - "act-archivedList": "A __list__ lista a lomtárba került.", + "act-archivedBoard": "A(z) __board__ tábla áthelyezve a lomtárba", + "act-archivedCard": "A(z) __card__ kártya áthelyezve a lomtárba", + "act-archivedList": "A(z) __list__ lista áthelyezve a lomtárba", "act-archivedSwimlane": "__swimlane__ moved to Recycle Bin", "act-importBoard": "importálta a táblát: __board__", "act-importCard": "importálta a kártyát: __card__", @@ -28,10 +28,10 @@ "activities": "Tevékenységek", "activity": "Tevékenység", "activity-added": "%s hozzáadva ehhez: %s", - "activity-archived": "%s lomtárba helyezve", + "activity-archived": "%s áthelyezve a lomtárba", "activity-attached": "%s mellékletet csatolt a kártyához: %s", "activity-created": "%s létrehozva", - "activity-customfield-created": "created custom field %s", + "activity-customfield-created": "létrehozta a(z) %s egyéni mezőt", "activity-excluded": "%s kizárva innen: %s", "activity-imported": "%s importálva ebbe: %s, innen: %s", "activity-imported-board": "%s importálva innen: %s", @@ -99,7 +99,7 @@ "boardChangeWatchPopup-title": "Megfigyelés megváltoztatása", "boardMenuPopup-title": "Tábla menü", "boards": "Táblák", - "board-view": "Board View", + "board-view": "Tábla nézet", "board-view-swimlanes": "Swimlanes", "board-view-lists": "Listák", "bucket-example": "Mint például „Bakancslista”", @@ -113,7 +113,7 @@ "card-due-on": "Esedékes ekkor", "card-spent": "Eltöltött idő", "card-edit-attachments": "Mellékletek szerkesztése", - "card-edit-custom-fields": "Edit custom fields", + "card-edit-custom-fields": "Egyéni mezők szerkesztése", "card-edit-labels": "Címkék szerkesztése", "card-edit-members": "Tagok szerkesztése", "card-labels-title": "A kártya címkéinek megváltoztatása.", @@ -121,8 +121,8 @@ "card-start": "Kezdés", "card-start-on": "Kezdés ekkor", "cardAttachmentsPopup-title": "Innen csatolva", - "cardCustomField-datePopup-title": "Change date", - "cardCustomFieldsPopup-title": "Edit custom fields", + "cardCustomField-datePopup-title": "Dátum megváltoztatása", + "cardCustomFieldsPopup-title": "Egyéni mezők szerkesztése", "cardDeletePopup-title": "Törli a kártyát?", "cardDetailsActionsPopup-title": "Kártyaműveletek", "cardLabelsPopup-title": "Címkék", @@ -165,32 +165,32 @@ "confirm-checklist-delete-dialog": "Biztosan törölni szeretné az ellenőrzőlistát?", "copy-card-link-to-clipboard": "Kártya hivatkozásának másolása a vágólapra", "copyCardPopup-title": "Kártya másolása", - "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", - "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", - "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", + "copyChecklistToManyCardsPopup-title": "Ellenőrzőlista sablon másolása több kártyára", + "copyChecklistToManyCardsPopup-instructions": "A célkártyák címe és a leírások ebben a JSON formátumban", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Első kártya címe\", \"description\":\"Első kártya leírása\"}, {\"title\":\"Második kártya címe\",\"description\":\"Második kártya leírása\"},{\"title\":\"Utolsó kártya címe\",\"description\":\"Utolsó kártya leírása\"} ]", "create": "Létrehozás", "createBoardPopup-title": "Tábla létrehozása", "chooseBoardSourcePopup-title": "Tábla importálása", "createLabelPopup-title": "Címke létrehozása", - "createCustomField": "Create Field", - "createCustomFieldPopup-title": "Create Field", + "createCustomField": "Mező létrehozása", + "createCustomFieldPopup-title": "Mező létrehozása", "current": "jelenlegi", - "custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.", - "custom-field-checkbox": "Checkbox", + "custom-field-delete-pop": "Nincs visszavonás. Ez el fogja távolítani az egyéni mezőt az összes kártyáról, és megsemmisíti az előzményeit.", + "custom-field-checkbox": "Jelölőnégyzet", "custom-field-date": "Dátum", - "custom-field-dropdown": "Dropdown List", - "custom-field-dropdown-none": "(none)", - "custom-field-dropdown-options": "List Options", - "custom-field-dropdown-options-placeholder": "Press enter to add more options", - "custom-field-dropdown-unknown": "(unknown)", - "custom-field-number": "Number", - "custom-field-text": "Text", - "custom-fields": "Custom Fields", + "custom-field-dropdown": "Legördülő lista", + "custom-field-dropdown-none": "(nincs)", + "custom-field-dropdown-options": "Lista lehetőségei", + "custom-field-dropdown-options-placeholder": "Nyomja meg az Enter billentyűt több lehetőség hozzáadásához", + "custom-field-dropdown-unknown": "(ismeretlen)", + "custom-field-number": "Szám", + "custom-field-text": "Szöveg", + "custom-fields": "Egyéni mezők", "date": "Dátum", "decline": "Elutasítás", "default-avatar": "Alapértelmezett avatár", "delete": "Törlés", - "deleteCustomFieldPopup-title": "Delete Custom Field?", + "deleteCustomFieldPopup-title": "Törli az egyéni mezőt?", "deleteLabelPopup-title": "Törli a címkét?", "description": "Leírás", "disambiguateMultiLabelPopup-title": "Címkeművelet egyértelműsítése", @@ -205,7 +205,7 @@ "soft-wip-limit": "Gyenge WIP korlát", "editCardStartDatePopup-title": "Kezdődátum megváltoztatása", "editCardDueDatePopup-title": "Esedékesség dátumának megváltoztatása", - "editCustomFieldPopup-title": "Edit Field", + "editCustomFieldPopup-title": "Mező szerkesztése", "editCardSpentTimePopup-title": "Eltöltött idő megváltoztatása", "editLabelPopup-title": "Címke megváltoztatása", "editNotificationPopup-title": "Értesítés szerkesztése", @@ -242,9 +242,12 @@ "filter-clear": "Szűrő törlése", "filter-no-label": "Nincs címke", "filter-no-member": "Nincs tag", + "filter-no-custom-fields": "Nincsenek egyéni mezők", "filter-on": "Szűrő bekapcsolva", "filter-on-desc": "A kártyaszűrés be van kapcsolva ezen a táblán. Kattintson ide a szűrő szerkesztéséhez.", "filter-to-selection": "Szűrés a kijelöléshez", + "advanced-filter-label": "Speciális szűrő", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Teljes név", "header-logo-title": "Vissza a táblák oldalára.", "hide-system-messages": "Rendszerüzenetek elrejtése", @@ -386,7 +389,7 @@ "title": "Cím", "tracking": "Követés", "tracking-info": "Értesítve lesz az összes olyan kártya változásáról, amelyen létrehozóként vagy tagként vesz részt.", - "type": "Type", + "type": "Típus", "unassign-member": "Tag hozzárendelésének megszüntetése", "unsaved-description": "Van egy mentetlen leírása.", "unwatch": "Megfigyelés megszüntetése", @@ -395,12 +398,12 @@ "uploaded-avatar": "Egy avatár feltöltve", "username": "Felhasználónév", "view-it": "Megtekintés", - "warn-list-archived": "warning: this card is in an list at Recycle Bin", + "warn-list-archived": "figyelem: ez a kártya egy lomtárban lévő listán van", "watch": "Megfigyelés", "watching": "Megfigyelés", "watching-info": "Értesítve lesz a táblán lévő összes változásról", "welcome-board": "Üdvözlő tábla", - "welcome-swimlane": "Milestone 1", + "welcome-swimlane": "1. mérföldkő", "welcome-list1": "Alapok", "welcome-list2": "Speciális", "what-to-do": "Mit szeretne tenni?", @@ -451,19 +454,19 @@ "hours": "óra", "minutes": "perc", "seconds": "másodperc", - "show-field-on-card": "Show this field on card", + "show-field-on-card": "A mező megjelenítése a kártyán", "yes": "Igen", "no": "Nem", "accounts": "Fiókok", "accounts-allowEmailChange": "E-mail megváltoztatásának engedélyezése", - "accounts-allowUserNameChange": "Allow Username Change", + "accounts-allowUserNameChange": "Felhasználónév megváltoztatásának engedélyezése", "createdAt": "Létrehozva", "verified": "Ellenőrizve", "active": "Aktív", - "card-received": "Received", - "card-received-on": "Received on", - "card-end": "End", - "card-end-on": "Ends on", - "editCardReceivedDatePopup-title": "Change received date", - "editCardEndDatePopup-title": "Change end date" + "card-received": "Érkezett", + "card-received-on": "Ekkor érkezett", + "card-end": "Befejezés", + "card-end-on": "Befejeződik ekkor", + "editCardReceivedDatePopup-title": "Érkezési dátum megváltoztatása", + "editCardEndDatePopup-title": "Befejezési dátum megváltoztatása" }
\ No newline at end of file diff --git a/i18n/hy.i18n.json b/i18n/hy.i18n.json index 44c20184..a2d7a377 100644 --- a/i18n/hy.i18n.json +++ b/i18n/hy.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json index 5a1c6683..cd427628 100644 --- a/i18n/id.i18n.json +++ b/i18n/id.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Bersihkan penyaringan", "filter-no-label": "Tidak ada label", "filter-no-member": "Tidak ada anggota", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Penyaring aktif", "filter-on-desc": "Anda memfilter kartu di panel ini. Klik di sini untuk menyunting filter", "filter-to-selection": "Saring berdasarkan yang dipilih", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Nama Lengkap", "header-logo-title": "Kembali ke laman panel anda", "hide-system-messages": "Sembunyikan pesan-pesan sistem", diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json index 6c0a259d..0fd3ed7b 100644 --- a/i18n/ig.i18n.json +++ b/i18n/ig.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json index 905b8e40..1691c48e 100644 --- a/i18n/it.i18n.json +++ b/i18n/it.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Pulisci filtri", "filter-no-label": "Nessuna etichetta", "filter-no-member": "Nessun membro", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Il filtro è attivo", "filter-on-desc": "Stai filtrando le schede su questa bacheca. Clicca qui per modificare il filtro,", "filter-to-selection": "Seleziona", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Nome completo", "header-logo-title": "Torna alla tua bacheca.", "hide-system-messages": "Nascondi i messaggi di sistema", diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json index 85094475..32c1c5b5 100644 --- a/i18n/ja.i18n.json +++ b/i18n/ja.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "フィルターの解除", "filter-no-label": "ラベルなし", "filter-no-member": "メンバーなし", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "フィルター有効", "filter-on-desc": "このボードのカードをフィルターしています。フィルターを編集するにはこちらをクリックしてください。", "filter-to-selection": "フィルターした項目を全選択", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "フルネーム", "header-logo-title": "自分のボードページに戻る。", "hide-system-messages": "システムメッセージを隠す", diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json index 5d28430b..f953e7b9 100644 --- a/i18n/ko.i18n.json +++ b/i18n/ko.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "필터 초기화", "filter-no-label": "라벨 없음", "filter-no-member": "멤버 없음", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "필터 사용", "filter-on-desc": "보드에서 카드를 필터링합니다. 여기를 클릭하여 필터를 수정합니다.", "filter-to-selection": "선택 항목으로 필터링", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "실명", "header-logo-title": "보드 페이지로 돌아가기.", "hide-system-messages": "시스템 메시지 숨기기", diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json index 9dbdfaa2..5c03dd4d 100644 --- a/i18n/lv.i18n.json +++ b/i18n/lv.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json index 04f11c2c..b6405f5b 100644 --- a/i18n/mn.i18n.json +++ b/i18n/mn.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json index 8fa570ac..45392a73 100644 --- a/i18n/nb.i18n.json +++ b/i18n/nb.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json index e062d3de..a8c4ac52 100644 --- a/i18n/nl.i18n.json +++ b/i18n/nl.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Reset filter", "filter-no-label": "Geen label", "filter-no-member": "Geen lid", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter staat aan", "filter-on-desc": "Je bent nu kaarten aan het filteren op dit bord. Klik hier om het filter te wijzigen.", "filter-to-selection": "Filter zoals selectie", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Volledige naam", "header-logo-title": "Ga terug naar jouw borden pagina.", "hide-system-messages": "Verberg systeemberichten", diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index fa6fa060..f0c86267 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Usuń filter", "filter-no-label": "Brak etykiety", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filtr jest włączony", "filter-on-desc": "Filtrujesz karty na tej tablicy. Kliknij tutaj by edytować filtr.", "filter-to-selection": "Odfiltruj zaznaczenie", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Wróć do swojej strony z tablicami.", "hide-system-messages": "Ukryj wiadomości systemowe", diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index dbebd048..989be015 100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -3,17 +3,17 @@ "act-activity-notify": "[Wekan] Notificação de Atividade", "act-addAttachment": "anexo __attachment__ de __card__", "act-addChecklist": "added checklist __checklist__ no __card__", - "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__", + "act-addChecklistItem": "adicionado __checklistitem__ para a lista de checagem __checklist__ em __card__", "act-addComment": "comentou em __card__: __comment__", "act-createBoard": "criou __board__", "act-createCard": "__card__ adicionado à __list__", - "act-createCustomField": "created custom field __customField__", + "act-createCustomField": "criado campo customizado __customField__", "act-createList": "__list__ adicionada à __board__", "act-addBoardMember": "__member__ adicionado à __board__", - "act-archivedBoard": "__board__ moved to Recycle Bin", - "act-archivedCard": "__card__ moved to Recycle Bin", - "act-archivedList": "__list__ moved to Recycle Bin", - "act-archivedSwimlane": "__swimlane__ moved to Recycle Bin", + "act-archivedBoard": "__board__ movido para a lixeira", + "act-archivedCard": "__card__ movido para a lixeira", + "act-archivedList": "__list__ movido para a lixeira", + "act-archivedSwimlane": "__swimlane__ movido para a lixeira", "act-importBoard": "__board__ importado", "act-importCard": "__card__ importado", "act-importList": "__list__ importada", @@ -28,10 +28,10 @@ "activities": "Atividades", "activity": "Atividade", "activity-added": "adicionou %s a %s", - "activity-archived": "%s moved to Recycle Bin", + "activity-archived": "%s movido para a lixeira", "activity-attached": "anexou %s a %s", "activity-created": "criou %s", - "activity-customfield-created": "created custom field %s", + "activity-customfield-created": "criado campo customizado %s", "activity-excluded": "excluiu %s de %s", "activity-imported": "importado %s em %s de %s", "activity-imported-board": "importado %s de %s", @@ -47,7 +47,7 @@ "add-attachment": "Adicionar Anexos", "add-board": "Adicionar Quadro", "add-card": "Adicionar Cartão", - "add-swimlane": "Add Swimlane", + "add-swimlane": "Adicionar Swimlane", "add-checklist": "Adicionar Checklist", "add-checklist-item": "Adicionar um item à lista de verificação", "add-cover": "Adicionar Capa", @@ -66,19 +66,19 @@ "and-n-other-card_plural": "E __count__ outros cartões", "apply": "Aplicar", "app-is-offline": "O Wekan está carregando, por favor espere. Recarregar a página irá causar perda de dado. Se o Wekan não carregar por favor verifique se o servidor Wekan não está parado.", - "archive": "Move to Recycle Bin", - "archive-all": "Move All to Recycle Bin", - "archive-board": "Move Board to Recycle Bin", - "archive-card": "Move Card to Recycle Bin", - "archive-list": "Move List to Recycle Bin", - "archive-swimlane": "Move Swimlane to Recycle Bin", - "archive-selection": "Move selection to Recycle Bin", - "archiveBoardPopup-title": "Move Board to Recycle Bin?", - "archived-items": "Recycle Bin", - "archived-boards": "Boards in Recycle Bin", + "archive": "Mover para a lixeira", + "archive-all": "Mover tudo para a lixeira", + "archive-board": "Mover quadro para a lixeira", + "archive-card": "Mover cartão para a lixeira", + "archive-list": "Mover lista para a lixeira", + "archive-swimlane": "Mover Swimlane para a lixeira", + "archive-selection": "Mover seleção para a lixeira", + "archiveBoardPopup-title": "Mover o quadro para a lixeira?", + "archived-items": "Lixeira", + "archived-boards": "Quadros na lixeira", "restore-board": "Restaurar Quadro", - "no-archived-boards": "No Boards in Recycle Bin.", - "archives": "Recycle Bin", + "no-archived-boards": "Não há quadros na lixeira", + "archives": "Lixeira", "assign-member": "Atribuir Membro", "attached": "anexado", "attachment": "Anexo", @@ -104,16 +104,16 @@ "board-view-lists": "Listas", "bucket-example": "\"Bucket List\", por exemplo", "cancel": "Cancelar", - "card-archived": "This card is moved to Recycle Bin.", + "card-archived": "Este cartão foi movido para a lixeira", "card-comments-title": "Este cartão possui %s comentários.", "card-delete-notice": "A exclusão será permanente. Você perderá todas as ações associadas a este cartão.", "card-delete-pop": "Todas as ações serão removidas da lista de Atividades e vocês não poderá re-abrir o cartão. Não há como desfazer.", - "card-delete-suggest-archive": "You can move a card Recycle Bin to remove it from the board and preserve the activity.", + "card-delete-suggest-archive": "Você pode mover um cartão para fora da lixeira e movê-lo para o quadro e preservar a atividade.", "card-due": "Data fim", "card-due-on": "Finaliza em", "card-spent": "Tempo Gasto", "card-edit-attachments": "Editar anexos", - "card-edit-custom-fields": "Edit custom fields", + "card-edit-custom-fields": "Editar campos customizados", "card-edit-labels": "Editar etiquetas", "card-edit-members": "Editar membros", "card-labels-title": "Alterar etiquetas do cartão.", @@ -121,8 +121,8 @@ "card-start": "Data início", "card-start-on": "Começa em", "cardAttachmentsPopup-title": "Anexar a partir de", - "cardCustomField-datePopup-title": "Change date", - "cardCustomFieldsPopup-title": "Edit custom fields", + "cardCustomField-datePopup-title": "Mudar data", + "cardCustomFieldsPopup-title": "Editar campos customizados", "cardDeletePopup-title": "Excluir Cartão?", "cardDetailsActionsPopup-title": "Ações do cartão", "cardLabelsPopup-title": "Etiquetas", @@ -146,7 +146,7 @@ "clipboard": "Área de Transferência ou arraste e solte", "close": "Fechar", "close-board": "Fechar Quadro", - "close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.", + "close-board-pop": "Você poderá restaurar o quadro clicando no botão lixeira no cabeçalho da página inicial", "color-black": "preto", "color-blue": "azul", "color-green": "verde", @@ -172,25 +172,25 @@ "createBoardPopup-title": "Criar Quadro", "chooseBoardSourcePopup-title": "Importar quadro", "createLabelPopup-title": "Criar Etiqueta", - "createCustomField": "Create Field", - "createCustomFieldPopup-title": "Create Field", + "createCustomField": "Criar campo", + "createCustomFieldPopup-title": "Criar campo", "current": "atual", - "custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.", - "custom-field-checkbox": "Checkbox", + "custom-field-delete-pop": "Não existe desfazer. Isso irá remover o campo customizado de todos os cartões e destruir seu histórico", + "custom-field-checkbox": "Caixa de seleção", "custom-field-date": "Data", - "custom-field-dropdown": "Dropdown List", - "custom-field-dropdown-none": "(none)", - "custom-field-dropdown-options": "List Options", - "custom-field-dropdown-options-placeholder": "Press enter to add more options", - "custom-field-dropdown-unknown": "(unknown)", - "custom-field-number": "Number", - "custom-field-text": "Text", - "custom-fields": "Custom Fields", + "custom-field-dropdown": "Lista suspensa", + "custom-field-dropdown-none": "(nada)", + "custom-field-dropdown-options": "Lista de opções", + "custom-field-dropdown-options-placeholder": "Pressione enter para adicionar mais opções", + "custom-field-dropdown-unknown": "(desconhecido)", + "custom-field-number": "Número", + "custom-field-text": "Texto", + "custom-fields": "Campos customizados", "date": "Data", "decline": "Rejeitar", "default-avatar": "Avatar padrão", "delete": "Excluir", - "deleteCustomFieldPopup-title": "Delete Custom Field?", + "deleteCustomFieldPopup-title": "Deletar campo customizado?", "deleteLabelPopup-title": "Excluir Etiqueta?", "description": "Descrição", "disambiguateMultiLabelPopup-title": "Desambiguar ações de etiquetas", @@ -205,7 +205,7 @@ "soft-wip-limit": "Limite de WIP", "editCardStartDatePopup-title": "Altera data de início", "editCardDueDatePopup-title": "Altera data fim", - "editCustomFieldPopup-title": "Edit Field", + "editCustomFieldPopup-title": "Editar campo", "editCardSpentTimePopup-title": "Editar tempo gasto", "editLabelPopup-title": "Alterar Etiqueta", "editNotificationPopup-title": "Editar Notificações", @@ -242,9 +242,12 @@ "filter-clear": "Limpar filtro", "filter-no-label": "Sem labels", "filter-no-member": "Sem membros", + "filter-no-custom-fields": "Não há campos customizados", "filter-on": "Filtro está ativo", "filter-on-desc": "Você está filtrando cartões neste quadro. Clique aqui para editar o filtro.", "filter-to-selection": "Filtrar esta seleção", + "advanced-filter-label": "Filtro avançado", + "advanced-filter-description": "Um Filtro Avançado permite escrever uma string contendo os seguintes operadores: == != <= >= && || () Um espaço é utilizado como separador entre os operadores. Você pode filtrar todos os campos customizados digitando seus nomes e valores. Por exemplo: campo1 == valor1. Nota: se campos ou valores contém espaços, você precisa encapsular eles em aspas simples. Por exemplo: 'campo 1' == 'valor 1'. Você também pode combinar múltiplas condições. Por exemplo: F1 == V1 || F1 == V2. Normalmente todos os operadores são interpretados da esquerda para a direita. Você pode mudar a ordem ao incluir parênteses. Por exemplo: F1 == V1 e (F2 == V2 || F2 == V3)", "fullname": "Nome Completo", "header-logo-title": "Voltar para a lista de quadros.", "hide-system-messages": "Esconde mensagens de sistema", @@ -284,17 +287,17 @@ "leave-board-pop": "Tem a certeza de que pretende sair de __boardTitle__? Você será removido de todos os cartões neste quadro.", "leaveBoardPopup-title": "Sair do Quadro ?", "link-card": "Vincular a este cartão", - "list-archive-cards": "Move all cards in this list to Recycle Bin", - "list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.", + "list-archive-cards": "Mover todos os cartões nesta lista para a lixeira", + "list-archive-cards-pop": "Isso irá remover todos os cartões nesta lista do quadro. Para visualizar cartões na lixeira e trazê-los de volta ao quadro, clique em \"Menu\" > \"Lixeira\".", "list-move-cards": "Mover todos os cartões desta lista", "list-select-cards": "Selecionar todos os cartões nesta lista", "listActionPopup-title": "Listar Ações", - "swimlaneActionPopup-title": "Swimlane Actions", + "swimlaneActionPopup-title": "Ações de Swimlane", "listImportCardPopup-title": "Importe um cartão do Trello", "listMorePopup-title": "Mais", "link-list": "Vincular a esta lista", "list-delete-pop": "Todas as ações serão removidas da lista de atividades e você não poderá recuperar a lista. Não há como desfazer.", - "list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.", + "list-delete-suggest-archive": "Você pode mover a lista para a lixeira para removê-la do quadro e preservar a atividade.", "lists": "Listas", "swimlanes": "Swimlanes", "log-out": "Sair", @@ -314,9 +317,9 @@ "muted-info": "Você nunca receberá qualquer notificação desse board", "my-boards": "Meus Quadros", "name": "Nome", - "no-archived-cards": "No cards in Recycle Bin.", - "no-archived-lists": "No lists in Recycle Bin.", - "no-archived-swimlanes": "No swimlanes in Recycle Bin.", + "no-archived-cards": "Não há cartões na lixeira", + "no-archived-lists": "Não há listas na lixeira", + "no-archived-swimlanes": "Não há swimlanes na lixeira", "no-results": "Nenhum resultado.", "normal": "Normal", "normal-desc": "Pode ver e editar cartões. Não pode alterar configurações.", @@ -381,12 +384,12 @@ "overtime-hours": "Tempo extras (Horas)", "overtime": "Tempo extras", "has-overtime-cards": "Tem cartões de horas extras", - "has-spenttime-cards": "Has spent time cards", + "has-spenttime-cards": "Gastou cartões de tempo", "time": "Tempo", "title": "Título", "tracking": "Tracking", "tracking-info": "Você será notificado se houver qualquer alteração em cards em que você é o criador ou membro", - "type": "Type", + "type": "Tipo", "unassign-member": "Membro não associado", "unsaved-description": "Você possui uma descrição não salva", "unwatch": "Deixar de observar", @@ -395,12 +398,12 @@ "uploaded-avatar": "Avatar carregado", "username": "Nome de usuário", "view-it": "Visualizar", - "warn-list-archived": "warning: this card is in an list at Recycle Bin", + "warn-list-archived": "Aviso: este cartão está em uma lista na lixeira", "watch": "Observar", "watching": "Observando", "watching-info": "Você será notificado em qualquer alteração desse board", "welcome-board": "Board de Boas Vindas", - "welcome-swimlane": "Milestone 1", + "welcome-swimlane": "Marco 1", "welcome-list1": "Básico", "welcome-list2": "Avançado", "what-to-do": "O que você gostaria de fazer?", @@ -451,19 +454,19 @@ "hours": "horas", "minutes": "minutos", "seconds": "segundos", - "show-field-on-card": "Show this field on card", + "show-field-on-card": "Mostrar este campo no cartão", "yes": "Sim", "no": "Não", "accounts": "Contas", "accounts-allowEmailChange": "Permitir Mudança de Email", - "accounts-allowUserNameChange": "Allow Username Change", + "accounts-allowUserNameChange": "Permitir alteração de nome de usuário", "createdAt": "Criado em", "verified": "Verificado", "active": "Ativo", - "card-received": "Received", - "card-received-on": "Received on", - "card-end": "End", - "card-end-on": "Ends on", - "editCardReceivedDatePopup-title": "Change received date", - "editCardEndDatePopup-title": "Change end date" + "card-received": "Recebido", + "card-received-on": "Recebido em", + "card-end": "Fim", + "card-end-on": "Termina em", + "editCardReceivedDatePopup-title": "Modificar data de recebimento", + "editCardEndDatePopup-title": "Mudar data de fim" }
\ No newline at end of file diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json index 6555af77..75c6ae03 100644 --- a/i18n/pt.i18n.json +++ b/i18n/pt.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json index cca2865f..3dba2d87 100644 --- a/i18n/ro.i18n.json +++ b/i18n/ro.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index 456328e2..7b1f0c59 100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Очистить фильтр", "filter-no-label": "Нет метки", "filter-no-member": "Нет участников", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Включен фильтр", "filter-on-desc": "Показываются карточки, соответствующие настройкам фильтра. Нажмите для редактирования.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Полное имя", "header-logo-title": "Вернуться к доскам.", "hide-system-messages": "Скрыть системные сообщения", diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json index bebe6760..e51a9343 100644 --- a/i18n/sr.i18n.json +++ b/i18n/sr.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "Nema oznake", "filter-no-member": "Nema člana", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Sakrij sistemske poruke", diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json index 3df78262..c75a7a2b 100644 --- a/i18n/sv.i18n.json +++ b/i18n/sv.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Rensa filter", "filter-no-label": "Ingen etikett", "filter-no-member": "Ingen medlem", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter är på", "filter-on-desc": "Du filtrerar kort på denna anslagstavla. Klicka här för att redigera filter.", "filter-to-selection": "Filter till val", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Namn", "header-logo-title": "Gå tillbaka till din anslagstavlor-sida.", "hide-system-messages": "Göm systemmeddelanden", diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json index 1986539f..726f456a 100644 --- a/i18n/ta.i18n.json +++ b/i18n/ta.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json index 4d398c39..e459e339 100644 --- a/i18n/th.i18n.json +++ b/i18n/th.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "ล้างตัวกรอง", "filter-no-label": "ไม่มีฉลาก", "filter-no-member": "ไม่มีสมาชิก", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "กรองบน", "filter-on-desc": "คุณกำลังกรองการ์ดในบอร์ดนี้ คลิกที่นี่เพื่อแก้ไขตัวกรอง", "filter-to-selection": "กรองตัวเลือก", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "ชื่อ นามสกุล", "header-logo-title": "ย้อนกลับไปที่หน้าบอร์ดของคุณ", "hide-system-messages": "ซ่อนข้อความของระบบ", diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index 96445407..a54282d0 100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -7,7 +7,7 @@ "act-addComment": "__card__ kartına bir yorum bıraktı: __comment__", "act-createBoard": "__board__ panosunu oluşturdu", "act-createCard": "__card__ kartını ___list__ listesine ekledi", - "act-createCustomField": "created custom field __customField__", + "act-createCustomField": "__customField__ adlı özel alan yaratıldı", "act-createList": "__list__ listesini __board__ panosuna ekledi", "act-addBoardMember": "__member__ kullanıcısını __board__ panosuna ekledi", "act-archivedBoard": "__board__ Geri Dönüşüm Kutusu'na taşındı", @@ -31,7 +31,7 @@ "activity-archived": "%s Geri Dönüşüm Kutusu'na taşındı", "activity-attached": "%s içine %s ekledi", "activity-created": "%s öğesini oluşturdu", - "activity-customfield-created": "created custom field %s", + "activity-customfield-created": "%s adlı özel alan yaratıldı", "activity-excluded": "%s içinden %s çıkarttı", "activity-imported": "%s kaynağından %s öğesini %s öğesinin içine taşıdı ", "activity-imported-board": "%s i %s içinden aktardı", @@ -113,7 +113,7 @@ "card-due-on": "Bitiş tarihi:", "card-spent": "Harcanan Zaman", "card-edit-attachments": "Ek dosyasını düzenle", - "card-edit-custom-fields": "Edit custom fields", + "card-edit-custom-fields": "Özel alanları düzenle", "card-edit-labels": "Etiketleri düzenle", "card-edit-members": "Üyeleri düzenle", "card-labels-title": "Bu kart için etiketleri düzenle", @@ -121,8 +121,8 @@ "card-start": "Başlama", "card-start-on": "Başlama tarihi:", "cardAttachmentsPopup-title": "Eklenme", - "cardCustomField-datePopup-title": "Change date", - "cardCustomFieldsPopup-title": "Edit custom fields", + "cardCustomField-datePopup-title": "Tarihi değiştir", + "cardCustomFieldsPopup-title": "Özel alanları düzenle", "cardDeletePopup-title": "Kart Silinsin mi?", "cardDetailsActionsPopup-title": "Kart işlemleri", "cardLabelsPopup-title": "Etiketler", @@ -172,25 +172,25 @@ "createBoardPopup-title": "Pano Oluşturma", "chooseBoardSourcePopup-title": "Panoyu içe aktar", "createLabelPopup-title": "Etiket Oluşturma", - "createCustomField": "Create Field", - "createCustomFieldPopup-title": "Create Field", + "createCustomField": "Alanı yarat", + "createCustomFieldPopup-title": "Alanı yarat", "current": "mevcut", - "custom-field-delete-pop": "There is no undo. This will remove this custom field from all cards and destroy its history.", - "custom-field-checkbox": "Checkbox", + "custom-field-delete-pop": "Bunun geri dönüşü yoktur. Bu özel alan tüm kartlardan kaldırılıp tarihçesi yokedilecektir.", + "custom-field-checkbox": "İşaret kutusu", "custom-field-date": "Tarih", - "custom-field-dropdown": "Dropdown List", - "custom-field-dropdown-none": "(none)", - "custom-field-dropdown-options": "List Options", - "custom-field-dropdown-options-placeholder": "Press enter to add more options", - "custom-field-dropdown-unknown": "(unknown)", - "custom-field-number": "Number", - "custom-field-text": "Text", - "custom-fields": "Custom Fields", + "custom-field-dropdown": "Açılır liste", + "custom-field-dropdown-none": "(hiçbiri)", + "custom-field-dropdown-options": "Liste seçenekleri", + "custom-field-dropdown-options-placeholder": "Başka seçenekler eklemek için giriş tuşuna basınız", + "custom-field-dropdown-unknown": "(bilinmeyen)", + "custom-field-number": "Sayı", + "custom-field-text": "Metin", + "custom-fields": "Özel alanlar", "date": "Tarih", "decline": "Reddet", "default-avatar": "Varsayılan avatar", "delete": "Sil", - "deleteCustomFieldPopup-title": "Delete Custom Field?", + "deleteCustomFieldPopup-title": "Özel alan silinsin mi?", "deleteLabelPopup-title": "Etiket Silinsin mi?", "description": "Açıklama", "disambiguateMultiLabelPopup-title": "Etiket işlemini izah et", @@ -205,7 +205,7 @@ "soft-wip-limit": "Zayıf Devam Eden İş Sınırı", "editCardStartDatePopup-title": "Başlangıç tarihini değiştir", "editCardDueDatePopup-title": "Bitiş tarihini değiştir", - "editCustomFieldPopup-title": "Edit Field", + "editCustomFieldPopup-title": "Alanı düzenle", "editCardSpentTimePopup-title": "Harcanan zamanı değiştir", "editLabelPopup-title": "Etiket Değiştir", "editNotificationPopup-title": "Bildirimi değiştir", @@ -242,9 +242,12 @@ "filter-clear": "Filtreyi temizle", "filter-no-label": "Etiket yok", "filter-no-member": "Üye yok", + "filter-no-custom-fields": "Hiç özel alan yok", "filter-on": "Filtre aktif", "filter-on-desc": "Bu panodaki kartları filtreliyorsunuz. Fitreyi düzenlemek için tıklayın.", "filter-to-selection": "Seçime göre filtreleme yap", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Ad Soyad", "header-logo-title": "Panolar sayfanıza geri dön.", "hide-system-messages": "Sistem mesajlarını gizle", @@ -386,7 +389,7 @@ "title": "Başlık", "tracking": "Takip", "tracking-info": "Oluşturduğunuz veya üyesi olduğunuz tüm kartlardaki değişiklikler size bildirim olarak gelecek.", - "type": "Type", + "type": "Tür", "unassign-member": "Üyeye atamayı kaldır", "unsaved-description": "Kaydedilmemiş bir açıklama metnin bulunmakta", "unwatch": "Takibi bırak", @@ -451,12 +454,12 @@ "hours": "saat", "minutes": "dakika", "seconds": "saniye", - "show-field-on-card": "Show this field on card", + "show-field-on-card": "Bu alanı kartta göster", "yes": "Evet", "no": "Hayır", "accounts": "Hesaplar", "accounts-allowEmailChange": "E-posta Değiştirmeye İzin Ver", - "accounts-allowUserNameChange": "Allow Username Change", + "accounts-allowUserNameChange": "Kullanıcı adı değiştirmeye izin ver", "createdAt": "Oluşturulma tarihi", "verified": "Doğrulanmış", "active": "Aktif", diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json index 66a87965..f9720861 100644 --- a/i18n/uk.i18n.json +++ b/i18n/uk.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json index ee4a93b8..50074c9e 100644 --- a/i18n/vi.i18n.json +++ b/i18n/vi.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "Clear filter", "filter-no-label": "No label", "filter-no-member": "No member", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "Filter is on", "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.", "filter-to-selection": "Filter to selection", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "Full Name", "header-logo-title": "Go back to your boards page.", "hide-system-messages": "Hide system messages", diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index 1504e568..2b6be1b8 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "清空过滤器", "filter-no-label": "无标签", "filter-no-member": "无成员", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "过滤器启用", "filter-on-desc": "你正在过滤该看板上的卡片,点此编辑过滤。", "filter-to-selection": "要选择的过滤器", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "全称", "header-logo-title": "返回您的看板页", "hide-system-messages": "隐藏系统消息", diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json index 84a4d67b..b087bd8f 100644 --- a/i18n/zh-TW.i18n.json +++ b/i18n/zh-TW.i18n.json @@ -242,9 +242,12 @@ "filter-clear": "清空過濾條件", "filter-no-label": "沒有標籤", "filter-no-member": "沒有成員", + "filter-no-custom-fields": "No Custom Fields", "filter-on": "過濾條件啟用", "filter-on-desc": "你正在過濾該看板上的卡片,點此編輯過濾條件。", "filter-to-selection": "要選擇的過濾條件", + "advanced-filter-label": "Advanced Filter", + "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. Also you can combine multiple conditions. For Example: F1 == V1 || F1 = V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 and ( F2 == V2 || F2 == V3 )", "fullname": "全稱", "header-logo-title": "返回您的看板頁面", "hide-system-messages": "隱藏系統訊息", diff --git a/models/cards.js b/models/cards.js index c77cd682..6a33fa1a 100644 --- a/models/cards.js +++ b/models/cards.js @@ -220,6 +220,7 @@ Cards.helpers({ }).fetch(); // match right definition to each field + if (!this.customFields) return []; return this.customFields.map((customField) => { return { _id: customField._id, diff --git a/package.json b/package.json index 5828b482..92dec31e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "0.98.0", + "version": "1.01.0", "description": "The open-source Trello-like kanban", "private": true, "scripts": { @@ -29,6 +29,6 @@ "es6-promise": "^4.2.4", "meteor-node-stubs": "^0.4.1", "os": "^0.1.1", - "xss": "^0.3.8" + "xss": "^1.0.0" } } diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 3be7f838..eeba4409 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 = 83, + appVersion = 86, # Increment this for every release. - appMarketingVersion = (defaultText = "0.98.0~2018-05-19"), + appMarketingVersion = (defaultText = "1.01.0~2018-05-23"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, |