summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2018-07-30 17:42:57 +0300
committerLauri Ojansivu <x@xet7.org>2018-07-30 17:42:57 +0300
commit92bb646977793bd0e6c1e0557404172ffe4ad95d (patch)
tree196392e56a21ad2956df26f87555cfb45ac706b4
parent2bb80956dd54aa6af0a56b863bc5d047305f8a8a (diff)
parent43c38f87a53ed25456f45e5666b6a3a06dd1dbc3 (diff)
downloadwekan-92bb646977793bd0e6c1e0557404172ffe4ad95d.tar.gz
wekan-92bb646977793bd0e6c1e0557404172ffe4ad95d.tar.bz2
wekan-92bb646977793bd0e6c1e0557404172ffe4ad95d.zip
Merge branch 'devel'
-rw-r--r--CHANGELOG.md13
-rw-r--r--Dockerfile2
-rw-r--r--client/lib/utils.js45
-rw-r--r--config/router.js6
-rw-r--r--docker-compose.yml1
-rw-r--r--i18n/de.i18n.json14
-rw-r--r--i18n/es.i18n.json56
-rw-r--r--i18n/ka.i18n.json250
-rw-r--r--i18n/pt-BR.i18n.json64
-rw-r--r--i18n/sv.i18n.json10
-rw-r--r--i18n/zh-CN.i18n.json56
-rw-r--r--models/settings.js17
-rw-r--r--models/users.js13
-rw-r--r--package.json6
-rw-r--r--sandstorm-pkgdef.capnp4
-rw-r--r--server/policy.js9
-rwxr-xr-xsnap-src/bin/config20
-rwxr-xr-xsnap-src/bin/wekan-help4
18 files changed, 357 insertions, 233 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e1364c00..24370dde 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,10 +1,21 @@
+# v1.22 2018-07-30 Wekan release
+
+This release adds the following new features:
+
+- [Backup script now uses mongodump from snap to
+ do backups](https://github.com/wekan/wekan/wiki/Backup);
+- [Integration of Matomo](https://github.com/wekan/wekan/pull/1806);
+- [Enable/Disable API with env var](https://github.com/wekan/wekan/pull/1799).
+
+Thanks to GitHub user Akuket and xet7 for their contributions.
+
# v1.21 2018-07-18 Wekan release
This release adds the following new features:
- [Add logo from Wekan website to login logo](https://github.com/wekan/wekan/commit/4eed23afe06d5fab8d45ba3decc7c1d3b85efbd8).
-This release fixes the following bugs:
+and fixes the following bugs:
- [Allow to resend invites](https://github.com/wekan/wekan/pull/1785).
diff --git a/Dockerfile b/Dockerfile
index 6d68867d..4268e472 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,5 +1,5 @@
FROM debian:buster-slim
-MAINTAINER wekan
+LABEL maintainer="wekan"
# Declare Arguments
ARG NODE_VERSION
diff --git a/client/lib/utils.js b/client/lib/utils.js
index 6b8e3524..5349e500 100644
--- a/client/lib/utils.js
+++ b/client/lib/utils.js
@@ -144,6 +144,51 @@ Utils = {
}
});
},
+
+ setMatomo(data){
+ window._paq = window._paq || [];
+ window._paq.push(['setDoNotTrack', data.doNotTrack]);
+ if (data.withUserName){
+ window._paq.push(['setUserId', Meteor.user().username]);
+ }
+ window._paq.push(['trackPageView']);
+ window._paq.push(['enableLinkTracking']);
+
+ (function() {
+ window._paq.push(['setTrackerUrl', `${data.address}piwik.php`]);
+ window._paq.push(['setSiteId', data.siteId]);
+
+ const script = document.createElement('script');
+ Object.assign(script, {
+ id: 'scriptMatomo',
+ type: 'text/javascript',
+ async: 'true',
+ defer: 'true',
+ src: `${data.address}piwik.js`,
+ });
+
+ const s = document.getElementsByTagName('script')[0];
+ s.parentNode.insertBefore(script, s);
+ })();
+
+ Session.set('matomo', true);
+ },
+
+ manageMatomo() {
+ const matomo = Session.get('matomo');
+ if (matomo === undefined){
+ Meteor.call('getMatomoConf', (err, data) => {
+ if (err && err.error[0] === 'var-not-exist'){
+ Session.set('matomo', false); // siteId || address server not defined
+ }
+ if (!err){
+ Utils.setMatomo(data);
+ }
+ });
+ } else if (matomo) {
+ window._paq.push(['trackPageView']);
+ }
+ },
};
// A simple tracker dependency that we invalidate every time the window is
diff --git a/config/router.js b/config/router.js
index 1f80004a..91d08897 100644
--- a/config/router.js
+++ b/config/router.js
@@ -14,6 +14,8 @@ FlowRouter.route('/', {
Filter.reset();
EscapeActions.executeAll();
+ Utils.manageMatomo();
+
BlazeLayout.render('defaultLayout', {
headerBar: 'boardListHeaderBar',
content: 'boardList',
@@ -38,6 +40,8 @@ FlowRouter.route('/b/:id/:slug', {
EscapeActions.executeUpTo('popup-close');
}
+ Utils.manageMatomo();
+
BlazeLayout.render('defaultLayout', {
headerBar: 'boardHeaderBar',
content: 'board',
@@ -53,6 +57,8 @@ FlowRouter.route('/b/:boardId/:slug/:cardId', {
Session.set('currentBoard', params.boardId);
Session.set('currentCard', params.cardId);
+ Utils.manageMatomo();
+
BlazeLayout.render('defaultLayout', {
headerBar: 'boardHeaderBar',
content: 'board',
diff --git a/docker-compose.yml b/docker-compose.yml
index eb82c3aa..b2e12629 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -37,6 +37,7 @@ services:
environment:
- MONGO_URL=mongodb://wekandb:27017/wekan
- ROOT_URL=http://localhost
+ - WITH_API=false
depends_on:
- wekandb
diff --git a/i18n/de.i18n.json b/i18n/de.i18n.json
index 5e8ce176..bb4a317d 100644
--- a/i18n/de.i18n.json
+++ b/i18n/de.i18n.json
@@ -489,14 +489,14 @@
"boardSubtaskSettingsPopup-title": "Boardeinstellungen für Teilaufgaben",
"show-subtasks-field": "Karten können Teilaufgaben haben",
"deposit-subtasks-board": "Teilaufgaben in diesem Board ablegen:",
- "deposit-subtasks-list": "Zielliste für die dort abgelegten Teilaufgaben:",
- "show-parent-in-minicard": "Zeige übergeordnetes Element auf Minikarte",
- "prefix-with-full-path": "Prefix mit vollständigem Pfad",
- "prefix-with-parent": "Präfix mit übergeordneten Element",
- "subtext-with-full-path": "Subtext mit vollständigem Pfad",
- "subtext-with-parent": "Subtext mit übergeordneten Element",
+ "deposit-subtasks-list": "Zielliste für hier abgelegte Teilaufgaben:",
+ "show-parent-in-minicard": "Übergeordnetes Element auf Minikarte anzeigen:",
+ "prefix-with-full-path": "Vollständiger Pfad über Titel",
+ "prefix-with-parent": "Über Titel",
+ "subtext-with-full-path": "Vollständiger Pfad unter Titel",
+ "subtext-with-parent": "Unter Titel",
"change-card-parent": "Übergeordnete Karte ändern",
"parent-card": "Übergeordnete Karte",
"source-board": "Quellboard",
- "no-parent": "Eltern nicht zeigen"
+ "no-parent": "Nicht anzeigen"
} \ No newline at end of file
diff --git a/i18n/es.i18n.json b/i18n/es.i18n.json
index 6f2d6cd6..c49f7e17 100644
--- a/i18n/es.i18n.json
+++ b/i18n/es.i18n.json
@@ -2,7 +2,7 @@
"accept": "Aceptar",
"act-activity-notify": "[Wekan] Notificación de actividad",
"act-addAttachment": "ha adjuntado __attachment__ a __card__",
- "act-addSubtask": "added subtask __checklist__ to __card__",
+ "act-addSubtask": "ha añadido la subtarea __checklist__ a __card__",
"act-addChecklist": "ha añadido la lista de verificación __checklist__ a __card__",
"act-addChecklistItem": "ha añadido __checklistItem__ a la lista de verificación __checklist__ en __card__",
"act-addComment": "ha comentado en __card__: __comment__",
@@ -20,9 +20,9 @@
"act-importList": "ha importado __list__",
"act-joinMember": "ha añadido a __member__ a __card__",
"act-moveCard": "ha movido __card__ desde __oldList__ a __list__",
- "act-removeBoardMember": "ha desvinculado a __member__ de __board__",
+ "act-removeBoardMember": "ha eliminado a __member__ de __board__",
"act-restoredCard": "ha restaurado __card__ en __board__",
- "act-unjoinMember": "ha desvinculado a __member__ de __card__",
+ "act-unjoinMember": "ha eliminado a __member__ de __card__",
"act-withBoardTitle": "[Wekan] __board__",
"act-withCardTitle": "[__board__] __card__",
"actions": "Acciones",
@@ -42,7 +42,7 @@
"activity-removed": "ha eliminado %s de %s",
"activity-sent": "ha enviado %s a %s",
"activity-unjoined": "se ha desvinculado de %s",
- "activity-subtask-added": "added subtask to %s",
+ "activity-subtask-added": "ha añadido la subtarea a %s",
"activity-checklist-added": "ha añadido una lista de verificación a %s",
"activity-checklist-item-added": "ha añadido el elemento de la lista de verificación a '%s' en %s",
"add": "Añadir",
@@ -50,7 +50,7 @@
"add-board": "Añadir tablero",
"add-card": "Añadir una tarjeta",
"add-swimlane": "Añadir un carril de flujo",
- "add-subtask": "Add Subtask",
+ "add-subtask": "Añadir subtarea",
"add-checklist": "Añadir una lista de verificación",
"add-checklist-item": "Añadir un elemento a la lista de verificación",
"add-cover": "Añadir portada",
@@ -103,7 +103,7 @@
"boardMenuPopup-title": "Menú del tablero",
"boards": "Tableros",
"board-view": "Vista del tablero",
- "board-view-cal": "Calendar",
+ "board-view-cal": "Calendario",
"board-view-swimlanes": "Carriles",
"board-view-lists": "Listas",
"bucket-example": "Como “Cosas por hacer” por ejemplo",
@@ -134,7 +134,7 @@
"cardMorePopup-title": "Más",
"cards": "Tarjetas",
"cards-count": "Tarjetas",
- "casSignIn": "Sign In with CAS",
+ "casSignIn": "Iniciar sesión con CAS",
"change": "Cambiar",
"change-avatar": "Cambiar el avatar",
"change-password": "Cambiar la contraseña",
@@ -145,7 +145,7 @@
"changePasswordPopup-title": "Cambiar la contraseña",
"changePermissionsPopup-title": "Cambiar los permisos",
"changeSettingsPopup-title": "Cambiar las preferencias",
- "subtasks": "Subtasks",
+ "subtasks": "Subtareas",
"checklists": "Lista de verificación",
"click-to-star": "Haz clic para destacar este tablero.",
"click-to-unstar": "Haz clic para dejar de destacar este tablero.",
@@ -168,8 +168,8 @@
"comment-only": "Sólo comentarios",
"comment-only-desc": "Solo puedes comentar en las tarjetas.",
"computer": "el ordenador",
- "confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
- "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+ "confirm-subtask-delete-dialog": "¿Seguro que quieres eliminar la subtarea?",
+ "confirm-checklist-delete-dialog": "¿Seguro que quieres eliminar la lista de verificación?",
"copy-card-link-to-clipboard": "Copiar el enlace de la tarjeta al portapapeles",
"copyCardPopup-title": "Copiar la tarjeta",
"copyChecklistToManyCardsPopup-title": "Copiar la plantilla de la lista de verificación en varias tarjetas",
@@ -310,7 +310,7 @@
"log-out": "Finalizar la sesión",
"log-in": "Iniciar sesión",
"loginPopup-title": "Iniciar sesión",
- "memberMenuPopup-title": "Mis preferencias",
+ "memberMenuPopup-title": "Preferencias de miembro",
"members": "Miembros",
"menu": "Menú",
"move-selection": "Mover la selección",
@@ -482,21 +482,21 @@
"delete-board-confirm-popup": "Se eliminarán todas las listas, tarjetas, etiquetas y actividades, y no podrás recuperar los contenidos del tablero. Esta acción no puede deshacerse.",
"boardDeletePopup-title": "¿Borrar el tablero?",
"delete-board": "Borrar el tablero",
- "default-subtasks-board": "Subtasks for __board__ board",
- "default": "Default",
- "queue": "Queue",
- "subtask-settings": "Subtasks Settings",
- "boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
- "show-subtasks-field": "Cards can have subtasks",
- "deposit-subtasks-board": "Deposit subtasks to this board:",
- "deposit-subtasks-list": "Landing list for subtasks deposited here:",
- "show-parent-in-minicard": "Show parent in minicard:",
- "prefix-with-full-path": "Prefix with full path",
- "prefix-with-parent": "Prefix with parent",
- "subtext-with-full-path": "Subtext with full path",
- "subtext-with-parent": "Subtext with parent",
- "change-card-parent": "Change card's parent",
- "parent-card": "Parent card",
- "source-board": "Source board",
- "no-parent": "Don't show parent"
+ "default-subtasks-board": "Subtareas para el tablero __board__",
+ "default": "Por defecto",
+ "queue": "Cola",
+ "subtask-settings": "Subtareas del tablero",
+ "boardSubtaskSettingsPopup-title": "Configuración de las subtareas del tablero",
+ "show-subtasks-field": "Las tarjetas pueden tener subtareas",
+ "deposit-subtasks-board": "Depositar subtareas en este tablero:",
+ "deposit-subtasks-list": "Lista de destino para subtareas depositadas aquí:",
+ "show-parent-in-minicard": "Mostrar el padre en una minitarjeta:",
+ "prefix-with-full-path": "Prefijo con ruta completa",
+ "prefix-with-parent": "Prefijo con el padre",
+ "subtext-with-full-path": "Subtexto con ruta completa",
+ "subtext-with-parent": "Subtexto con el padre",
+ "change-card-parent": "Cambiar la tarjeta padre",
+ "parent-card": "Tarjeta padre",
+ "source-board": "Tablero de origen",
+ "no-parent": "No mostrar la tarjeta padre"
} \ No newline at end of file
diff --git a/i18n/ka.i18n.json b/i18n/ka.i18n.json
index 11c8f5e8..63a448bb 100644
--- a/i18n/ka.i18n.json
+++ b/i18n/ka.i18n.json
@@ -2,23 +2,23 @@
"accept": "დათანხმება",
"act-activity-notify": "[ვეკანი] აქტივობის შეტყობინება",
"act-addAttachment": "მიბმულია__მიბმა __ბარათზე__",
- "act-addSubtask": "added subtask __checklist__ to __card__",
- "act-addChecklist": "added checklist __checklist__ to __card__",
- "act-addChecklistItem": "added __checklistItem__ to checklist __checklist__ on __card__",
- "act-addComment": "commented on __card__: __comment__",
+ "act-addSubtask": "დამატებულია ქვესაქმიანობა__ჩამონათვალი__ ბარათზე__",
+ "act-addChecklist": "დაამატა ჩამონათვალი__ჩამონათვალი__ ბარათზე__",
+ "act-addChecklistItem": "დაამატა __ჩამონათვალის ელემენტი__ ჩამონათვალში __ჩამონათვალი __ბარათზე__",
+ "act-addComment": "დააკომენტარა__ბარათზე__: __კომენტარი__",
"act-createBoard": "შექმნილია __დაფა__",
- "act-createCard": "added __card__ to __list__",
- "act-createCustomField": "created custom field __customField__",
- "act-createList": "added __list__ to __board__",
- "act-addBoardMember": "added __member__ to __board__",
- "act-archivedBoard": "__board__ moved to Recycle Bin",
- "act-archivedCard": "__card__ moved to Recycle Bin",
- "act-archivedList": "__list__ moved to Recycle Bin",
- "act-archivedSwimlane": "__swimlane__ moved to Recycle Bin",
+ "act-createCard": "დაამატა __ბარათი__ ჩამონათვალში__",
+ "act-createCustomField": "შექმნა სტანდარტული ველი __სტანდარტული ველი__",
+ "act-createList": "დაამატა __ჩამონათვალი__ დაფაზე__",
+ "act-addBoardMember": "დაამატა __წევრი__ დაფაზე__",
+ "act-archivedBoard": "__board__ გადატანილია სანაგვე ურნაში",
+ "act-archivedCard": "__ბარათი__ გადატანილია სანაგვე ურნაში",
+ "act-archivedList": "__list__ გადატანილია სანაგვე ურნაში",
+ "act-archivedSwimlane": "__swimlane__ გადატანილია სანაგვე ურნაში",
"act-importBoard": "იმპორტირებულია__დაფა__",
"act-importCard": "იმპორტირებულია __ბარათი__",
"act-importList": "იმპორტირებულია __სია__",
- "act-joinMember": "added __member__ to __card__",
+ "act-joinMember": "დაამატა __წევრი__ ბარათზე__",
"act-moveCard": "moved __card__ from __oldList__ to __list__",
"act-removeBoardMember": "removed __member__ from __board__",
"act-restoredCard": "restored __card__ to __board__",
@@ -30,65 +30,65 @@
"activity": "აქტივობები",
"activity-added": "დამატებულია %s ზე %s",
"activity-archived": "%s-მა გადაინაცვლა წაშლილებში",
- "activity-attached": "attached %s to %s",
+ "activity-attached": "მიბმულია %s %s-დან",
"activity-created": "შექმნილია %s",
"activity-customfield-created": "created custom field %s",
"activity-excluded": "excluded %s from %s",
"activity-imported": "imported %s into %s from %s",
- "activity-imported-board": "imported %s from %s",
+ "activity-imported-board": "იმპორტირებულია%s %s-დან",
"activity-joined": "შეუერთდა %s",
"activity-moved": "moved %s from %s to %s",
- "activity-on": "on %s",
+ "activity-on": " %s-ზე",
"activity-removed": "წაიშალა %s %s-დან",
"activity-sent": "sent %s to %s",
"activity-unjoined": "არ შემოუერთდა %s",
- "activity-subtask-added": "added subtask to %s",
- "activity-checklist-added": "added checklist to %s",
- "activity-checklist-item-added": "added checklist item to '%s' in %s",
+ "activity-subtask-added": "დაამატა ქვესაქმიანობა %s",
+ "activity-checklist-added": "დაემატა ჩამონათვალი %s-ს",
+ "activity-checklist-item-added": "დამატებულია ჩამონათვალის ელემენტები '%s' %s-ში",
"add": "დამატება",
"add-attachment": "მიბმული ფაილის დამატება",
"add-board": "დაფის დამატება",
"add-card": "ბარათის დამატება",
- "add-swimlane": "Add Swimlane",
+ "add-swimlane": "ბილიკის დამატება",
"add-subtask": "ქვესაქმიანობის დამატება",
"add-checklist": "კატალოგის დამატება",
"add-checklist-item": "დაამატეთ საგანი ჩამონათვალს",
- "add-cover": "Add Cover",
+ "add-cover": "გარეკანის დამატება",
"add-label": "ნიშნის დამატება",
"add-list": "ჩამონათვალის დამატება",
"add-members": "წევრების დამატება",
- "added": "დამატებულია",
+ "added": "-მა დაამატა",
"addMemberPopup-title": "წევრები",
"admin": "ადმინი",
"admin-desc": "შეუძლია ნახოს და შეასწოროს ბარათები, წაშალოს წევრები და შეცვალოს დაფის პარამეტრები. ",
"admin-announcement": "განცხადება",
"admin-announcement-active": "Active System-Wide Announcement",
- "admin-announcement-title": "Announcement from Administrator",
+ "admin-announcement-title": "შეტყობინება ადმინისტრატორისთვის",
"all-boards": "ყველა დაფა",
- "and-n-other-card": "And __count__ other card",
- "and-n-other-card_plural": "And __count__ other cards",
+ "and-n-other-card": "და __count__ სხვა ბარათი",
+ "and-n-other-card_plural": "და __count__ სხვა ბარათები",
"apply": "გამოყენება",
- "app-is-offline": "Wekan is loading, please wait. Refreshing the page will cause data loss. If Wekan does not load, please check that Wekan server has not stopped.",
+ "app-is-offline": "Wekan იტვირთება, გთხოვთ დაელოდოთ. გვერდის განახლებამ შეიძლება გამოიწვიოს მონაცემების დაკარგვა. იმ შემთხვევაში თუ Wekan არ იტვირთება, შეამოწმეთ სერვერი მუშაობს თუ არა. ",
"archive": "სანაგვე ურნაში გადატანა",
"archive-all": "ყველას სანაგვე ურნაში გადატანა",
- "archive-board": "Move Board to Recycle Bin",
- "archive-card": "Move Card to Recycle Bin",
- "archive-list": "Move List to Recycle Bin",
- "archive-swimlane": "Move Swimlane to Recycle Bin",
- "archive-selection": "Move selection to Recycle Bin",
- "archiveBoardPopup-title": "Move Board to Recycle Bin?",
+ "archive-board": "გადავიტანოთ დაფა სანაგვე ურნაში ",
+ "archive-card": "გადავიტანოთ ბარათი სანაგვე ურნაში ",
+ "archive-list": "გავიტანოთ ჩამონათვალი სანაგვე ურნაში ",
+ "archive-swimlane": "გადავიტანოთ ბილიკი სანაგვე ურნაში ",
+ "archive-selection": "გადავიტანოთ მონიშნული სანაგვე ურნაში ",
+ "archiveBoardPopup-title": "გადავიტანოთ დაფა სანაგვე ურნაში ",
"archived-items": "სანაგვე ურნა",
- "archived-boards": "Boards in Recycle Bin",
+ "archived-boards": "დაფები სანაგვე ურნაში ",
"restore-board": "ბარათის აღდგენა",
- "no-archived-boards": "No Boards in Recycle Bin.",
+ "no-archived-boards": "სანაგვე ურნაში დაფები არ მოიძებნა.",
"archives": "სანაგვე ურნა",
- "assign-member": "Assign member",
+ "assign-member": "უფლებამოსილი წევრი",
"attached": "მიბმული",
"attachment": "მიბმული ფიალი",
"attachment-delete-pop": "მიბმული ფაილის წაშლა მუდმივია. შეუძლებელია მისი უკან დაბრუნება. ",
"attachmentDeletePopup-title": "გსურთ მიბმული ფაილის წაშლა? ",
"attachments": "მიბმული ფაილები",
- "auto-watch": "Automatically watch boards when they are created",
+ "auto-watch": "დაფის ავტომატური ნახვა მას შემდეგ რაც ის შეიქმნება",
"avatar-too-big": "დიდი მოცულობის სურათი (მაქსიმუმ 70KB)",
"back": "უკან",
"board-change-color": "ფერის შეცვლა",
@@ -99,22 +99,22 @@
"boardChangeColorPopup-title": "დაფის ფონის ცვლილება",
"boardChangeTitlePopup-title": "დაფის სახელის ცვლილება",
"boardChangeVisibilityPopup-title": "ხილვადობის შეცვლა",
- "boardChangeWatchPopup-title": "Change Watch",
+ "boardChangeWatchPopup-title": "საათის შეცვლა",
"boardMenuPopup-title": "დაფის მენიუ",
"boards": "დაფები",
"board-view": "დაფის ნახვა",
"board-view-cal": "კალენდარი",
- "board-view-swimlanes": "Swimlanes",
+ "board-view-swimlanes": "ბილიკები",
"board-view-lists": "ჩამონათვალი",
- "bucket-example": "Like “Bucket List” for example",
+ "bucket-example": "მოიწონეთ “Bucket List” მაგალითად",
"cancel": "გაუქმება",
- "card-archived": "This card is moved to Recycle Bin.",
- "card-comments-title": "This card has %s comment.",
- "card-delete-notice": "Deleting is permanent. You will lose all actions associated with this card.",
+ "card-archived": "ბარათი გადატანილია სანაგვე ურნაში ",
+ "card-comments-title": "ამ ბარათს ჰქონდა%s კომენტარი.",
+ "card-delete-notice": "წაშლის შემთხვევაში ამ ბარათთან ასცირებული ყველა მოქმედება დაიკარგება.",
"card-delete-pop": "All actions will be removed from the activity feed and you won't be able to re-open the card. There is no undo.",
"card-delete-suggest-archive": "You can move a card to Recycle Bin to remove it from the board and preserve the activity.",
- "card-due": "Due",
- "card-due-on": "Due on",
+ "card-due": "საბოლოო ვადა ",
+ "card-due-on": "საბოლოო ვადა",
"card-spent": "დახარჯული დრო",
"card-edit-attachments": "მიბმული ფაილის შესწორება",
"card-edit-custom-fields": "Edit custom fields",
@@ -128,13 +128,13 @@
"cardCustomField-datePopup-title": "დროის ცვლილება",
"cardCustomFieldsPopup-title": "Edit custom fields",
"cardDeletePopup-title": "წავშალოთ ბარათი? ",
- "cardDetailsActionsPopup-title": "Card Actions",
+ "cardDetailsActionsPopup-title": "ბარათის მოქმედებები",
"cardLabelsPopup-title": "ნიშნები",
"cardMembersPopup-title": "წევრები",
"cardMorePopup-title": "მეტი",
"cards": "ბარათები",
"cards-count": "ბარათები",
- "casSignIn": "Sign In with CAS",
+ "casSignIn": "შესვლა CAS-ით",
"change": "ცვლილება",
"change-avatar": "სურათის შეცვლა",
"change-password": "პაროლის შეცვლა",
@@ -148,8 +148,8 @@
"subtasks": "ქვეამოცანა",
"checklists": "კატალოგი",
"click-to-star": "დააჭირეთ დაფის ვარსკვლავით მოსანიშნად",
- "click-to-unstar": "Click to unstar this board.",
- "clipboard": "Clipboard or drag & drop",
+ "click-to-unstar": "დააკლიკეთ დაფიდან ვარსკვლავის მოსახსნელად. ",
+ "clipboard": "Clipboard ან drag & drop",
"close": "დახურვა",
"close-board": "დაფის დახურვა",
"close-board-pop": "You will be able to restore the board by clicking the “Recycle Bin” button from the home header.",
@@ -166,7 +166,7 @@
"comment": "კომენტარი",
"comment-placeholder": "დაწერეთ კომენტარი",
"comment-only": "მხოლოდ კომენტარები",
- "comment-only-desc": "Can comment on cards only.",
+ "comment-only-desc": "თქვენ შეგიძლიათ კომენტარის გაკეთება მხოლოდ ბარათებზე.",
"computer": "კომპიუტერი",
"confirm-subtask-delete-dialog": "დარწმუნებული ხართ, რომ გსურთ ქვესაქმიანობის წაშლა? ",
"confirm-checklist-delete-dialog": "დარწმუნებული ხართ, რომ გსურთ კატალოგის წაშლა ? ",
@@ -186,16 +186,16 @@
"custom-field-checkbox": "Checkbox",
"custom-field-date": "თარიღი",
"custom-field-dropdown": "ჩამოსაშლელი სია",
- "custom-field-dropdown-none": "(none)",
+ "custom-field-dropdown-none": "(ცარიელი)",
"custom-field-dropdown-options": "List Options",
- "custom-field-dropdown-options-placeholder": "Press enter to add more options",
+ "custom-field-dropdown-options-placeholder": "დამატებითი პარამეტრების სანახავად დააჭირეთ enter-ს. ",
"custom-field-dropdown-unknown": "(უცნობი)",
"custom-field-number": "რიცხვი",
"custom-field-text": "ტექსტი",
"custom-fields": "Custom Fields",
"date": "თარიღი",
"decline": "უარყოფა",
- "default-avatar": "Default avatar",
+ "default-avatar": "სტანდარტული ავატარი",
"delete": "წაშლა",
"deleteCustomFieldPopup-title": "Delete Custom Field?",
"deleteLabelPopup-title": "ნამდვილად გსურთ ნიშნის წაშლა? ",
@@ -211,7 +211,7 @@
"edit-wip-limit": " WIP ლიმიტის შესწორება",
"soft-wip-limit": "Soft WIP Limit",
"editCardStartDatePopup-title": "დაწყების დროის შეცვლა",
- "editCardDueDatePopup-title": "Change due date",
+ "editCardDueDatePopup-title": "შეცვალეთ დედლაინი",
"editCustomFieldPopup-title": "ველების შესწორება",
"editCardSpentTimePopup-title": "დახარჯული დროის შეცვლა",
"editLabelPopup-title": "ნიშნის შეცვლა",
@@ -219,31 +219,31 @@
"editProfilePopup-title": "პროფილის შესწორება",
"email": "ელ.ფოსტა",
"email-enrollAccount-subject": "An account created for you on __siteName__",
- "email-enrollAccount-text": "Hello __user__,\n\nTo start using the service, simply click the link below.\n\n__url__\n\nThanks.",
+ "email-enrollAccount-text": "მოგესალმებით __user__,\n\nამ სერვისის გამოსაყენებლად დააკლიკეთ ქვედა ბმულს.\n\n__url__\n\nმადლობა.",
"email-fail": "ელ.ფოსტის გაგზავნა ვერ მოხერხდა",
- "email-fail-text": "Error trying to send email",
+ "email-fail-text": "ელ.ფოსტის გაგზავნისას დაფიქსირდა შეცდომა",
"email-invalid": "არასწორი ელ.ფოსტა",
"email-invite": "მოწვევა ელ.ფოსტის მეშვეობით",
- "email-invite-subject": "__inviter__ sent you an invitation",
- "email-invite-text": "Dear __user__,\n\n__inviter__ invites you to join board \"__board__\" for collaborations.\n\nPlease follow the link below:\n\n__url__\n\nThanks.",
- "email-resetPassword-subject": "Reset your password on __siteName__",
- "email-resetPassword-text": "Hello __user__,\n\nTo reset your password, simply click the link below.\n\n__url__\n\nThanks.",
+ "email-invite-subject": "__inviter__ გამოგიგზავნათ მოწვევა",
+ "email-invite-text": "ძვირფასო __user__,\n\n__inviter__ გიწვევთ დაფაზე \"__board__\" თანამშრომლობისთვის.\n\nგთხოვთ მიყვეთ ქვემოთ მოცემულ ბმულს:\n\n__url__\n\nმადლობა.",
+ "email-resetPassword-subject": "შეცვალეთ თქვენი პაროლი __siteName-ზე__",
+ "email-resetPassword-text": "გამარჯობა__user__,\n\nპაროლის შესაცვლელად დააკლიკეთ ქვედა ბმულს .\n\n__url__\n\nმადლობა.",
"email-sent": "ელ.ფოსტა გაგზავნილია",
- "email-verifyEmail-subject": "Verify your email address on __siteName__",
- "email-verifyEmail-text": "Hello __user__,\n\nTo verify your account email, simply click the link below.\n\n__url__\n\nThanks.",
+ "email-verifyEmail-subject": "შეამოწმეთ ელ.ფოსტის მისამართი __siteName-ზე__",
+ "email-verifyEmail-text": "გამარჯობა __user__,\n\nანგარიშის ელ.ფოსტის შესამოწმებლად დააკლიკეთ ქვედა ბმულს.\n\n__url__\n\nმადლობა.",
"enable-wip-limit": "Enable WIP Limit",
- "error-board-doesNotExist": "This board does not exist",
- "error-board-notAdmin": "You need to be admin of this board to do that",
- "error-board-notAMember": "You need to be a member of this board to do that",
+ "error-board-doesNotExist": "მსგავსი დაფა არ არსებობს",
+ "error-board-notAdmin": "ამის გასაკეთებლად საჭიროა იყოთ დაფის ადმინისტრატორი",
+ "error-board-notAMember": "ამის გასაკეთებლად საჭიროა იყოთ დაფის წევრი",
"error-json-malformed": "შენი ტექსტი არ არის ვალიდური JSON",
"error-json-schema": "Your JSON data does not include the proper information in the correct format",
"error-list-doesNotExist": "ეს ცხრილი არ არსებობს",
- "error-user-doesNotExist": "This user does not exist",
- "error-user-notAllowSelf": "You can not invite yourself",
+ "error-user-doesNotExist": "მსგავსი მომხმარებელი არ არსებობს",
+ "error-user-notAllowSelf": "თქვენ არ შეგიძლიათ საკუთარი თავის მოწვევა",
"error-user-notCreated": "მომხმარებელი არ შეიქმნა",
"error-username-taken": "არსებობს მსგავსი მომხმარებელი",
"error-email-taken": "უკვე არსებობს მსგავსი ელ.ფოსტა",
- "export-board": "Export board",
+ "export-board": "დაფის ექსპორტი",
"filter": "ფილტრი",
"filter-cards": "ბარათების გაფილტვრა",
"filter-clear": "ფილტრის გასუფთავება",
@@ -251,7 +251,7 @@
"filter-no-member": "არ არის წევრები ",
"filter-no-custom-fields": "No Custom Fields",
"filter-on": "ფილტრი ჩართულია",
- "filter-on-desc": "You are filtering cards on this board. Click here to edit filter.",
+ "filter-on-desc": "თქვენ ფილტრავთ ბარათებს ამ დაფაზე. დააკლიკეთ აქ ფილტრაციის შესწორებისთვის. ",
"filter-to-selection": "მონიშნულის გაფილტვრა",
"advanced-filter-label": "გაფართოებული ფილტრაცია",
"advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
@@ -268,14 +268,14 @@
"import-sandstorm-warning": "იმპორტირებული დაფა წაშლის ყველა არსებულ მონაცემს დაფაზე და შეანაცვლებს მას იმპორტირებული დაფა. ",
"from-trello": "Trello-დან",
"from-wekan": "Wekan-დან",
- "import-board-instruction-trello": "In your Trello board, go to 'Menu', then 'More', 'Print and Export', 'Export JSON', and copy the resulting text.",
- "import-board-instruction-wekan": "In your Wekan board, go to 'Menu', then 'Export board', and copy the text in the downloaded file.",
+ "import-board-instruction-trello": "თქვენს Trello დაფაზე, შედით \"მენიუ\"-ში, შემდეგ დააკლიკეთ \"მეტი\", \"ამოპრინტერება და ექსპორტი\", \"JSON-ის ექსპორტი\" და დააკოპირეთ შედეგი. ",
+ "import-board-instruction-wekan": "თქვენს Wekan დაფაზე, შედით \"მენიუ\"-ში შემდეგ დააკლიკეთ \"დაფის ექსპორტი\" და დააკოპირეთ ტექსტი ჩამოტვირთულ ფაილში.",
"import-json-placeholder": "მოათავსეთ თქვენი ვალიდური JSON მონაცემები აქ. ",
"import-map-members": "რუკის წევრები",
- "import-members-map": "Your imported board has some members. Please map the members you want to import to Wekan users",
- "import-show-user-mapping": "Review members mapping",
+ "import-members-map": "თქვენს იმპორტირებულ დაფას ჰყავს მომხმარებლები. გთხოვთ დაამატოთ ის წევრები რომლის იმპორტიც გსურთ Wekan მომხმარებლებში",
+ "import-show-user-mapping": "მომხმარებლის რუკების განხილვა",
"import-user-select": "Pick the Wekan user you want to use as this member",
- "importMapMembersAddPopup-title": "Select Wekan member",
+ "importMapMembersAddPopup-title": "მონიშნეთ Wekan მომხმარებელი",
"info": "ვერსია",
"initials": "ინიციალები",
"invalid-date": "არასწორი თარიღი",
@@ -293,20 +293,20 @@
"leave-board": "დატოვეთ დაფა",
"leave-board-pop": "Are you sure you want to leave __boardTitle__? You will be removed from all cards on this board.",
"leaveBoardPopup-title": "გსურთ დაფის დატოვება? ",
- "link-card": "Link to this card",
+ "link-card": "დააკავშირეთ ამ ბარათთან",
"list-archive-cards": "Move all cards in this list to Recycle Bin",
"list-archive-cards-pop": "This will remove all the cards in this list from the board. To view cards in Recycle Bin and bring them back to the board, click “Menu” > “Recycle Bin”.",
"list-move-cards": "გადაიტანე ყველა ბარათი ამ სიაში",
"list-select-cards": "მონიშნე ყველა ბარათი ამ სიაში",
"listActionPopup-title": "მოქმედებების სია",
- "swimlaneActionPopup-title": "Swimlane Actions",
+ "swimlaneActionPopup-title": "ბილიკის მოქმედებები",
"listImportCardPopup-title": "Trello ბარათის იმპორტი",
"listMorePopup-title": "მეტი",
- "link-list": "Link to this list",
- "list-delete-pop": "All actions will be removed from the activity feed and you won't be able to recover the list. There is no undo.",
- "list-delete-suggest-archive": "You can move a list to Recycle Bin to remove it from the board and preserve the activity.",
+ "link-list": "დააკავშირეთ ამ ჩამონათვალთან",
+ "list-delete-pop": "ყველა მოქმედება წაიშლება აქტივობების ველიდან და თქვენ ვეღარ შეძლებთ მის აღდგენას ჩამონათვალში",
+ "list-delete-suggest-archive": "თქვენ შეგიძლიათ გადაიტანოთ ჩამონათვალი სანაგვე ურნაში, იმისთვის, რომ წაშალოთ დაფიდან და შეინახოთ აქტივობა. ",
"lists": "ჩამონათვალი",
- "swimlanes": "Swimlanes",
+ "swimlanes": "ბილიკები",
"log-out": "გამოსვლა",
"log-in": "შესვლა",
"loginPopup-title": "შესვლა",
@@ -318,24 +318,24 @@
"moveCardToBottom-title": "ქვევით ჩამოწევა",
"moveCardToTop-title": "ზევით აწევა",
"moveSelectionPopup-title": "მონიშნულის მოძრაობა",
- "multi-selection": "Multi-Selection",
- "multi-selection-on": "Multi-Selection is on",
+ "multi-selection": "რამდენიმეს მონიშვნა",
+ "multi-selection-on": "რამდენიმეს მონიშვნა ჩართულია",
"muted": "ხმა გათიშულია",
- "muted-info": "You will never be notified of any changes in this board",
+ "muted-info": "თქვენ აღარ მიიღებთ შეტყობინებას ამ დაფაზე მიმდინარე ცვლილებების შესახებ. ",
"my-boards": "ჩემი დაფები",
"name": "სახელი",
- "no-archived-cards": "No cards in Recycle Bin.",
- "no-archived-lists": "No lists in Recycle Bin.",
- "no-archived-swimlanes": "No swimlanes in Recycle Bin.",
+ "no-archived-cards": "სანაგვე ურნაში ბარათები არ მოიძებნა.",
+ "no-archived-lists": "სანაგვე ურნაში ჩამონათვალი არ მოიძებნა. ",
+ "no-archived-swimlanes": "სანაგვე ურნაში ბილიკები არ მოიძებნა.",
"no-results": "შედეგის გარეშე",
"normal": "ნორმალური",
- "normal-desc": "Can view and edit cards. Can't change settings.",
+ "normal-desc": "შეუძლია ნახოს და შეასწოროს ბარათები. ამ პარამეტრების შეცვლა შეუძლებელია. ",
"not-accepted-yet": "მოწვევა ჯერ არ დადასტურებულა",
"notify-participate": "Receive updates to any cards you participate as creater or member",
- "notify-watch": "Receive updates to any boards, lists, or cards you’re watching",
+ "notify-watch": "მიიღეთ განახლებები ყველა დაფაზე, ჩამონათვალზე ან ბარათებზე, რომელსაც თქვენ აკვირდებით",
"optional": "არჩევითი",
"or": "ან",
- "page-maybe-private": "This page may be private. You may be able to view it by <a href='%s'>logging in</a>.",
+ "page-maybe-private": "ეს გვერდი შესაძლოა იყოს კერძო. თქვენ შეგეძლებათ მისი ნახვა <a href='%s'>logging in</a> მეშვეობით.",
"page-not-found": "გვერდი არ მოიძებნა.",
"password": "პაროლი",
"paste-or-dragdrop": "to paste, or drag & drop image file to it (image only)",
@@ -344,12 +344,12 @@
"previewAttachedImagePopup-title": "წინასწარ ნახვა",
"previewClipboardImagePopup-title": "წინასწარ ნახვა",
"private": "კერძო",
- "private-desc": "This board is private. Only people added to the board can view and edit it.",
+ "private-desc": "ეს არის კერძო დაფა. დაფაზე წვდომის, ნახვის და რედაქტირების უფლება აქვთ მხოლოდ მასზე დამატებულ წევრებს. ",
"profile": "პროფილი",
"public": "საჯარო",
- "public-desc": "This board is public. It's visible to anyone with the link and will show up in search engines like Google. Only people added to the board can edit.",
+ "public-desc": "ეს დაფა არის საჯარო. ის ხილვადია ყველასთვის და შესაძლოა გამოჩნდეს საძიებო სისტემებში. შესწორების უფლება აქვს მხოლოდ მასზე დამატებულ პირებს. ",
"quick-access-description": "Star a board to add a shortcut in this bar.",
- "remove-cover": "Remove Cover",
+ "remove-cover": "გარეკანის წაშლა",
"remove-from-board": "დაფიდან წაშლა",
"remove-label": "ნიშნის წაშლა",
"listDeletePopup-title": "ნამდვილად გსურთ სიის წაშლა? ",
@@ -363,25 +363,25 @@
"save": "დამახსოვრება",
"search": "ძებნა",
"search-cards": "Search from card titles and descriptions on this board",
- "search-example": "Text to search for?",
+ "search-example": "საძიებო ტექსტი",
"select-color": "ფერის მონიშვნა",
"set-wip-limit-value": "Set a limit for the maximum number of tasks in this list",
- "setWipLimitPopup-title": "Set WIP Limit",
- "shortcut-assign-self": "Assign yourself to current card",
- "shortcut-autocomplete-emoji": "Autocomplete emoji",
- "shortcut-autocomplete-members": "Autocomplete members",
+ "setWipLimitPopup-title": "დააყენეთ WIP ლიმიტი",
+ "shortcut-assign-self": "მონიშნეთ საკუთარი თავი აღნიშნულ ბარათზე",
+ "shortcut-autocomplete-emoji": "emoji-ის ავტომატური შევსება",
+ "shortcut-autocomplete-members": "მომხმარებლების ავტომატური შევსება",
"shortcut-clear-filters": "ყველა ფილტრის გასუფთავება",
"shortcut-close-dialog": "დიალოგის დახურვა",
"shortcut-filter-my-cards": "ჩემი ბარათების გაფილტვრა",
"shortcut-show-shortcuts": "Bring up this shortcuts list",
"shortcut-toggle-filterbar": "Toggle Filter Sidebar",
"shortcut-toggle-sidebar": "Toggle Board Sidebar",
- "show-cards-minimum-count": "Show cards count if list contains more than",
- "sidebar-open": "Open Sidebar",
- "sidebar-close": "Close Sidebar",
+ "show-cards-minimum-count": "აჩვენეთ ბარათების დათვლილი რაოდენობა თუ ჩამონათვალი შეიცავს უფრო მეტს ვიდრე ",
+ "sidebar-open": "გახსენით მცირე სტატია",
+ "sidebar-close": "დახურეთ მცირე სტატია",
"signupPopup-title": "ანგარიშის შექმნა",
"star-board-title": "Click to star this board. It will show up at top of your boards list.",
- "starred-boards": "Starred Boards",
+ "starred-boards": "ვარსკვლავიანი დაფები",
"starred-boards-description": "Starred boards show up at the top of your boards list.",
"subscribe": "გამოწერა",
"team": "ჯგუფი",
@@ -394,18 +394,18 @@
"has-spenttime-cards": "Has spent time cards",
"time": "დრო",
"title": "სათაური",
- "tracking": "Tracking",
+ "tracking": "მონიტორინგი",
"tracking-info": "You will be notified of any changes to those cards you are involved as creator or member.",
- "type": "Type",
- "unassign-member": "Unassign member",
- "unsaved-description": "You have an unsaved description.",
- "unwatch": "Unwatch",
+ "type": "ტიპი",
+ "unassign-member": "არაუფლებამოსილი წევრი",
+ "unsaved-description": "თქვან გაქვთ დაუმახსოვრებელი აღწერა. ",
+ "unwatch": "ნახვის გამორთვა",
"upload": "ატვირთვა",
"upload-avatar": "სურათის ატვირთვა",
"uploaded-avatar": "სურათი ატვირთულია",
"username": "მომხმარებლის სახელი",
"view-it": "ნახვა",
- "warn-list-archived": "warning: this card is in an list at Recycle Bin",
+ "warn-list-archived": "გაფრთხილება: ეს ბარათი არის ჩამონათვალში სანაგვე ურნაში",
"watch": "ნახვა",
"watching": "ნახვის პროცესი",
"watching-info": "You will be notified of any change in this board",
@@ -413,8 +413,8 @@
"welcome-swimlane": "Milestone 1",
"welcome-list1": "ბაზისური ",
"welcome-list2": "Advanced",
- "what-to-do": "What do you want to do?",
- "wipLimitErrorPopup-title": "Invalid WIP Limit",
+ "what-to-do": "რისი გაკეთება გსურთ? ",
+ "wipLimitErrorPopup-title": "არასწორი WIP ლიმიტი",
"wipLimitErrorPopup-dialog-pt1": "The number of tasks in this list is higher than the WIP limit you've defined.",
"wipLimitErrorPopup-dialog-pt2": "Please move some tasks out of this list, or set a higher WIP limit.",
"admin-panel": "ადმინის პანელი",
@@ -424,11 +424,11 @@
"disable-self-registration": "თვით რეგისტრაციის გამორთვა",
"invite": "მოწვევა",
"invite-people": "ხალხის მოწვევა",
- "to-boards": "To board(s)",
+ "to-boards": "დაფა(ებ)ზე",
"email-addresses": "ელ.ფოსტის მისამართები",
"smtp-host-description": "The address of the SMTP server that handles your emails.",
"smtp-port-description": "The port your SMTP server uses for outgoing emails.",
- "smtp-tls-description": "Enable TLS support for SMTP server",
+ "smtp-tls-description": "ჩართეთ TLS მხარდაჭერა SMTP სერვერისთვის",
"smtp-host": "SMTP Host",
"smtp-port": "SMTP Port",
"smtp-username": "მომხმარებლის სახელი",
@@ -437,8 +437,8 @@
"send-from": "დან",
"send-smtp-test": "გაუგზავნეთ სატესტო ელ.ფოსტა საკუთარ თავს",
"invitation-code": "მოწვევის კოდი",
- "email-invite-register-subject": "__inviter__ sent you an invitation",
- "email-invite-register-text": "Dear __user__,\n\n__inviter__ invites you to Wekan for collaborations.\n\nPlease follow the link below:\n__url__\n\nAnd your invitation code is: __icode__\n\nThanks.",
+ "email-invite-register-subject": "__inviter__ გამოგიგზავნათ მოწვევა",
+ "email-invite-register-text": "ძვირგასო __user__,\n\n__inviter__ გიწვევთ Wekan-ში თანამშრომლობისთვის.\n\nგთხოვთ მიყვეთ ქვემოთ მოცემულ ბმულს:\n__url__\n\nდა ჩაწეროთ თქვენი მოწვევის კოდი: __icode__\n\nმადლობა.",
"email-smtp-test-subject": "SMTP Test Email From Wekan",
"email-smtp-test-text": "თქვენ წარმატებით გააგზავნეთ ელ.ფოსტა.",
"error-invitation-code-not-exist": "მსგავსი მოსაწვევი კოდი არ არსებობს",
@@ -451,17 +451,17 @@
"Node_version": "Node version",
"OS_Arch": "OS Arch",
"OS_Cpus": "OS CPU Count",
- "OS_Freemem": "OS Free Memory",
+ "OS_Freemem": "OS თავისუფალი მეხსიერება",
"OS_Loadavg": "OS Load Average",
- "OS_Platform": "OS Platform",
- "OS_Release": "OS Release",
- "OS_Totalmem": "OS Total Memory",
- "OS_Type": "OS Type",
+ "OS_Platform": "OS პლატფორმა",
+ "OS_Release": "OS რელიზი",
+ "OS_Totalmem": "OS მთლიანი მეხსიერება",
+ "OS_Type": "OS ტიპი",
"OS_Uptime": "OS Uptime",
"hours": "საათები",
"minutes": "წუთები",
"seconds": "წამები",
- "show-field-on-card": "Show this field on card",
+ "show-field-on-card": "აჩვენეთ ეს ველი ბარათზე",
"yes": "დიახ",
"no": "არა",
"accounts": "ანგარიშები",
@@ -475,19 +475,19 @@
"card-end": "დასასრული",
"card-end-on": "დასრულდება : ",
"editCardReceivedDatePopup-title": "Change received date",
- "editCardEndDatePopup-title": "Change end date",
- "assigned-by": "Assigned By",
+ "editCardEndDatePopup-title": "შეცვალეთ საბოლოო თარიღი",
+ "assigned-by": "უფლებამოსილების გამცემი ",
"requested-by": "მომთხოვნი",
- "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
- "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
+ "board-delete-notice": "წაშლის შემთხვევაში თქვენ დაკარგავთ ამ დაფასთან ასოცირებულ ყველა მონაცემს მათ შორის : ჩამონათვალს, ბარათებს და მოქმედებებს. ",
+ "delete-board-confirm-popup": "ყველა ჩამონათვალი, ბარათი, ნიშანი და აქტივობა წაიშლება და თქვენ ვეღარ შეძლებთ მის აღდგენას. ",
"boardDeletePopup-title": "წავშალოთ დაფა? ",
"delete-board": "დაფის წაშლა",
- "default-subtasks-board": "Subtasks for __board__ board",
+ "default-subtasks-board": "ქვესაქმიანობა __board__ დაფისთვის",
"default": "Default",
"queue": "რიგი",
"subtask-settings": "ქვესაქმიანობების პარამეტრები",
"boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
- "show-subtasks-field": "Cards can have subtasks",
+ "show-subtasks-field": "ბარათებს შესაძლოა ჰქონდეს ქვესაქმიანობები",
"deposit-subtasks-board": "Deposit subtasks to this board:",
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
"show-parent-in-minicard": "Show parent in minicard:",
@@ -497,6 +497,6 @@
"subtext-with-parent": "Subtext with parent",
"change-card-parent": "Change card's parent",
"parent-card": "Parent card",
- "source-board": "Source board",
+ "source-board": "ძირითადი დაფა",
"no-parent": "Don't show parent"
} \ No newline at end of file
diff --git a/i18n/pt-BR.i18n.json b/i18n/pt-BR.i18n.json
index 6135ae54..82bdf952 100644
--- a/i18n/pt-BR.i18n.json
+++ b/i18n/pt-BR.i18n.json
@@ -2,7 +2,7 @@
"accept": "Aceitar",
"act-activity-notify": "[Wekan] Notificação de Atividade",
"act-addAttachment": "anexo __attachment__ de __card__",
- "act-addSubtask": "added subtask __checklist__ to __card__",
+ "act-addSubtask": "Subtarefa adicionada__checklist__ao__cartão",
"act-addChecklist": "added checklist __checklist__ no __card__",
"act-addChecklistItem": "adicionado __checklistitem__ para a lista de checagem __checklist__ em __card__",
"act-addComment": "comentou em __card__: __comment__",
@@ -42,7 +42,7 @@
"activity-removed": "removeu %s de %s",
"activity-sent": "enviou %s de %s",
"activity-unjoined": "saiu de %s",
- "activity-subtask-added": "added subtask to %s",
+ "activity-subtask-added": "Adcionar subtarefa à",
"activity-checklist-added": "Adicionado lista de verificação a %s",
"activity-checklist-item-added": "adicionado o item de checklist para '%s' em %s",
"add": "Novo",
@@ -50,7 +50,7 @@
"add-board": "Adicionar Quadro",
"add-card": "Adicionar Cartão",
"add-swimlane": "Adicionar Swimlane",
- "add-subtask": "Add Subtask",
+ "add-subtask": "Adicionar subtarefa",
"add-checklist": "Adicionar Checklist",
"add-checklist-item": "Adicionar um item à lista de verificação",
"add-cover": "Adicionar Capa",
@@ -103,7 +103,7 @@
"boardMenuPopup-title": "Menu do Quadro",
"boards": "Quadros",
"board-view": "Visão de quadro",
- "board-view-cal": "Calendar",
+ "board-view-cal": "Calendário",
"board-view-swimlanes": "Swimlanes",
"board-view-lists": "Listas",
"bucket-example": "\"Bucket List\", por exemplo",
@@ -134,7 +134,7 @@
"cardMorePopup-title": "Mais",
"cards": "Cartões",
"cards-count": "Cartões",
- "casSignIn": "Sign In with CAS",
+ "casSignIn": "Entrar com CAS",
"change": "Alterar",
"change-avatar": "Alterar Avatar",
"change-password": "Alterar Senha",
@@ -145,7 +145,7 @@
"changePasswordPopup-title": "Alterar Senha",
"changePermissionsPopup-title": "Alterar Permissões",
"changeSettingsPopup-title": "Altera configurações",
- "subtasks": "Subtasks",
+ "subtasks": "Subtarefas",
"checklists": "Checklists",
"click-to-star": "Marcar quadro como favorito.",
"click-to-unstar": "Remover quadro dos favoritos.",
@@ -168,8 +168,8 @@
"comment-only": "Somente comentários",
"comment-only-desc": "Pode comentar apenas em cartões.",
"computer": "Computador",
- "confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
- "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+ "confirm-subtask-delete-dialog": "Tem certeza que deseja deletar a subtarefa?",
+ "confirm-checklist-delete-dialog": "Tem certeza que quer deletar o checklist?",
"copy-card-link-to-clipboard": "Copiar link do cartão para a área de transferência",
"copyCardPopup-title": "Copiar o cartão",
"copyChecklistToManyCardsPopup-title": "Copiar modelo de checklist para vários cartões",
@@ -254,7 +254,7 @@
"filter-on-desc": "Você está filtrando cartões neste quadro. Clique aqui para editar o filtro.",
"filter-to-selection": "Filtrar esta seleção",
"advanced-filter-label": "Filtro avançado",
- "advanced-filter-description": "Advanced Filter allows to write a string containing following operators: == != <= >= && || ( ) A space is used as a separator between the Operators. You can filter for all Custom Fields by typing their names and values. For Example: Field1 == Value1. Note: If fields or values contains spaces, you need to encapsulate them into single quotes. For Example: 'Field 1' == 'Value 1'. For single control characters (' \\/) to be skipped, you can use \\. For example: Field1 == I\\'m. Also you can combine multiple conditions. For Example: F1 == V1 || F1 == V2. Normally all operators are interpreted from left to right. You can change the order by placing brackets. For Example: F1 == V1 && ( F2 == V2 || F2 == V3 ). Also you can search text fields using regex: F1 == /Tes.*/i",
+ "advanced-filter-description": "Filtros avançados permitem escrever uma \"string\" contendo os seguintes operadores: == != <= >= && || (). Um espaco é utilizado como separador entre os operadores. Você pode filtrar para todos os campos personalizados escrevendo os nomes e valores. Exemplo: Campo1 == Valor1. Nota^Se o campo ou valor tiver espaços você precisa encapsular eles em citações sozinhas. Exemplo: Campo1 == Eu\\sou. Também você pode combinar múltiplas condições. Exemplo: C1 == V1 || C1 == V2. Normalmente todos os operadores são interpretados da esquerda para direita. Você pode alterar a ordem colocando parênteses - como ma expressão matemática. Exemplo: C1 == V1 && (C2 == V2 || C2 == V3). Você tamb~em pode pesquisar campos de texto usando regex: C1 == /Tes.*/i",
"fullname": "Nome Completo",
"header-logo-title": "Voltar para a lista de quadros.",
"hide-system-messages": "Esconde mensagens de sistema",
@@ -476,27 +476,27 @@
"card-end-on": "Termina em",
"editCardReceivedDatePopup-title": "Modificar data de recebimento",
"editCardEndDatePopup-title": "Mudar data de fim",
- "assigned-by": "Assigned By",
- "requested-by": "Requested By",
- "board-delete-notice": "Deleting is permanent. You will lose all lists, cards and actions associated with this board.",
- "delete-board-confirm-popup": "All lists, cards, labels, and activities will be deleted and you won't be able to recover the board contents. There is no undo.",
- "boardDeletePopup-title": "Delete Board?",
- "delete-board": "Delete Board",
- "default-subtasks-board": "Subtasks for __board__ board",
- "default": "Default",
- "queue": "Queue",
- "subtask-settings": "Subtasks Settings",
- "boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
- "show-subtasks-field": "Cards can have subtasks",
- "deposit-subtasks-board": "Deposit subtasks to this board:",
- "deposit-subtasks-list": "Landing list for subtasks deposited here:",
- "show-parent-in-minicard": "Show parent in minicard:",
- "prefix-with-full-path": "Prefix with full path",
- "prefix-with-parent": "Prefix with parent",
- "subtext-with-full-path": "Subtext with full path",
- "subtext-with-parent": "Subtext with parent",
- "change-card-parent": "Change card's parent",
- "parent-card": "Parent card",
- "source-board": "Source board",
- "no-parent": "Don't show parent"
+ "assigned-by": "Atribuído por",
+ "requested-by": "Solicitado por",
+ "board-delete-notice": "Deletar é permanente. Você perderá todas as listas, cartões e ações associados nesse painel.",
+ "delete-board-confirm-popup": "Todas as listas, cartões, etiquetas e atividades serão deletadas e você não poderá recuperar o conteúdo do painel. Não há como desfazer.",
+ "boardDeletePopup-title": "Deletar painel?",
+ "delete-board": "Deletar painel",
+ "default-subtasks-board": "Subtarefas para __painel__ painel",
+ "default": "Padrão",
+ "queue": "Fila",
+ "subtask-settings": "Configurações de subtarefas",
+ "boardSubtaskSettingsPopup-title": "Configurações das subtarefas do painel",
+ "show-subtasks-field": "Cartões podem ter subtarefas",
+ "deposit-subtasks-board": "Inserir subtarefas à este painel:",
+ "deposit-subtasks-list": "Listas de subtarefas inseridas aqui:",
+ "show-parent-in-minicard": "Mostrar Pai do mini cartão:",
+ "prefix-with-full-path": "Prefixo com caminho completo",
+ "prefix-with-parent": "Prefixo com Pai",
+ "subtext-with-full-path": "Subtexto com caminho completo",
+ "subtext-with-parent": "Subtexto com Pai",
+ "change-card-parent": "Mudar Pai do cartão",
+ "parent-card": "Pai do cartão",
+ "source-board": "Painel de fonte",
+ "no-parent": "Não mostrar Pai"
} \ No newline at end of file
diff --git a/i18n/sv.i18n.json b/i18n/sv.i18n.json
index dd9f365b..b0d50237 100644
--- a/i18n/sv.i18n.json
+++ b/i18n/sv.i18n.json
@@ -2,7 +2,7 @@
"accept": "Acceptera",
"act-activity-notify": "[Wekan] Aktivitetsavisering",
"act-addAttachment": "bifogade __attachment__ to __card__",
- "act-addSubtask": "added subtask __checklist__ to __card__",
+ "act-addSubtask": "lade till deluppgift __checklist__ till __card__",
"act-addChecklist": "lade till checklist __checklist__ till __card__",
"act-addChecklistItem": "lade till __checklistItem__ till checklistan __checklist__ on __card__",
"act-addComment": "kommenterade __card__: __comment__",
@@ -42,7 +42,7 @@
"activity-removed": "tog bort %s från %s",
"activity-sent": "skickade %s till %s",
"activity-unjoined": "gick ur %s",
- "activity-subtask-added": "added subtask to %s",
+ "activity-subtask-added": "lade till deluppgift till %s",
"activity-checklist-added": "lade kontrollista till %s",
"activity-checklist-item-added": "lade checklista objekt till '%s' i %s",
"add": "Lägg till",
@@ -50,7 +50,7 @@
"add-board": "Lägg till anslagstavla",
"add-card": "Lägg till kort",
"add-swimlane": "Lägg till simbana",
- "add-subtask": "Add Subtask",
+ "add-subtask": "Lägg till deluppgift",
"add-checklist": "Lägg till checklista",
"add-checklist-item": "Lägg till ett objekt till kontrollista",
"add-cover": "Lägg till omslag",
@@ -486,9 +486,9 @@
"default": "Standard",
"queue": "Kö",
"subtask-settings": "Deluppgift inställningar",
- "boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
+ "boardSubtaskSettingsPopup-title": "Deluppgiftsinställningar för anslagstavla",
"show-subtasks-field": "Kort kan ha deluppgifter",
- "deposit-subtasks-board": "Deposit subtasks to this board:",
+ "deposit-subtasks-board": "Insättnings deluppgifter på denna anslagstavla:",
"deposit-subtasks-list": "Landing list for subtasks deposited here:",
"show-parent-in-minicard": "Show parent in minicard:",
"prefix-with-full-path": "Prefix with full path",
diff --git a/i18n/zh-CN.i18n.json b/i18n/zh-CN.i18n.json
index bbc060fb..f8e3821f 100644
--- a/i18n/zh-CN.i18n.json
+++ b/i18n/zh-CN.i18n.json
@@ -2,7 +2,7 @@
"accept": "接受",
"act-activity-notify": "[Wekan] 活动通知",
"act-addAttachment": "添加附件 __attachment__ 至卡片 __card__",
- "act-addSubtask": "added subtask __checklist__ to __card__",
+ "act-addSubtask": "添加清单 __checklist__ 到__card__",
"act-addChecklist": "添加清单 __checklist__ 到 __card__",
"act-addChecklistItem": "向 __card__ 中的清单 __checklist__ 添加 __checklistItem__",
"act-addComment": "在 __card__ 发布评论: __comment__",
@@ -42,7 +42,7 @@
"activity-removed": "从 %s 中移除 %s",
"activity-sent": "发送 %s 至 %s",
"activity-unjoined": "已解除 %s 关联",
- "activity-subtask-added": "added subtask to %s",
+ "activity-subtask-added": "添加子任务到%s",
"activity-checklist-added": "已经将清单添加到 %s",
"activity-checklist-item-added": "添加清单项至'%s' 于 %s",
"add": "添加",
@@ -50,7 +50,7 @@
"add-board": "添加看板",
"add-card": "添加卡片",
"add-swimlane": "添加泳道图",
- "add-subtask": "Add Subtask",
+ "add-subtask": "添加子任务",
"add-checklist": "添加待办清单",
"add-checklist-item": "扩充清单",
"add-cover": "添加封面",
@@ -103,7 +103,7 @@
"boardMenuPopup-title": "看板菜单",
"boards": "看板",
"board-view": "看板视图",
- "board-view-cal": "Calendar",
+ "board-view-cal": "日历",
"board-view-swimlanes": "泳道图",
"board-view-lists": "列表",
"bucket-example": "例如 “目标清单”",
@@ -134,7 +134,7 @@
"cardMorePopup-title": "更多",
"cards": "卡片",
"cards-count": "卡片",
- "casSignIn": "Sign In with CAS",
+ "casSignIn": "用CAS登录",
"change": "变更",
"change-avatar": "更改头像",
"change-password": "更改密码",
@@ -145,7 +145,7 @@
"changePasswordPopup-title": "更改密码",
"changePermissionsPopup-title": "更改权限",
"changeSettingsPopup-title": "更改设置",
- "subtasks": "Subtasks",
+ "subtasks": "子任务",
"checklists": "清单",
"click-to-star": "点此来标记该看板",
"click-to-unstar": "点此来去除该看板的标记",
@@ -168,8 +168,8 @@
"comment-only": "仅能评论",
"comment-only-desc": "只能在卡片上评论。",
"computer": "从本机上传",
- "confirm-subtask-delete-dialog": "Are you sure you want to delete subtask?",
- "confirm-checklist-delete-dialog": "Are you sure you want to delete checklist?",
+ "confirm-subtask-delete-dialog": "确定要删除子任务吗?",
+ "confirm-checklist-delete-dialog": "确定要删除清单吗?",
"copy-card-link-to-clipboard": "复制卡片链接到剪贴板",
"copyCardPopup-title": "复制卡片",
"copyChecklistToManyCardsPopup-title": "复制清单模板至多个卡片",
@@ -200,8 +200,8 @@
"deleteCustomFieldPopup-title": "删除自定义字段?",
"deleteLabelPopup-title": "删除标签?",
"description": "描述",
- "disambiguateMultiLabelPopup-title": "标签消歧 [?]",
- "disambiguateMultiMemberPopup-title": "成员消歧 [?]",
+ "disambiguateMultiLabelPopup-title": "消除标签歧义",
+ "disambiguateMultiMemberPopup-title": "消除成员歧义",
"discard": "放弃",
"done": "完成",
"download": "下载",
@@ -209,7 +209,7 @@
"edit-avatar": "更改头像",
"edit-profile": "编辑资料",
"edit-wip-limit": "编辑最大任务数",
- "soft-wip-limit": "软在制品限制",
+ "soft-wip-limit": "最大任务数软限制",
"editCardStartDatePopup-title": "修改起始日期",
"editCardDueDatePopup-title": "修改截止日期",
"editCustomFieldPopup-title": "编辑字段",
@@ -482,21 +482,21 @@
"delete-board-confirm-popup": "所有列表、卡片、标签和活动都回被删除,将无法恢复看板内容。不支持撤销。",
"boardDeletePopup-title": "删除看板?",
"delete-board": "删除看板",
- "default-subtasks-board": "Subtasks for __board__ board",
- "default": "Default",
- "queue": "Queue",
- "subtask-settings": "Subtasks Settings",
- "boardSubtaskSettingsPopup-title": "Board Subtasks Settings",
- "show-subtasks-field": "Cards can have subtasks",
- "deposit-subtasks-board": "Deposit subtasks to this board:",
- "deposit-subtasks-list": "Landing list for subtasks deposited here:",
- "show-parent-in-minicard": "Show parent in minicard:",
- "prefix-with-full-path": "Prefix with full path",
- "prefix-with-parent": "Prefix with parent",
- "subtext-with-full-path": "Subtext with full path",
- "subtext-with-parent": "Subtext with parent",
- "change-card-parent": "Change card's parent",
- "parent-card": "Parent card",
- "source-board": "Source board",
- "no-parent": "Don't show parent"
+ "default-subtasks-board": "__board__ 看板的子任务",
+ "default": "缺省",
+ "queue": "队列",
+ "subtask-settings": "子任务设置",
+ "boardSubtaskSettingsPopup-title": "看板子任务设置",
+ "show-subtasks-field": "卡片包含子任务",
+ "deposit-subtasks-board": "将子任务放入以下看板:",
+ "deposit-subtasks-list": "将子任务放入以下列表:",
+ "show-parent-in-minicard": "显示上一级卡片:",
+ "prefix-with-full-path": "完整路径前缀",
+ "prefix-with-parent": "上级前缀",
+ "subtext-with-full-path": "子标题显示完整路径",
+ "subtext-with-parent": "子标题显示上级",
+ "change-card-parent": "修改卡片的上级",
+ "parent-card": "上级卡片",
+ "source-board": "源看板",
+ "no-parent": "不显示上级"
} \ No newline at end of file
diff --git a/models/settings.js b/models/settings.js
index 308d867d..3b9b4eae 100644
--- a/models/settings.js
+++ b/models/settings.js
@@ -96,6 +96,14 @@ if (Meteor.isServer) {
return (min + Math.round(rand * range));
}
+ function getEnvVar(name){
+ const value = process.env[name];
+ if (value){
+ return value;
+ }
+ throw new Meteor.Error(['var-not-exist', `The environment variable ${name} does not exist`]);
+ }
+
function sendInvitationEmail (_id){
const icode = InvitationCodes.findOne(_id);
const author = Users.findOne(Meteor.userId());
@@ -180,5 +188,14 @@ if (Meteor.isServer) {
email: user.emails[0].address,
};
},
+
+ getMatomoConf(){
+ return {
+ address: getEnvVar('MATOMO_ADDRESS'),
+ siteId: getEnvVar('MATOMO_SITE_ID'),
+ doNotTrack: process.env.MATOMO_DO_NOT_TRACK || false,
+ withUserName: process.env.MATOMO_WITH_USERNAME || false,
+ };
+ },
});
}
diff --git a/models/users.js b/models/users.js
index 9d859664..9b070c43 100644
--- a/models/users.js
+++ b/models/users.js
@@ -622,9 +622,20 @@ if (Meteor.isServer) {
});
}
-
// USERS REST API
if (Meteor.isServer) {
+ // Middleware which checks that API is enabled.
+ JsonRoutes.Middleware.use(function (req, res, next) {
+ const api = req.url.search('api');
+ if (api === 1 && process.env.WITH_API === 'true' || api === -1){
+ return next();
+ }
+ else {
+ res.writeHead(301, {Location: '/'});
+ return res.end();
+ }
+ });
+
JsonRoutes.add('GET', '/api/user', function(req, res) {
try {
Authentication.checkLoggedIn(req.userId);
diff --git a/package.json b/package.json
index afc3c419..48561127 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "wekan",
- "version": "1.21.0",
+ "version": "1.22.0",
"description": "The open-source Trello-like kanban",
"private": true,
"scripts": {
@@ -28,6 +28,8 @@
"es6-promise": "^4.2.4",
"meteor-node-stubs": "^0.4.1",
"os": "^0.1.1",
- "xss": "^0.3.8"
+ "page": "^1.8.6",
+ "qs": "^6.5.2",
+ "xss": "^1.0.3"
}
}
diff --git a/sandstorm-pkgdef.capnp b/sandstorm-pkgdef.capnp
index 32867885..48e228b9 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 = 106,
+ appVersion = 107,
# Increment this for every release.
- appMarketingVersion = (defaultText = "1.21.0~2018-07-18"),
+ appMarketingVersion = (defaultText = "1.22.0~2018-07-30"),
# Human-readable presentation of the app version.
minUpgradableAppVersion = 0,
diff --git a/server/policy.js b/server/policy.js
new file mode 100644
index 00000000..17c90c1c
--- /dev/null
+++ b/server/policy.js
@@ -0,0 +1,9 @@
+import { BrowserPolicy } from 'meteor/browser-policy-common';
+
+Meteor.startup(() => {
+ const matomoUrl = process.env.MATOMO_ADDRESS;
+ if (matomoUrl){
+ BrowserPolicy.content.allowScriptOrigin(matomoUrl);
+ BrowserPolicy.content.allowImageOrigin(matomoUrl);
+ }
+});
diff --git a/snap-src/bin/config b/snap-src/bin/config
index 813c3d3f..46fa2c3f 100755
--- a/snap-src/bin/config
+++ b/snap-src/bin/config
@@ -3,7 +3,7 @@
# All supported keys are defined here together with descriptions and default values
# list of supported keys
-keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT"
+keys="MONGODB_BIND_UNIX_SOCKET MONGODB_BIND_IP MONGODB_PORT MAIL_URL MAIL_FROM ROOT_URL PORT DISABLE_MONGODB CADDY_ENABLED CADDY_BIND_PORT WITH_API MATOMO_ADDRESS MATOMO_SITE_ID MATOMO_DO_NOT_TRACK MATOMO_WITH_USERNAME"
# default values
DESCRIPTION_MONGODB_BIND_UNIX_SOCKET="mongodb binding unix socket:\n"\
@@ -47,3 +47,21 @@ KEY_CADDY_ENABLED="caddy-enabled"
DESCRIPTION_CADDY_BIND_PORT="Port on which caddy will expect proxy, value set here will be set in $SNAP_COMMON/Caddyfile"
DEFAULT_CADDY_BIND_PORT="3001"
KEY_CADDY_BIND_PORT="caddy-bind-port"
+
+DESCRIPTION_WITH_API="Enable/disable the api of wekan"
+DEFAULT_WITH_API="false"
+KEY_WITH_API="with-api"
+
+DESCRIPTION_MATOMO_ADDRESS="The address of the server where matomo is hosted"
+KEY_MATOMO_ADDRESS="matomo-address"
+
+DESCRIPTION_MATOMO_SITE_ID="The value of the site ID given in matomo server for wekan"
+KEY_MATOMO_SITE_ID="matomo-site-id"
+
+DESCRIPTION_MATOMO_DO_NOT_TRACK="The option do not track which enables users to not be tracked by matomo"
+DEFAULT_CADDY_BIND_PORT="false"
+KEY_MATOMO_DO_NOT_TRACK="matomo-do-not-track"
+
+DESCRIPTION_MATOMO_WITH_USERNAME="The option that allows matomo to retrieve the username"
+DEFAULT_CADDY_BIND_PORT="false"
+KEY_MATOMO_WITH_USERNAME="matomo-with-username"
diff --git a/snap-src/bin/wekan-help b/snap-src/bin/wekan-help
index ee565500..5c3f9b31 100755
--- a/snap-src/bin/wekan-help
+++ b/snap-src/bin/wekan-help
@@ -28,6 +28,10 @@ echo -e "\t\t-connect mongodb-plug with slot from snap providing mongodb"
echo -e "\t\t-disable mongodb in $SNAP_NAME by calling: $ snap set $SNAP_NAME set disable-mongodb='true'"
echo -e "\t\t-set mongodb-bind-unix-socket to point to serving mongodb. Use relative path inside shared directory, e.g run/mongodb-27017.sock"
echo -e "\n"
+echo -e "To enable the API of wekan:"
+echo -e "\t$ snap set $SNAP_NAME WITH_API='true'"
+echo -e "\t-Disable the API:"
+echo -e "\t$ snap set $SNAP_NAME WITH_API='false'"
# parse config file for supported settings keys
echo -e "wekan supports settings keys"
echo -e "values can be changed by calling\n$ snap set $SNAP_NAME <key name>='<key value>'"