diff --git a/CHANGELOG.md b/CHANGELOG.md index 004698eae..dd05c3b6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# v0.75 2018-02-16 Wekan release + +This release adds the following new features: + +- [Checklist templates](https://github.com/wekan/wekan/pull/1470); +- Added [Finnish language changelog](https://github.com/wekan/wekan/tree/devel/meta/t9n-changelog) + and [more Finnish traslations](https://github.com/wekan/wekan/blob/devel/sandstorm-pkgdef.capnp) + to Sandstorm. + +Thanks to GitHub users erikturk and xet7 for their contributions. + # v0.74 2018-02-13 Wekan release This release fixes the following bugs: diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index 0a7a8cd6e..81f571d69 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -135,6 +135,7 @@ template(name="cardDetailsActionsPopup") ul.pop-over-list li: a.js-move-card {{_ 'moveCardPopup-title'}} li: a.js-copy-card {{_ 'copyCardPopup-title'}} + li: a.js-copy-checklist-cards {{_ 'copyChecklistToManyCardsPopup-title'}} unless archived li: a.js-archive {{_ 'archive-card'}} li: a.js-more {{_ 'cardMorePopup-title'}} @@ -154,6 +155,16 @@ template(name="copyCardPopup") else +boardsAndLists + +template(name="copyChecklistToManyCardsPopup") + label(for='copy-checklist-cards-title') {{_ 'copyChecklistToManyCardsPopup-instructions'}}: + textarea#copy-card-title.minicard-composer-textarea.js-card-title(autofocus) + | {{_ 'copyChecklistToManyCardsPopup-format'}} + if isSandstorm + +boardLists + else + +boardsAndLists + template(name="boardsAndLists") select.js-select-boards each boards diff --git a/client/components/cards/cardDetails.js b/client/components/cards/cardDetails.js index d70167ce3..d72f46d4f 100644 --- a/client/components/cards/cardDetails.js +++ b/client/components/cards/cardDetails.js @@ -170,6 +170,7 @@ Template.cardDetailsActionsPopup.events({ 'click .js-spent-time': Popup.open('editCardSpentTime'), 'click .js-move-card': Popup.open('moveCard'), 'click .js-copy-card': Popup.open('copyCard'), + 'click .js-copy-checklist-cards': Popup.open('copyChecklistToManyCards'), 'click .js-move-card-to-top' (evt) { evt.preventDefault(); const minOrder = _.min(this.list().cards(this.swimlaneId).map((c) => c.sort)); @@ -296,6 +297,60 @@ Template.copyCardPopup.events({ }, }); + +Template.copyChecklistToManyCardsPopup.events({ + 'click .js-select-list' (evt) { + const card = Cards.findOne(Session.get('currentCard')); + const oldId = card._id; + card._id = null; + card.listId = this._id; + const list = Lists.findOne(card.listId); + card.boardId = list.boardId; + const textarea = $(evt.currentTarget).parents('.content').find('textarea'); + const titleEntry = textarea.val().trim(); + // insert new card to the bottom of new list + card.sort = Lists.findOne(this._id).cards().count(); + + if (titleEntry) { + const titleList = JSON.parse(titleEntry); + for (let i = 0; i < titleList.length; i++){ + const obj = titleList[i]; + card.title = obj.title; + card.description = obj.description; + card.coverId = ''; + const _id = Cards.insert(card); + // In case the filter is active we need to add the newly inserted card in + // the list of exceptions -- cards that are not filtered. Otherwise the + // card will disappear instantly. + // See https://github.com/wekan/wekan/issues/80 + Filter.addException(_id); + + // copy checklists + let cursor = Checklists.find({cardId: oldId}); + cursor.forEach(function() { + 'use strict'; + const checklist = arguments[0]; + checklist.cardId = _id; + checklist._id = null; + Checklists.insert(checklist); + }); + + // copy card comments + cursor = CardComments.find({cardId: oldId}); + cursor.forEach(function () { + 'use strict'; + const comment = arguments[0]; + comment.cardId = _id; + comment._id = null; + CardComments.insert(comment); + }); + } + Popup.close(); + } + }, +}); + + Template.cardMorePopup.events({ 'click .js-copy-card-link-to-clipboard' () { // Clipboard code from: diff --git a/i18n/ar.i18n.json b/i18n/ar.i18n.json index 933ab122c..8788ec5b8 100644 --- a/i18n/ar.i18n.json +++ b/i18n/ar.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "نسخ رابط البطاقة إلى الحافظة", "copyCardPopup-title": "نسخ البطاقة", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "إنشاء", "createBoardPopup-title": "إنشاء لوحة", "chooseBoardSourcePopup-title": "استيراد لوحة", diff --git a/i18n/br.i18n.json b/i18n/br.i18n.json index a16370f57..77276135d 100644 --- a/i18n/br.i18n.json +++ b/i18n/br.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Krouiñ", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/ca.i18n.json b/i18n/ca.i18n.json index 7e3d1a90c..a4f09da8b 100644 --- a/i18n/ca.i18n.json +++ b/i18n/ca.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copia l'enllaç de la ftixa al porta-retalls", "copyCardPopup-title": "Copia la fitxa", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Crea", "createBoardPopup-title": "Crea tauler", "chooseBoardSourcePopup-title": "Importa Tauler", diff --git a/i18n/cs.i18n.json b/i18n/cs.i18n.json index c21850712..1d51b8bfd 100644 --- a/i18n/cs.i18n.json +++ b/i18n/cs.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Kopírovat adresu karty do mezipaměti", "copyCardPopup-title": "Kopírovat kartu", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Vytvořit", "createBoardPopup-title": "Vytvořit tablo", "chooseBoardSourcePopup-title": "Importovat tablo", diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json index ae6227287..924a415e7 100644 --- a/i18n/de.i18n.json +++ b/i18n/de.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Sind Sie sicher, dass Sie die Checkliste löschen möchten?", "copy-card-link-to-clipboard": "Kopiere Link zur Karte in die Zwischenablage", "copyCardPopup-title": "Karte kopieren", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Erstellen", "createBoardPopup-title": "Board erstellen", "chooseBoardSourcePopup-title": "Board importieren", diff --git a/i18n/el.i18n.json b/i18n/el.i18n.json index 85facaee9..691df7484 100644 --- a/i18n/el.i18n.json +++ b/i18n/el.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Δημιουργία", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/en-GB.i18n.json b/i18n/en-GB.i18n.json index 94bb1571b..e0a52e19a 100644 --- a/i18n/en-GB.i18n.json +++ b/i18n/en-GB.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 92391c913..67b6fea7c 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/eo.i18n.json b/i18n/eo.i18n.json index 1fde9a8a1..0fb40e826 100644 --- a/i18n/eo.i18n.json +++ b/i18n/eo.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Krei", "createBoardPopup-title": "Krei tavolon", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/es-AR.i18n.json b/i18n/es-AR.i18n.json index 4b26cced7..2cd53da00 100644 --- a/i18n/es-AR.i18n.json +++ b/i18n/es-AR.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "¿Estás segur@ que querés borrar la lista de ítems?", "copy-card-link-to-clipboard": "Copiar enlace a tarjeta en el portapapeles", "copyCardPopup-title": "Copiar Tarjeta", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Crear", "createBoardPopup-title": "Crear Tablero", "chooseBoardSourcePopup-title": "Importar tablero", diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json index ab0860c5f..bc9e4a13b 100644 --- a/i18n/es.i18n.json +++ b/i18n/es.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "¿Seguro que desea eliminar la lista de tareas", "copy-card-link-to-clipboard": "Copiar el enlace de la tarjeta al portapapeles", "copyCardPopup-title": "Copiar la tarjeta", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Crear", "createBoardPopup-title": "Crear tablero", "chooseBoardSourcePopup-title": "Importar un tablero", diff --git a/i18n/eu.i18n.json b/i18n/eu.i18n.json index 65fc50932..809a7c702 100644 --- a/i18n/eu.i18n.json +++ b/i18n/eu.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Ziur zaude kontrol-zerrenda ezabatu nahi duzula", "copy-card-link-to-clipboard": "Kopiatu txartela arbelera", "copyCardPopup-title": "Kopiatu txartela", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Sortu", "createBoardPopup-title": "Sortu arbela", "chooseBoardSourcePopup-title": "Inportatu arbela", diff --git a/i18n/fa.i18n.json b/i18n/fa.i18n.json index 36ab25f5d..4429b5303 100644 --- a/i18n/fa.i18n.json +++ b/i18n/fa.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "ایجاد", "createBoardPopup-title": "ایجاد تخته", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/fi.i18n.json b/i18n/fi.i18n.json index 5faf83fcd..65dd1e208 100644 --- a/i18n/fi.i18n.json +++ b/i18n/fi.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Haluatko varmasti poistaa tarkistuslistan", "copy-card-link-to-clipboard": "Kopioi kortin linkki leikepöydälle", "copyCardPopup-title": "Kopioi kortti", + "copyChecklistToManyCardsPopup-title": "Kopioi tarkistuslistan malli monille korteille", + "copyChecklistToManyCardsPopup-instructions": "Kohde korttien otsikot ja kuvaukset JSON muodossa", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"Ensimmäisen kortin otsikko\", \"description\":\"Ensimmäisen kortin kuvaus\"}, {\"title\":\"Toisen kortin otsikko\",\"description\":\"Toisen kortin kuvaus\"},{\"title\":\"Viimeisen kortin otsikko\",\"description\":\"Viimeisen kortin kuvaus\"} ]", "create": "Luo", "createBoardPopup-title": "Luo taulu", "chooseBoardSourcePopup-title": "Tuo taulu", diff --git a/i18n/fr.i18n.json b/i18n/fr.i18n.json index 950b2a94e..751779310 100644 --- a/i18n/fr.i18n.json +++ b/i18n/fr.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Êtes-vous sûr de vouloir supprimer cette checklist ?", "copy-card-link-to-clipboard": "Copier le lien vers la carte dans le presse-papier", "copyCardPopup-title": "Copier la carte", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Créer", "createBoardPopup-title": "Créer un tableau", "chooseBoardSourcePopup-title": "Importer un tableau", diff --git a/i18n/gl.i18n.json b/i18n/gl.i18n.json index 60eb40b46..7a17963d8 100644 --- a/i18n/gl.i18n.json +++ b/i18n/gl.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Crear", "createBoardPopup-title": "Crear taboleiro", "chooseBoardSourcePopup-title": "Importar taboleiro", diff --git a/i18n/he.i18n.json b/i18n/he.i18n.json index 6a911cb58..7916d18d1 100644 --- a/i18n/he.i18n.json +++ b/i18n/he.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "האם אתה בטוח שברצונך למחוק את רשימת המשימות", "copy-card-link-to-clipboard": "העתקת קישור הכרטיס ללוח הגזירים", "copyCardPopup-title": "העתק כרטיס", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "יצירה", "createBoardPopup-title": "יצירת לוח", "chooseBoardSourcePopup-title": "ייבוא לוח", diff --git a/i18n/hu.i18n.json b/i18n/hu.i18n.json index 1bf98d3f3..2fe5424e2 100644 --- a/i18n/hu.i18n.json +++ b/i18n/hu.i18n.json @@ -159,6 +159,9 @@ "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\"} ]", "create": "Létrehozás", "createBoardPopup-title": "Tábla létrehozása", "chooseBoardSourcePopup-title": "Tábla importálása", diff --git a/i18n/id.i18n.json b/i18n/id.i18n.json index 9b58b42f7..883587e49 100644 --- a/i18n/id.i18n.json +++ b/i18n/id.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Buat", "createBoardPopup-title": "Buat Panel", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/ig.i18n.json b/i18n/ig.i18n.json index 700a200e7..45f581915 100644 --- a/i18n/ig.i18n.json +++ b/i18n/ig.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/it.i18n.json b/i18n/it.i18n.json index 30406a16c..de5676ff0 100644 --- a/i18n/it.i18n.json +++ b/i18n/it.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Sei sicuro di voler cancellare questa checklist?", "copy-card-link-to-clipboard": "Copia link della scheda sulla clipboard", "copyCardPopup-title": "Copia Scheda", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Crea", "createBoardPopup-title": "Crea bacheca", "chooseBoardSourcePopup-title": "Importa bacheca", diff --git a/i18n/ja.i18n.json b/i18n/ja.i18n.json index df0de2d20..70d741fe5 100644 --- a/i18n/ja.i18n.json +++ b/i18n/ja.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "カードへのリンクをクリップボードにコピー", "copyCardPopup-title": "カードをコピー", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "作成", "createBoardPopup-title": "ボードの作成", "chooseBoardSourcePopup-title": "ボードをインポート", diff --git a/i18n/ko.i18n.json b/i18n/ko.i18n.json index bdbb0e467..29998a61b 100644 --- a/i18n/ko.i18n.json +++ b/i18n/ko.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "정말 이 체크리스트를 삭제할까요?", "copy-card-link-to-clipboard": "클립보드에 카드의 링크가 복사되었습니다.", "copyCardPopup-title": "카드 복사", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "생성", "createBoardPopup-title": "보드 생성", "chooseBoardSourcePopup-title": "보드 가져오기", diff --git a/i18n/lv.i18n.json b/i18n/lv.i18n.json index be457024f..5ce98ead2 100644 --- a/i18n/lv.i18n.json +++ b/i18n/lv.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/mn.i18n.json b/i18n/mn.i18n.json index 57ecf1c82..699e9f3a9 100644 --- a/i18n/mn.i18n.json +++ b/i18n/mn.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/nb.i18n.json b/i18n/nb.i18n.json index adadc678e..ea4707a00 100644 --- a/i18n/nb.i18n.json +++ b/i18n/nb.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/nl.i18n.json b/i18n/nl.i18n.json index 024f8eabc..93b9db792 100644 --- a/i18n/nl.i18n.json +++ b/i18n/nl.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Weet u zeker dat u de checklist wilt verwijderen", "copy-card-link-to-clipboard": "Kopieer kaart link naar klembord", "copyCardPopup-title": "Kopieer kaart", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Aanmaken", "createBoardPopup-title": "Bord aanmaken", "chooseBoardSourcePopup-title": "Importeer bord", diff --git a/i18n/pl.i18n.json b/i18n/pl.i18n.json index 1c00b41e6..048ba7898 100644 --- a/i18n/pl.i18n.json +++ b/i18n/pl.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Skopiuj kartę", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Utwórz", "createBoardPopup-title": "Utwórz tablicę", "chooseBoardSourcePopup-title": "Import tablicy", diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json index f827c79c7..ce2b473a2 100644 --- a/i18n/pt-BR.i18n.json +++ b/i18n/pt-BR.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Tem a certeza de que pretende eliminar lista de verificação", "copy-card-link-to-clipboard": "Copiar link do cartão para a área de transferência", "copyCardPopup-title": "Copiar o cartão", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Criar", "createBoardPopup-title": "Criar Quadro", "chooseBoardSourcePopup-title": "Importar quadro", diff --git a/i18n/pt.i18n.json b/i18n/pt.i18n.json index af001b318..034bfd778 100644 --- a/i18n/pt.i18n.json +++ b/i18n/pt.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/ro.i18n.json b/i18n/ro.i18n.json index aeae6a62c..db7680330 100644 --- a/i18n/ro.i18n.json +++ b/i18n/ro.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/ru.i18n.json b/i18n/ru.i18n.json index 6e3710b00..756172c20 100644 --- a/i18n/ru.i18n.json +++ b/i18n/ru.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Вы уверены, что хотите удалить контрольный список?", "copy-card-link-to-clipboard": "Копировать ссылку на карточку в буфер обмена", "copyCardPopup-title": "Копировать карточку", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Создать", "createBoardPopup-title": "Создать доску", "chooseBoardSourcePopup-title": "Импортировать доску", diff --git a/i18n/sr.i18n.json b/i18n/sr.i18n.json index 7d4bb907b..b03fb3f9b 100644 --- a/i18n/sr.i18n.json +++ b/i18n/sr.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json index 1d8a95647..67abb2f31 100644 --- a/i18n/sv.i18n.json +++ b/i18n/sv.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Är du säker på att du vill ta bort checklista", "copy-card-link-to-clipboard": "Kopiera kortlänk till urklipp", "copyCardPopup-title": "Kopiera kort", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Skapa", "createBoardPopup-title": "Skapa anslagstavla", "chooseBoardSourcePopup-title": "Importera anslagstavla", diff --git a/i18n/ta.i18n.json b/i18n/ta.i18n.json index 159606466..21e891405 100644 --- a/i18n/ta.i18n.json +++ b/i18n/ta.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/th.i18n.json b/i18n/th.i18n.json index 5f609372b..e98337927 100644 --- a/i18n/th.i18n.json +++ b/i18n/th.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "สร้าง", "createBoardPopup-title": "สร้างบอร์ด", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/tr.i18n.json b/i18n/tr.i18n.json index 2c86ad0eb..f1a876c5d 100644 --- a/i18n/tr.i18n.json +++ b/i18n/tr.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Yapılacak listesini silmek istediğinize emin misiniz", "copy-card-link-to-clipboard": "Kartın linkini kopyala", "copyCardPopup-title": "Kartı Kopyala", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Oluştur", "createBoardPopup-title": "Pano Oluşturma", "chooseBoardSourcePopup-title": "Panoyu içe aktar", diff --git a/i18n/uk.i18n.json b/i18n/uk.i18n.json index 4d34f57cc..a42602f2e 100644 --- a/i18n/uk.i18n.json +++ b/i18n/uk.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/vi.i18n.json b/i18n/vi.i18n.json index 2664a7def..9fdd76791 100644 --- a/i18n/vi.i18n.json +++ b/i18n/vi.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "Copy card link to clipboard", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "Create", "createBoardPopup-title": "Create Board", "chooseBoardSourcePopup-title": "Import board", diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json index 500168c07..60c614322 100644 --- a/i18n/zh-CN.i18n.json +++ b/i18n/zh-CN.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "确认要删除清单吗", "copy-card-link-to-clipboard": "复制卡片链接到剪贴板", "copyCardPopup-title": "复制卡片", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "创建", "createBoardPopup-title": "创建看板", "chooseBoardSourcePopup-title": "导入看板", diff --git a/i18n/zh-TW.i18n.json b/i18n/zh-TW.i18n.json index 279c37097..6c1e5ddab 100644 --- a/i18n/zh-TW.i18n.json +++ b/i18n/zh-TW.i18n.json @@ -159,6 +159,9 @@ "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist", "copy-card-link-to-clipboard": "將卡片連結複製到剪貼板", "copyCardPopup-title": "Copy Card", + "copyChecklistToManyCardsPopup-title": "Copy Checklist Template to Many Cards", + "copyChecklistToManyCardsPopup-instructions": "Destination Card Titles and Descriptions in this JSON format", + "copyChecklistToManyCardsPopup-format": "[ {\"title\": \"First card title\", \"description\":\"First card description\"}, {\"title\":\"Second card title\",\"description\":\"Second card description\"},{\"title\":\"Last card title\",\"description\":\"Last card description\"} ]", "create": "建立", "createBoardPopup-title": "建立看板", "chooseBoardSourcePopup-title": "匯入看板", diff --git a/meta/t9n-changelog/fi.md b/meta/t9n-changelog/fi.md new file mode 100644 index 000000000..b27c0926d --- /dev/null +++ b/meta/t9n-changelog/fi.md @@ -0,0 +1,20 @@ +# v0.75 2018-02-16 Wekan julkaisu + +Tämä julkaisu lisää seuraavat ominaisuudet: + +- [Tarkistuslista mallit](https://github.com/wekan/wekan/pull/1470); +- Lisätty [Suomenkielinen muutosloki](https://github.com/wekan/wekan/tree/devel/meta/t9n-changelog) + ja [lisää suomennoksia](https://github.com/wekan/wekan/blob/devel/sandstorm-pkgdef.capnp) + Sandstormiin. + + +Kiitos GitHub käyttäjille erikturk ja xet7 heidän osallistumisistaan. + +# v0.74 2018-02-13 Wekan julkaisu + +Tämä julkaisu korjaa seuraavat bugit: + +- [Poistettu Emoji tuki, jotta MAC osoitteet, kellonajat jne näkyvät oikein](https://github.com/wekan/wekan/commit/056843d66c361594d5d4478cfe86e2e405333b91). + HUOM: Voit silti käyttää Unicode Emojeita, tämä vain poistaa rikkinäisen automaattimuunnoksen Emojeiksi. + +Kiitos GitHub käyttäjälle xet7 osallistumisista. diff --git a/package.json b/package.json index 2c41c25b6..a77be7fec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "wekan", - "version": "0.74.0", + "version": "0.75.0", "description": "The open-source Trello-like kanban", "private": true, "scripts": { diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp index 0461a4139..8aec475f1 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 = 59, + appVersion = 60, # Increment this for every release. - appMarketingVersion = (defaultText = "0.74.0~2018-02-13"), + appMarketingVersion = (defaultText = "0.75.0~2018-02-16"), # Human-readable presentation of the app version. minUpgradableAppVersion = 0, @@ -90,6 +90,7 @@ const pkgdef :Spk.PackageDefinition = ( defaultText = embed "CHANGELOG.md", localizations = [ (locale = "fr", text = embed "meta/t9n-changelog/fr.md"), + (locale = "fi", text = embed "meta/t9n-changelog/fi.md"), ], ) ) @@ -117,12 +118,14 @@ const pkgdef :Spk.PackageDefinition = ( defaultText = "participate", localizations = [ (locale = "fr", text = "participer"), + (locale = "fi", text = "osallistu"), ], ), description = ( defaultText = "allows participating in the board", localizations = [ (locale = "fr", text = "permet de participer dans le tableau"), + (locale = "fi", text = "mahdollistaa taululle osallistumisen"), ], ) ), ( @@ -131,12 +134,14 @@ const pkgdef :Spk.PackageDefinition = ( defaultText = "configure", localizations = [ (locale = "fr", text = "configurer"), + (locale = "fi", text = "asetukset"), ], ), description = ( defaultText = "allows configuring the board", localizations = [ (locale = "fr", text = "permet de configurer le tableau"), + (locale = "fi", text = "mahdollistaa taulun asetusten määrittämisen"), ], ) )], @@ -146,6 +151,7 @@ const pkgdef :Spk.PackageDefinition = ( defaultText = "observer", localizations = [ (locale = "fr", text = "observateur"), + (locale = "fi", text = "tarkkailija"), ], ), permissions = [false, false], @@ -153,6 +159,7 @@ const pkgdef :Spk.PackageDefinition = ( defaultText = "can read", localizations = [ (locale = "fr", text = "peut lire"), + (locale = "fi", text = "voi lukea"), ], ) ), ( @@ -160,6 +167,7 @@ const pkgdef :Spk.PackageDefinition = ( defaultText = "member", localizations = [ (locale = "fr", text = "membre"), + (locale = "fi", text = "jäsen"), ], ), permissions = [true, false], @@ -167,6 +175,7 @@ const pkgdef :Spk.PackageDefinition = ( defaultText = "can edit", localizations = [ (locale = "fr", text = "peut éditer"), + (locale = "fi", text = "voi muokata"), ], ), default = true,