Compare commits
116 Commits
enh/compos
...
enh/due-da
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d7b64ea17d | ||
|
|
a777169487 | ||
|
|
859e3494e5 | ||
|
|
b8fef527c3 | ||
|
|
dbe1663c4e | ||
|
|
680e5c9fa3 | ||
|
|
c6033ba57e | ||
|
|
60ccfe79b4 | ||
|
|
40f7d98166 | ||
|
|
eec1aa3863 | ||
|
|
5b730bc490 | ||
|
|
d0b36e6e6e | ||
|
|
52fb6daf1f | ||
|
|
c2b8493167 | ||
|
|
0254cb3709 | ||
|
|
57d96b7760 | ||
|
|
3fffe74992 | ||
|
|
485006f812 | ||
|
|
413bf7e2c9 | ||
|
|
3dc572c3aa | ||
|
|
fe3aa5b816 | ||
|
|
2a904400c8 | ||
|
|
c5a2206f9e | ||
|
|
9452865071 | ||
|
|
613b6dfa80 | ||
|
|
60fa52f36d | ||
|
|
6a4f1b73b8 | ||
|
|
6128e50800 | ||
|
|
6d2582d2f7 | ||
|
|
7562306914 | ||
|
|
6d7a3606df | ||
|
|
0cd5ca99bd | ||
|
|
a1431a4150 | ||
|
|
297436770a | ||
|
|
00dd093eb7 | ||
|
|
c0dfe9d9ea | ||
|
|
9be57c7a3f | ||
|
|
57004ca01b | ||
|
|
a48a79066b | ||
|
|
f1e768b34e | ||
|
|
6f2297efda | ||
|
|
4e1ba6aaf8 | ||
|
|
4c8362d760 | ||
|
|
c5b6c45845 | ||
|
|
9869fceffc | ||
|
|
d85365378f | ||
|
|
ab9549102d | ||
|
|
1ac4a696d0 | ||
|
|
d559482b4b | ||
|
|
919f7d83e6 | ||
|
|
9731b439c0 | ||
|
|
09ff5a7578 | ||
|
|
1315fb6d02 | ||
|
|
1fa33f76dc | ||
|
|
4e996402c7 | ||
|
|
1f54ecca5b | ||
|
|
3a057bdb62 | ||
|
|
4df7a9caf9 | ||
|
|
f0f1f136be | ||
|
|
d6b6ac638e | ||
|
|
c80d729771 | ||
|
|
656149ec52 | ||
|
|
67ce692816 | ||
|
|
9d16b9f4e0 | ||
|
|
ab5afc9db8 | ||
|
|
784bb6e7c5 | ||
|
|
715ced1617 | ||
|
|
1cea90165d | ||
|
|
556d3d1164 | ||
|
|
974f4b0f6d | ||
|
|
21feff07bc | ||
|
|
ccffff96f0 | ||
|
|
142ffdf018 | ||
|
|
c3c564fc6f | ||
|
|
9c74683873 | ||
|
|
ba74780f62 | ||
|
|
cf7f2df1e2 | ||
|
|
be447709a8 | ||
|
|
8d7033ddb8 | ||
|
|
3651023326 | ||
|
|
abc4086ec4 | ||
|
|
6e4e561f97 | ||
|
|
b8d90e06d9 | ||
|
|
b2860dd7a9 | ||
|
|
33c6b2640f | ||
|
|
905f32e229 | ||
|
|
eddacc0509 | ||
|
|
ca6e01d23b | ||
|
|
3336225a56 | ||
|
|
c5b8d4f6b9 | ||
|
|
af15d3e0e6 | ||
|
|
f01caa4c8f | ||
|
|
83fcc8a328 | ||
|
|
4df4c8bc3f | ||
|
|
f4bd978c71 | ||
|
|
56d82395b5 | ||
|
|
6b6ebd8b71 | ||
|
|
24682519c2 | ||
|
|
d2a2e788d4 | ||
|
|
36fcb429de | ||
|
|
7d9d4fd9c1 | ||
|
|
fef24cb994 | ||
|
|
2e6555306b | ||
|
|
31b9b0f2fb | ||
|
|
0b665f5712 | ||
|
|
3f14e52b2e | ||
|
|
7bd6709c3a | ||
|
|
2d7f13e266 | ||
|
|
b59cec406c | ||
|
|
5d41fa8c78 | ||
|
|
c55ef58ea9 | ||
|
|
a009492bb7 | ||
|
|
9bd5be1824 | ||
|
|
29d80fb2df | ||
|
|
ffa6d74440 | ||
|
|
a69fd53bb4 |
13
.github/dependabot.yml
vendored
13
.github/dependabot.yml
vendored
@@ -2,6 +2,7 @@ version: 2
|
||||
updates:
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
target-branch: "master"
|
||||
schedule:
|
||||
interval: weekly
|
||||
day: saturday
|
||||
@@ -11,6 +12,18 @@ updates:
|
||||
reviewers:
|
||||
- juliushaertl
|
||||
- jakobroehrl
|
||||
#- package-ecosystem: npm
|
||||
# directory: "/"
|
||||
# target-branch: "stable1.1"
|
||||
# schedule:
|
||||
# interval: weekly
|
||||
# day: saturday
|
||||
# time: "03:00"
|
||||
# timezone: Europe/Paris
|
||||
# open-pull-requests-limit: 10
|
||||
# reviewers:
|
||||
# - juliushaertl
|
||||
# - jakobroehrl
|
||||
- package-ecosystem: composer
|
||||
directory: "/"
|
||||
schedule:
|
||||
|
||||
@@ -125,8 +125,8 @@ OC.L10N.register(
|
||||
"(group)" : "(مجموعة)",
|
||||
"(circle)" : "(دائرة)",
|
||||
"Assign to me" : "ينسب لي",
|
||||
"Delete card" : "حذف البطاقة",
|
||||
"Move card" : "حرك البطاقة",
|
||||
"Delete card" : "حذف البطاقة",
|
||||
"Move card to another board" : "حرك البطاقة الى لوح اخر",
|
||||
"seconds ago" : "ثوانٍ مضت",
|
||||
"All boards" : "جميع الالواح",
|
||||
|
||||
@@ -123,8 +123,8 @@
|
||||
"(group)" : "(مجموعة)",
|
||||
"(circle)" : "(دائرة)",
|
||||
"Assign to me" : "ينسب لي",
|
||||
"Delete card" : "حذف البطاقة",
|
||||
"Move card" : "حرك البطاقة",
|
||||
"Delete card" : "حذف البطاقة",
|
||||
"Move card to another board" : "حرك البطاقة الى لوح اخر",
|
||||
"seconds ago" : "ثوانٍ مضت",
|
||||
"All boards" : "جميع الالواح",
|
||||
|
||||
@@ -202,10 +202,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(cercle)",
|
||||
"Assign to me" : "Assigna'm a mi",
|
||||
"Unassign myself" : "Desasignar a mi mateix",
|
||||
"Move card" : "Mou la targeta",
|
||||
"Unarchive card" : "Desarxiva targeta",
|
||||
"Archive card" : "Arxiva la targeta",
|
||||
"Delete card" : "Suprimeix targeta",
|
||||
"Move card" : "Mou la targeta",
|
||||
"Move card to another board" : "Mou la targeta a un altre tauler",
|
||||
"Select a list" : "Seleccioneu una llista",
|
||||
"seconds ago" : "fa uns segons",
|
||||
|
||||
@@ -200,10 +200,10 @@
|
||||
"(circle)" : "(cercle)",
|
||||
"Assign to me" : "Assigna'm a mi",
|
||||
"Unassign myself" : "Desasignar a mi mateix",
|
||||
"Move card" : "Mou la targeta",
|
||||
"Unarchive card" : "Desarxiva targeta",
|
||||
"Archive card" : "Arxiva la targeta",
|
||||
"Delete card" : "Suprimeix targeta",
|
||||
"Move card" : "Mou la targeta",
|
||||
"Move card to another board" : "Mou la targeta a un altre tauler",
|
||||
"Select a list" : "Seleccioneu una llista",
|
||||
"seconds ago" : "fa uns segons",
|
||||
|
||||
@@ -146,6 +146,7 @@ OC.L10N.register(
|
||||
"Undo" : "Vrátit zpět",
|
||||
"Deleted cards" : "Smazané karty",
|
||||
"Share board with a user, group or circle …" : "Sdílet tabuli s uživatelem, skupinou nebo okruhem…",
|
||||
"No participants found" : "Nenalezeni žádní účastníci",
|
||||
"Board owner" : "Vlastník tabule",
|
||||
"(Group)" : "(Skupina)",
|
||||
"(Circle)" : "(Okruh)",
|
||||
@@ -153,6 +154,7 @@ OC.L10N.register(
|
||||
"Can share" : "Může sdílet",
|
||||
"Can manage" : "Může spravovat",
|
||||
"Delete" : "Smazat",
|
||||
"Failed to create share with {displayName}" : "Nepodařilo se vytvořit sdílení s {displayName}",
|
||||
"Add a new list" : "Přidat nový sloupec",
|
||||
"Archive all cards" : "Archivovat všechny karty",
|
||||
"Delete list" : "Smazat seznam",
|
||||
@@ -204,10 +206,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(okruh)",
|
||||
"Assign to me" : "Přiřadit mě",
|
||||
"Unassign myself" : "Zrušit přiřazení sobě",
|
||||
"Move card" : "Přesunout kartu",
|
||||
"Unarchive card" : "Zrušit archivaci karty",
|
||||
"Archive card" : "Archivovat kartu",
|
||||
"Delete card" : "Smazat kartu",
|
||||
"Move card" : "Přesunout kartu",
|
||||
"Move card to another board" : "Přesunout kartu na jinou tabuli",
|
||||
"Select a list" : "Vyberte sloupec",
|
||||
"Card deleted" : "Karta smazána",
|
||||
|
||||
@@ -144,6 +144,7 @@
|
||||
"Undo" : "Vrátit zpět",
|
||||
"Deleted cards" : "Smazané karty",
|
||||
"Share board with a user, group or circle …" : "Sdílet tabuli s uživatelem, skupinou nebo okruhem…",
|
||||
"No participants found" : "Nenalezeni žádní účastníci",
|
||||
"Board owner" : "Vlastník tabule",
|
||||
"(Group)" : "(Skupina)",
|
||||
"(Circle)" : "(Okruh)",
|
||||
@@ -151,6 +152,7 @@
|
||||
"Can share" : "Může sdílet",
|
||||
"Can manage" : "Může spravovat",
|
||||
"Delete" : "Smazat",
|
||||
"Failed to create share with {displayName}" : "Nepodařilo se vytvořit sdílení s {displayName}",
|
||||
"Add a new list" : "Přidat nový sloupec",
|
||||
"Archive all cards" : "Archivovat všechny karty",
|
||||
"Delete list" : "Smazat seznam",
|
||||
@@ -202,10 +204,10 @@
|
||||
"(circle)" : "(okruh)",
|
||||
"Assign to me" : "Přiřadit mě",
|
||||
"Unassign myself" : "Zrušit přiřazení sobě",
|
||||
"Move card" : "Přesunout kartu",
|
||||
"Unarchive card" : "Zrušit archivaci karty",
|
||||
"Archive card" : "Archivovat kartu",
|
||||
"Delete card" : "Smazat kartu",
|
||||
"Move card" : "Přesunout kartu",
|
||||
"Move card to another board" : "Přesunout kartu na jinou tabuli",
|
||||
"Select a list" : "Vyberte sloupec",
|
||||
"Card deleted" : "Karta smazána",
|
||||
|
||||
@@ -50,9 +50,9 @@ OC.L10N.register(
|
||||
"Reply" : "Besvar",
|
||||
"Update" : "Opdatér",
|
||||
"(group)" : "(gruppe)",
|
||||
"Move card" : "Flyt kort",
|
||||
"Archive card" : "Arkivér kort",
|
||||
"Delete card" : "Slet kort",
|
||||
"Move card" : "Flyt kort",
|
||||
"seconds ago" : "sekunder siden",
|
||||
"Archived boards" : "Arkiverede lister",
|
||||
"Shared with you" : "Shared with you",
|
||||
|
||||
@@ -48,9 +48,9 @@
|
||||
"Reply" : "Besvar",
|
||||
"Update" : "Opdatér",
|
||||
"(group)" : "(gruppe)",
|
||||
"Move card" : "Flyt kort",
|
||||
"Archive card" : "Arkivér kort",
|
||||
"Delete card" : "Slet kort",
|
||||
"Move card" : "Flyt kort",
|
||||
"seconds ago" : "sekunder siden",
|
||||
"Archived boards" : "Arkiverede lister",
|
||||
"Shared with you" : "Shared with you",
|
||||
|
||||
25
l10n/de.js
25
l10n/de.js
@@ -49,7 +49,7 @@ OC.L10N.register(
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} hat von der Karte {card} in der Liste {stack} auf dem Board {board} das Schlagwort {label} entfernt",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Du hast {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} hat {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Du hast die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Du hast die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} hat die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Du hast die Karte {card} von der Liste {stackBefore} nach {stack} verschoben",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} hat die Karte {card} von der Liste {stackBefore} nach {stack} verschoben",
|
||||
@@ -67,13 +67,13 @@ OC.L10N.register(
|
||||
"Deck" : "Deck",
|
||||
"Changes in the <strong>Deck app</strong>" : "Änderungen in der <strong>Deck-App</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
|
||||
"Upcoming cards" : "Kommende Karten",
|
||||
"Upcoming cards" : "Zukünftige Karten",
|
||||
"Personal" : "Persönlich",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Dir von %s zugewiesen.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} hat Dir die Karte \"%s\" auf \"%s\" zugewiesen.",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" in \"%s\" ist überfällig.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : " %s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
|
||||
"{user} has mentioned you in a comment on \"%s\"." : "{user} hat Dich in einem Kommentar zu “%s” erwähnt.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "%s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
|
||||
"{user} has mentioned you in a comment on \"%s\"." : "{user} hat Dich in einem Kommentar zu \"%s\" erwähnt.",
|
||||
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",
|
||||
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Dir geteilt.",
|
||||
"No data was provided to create an attachment." : "Es wurden keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
||||
@@ -81,7 +81,7 @@ OC.L10N.register(
|
||||
"To review" : "Zu überprüfen",
|
||||
"Action needed" : "Handlung erforderlich",
|
||||
"Later" : "Später",
|
||||
"copy" : "Kopieren",
|
||||
"copy" : "Kopie",
|
||||
"To do" : "Offen",
|
||||
"Doing" : "In Arbeit",
|
||||
"Done" : "Erledigt",
|
||||
@@ -90,7 +90,7 @@ OC.L10N.register(
|
||||
"Example Task 1" : "Beispielaufgabe 1",
|
||||
"The file was uploaded" : "Die Datei wurde hochgeladen",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei überschreitet die upload_max_filesize-Vorgabe in php.ini",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist größer als die MAX_FILE_SIZE-Vorgabe, die im HTML-Formular angegeben ist.",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist größer als die MAX_FILE_SIZE-Vorgabe, die im HTML-Formular angegeben ist",
|
||||
"The file was only partially uploaded" : "Die Datei konnte nur teilweise hochgeladen werden",
|
||||
"No file was uploaded" : "Es wurde keine Datei hochgeladen",
|
||||
"Missing a temporary folder" : "Kein temporärer Ordner vorhanden",
|
||||
@@ -98,7 +98,7 @@ OC.L10N.register(
|
||||
"A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
|
||||
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Vergabe von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
|
||||
"Card details" : "Kartendetails",
|
||||
"Add board" : "Board hinzufügen",
|
||||
"Select the board to link to a project" : "Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
|
||||
@@ -146,6 +146,8 @@ OC.L10N.register(
|
||||
"Undo" : "Rückgängig",
|
||||
"Deleted cards" : "Gelöschte Karten",
|
||||
"Share board with a user, group or circle …" : "Board mit Benutzer, Gruppe oder Kreis teilen…",
|
||||
"Searching for users, groups and circles …" : "Suche nach Benutzern, Gruppen und Kreisen …",
|
||||
"No participants found" : "Keine Teilnehmer gefunden",
|
||||
"Board owner" : "Board-Besitzer",
|
||||
"(Group)" : "(Gruppe)",
|
||||
"(Circle)" : "(Kreis)",
|
||||
@@ -153,6 +155,7 @@ OC.L10N.register(
|
||||
"Can share" : "kann teilen",
|
||||
"Can manage" : "kann verwalten",
|
||||
"Delete" : "Löschen",
|
||||
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
|
||||
"Add a new list" : "Eine neue Liste hinzufügen",
|
||||
"Archive all cards" : "Alle Karten archivieren",
|
||||
"Delete list" : "Liste löschen",
|
||||
@@ -204,10 +207,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(Kreis)",
|
||||
"Assign to me" : "Mir zuweisen",
|
||||
"Unassign myself" : "Nicht mehr mir zuweisen",
|
||||
"Move card" : "Karte verschieben",
|
||||
"Unarchive card" : "Karte dearchivieren",
|
||||
"Archive card" : "Karte archivieren",
|
||||
"Delete card" : "Karte löschen",
|
||||
"Move card" : "Karte verschieben",
|
||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||
"Select a list" : "Eine Liste auswählen",
|
||||
"Card deleted" : "Karte gelöscht",
|
||||
@@ -216,7 +219,7 @@ OC.L10N.register(
|
||||
"Archived boards" : "Archivierte Boards",
|
||||
"Shared with you" : "Mit Dir geteilt",
|
||||
"Use modal card view" : "Modale Kartenansicht verwenden",
|
||||
"Show boards in calendar/tasks" : "Board im Kalender/Aufgaben anzeigen",
|
||||
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
|
||||
"Limit deck usage of groups" : "Nutzung von Deck auf Gruppen einschränken",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Durch die Begrenzung von Deck werden Benutzer, die nicht Teil dieser Gruppen sind, daran gehindert, eigene Boards zu erstellen. Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
|
||||
"Board name" : "Board-Name",
|
||||
@@ -235,8 +238,8 @@ OC.L10N.register(
|
||||
"Tomorrow" : "Morgen",
|
||||
"This week" : "Diese Woche",
|
||||
"No due" : "Kein Fälligkeitsdatum",
|
||||
"No upcoming cards" : "Keine kommenden Karten",
|
||||
"upcoming cards" : "Kommende Karten",
|
||||
"No upcoming cards" : "Keine zukünftigen Karten",
|
||||
"upcoming cards" : "zukünftige Karten",
|
||||
"Link to a board" : "Mit einem Board verknüpfen",
|
||||
"Link to a card" : "Mit einer Karte verknüpfen",
|
||||
"Something went wrong" : "Etwas ist schiefgelaufen",
|
||||
|
||||
25
l10n/de.json
25
l10n/de.json
@@ -47,7 +47,7 @@
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} hat von der Karte {card} in der Liste {stack} auf dem Board {board} das Schlagwort {label} entfernt",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Du hast {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} hat {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Du hast die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Du hast die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} hat die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Du hast die Karte {card} von der Liste {stackBefore} nach {stack} verschoben",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} hat die Karte {card} von der Liste {stackBefore} nach {stack} verschoben",
|
||||
@@ -65,13 +65,13 @@
|
||||
"Deck" : "Deck",
|
||||
"Changes in the <strong>Deck app</strong>" : "Änderungen in der <strong>Deck-App</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
|
||||
"Upcoming cards" : "Kommende Karten",
|
||||
"Upcoming cards" : "Zukünftige Karten",
|
||||
"Personal" : "Persönlich",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Dir von %s zugewiesen.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} hat Dir die Karte \"%s\" auf \"%s\" zugewiesen.",
|
||||
"The card \"%s\" on \"%s\" has reached its due date." : "Die Karte \"%s\" in \"%s\" ist überfällig.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : " %s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
|
||||
"{user} has mentioned you in a comment on \"%s\"." : "{user} hat Dich in einem Kommentar zu “%s” erwähnt.",
|
||||
"%s has mentioned you in a comment on \"%s\"." : "%s hat Dich in einem Kommentar zu \"%s\" erwähnt.",
|
||||
"{user} has mentioned you in a comment on \"%s\"." : "{user} hat Dich in einem Kommentar zu \"%s\" erwähnt.",
|
||||
"The board \"%s\" has been shared with you by %s." : "Das Board \"%s\" wurde von %s mit Dir geteilt.",
|
||||
"{user} has shared the board %s with you." : "{user} hat das Board %s mit Dir geteilt.",
|
||||
"No data was provided to create an attachment." : "Es wurden keine Daten zum Erstellen eines Anhangs bereitgestellt.",
|
||||
@@ -79,7 +79,7 @@
|
||||
"To review" : "Zu überprüfen",
|
||||
"Action needed" : "Handlung erforderlich",
|
||||
"Later" : "Später",
|
||||
"copy" : "Kopieren",
|
||||
"copy" : "Kopie",
|
||||
"To do" : "Offen",
|
||||
"Doing" : "In Arbeit",
|
||||
"Done" : "Erledigt",
|
||||
@@ -88,7 +88,7 @@
|
||||
"Example Task 1" : "Beispielaufgabe 1",
|
||||
"The file was uploaded" : "Die Datei wurde hochgeladen",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Die hochgeladene Datei überschreitet die upload_max_filesize-Vorgabe in php.ini",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist größer als die MAX_FILE_SIZE-Vorgabe, die im HTML-Formular angegeben ist.",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist größer als die MAX_FILE_SIZE-Vorgabe, die im HTML-Formular angegeben ist",
|
||||
"The file was only partially uploaded" : "Die Datei konnte nur teilweise hochgeladen werden",
|
||||
"No file was uploaded" : "Es wurde keine Datei hochgeladen",
|
||||
"Missing a temporary folder" : "Kein temporärer Ordner vorhanden",
|
||||
@@ -96,7 +96,7 @@
|
||||
"A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
|
||||
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Vergabe von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Füge Deine Aufgaben zu den Karten hinzu und ordne diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teile mit Deinem Team, Freunden oder der Familie\n- 📎 Füge Dateien hinzu und verwende diese in Deinen Markdown-Beschreibungen\n- 💬 Diskutiere mit Deinem Team mit Kommentaren\n- ⚡ Behalte Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisiere Dein Projekt",
|
||||
"Card details" : "Kartendetails",
|
||||
"Add board" : "Board hinzufügen",
|
||||
"Select the board to link to a project" : "Wähle ein Board aus, um dieses mit einem Projekt zu verknüpfen",
|
||||
@@ -144,6 +144,8 @@
|
||||
"Undo" : "Rückgängig",
|
||||
"Deleted cards" : "Gelöschte Karten",
|
||||
"Share board with a user, group or circle …" : "Board mit Benutzer, Gruppe oder Kreis teilen…",
|
||||
"Searching for users, groups and circles …" : "Suche nach Benutzern, Gruppen und Kreisen …",
|
||||
"No participants found" : "Keine Teilnehmer gefunden",
|
||||
"Board owner" : "Board-Besitzer",
|
||||
"(Group)" : "(Gruppe)",
|
||||
"(Circle)" : "(Kreis)",
|
||||
@@ -151,6 +153,7 @@
|
||||
"Can share" : "kann teilen",
|
||||
"Can manage" : "kann verwalten",
|
||||
"Delete" : "Löschen",
|
||||
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
|
||||
"Add a new list" : "Eine neue Liste hinzufügen",
|
||||
"Archive all cards" : "Alle Karten archivieren",
|
||||
"Delete list" : "Liste löschen",
|
||||
@@ -202,10 +205,10 @@
|
||||
"(circle)" : "(Kreis)",
|
||||
"Assign to me" : "Mir zuweisen",
|
||||
"Unassign myself" : "Nicht mehr mir zuweisen",
|
||||
"Move card" : "Karte verschieben",
|
||||
"Unarchive card" : "Karte dearchivieren",
|
||||
"Archive card" : "Karte archivieren",
|
||||
"Delete card" : "Karte löschen",
|
||||
"Move card" : "Karte verschieben",
|
||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||
"Select a list" : "Eine Liste auswählen",
|
||||
"Card deleted" : "Karte gelöscht",
|
||||
@@ -214,7 +217,7 @@
|
||||
"Archived boards" : "Archivierte Boards",
|
||||
"Shared with you" : "Mit Dir geteilt",
|
||||
"Use modal card view" : "Modale Kartenansicht verwenden",
|
||||
"Show boards in calendar/tasks" : "Board im Kalender/Aufgaben anzeigen",
|
||||
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
|
||||
"Limit deck usage of groups" : "Nutzung von Deck auf Gruppen einschränken",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Durch die Begrenzung von Deck werden Benutzer, die nicht Teil dieser Gruppen sind, daran gehindert, eigene Boards zu erstellen. Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
|
||||
"Board name" : "Board-Name",
|
||||
@@ -233,8 +236,8 @@
|
||||
"Tomorrow" : "Morgen",
|
||||
"This week" : "Diese Woche",
|
||||
"No due" : "Kein Fälligkeitsdatum",
|
||||
"No upcoming cards" : "Keine kommenden Karten",
|
||||
"upcoming cards" : "Kommende Karten",
|
||||
"No upcoming cards" : "Keine zukünftigen Karten",
|
||||
"upcoming cards" : "zukünftige Karten",
|
||||
"Link to a board" : "Mit einem Board verknüpfen",
|
||||
"Link to a card" : "Mit einer Karte verknüpfen",
|
||||
"Something went wrong" : "Etwas ist schiefgelaufen",
|
||||
|
||||
@@ -21,7 +21,7 @@ OC.L10N.register(
|
||||
"{user} has created a new list {stack} on board {board}" : "{user} hat die neue Liste {stack} auf dem Board {board} erstellt",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "Sie haben die Liste {before} auf dem Board {board} in {stack} umbenannt",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} hat die Liste {before} in {stack} auf dem Board {board} umbenannt",
|
||||
"You have deleted list {stack} on board {board}" : "Sie haben die Liste {stack} aus dem Board {board} entfernt",
|
||||
"You have deleted list {stack} on board {board}" : "Sie haben die Liste {stack} auf dem Board {board} gelöscht",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user} hat die Liste {stack} aus dem Board {board} entfernt",
|
||||
"You have created card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
|
||||
@@ -47,9 +47,9 @@ OC.L10N.register(
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} hat der Karte {card} in der Liste {stack} auf dem Board {board} das Schlagwort {label} hinzugefügt",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Sie haben von der Karte {card} in der Liste {stack} auf dem Board {board} das Schlagwort {label} entfernt",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} hat von der Karte {card} in der Liste {stack} auf dem Board {board} das Schlagwort {label} entfernt",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Sie haben {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Sie haben {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} hat {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Sie haben die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Sie haben die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} hat die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Sie haben die Karte {card} von der Liste {stackBefore} nach {stack} verschoben",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} hat die Karte {card} von der Liste {stackBefore} nach {stack} verschoben",
|
||||
@@ -67,7 +67,7 @@ OC.L10N.register(
|
||||
"Deck" : "Deck",
|
||||
"Changes in the <strong>Deck app</strong>" : "Änderungen in der <strong>Deck-App</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
|
||||
"Upcoming cards" : "Kommende Karten",
|
||||
"Upcoming cards" : "Zukünftige Karten",
|
||||
"Personal" : "Persönlich",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Ihnen von %s zugewiesen.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} hat Ihnen die Karte \"%s\" auf \"%s\" zugewiesen.",
|
||||
@@ -81,7 +81,7 @@ OC.L10N.register(
|
||||
"To review" : "Zu überprüfen",
|
||||
"Action needed" : "Handlung erforderlich",
|
||||
"Later" : "Später",
|
||||
"copy" : "kopieren",
|
||||
"copy" : "Kopie",
|
||||
"To do" : "Offen",
|
||||
"Doing" : "In Arbeit",
|
||||
"Done" : "Erledigt",
|
||||
@@ -98,7 +98,7 @@ OC.L10N.register(
|
||||
"A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
|
||||
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisung von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
|
||||
"Card details" : "Kartendetails",
|
||||
"Add board" : "Board hinzufügen",
|
||||
"Select the board to link to a project" : "Wählen Sie ein Board aus, um dieses mit einem Projekt zu verknüpfen",
|
||||
@@ -134,9 +134,9 @@ OC.L10N.register(
|
||||
"Show archived cards" : "Archivierte Karten anzeigen",
|
||||
"Toggle compact mode" : "Kompaktmodus umschalten",
|
||||
"Details" : "Details",
|
||||
"Loading board" : "Board laden",
|
||||
"Loading board" : "Lade Board",
|
||||
"No lists available" : "Keine Listen verfügbar",
|
||||
"Create a new list to add cards to this board" : "Erstelle eine neue Liste, um diesem Board Karten hinzuzufügen",
|
||||
"Create a new list to add cards to this board" : "Erstellen Sie eine neue Liste, um diesem Board Karten hinzuzufügen",
|
||||
"Board not found" : "Board nicht gefunden",
|
||||
"Sharing" : "Teilen",
|
||||
"Tags" : "Schlagworte",
|
||||
@@ -146,6 +146,8 @@ OC.L10N.register(
|
||||
"Undo" : "Rückgängig",
|
||||
"Deleted cards" : "Gelöschte Karten",
|
||||
"Share board with a user, group or circle …" : "Board mit Benutzer, Gruppe oder Kreis teilen…",
|
||||
"Searching for users, groups and circles …" : "Suche nach Benutzern, Gruppen und Kreisen …",
|
||||
"No participants found" : "Keine Teilnehmer gefunden",
|
||||
"Board owner" : "Board-Besitzer",
|
||||
"(Group)" : "(Gruppe)",
|
||||
"(Circle)" : "(Kreis)",
|
||||
@@ -153,6 +155,7 @@ OC.L10N.register(
|
||||
"Can share" : "kann teilen",
|
||||
"Can manage" : "kann verwalten",
|
||||
"Delete" : "Löschen",
|
||||
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
|
||||
"Add a new list" : "Eine neue Liste hinzufügen",
|
||||
"Archive all cards" : "Alle Karten archivieren",
|
||||
"Delete list" : "Liste löschen",
|
||||
@@ -178,7 +181,7 @@ OC.L10N.register(
|
||||
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen…",
|
||||
"Due date" : "Fälligkeitsdatum",
|
||||
"Set a due date" : "Ein Ablaufdatum setzen",
|
||||
"Remove due date" : "Fälligkeitsdatum entfernen",
|
||||
"Remove due date" : "Fälligkeitsdatum löschen",
|
||||
"Description" : "Beschreibung",
|
||||
"(Unsaved)" : "(nicht gespeichert)",
|
||||
"(Saving…)" : "(Speichere…)",
|
||||
@@ -204,10 +207,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(Kreis)",
|
||||
"Assign to me" : "Mir zuweisen",
|
||||
"Unassign myself" : "Nicht mehr mir zuweisen",
|
||||
"Move card" : "Karte verschieben",
|
||||
"Unarchive card" : "Karte dearchivieren",
|
||||
"Archive card" : "Karte archivieren",
|
||||
"Delete card" : "Karte löschen",
|
||||
"Move card" : "Karte verschieben",
|
||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||
"Select a list" : "Eine Liste auswählen",
|
||||
"Card deleted" : "Karte gelöscht",
|
||||
@@ -228,15 +231,15 @@ OC.L10N.register(
|
||||
"Board details" : "Board-Details",
|
||||
"Board {0} deleted" : "Board {0} gelöscht",
|
||||
"An error occurred" : "Es ist ein Fehler aufgetreten",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all dessen Daten löschen?",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?",
|
||||
"Delete the board?" : "Das Board löschen?",
|
||||
"Loading filtered view" : "Lade gefilterte Ansicht",
|
||||
"Today" : "Heute",
|
||||
"Tomorrow" : "Morgen",
|
||||
"This week" : "Diese Woche",
|
||||
"No due" : "Kein Fälligkeitsdatum",
|
||||
"No upcoming cards" : "Keine kommenden Karten",
|
||||
"upcoming cards" : "Kommende Karten",
|
||||
"No upcoming cards" : "Keine zukünftigen Karten",
|
||||
"upcoming cards" : "zukünftige Karten",
|
||||
"Link to a board" : "Mit einem Board verknüpfen",
|
||||
"Link to a card" : "Mit einer Karte verknüpfen",
|
||||
"Something went wrong" : "Etwas ist schiefgelaufen",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"{user} has created a new list {stack} on board {board}" : "{user} hat die neue Liste {stack} auf dem Board {board} erstellt",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "Sie haben die Liste {before} auf dem Board {board} in {stack} umbenannt",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} hat die Liste {before} in {stack} auf dem Board {board} umbenannt",
|
||||
"You have deleted list {stack} on board {board}" : "Sie haben die Liste {stack} aus dem Board {board} entfernt",
|
||||
"You have deleted list {stack} on board {board}" : "Sie haben die Liste {stack} auf dem Board {board} gelöscht",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user} hat die Liste {stack} aus dem Board {board} entfernt",
|
||||
"You have created card {card} in list {stack} on board {board}" : "Sie haben die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} hat die Karte {card} in der Liste {stack} auf dem Board {board} erstellt",
|
||||
@@ -45,9 +45,9 @@
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} hat der Karte {card} in der Liste {stack} auf dem Board {board} das Schlagwort {label} hinzugefügt",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Sie haben von der Karte {card} in der Liste {stack} auf dem Board {board} das Schlagwort {label} entfernt",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} hat von der Karte {card} in der Liste {stack} auf dem Board {board} das Schlagwort {label} entfernt",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Sie haben {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Sie haben {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} hat {assigneduser} der Karte {card} auf dem Board {board} zugewiesen",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Sie haben die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Sie haben die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} hat die Zuweisung von {assigneduser} zur Karte {card} auf dem Board {board} aufgehoben",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Sie haben die Karte {card} von der Liste {stackBefore} nach {stack} verschoben",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} hat die Karte {card} von der Liste {stackBefore} nach {stack} verschoben",
|
||||
@@ -65,7 +65,7 @@
|
||||
"Deck" : "Deck",
|
||||
"Changes in the <strong>Deck app</strong>" : "Änderungen in der <strong>Deck-App</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Ein <strong>Kommentar</strong> zu einer Karte wurde erstellt",
|
||||
"Upcoming cards" : "Kommende Karten",
|
||||
"Upcoming cards" : "Zukünftige Karten",
|
||||
"Personal" : "Persönlich",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Die Karte \"%s\" auf \"%s\" wurde Ihnen von %s zugewiesen.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} hat Ihnen die Karte \"%s\" auf \"%s\" zugewiesen.",
|
||||
@@ -79,7 +79,7 @@
|
||||
"To review" : "Zu überprüfen",
|
||||
"Action needed" : "Handlung erforderlich",
|
||||
"Later" : "Später",
|
||||
"copy" : "kopieren",
|
||||
"copy" : "Kopie",
|
||||
"To do" : "Offen",
|
||||
"Doing" : "In Arbeit",
|
||||
"Done" : "Erledigt",
|
||||
@@ -96,7 +96,7 @@
|
||||
"A PHP extension stopped the file upload" : "Eine PHP-Erweiterung hat das Hochladen der Datei gestoppt",
|
||||
"No file uploaded or file size exceeds maximum of %s" : "Keine Datei hochgeladen oder die Dateigröße überschreitet %s",
|
||||
"Personal planning and team project organization" : "Persönliche Planung und Teamprojektorganisation",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisung von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
|
||||
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck ist ein Organisationstool im Kanban-Stil für die persönliche Planung und Projektorganisation von Teams, die in Nextcloud integriert sind.\n\n\n- 📥 Fügen Sie Ihre Aufgaben zu den Karten hinzu und ordnen Sie diese\n- 📄 Zusätzliche Hinweise in der Abschrift notieren\n- 🔖 Zuweisen von Schlagworten für noch bessere Organisation\n- 👥 Teilen Sie mit Ihrem Team, Ihren Freunden oder Ihrer Familie\n- 📎 Fügen Sie Dateien hinzu und verwende diese in Ihren Markdown-Beschreibungen\n- 💬 Diskutieren Sie mit Ihrem Team mit Kommentaren\n- ⚡ Behalten Sie Überblick über Änderungen mit dem Aktivitäten-Stream\n- 🚀 Organisieren Sie Ihr Projekt",
|
||||
"Card details" : "Kartendetails",
|
||||
"Add board" : "Board hinzufügen",
|
||||
"Select the board to link to a project" : "Wählen Sie ein Board aus, um dieses mit einem Projekt zu verknüpfen",
|
||||
@@ -132,9 +132,9 @@
|
||||
"Show archived cards" : "Archivierte Karten anzeigen",
|
||||
"Toggle compact mode" : "Kompaktmodus umschalten",
|
||||
"Details" : "Details",
|
||||
"Loading board" : "Board laden",
|
||||
"Loading board" : "Lade Board",
|
||||
"No lists available" : "Keine Listen verfügbar",
|
||||
"Create a new list to add cards to this board" : "Erstelle eine neue Liste, um diesem Board Karten hinzuzufügen",
|
||||
"Create a new list to add cards to this board" : "Erstellen Sie eine neue Liste, um diesem Board Karten hinzuzufügen",
|
||||
"Board not found" : "Board nicht gefunden",
|
||||
"Sharing" : "Teilen",
|
||||
"Tags" : "Schlagworte",
|
||||
@@ -144,6 +144,8 @@
|
||||
"Undo" : "Rückgängig",
|
||||
"Deleted cards" : "Gelöschte Karten",
|
||||
"Share board with a user, group or circle …" : "Board mit Benutzer, Gruppe oder Kreis teilen…",
|
||||
"Searching for users, groups and circles …" : "Suche nach Benutzern, Gruppen und Kreisen …",
|
||||
"No participants found" : "Keine Teilnehmer gefunden",
|
||||
"Board owner" : "Board-Besitzer",
|
||||
"(Group)" : "(Gruppe)",
|
||||
"(Circle)" : "(Kreis)",
|
||||
@@ -151,6 +153,7 @@
|
||||
"Can share" : "kann teilen",
|
||||
"Can manage" : "kann verwalten",
|
||||
"Delete" : "Löschen",
|
||||
"Failed to create share with {displayName}" : "Fehler beim Erstellen der Freigabe mit dem Namen {displayName}",
|
||||
"Add a new list" : "Eine neue Liste hinzufügen",
|
||||
"Archive all cards" : "Alle Karten archivieren",
|
||||
"Delete list" : "Liste löschen",
|
||||
@@ -176,7 +179,7 @@
|
||||
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen…",
|
||||
"Due date" : "Fälligkeitsdatum",
|
||||
"Set a due date" : "Ein Ablaufdatum setzen",
|
||||
"Remove due date" : "Fälligkeitsdatum entfernen",
|
||||
"Remove due date" : "Fälligkeitsdatum löschen",
|
||||
"Description" : "Beschreibung",
|
||||
"(Unsaved)" : "(nicht gespeichert)",
|
||||
"(Saving…)" : "(Speichere…)",
|
||||
@@ -202,10 +205,10 @@
|
||||
"(circle)" : "(Kreis)",
|
||||
"Assign to me" : "Mir zuweisen",
|
||||
"Unassign myself" : "Nicht mehr mir zuweisen",
|
||||
"Move card" : "Karte verschieben",
|
||||
"Unarchive card" : "Karte dearchivieren",
|
||||
"Archive card" : "Karte archivieren",
|
||||
"Delete card" : "Karte löschen",
|
||||
"Move card" : "Karte verschieben",
|
||||
"Move card to another board" : "Karte auf ein anderes Board verschieben",
|
||||
"Select a list" : "Eine Liste auswählen",
|
||||
"Card deleted" : "Karte gelöscht",
|
||||
@@ -226,15 +229,15 @@
|
||||
"Board details" : "Board-Details",
|
||||
"Board {0} deleted" : "Board {0} gelöscht",
|
||||
"An error occurred" : "Es ist ein Fehler aufgetreten",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all dessen Daten löschen?",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Möchten Sie wirklich dieses Board {title} mit all seinen Daten löschen?",
|
||||
"Delete the board?" : "Das Board löschen?",
|
||||
"Loading filtered view" : "Lade gefilterte Ansicht",
|
||||
"Today" : "Heute",
|
||||
"Tomorrow" : "Morgen",
|
||||
"This week" : "Diese Woche",
|
||||
"No due" : "Kein Fälligkeitsdatum",
|
||||
"No upcoming cards" : "Keine kommenden Karten",
|
||||
"upcoming cards" : "Kommende Karten",
|
||||
"No upcoming cards" : "Keine zukünftigen Karten",
|
||||
"upcoming cards" : "zukünftige Karten",
|
||||
"Link to a board" : "Mit einem Board verknüpfen",
|
||||
"Link to a card" : "Mit einer Karte verknüpfen",
|
||||
"Something went wrong" : "Etwas ist schiefgelaufen",
|
||||
|
||||
@@ -198,10 +198,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(κύκλος)",
|
||||
"Assign to me" : "Ανάθεση σε εμένα",
|
||||
"Unassign myself" : "Αποδέσμευσή μου",
|
||||
"Move card" : "Μετακίνηση κάρτας",
|
||||
"Unarchive card" : "Αναίρεση αρχειοθέτησης κάρτας",
|
||||
"Archive card" : "Αρχειοθέτηση κάρτας",
|
||||
"Delete card" : "Διαγραφή κάρτας",
|
||||
"Move card" : "Μετακίνηση κάρτας",
|
||||
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
|
||||
"Select a list" : "Επιλέξτε μια λίστα",
|
||||
"seconds ago" : " δευτερόλεπτα πριν ",
|
||||
|
||||
@@ -196,10 +196,10 @@
|
||||
"(circle)" : "(κύκλος)",
|
||||
"Assign to me" : "Ανάθεση σε εμένα",
|
||||
"Unassign myself" : "Αποδέσμευσή μου",
|
||||
"Move card" : "Μετακίνηση κάρτας",
|
||||
"Unarchive card" : "Αναίρεση αρχειοθέτησης κάρτας",
|
||||
"Archive card" : "Αρχειοθέτηση κάρτας",
|
||||
"Delete card" : "Διαγραφή κάρτας",
|
||||
"Move card" : "Μετακίνηση κάρτας",
|
||||
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
|
||||
"Select a list" : "Επιλέξτε μια λίστα",
|
||||
"seconds ago" : " δευτερόλεπτα πριν ",
|
||||
|
||||
@@ -146,6 +146,8 @@ OC.L10N.register(
|
||||
"Undo" : "Deshacer",
|
||||
"Deleted cards" : "Cartas eliminadas",
|
||||
"Share board with a user, group or circle …" : "Compartir tablero con un usuario, grupo o círculo ...",
|
||||
"Searching for users, groups and circles …" : "Buscando usuarios, grupos o círculos...",
|
||||
"No participants found" : "No se encontraron participantes",
|
||||
"Board owner" : "Propietario del tablero",
|
||||
"(Group)" : "(Grupo)",
|
||||
"(Circle)" : "(Circle)",
|
||||
@@ -153,6 +155,7 @@ OC.L10N.register(
|
||||
"Can share" : "Puede compartir",
|
||||
"Can manage" : "Puede gestionar",
|
||||
"Delete" : "Eliminar",
|
||||
"Failed to create share with {displayName}" : "Fallo al crear el recurso compartido denominado {displayName}",
|
||||
"Add a new list" : "Añadir una lista nueva",
|
||||
"Archive all cards" : "Archivar todas las tarjetas",
|
||||
"Delete list" : "Eliminar lista",
|
||||
@@ -204,10 +207,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(circle)",
|
||||
"Assign to me" : "Asignarme a mí",
|
||||
"Unassign myself" : "Desasignarme a mí mismo",
|
||||
"Move card" : "Mover tarjeta",
|
||||
"Unarchive card" : "Desarchivar tarjeta",
|
||||
"Archive card" : "Archivar tarjeta",
|
||||
"Delete card" : "Eliminar tarjeta",
|
||||
"Move card" : "Mover tarjeta",
|
||||
"Move card to another board" : "Mover la tarjeta a otro tablero",
|
||||
"Select a list" : "Seleccionar una lista",
|
||||
"Card deleted" : "Tarjeta borrada",
|
||||
|
||||
@@ -144,6 +144,8 @@
|
||||
"Undo" : "Deshacer",
|
||||
"Deleted cards" : "Cartas eliminadas",
|
||||
"Share board with a user, group or circle …" : "Compartir tablero con un usuario, grupo o círculo ...",
|
||||
"Searching for users, groups and circles …" : "Buscando usuarios, grupos o círculos...",
|
||||
"No participants found" : "No se encontraron participantes",
|
||||
"Board owner" : "Propietario del tablero",
|
||||
"(Group)" : "(Grupo)",
|
||||
"(Circle)" : "(Circle)",
|
||||
@@ -151,6 +153,7 @@
|
||||
"Can share" : "Puede compartir",
|
||||
"Can manage" : "Puede gestionar",
|
||||
"Delete" : "Eliminar",
|
||||
"Failed to create share with {displayName}" : "Fallo al crear el recurso compartido denominado {displayName}",
|
||||
"Add a new list" : "Añadir una lista nueva",
|
||||
"Archive all cards" : "Archivar todas las tarjetas",
|
||||
"Delete list" : "Eliminar lista",
|
||||
@@ -202,10 +205,10 @@
|
||||
"(circle)" : "(circle)",
|
||||
"Assign to me" : "Asignarme a mí",
|
||||
"Unassign myself" : "Desasignarme a mí mismo",
|
||||
"Move card" : "Mover tarjeta",
|
||||
"Unarchive card" : "Desarchivar tarjeta",
|
||||
"Archive card" : "Archivar tarjeta",
|
||||
"Delete card" : "Eliminar tarjeta",
|
||||
"Move card" : "Mover tarjeta",
|
||||
"Move card to another board" : "Mover la tarjeta a otro tablero",
|
||||
"Select a list" : "Seleccionar una lista",
|
||||
"Card deleted" : "Tarjeta borrada",
|
||||
|
||||
@@ -27,6 +27,7 @@ OC.L10N.register(
|
||||
"Reply" : "Vasta",
|
||||
"Update" : "Uuenda",
|
||||
"(group)" : "(grupp)",
|
||||
"Delete card" : "Kustuta kaart",
|
||||
"seconds ago" : "sekundit tagasi",
|
||||
"Shared with you" : "Sinuga jagatud",
|
||||
"An error occurred" : "Tekkis tõrge",
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
"Reply" : "Vasta",
|
||||
"Update" : "Uuenda",
|
||||
"(group)" : "(grupp)",
|
||||
"Delete card" : "Kustuta kaart",
|
||||
"seconds ago" : "sekundit tagasi",
|
||||
"Shared with you" : "Sinuga jagatud",
|
||||
"An error occurred" : "Tekkis tõrge",
|
||||
|
||||
@@ -188,6 +188,7 @@ OC.L10N.register(
|
||||
"Select Date" : "Hautatu data",
|
||||
"Modified" : "Aldatua",
|
||||
"Created" : "Sortua",
|
||||
"The title cannot be empty." : "Izenburua ezin da hutsik egon.",
|
||||
"No comments yet. Begin the discussion!" : "Ez dago iruzkinik oraindik. Hasi eztabaidatzen!",
|
||||
"Save" : "Gorde",
|
||||
"The comment cannot be empty." : "Iruzkina ezin da hutsik egon.",
|
||||
@@ -199,18 +200,20 @@ OC.L10N.register(
|
||||
"(circle)" : "(zirkulua)",
|
||||
"Assign to me" : "Esleitu niri",
|
||||
"Unassign myself" : "Niri esleitzeari utzi",
|
||||
"Move card" : "Mugitu txartela",
|
||||
"Unarchive card" : "Berreskuratu txartela artxibotik",
|
||||
"Archive card" : "Artxibatu txartela",
|
||||
"Delete card" : "Ezabatu txartela",
|
||||
"Move card" : "Mugitu txartela",
|
||||
"Move card to another board" : "Mugitu txartela beste mahai batera",
|
||||
"Select a list" : "Hautatu zerrenda bat",
|
||||
"seconds ago" : "segundo lehenago",
|
||||
"All boards" : "Mahai guztiak",
|
||||
"Archived boards" : "Artxibatutako mahaiak",
|
||||
"Shared with you" : "Zurekin partekatua",
|
||||
"Show boards in calendar/tasks" : "Erakutsi taulak egutegi/zereginetan",
|
||||
"Limit deck usage of groups" : "Mugatu taldeek Deck erabiltzeko aukera",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Deck mugatzeak taldeetako kide ez diren erabiltzaileei beren mahai propioak sortzea eragotziko die. Erabiltzaileek beraiekin partekatu diren mahaietan lan egin ahalko dute.",
|
||||
"Board name" : "Mahaiaren izena",
|
||||
"Edit board" : "Editatu mahaia",
|
||||
"Clone board " : "Klonatu mahaia",
|
||||
"Unarchive board " : "Berreskuratu mahaia artxibotik",
|
||||
|
||||
@@ -186,6 +186,7 @@
|
||||
"Select Date" : "Hautatu data",
|
||||
"Modified" : "Aldatua",
|
||||
"Created" : "Sortua",
|
||||
"The title cannot be empty." : "Izenburua ezin da hutsik egon.",
|
||||
"No comments yet. Begin the discussion!" : "Ez dago iruzkinik oraindik. Hasi eztabaidatzen!",
|
||||
"Save" : "Gorde",
|
||||
"The comment cannot be empty." : "Iruzkina ezin da hutsik egon.",
|
||||
@@ -197,18 +198,20 @@
|
||||
"(circle)" : "(zirkulua)",
|
||||
"Assign to me" : "Esleitu niri",
|
||||
"Unassign myself" : "Niri esleitzeari utzi",
|
||||
"Move card" : "Mugitu txartela",
|
||||
"Unarchive card" : "Berreskuratu txartela artxibotik",
|
||||
"Archive card" : "Artxibatu txartela",
|
||||
"Delete card" : "Ezabatu txartela",
|
||||
"Move card" : "Mugitu txartela",
|
||||
"Move card to another board" : "Mugitu txartela beste mahai batera",
|
||||
"Select a list" : "Hautatu zerrenda bat",
|
||||
"seconds ago" : "segundo lehenago",
|
||||
"All boards" : "Mahai guztiak",
|
||||
"Archived boards" : "Artxibatutako mahaiak",
|
||||
"Shared with you" : "Zurekin partekatua",
|
||||
"Show boards in calendar/tasks" : "Erakutsi taulak egutegi/zereginetan",
|
||||
"Limit deck usage of groups" : "Mugatu taldeek Deck erabiltzeko aukera",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Deck mugatzeak taldeetako kide ez diren erabiltzaileei beren mahai propioak sortzea eragotziko die. Erabiltzaileek beraiekin partekatu diren mahaietan lan egin ahalko dute.",
|
||||
"Board name" : "Mahaiaren izena",
|
||||
"Edit board" : "Editatu mahaia",
|
||||
"Clone board " : "Klonatu mahaia",
|
||||
"Unarchive board " : "Berreskuratu mahaia artxibotik",
|
||||
|
||||
@@ -120,9 +120,9 @@ OC.L10N.register(
|
||||
"Update" : "بهروزرسانی",
|
||||
"(group)" : "(گروه)",
|
||||
"(circle)" : "(حلقه)",
|
||||
"Move card" : "انتقال کارت",
|
||||
"Archive card" : "کارت بایگانی",
|
||||
"Delete card" : "حذف کارت",
|
||||
"Move card" : "انتقال کارت",
|
||||
"Move card to another board" : "انتقال کارت به تختهای دیگر",
|
||||
"seconds ago" : "ثانیههایی پیش",
|
||||
"All boards" : "همه تختهها",
|
||||
|
||||
@@ -118,9 +118,9 @@
|
||||
"Update" : "بهروزرسانی",
|
||||
"(group)" : "(گروه)",
|
||||
"(circle)" : "(حلقه)",
|
||||
"Move card" : "انتقال کارت",
|
||||
"Archive card" : "کارت بایگانی",
|
||||
"Delete card" : "حذف کارت",
|
||||
"Move card" : "انتقال کارت",
|
||||
"Move card to another board" : "انتقال کارت به تختهای دیگر",
|
||||
"seconds ago" : "ثانیههایی پیش",
|
||||
"All boards" : "همه تختهها",
|
||||
|
||||
@@ -157,10 +157,10 @@ OC.L10N.register(
|
||||
"Reply" : "Vastaa",
|
||||
"Update" : "Päivitä",
|
||||
"(group)" : "(ryhmä)",
|
||||
"Move card" : "Siirrä kortti",
|
||||
"Unarchive card" : "Poista kortti arkistosta",
|
||||
"Archive card" : "Arkistoi kortti",
|
||||
"Delete card" : "Poista kortti",
|
||||
"Move card" : "Siirrä kortti",
|
||||
"seconds ago" : "sekuntia sitten",
|
||||
"All boards" : "Kaikki taulut",
|
||||
"Archived boards" : "Arkistoidut taulut",
|
||||
|
||||
@@ -155,10 +155,10 @@
|
||||
"Reply" : "Vastaa",
|
||||
"Update" : "Päivitä",
|
||||
"(group)" : "(ryhmä)",
|
||||
"Move card" : "Siirrä kortti",
|
||||
"Unarchive card" : "Poista kortti arkistosta",
|
||||
"Archive card" : "Arkistoi kortti",
|
||||
"Delete card" : "Poista kortti",
|
||||
"Move card" : "Siirrä kortti",
|
||||
"seconds ago" : "sekuntia sitten",
|
||||
"All boards" : "Kaikki taulut",
|
||||
"Archived boards" : "Arkistoidut taulut",
|
||||
|
||||
@@ -146,6 +146,8 @@ OC.L10N.register(
|
||||
"Undo" : "Annuler",
|
||||
"Deleted cards" : "Cartes supprimées",
|
||||
"Share board with a user, group or circle …" : "Partager le tableau avec un utilisateur, un groupe ou un cercle…",
|
||||
"Searching for users, groups and circles …" : "Recherche d'utilisateurs, de groupes et de cercles ...",
|
||||
"No participants found" : "Aucun participant trouvé",
|
||||
"Board owner" : "Propriétaire du tableau",
|
||||
"(Group)" : "(Groupe)",
|
||||
"(Circle)" : "(Cercle)",
|
||||
@@ -153,6 +155,7 @@ OC.L10N.register(
|
||||
"Can share" : "Peut partager",
|
||||
"Can manage" : "Peut gérer",
|
||||
"Delete" : "Supprimer",
|
||||
"Failed to create share with {displayName}" : "Échec de la création du partage avec {displayName}",
|
||||
"Add a new list" : "Ajouter une nouvelle liste",
|
||||
"Archive all cards" : "Archiver toutes les cartes",
|
||||
"Delete list" : "Supprimer la liste",
|
||||
@@ -160,6 +163,7 @@ OC.L10N.register(
|
||||
"Archive all cards in this list" : "Archiver toutes les cartes de cette liste",
|
||||
"Add a new card" : "Ajouter une nouvelle carte",
|
||||
"Card name" : "Nom de la carte",
|
||||
"List deleted" : "Liste supprimée",
|
||||
"Edit" : "Modifier",
|
||||
"Add a new tag" : "Ajouter une nouvelle étiquette",
|
||||
"title and color value must be provided" : "le titre et la couleur doivent être renseignés",
|
||||
@@ -203,12 +207,13 @@ OC.L10N.register(
|
||||
"(circle)" : "(cercle)",
|
||||
"Assign to me" : "Me l'assigner",
|
||||
"Unassign myself" : "Me le désassigner",
|
||||
"Move card" : "Déplacer la carte",
|
||||
"Unarchive card" : "Sortir la carte des archives",
|
||||
"Archive card" : "Archiver la carte",
|
||||
"Delete card" : "Supprimer la carte",
|
||||
"Move card" : "Déplacer la carte",
|
||||
"Move card to another board" : "Déplacer la carte vers un autre tableau ",
|
||||
"Select a list" : "Sélectionner une liste",
|
||||
"Card deleted" : "Carte supprimée",
|
||||
"seconds ago" : "à l'instant",
|
||||
"All boards" : "Tous les tableaux",
|
||||
"Archived boards" : "Tableaux archivés",
|
||||
|
||||
@@ -144,6 +144,8 @@
|
||||
"Undo" : "Annuler",
|
||||
"Deleted cards" : "Cartes supprimées",
|
||||
"Share board with a user, group or circle …" : "Partager le tableau avec un utilisateur, un groupe ou un cercle…",
|
||||
"Searching for users, groups and circles …" : "Recherche d'utilisateurs, de groupes et de cercles ...",
|
||||
"No participants found" : "Aucun participant trouvé",
|
||||
"Board owner" : "Propriétaire du tableau",
|
||||
"(Group)" : "(Groupe)",
|
||||
"(Circle)" : "(Cercle)",
|
||||
@@ -151,6 +153,7 @@
|
||||
"Can share" : "Peut partager",
|
||||
"Can manage" : "Peut gérer",
|
||||
"Delete" : "Supprimer",
|
||||
"Failed to create share with {displayName}" : "Échec de la création du partage avec {displayName}",
|
||||
"Add a new list" : "Ajouter une nouvelle liste",
|
||||
"Archive all cards" : "Archiver toutes les cartes",
|
||||
"Delete list" : "Supprimer la liste",
|
||||
@@ -158,6 +161,7 @@
|
||||
"Archive all cards in this list" : "Archiver toutes les cartes de cette liste",
|
||||
"Add a new card" : "Ajouter une nouvelle carte",
|
||||
"Card name" : "Nom de la carte",
|
||||
"List deleted" : "Liste supprimée",
|
||||
"Edit" : "Modifier",
|
||||
"Add a new tag" : "Ajouter une nouvelle étiquette",
|
||||
"title and color value must be provided" : "le titre et la couleur doivent être renseignés",
|
||||
@@ -201,12 +205,13 @@
|
||||
"(circle)" : "(cercle)",
|
||||
"Assign to me" : "Me l'assigner",
|
||||
"Unassign myself" : "Me le désassigner",
|
||||
"Move card" : "Déplacer la carte",
|
||||
"Unarchive card" : "Sortir la carte des archives",
|
||||
"Archive card" : "Archiver la carte",
|
||||
"Delete card" : "Supprimer la carte",
|
||||
"Move card" : "Déplacer la carte",
|
||||
"Move card to another board" : "Déplacer la carte vers un autre tableau ",
|
||||
"Select a list" : "Sélectionner une liste",
|
||||
"Card deleted" : "Carte supprimée",
|
||||
"seconds ago" : "à l'instant",
|
||||
"All boards" : "Tous les tableaux",
|
||||
"Archived boards" : "Tableaux archivés",
|
||||
|
||||
@@ -146,6 +146,8 @@ OC.L10N.register(
|
||||
"Undo" : "Desfacer",
|
||||
"Deleted cards" : "Eliminar tarxetas",
|
||||
"Share board with a user, group or circle …" : "Compartir taboleiro cun usuario, grupo ou círculo…",
|
||||
"Searching for users, groups and circles …" : "Buscando por usuarios, grupos e círculos…",
|
||||
"No participants found" : "Non se atoparon participantes",
|
||||
"Board owner" : "Propietariio do taboleiro",
|
||||
"(Group)" : "(grupo)",
|
||||
"(Circle)" : "(Círculo)",
|
||||
@@ -153,6 +155,7 @@ OC.L10N.register(
|
||||
"Can share" : "Pode compartir",
|
||||
"Can manage" : "Pode xestionar",
|
||||
"Delete" : "Eliminar",
|
||||
"Failed to create share with {displayName}" : "Produciuse un fallo ao crear o uso compartido con {displayName}",
|
||||
"Add a new list" : "Engadir unha lista nova",
|
||||
"Archive all cards" : "Arquivar todas as tarxetas",
|
||||
"Delete list" : "Eliminar lista",
|
||||
@@ -204,10 +207,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(círculo)",
|
||||
"Assign to me" : "Asignarme",
|
||||
"Unassign myself" : "Desasignarme",
|
||||
"Move card" : "Mover a tarxeta",
|
||||
"Unarchive card" : "Desarquivar a tarxeta",
|
||||
"Archive card" : "Arquivar a tarxeta",
|
||||
"Delete card" : "Eliminar tarxeta",
|
||||
"Move card" : "Mover a tarxeta",
|
||||
"Move card to another board" : "Mover a tarxeta a outro taboleiro",
|
||||
"Select a list" : "Seleccionar unha lista",
|
||||
"Card deleted" : "Tarxeta eliminada",
|
||||
|
||||
@@ -144,6 +144,8 @@
|
||||
"Undo" : "Desfacer",
|
||||
"Deleted cards" : "Eliminar tarxetas",
|
||||
"Share board with a user, group or circle …" : "Compartir taboleiro cun usuario, grupo ou círculo…",
|
||||
"Searching for users, groups and circles …" : "Buscando por usuarios, grupos e círculos…",
|
||||
"No participants found" : "Non se atoparon participantes",
|
||||
"Board owner" : "Propietariio do taboleiro",
|
||||
"(Group)" : "(grupo)",
|
||||
"(Circle)" : "(Círculo)",
|
||||
@@ -151,6 +153,7 @@
|
||||
"Can share" : "Pode compartir",
|
||||
"Can manage" : "Pode xestionar",
|
||||
"Delete" : "Eliminar",
|
||||
"Failed to create share with {displayName}" : "Produciuse un fallo ao crear o uso compartido con {displayName}",
|
||||
"Add a new list" : "Engadir unha lista nova",
|
||||
"Archive all cards" : "Arquivar todas as tarxetas",
|
||||
"Delete list" : "Eliminar lista",
|
||||
@@ -202,10 +205,10 @@
|
||||
"(circle)" : "(círculo)",
|
||||
"Assign to me" : "Asignarme",
|
||||
"Unassign myself" : "Desasignarme",
|
||||
"Move card" : "Mover a tarxeta",
|
||||
"Unarchive card" : "Desarquivar a tarxeta",
|
||||
"Archive card" : "Arquivar a tarxeta",
|
||||
"Delete card" : "Eliminar tarxeta",
|
||||
"Move card" : "Mover a tarxeta",
|
||||
"Move card to another board" : "Mover a tarxeta a outro taboleiro",
|
||||
"Select a list" : "Seleccionar unha lista",
|
||||
"Card deleted" : "Tarxeta eliminada",
|
||||
|
||||
@@ -148,10 +148,10 @@ OC.L10N.register(
|
||||
"(group)" : "(קבוצה)",
|
||||
"(circle)" : "(מעגל)",
|
||||
"Assign to me" : "הקצאה אלי",
|
||||
"Move card" : "העברת כרטיס",
|
||||
"Unarchive card" : "הוצאת הכרטיס מהארכיון",
|
||||
"Archive card" : "העברת כרטיס לארכיון",
|
||||
"Delete card" : "מחיקת כרטיס לארכיון",
|
||||
"Move card" : "העברת כרטיס",
|
||||
"Move card to another board" : "העברת כרטיס ללוח אחר",
|
||||
"seconds ago" : "לפני מספר שניות",
|
||||
"All boards" : "כל הלוחות",
|
||||
|
||||
@@ -146,10 +146,10 @@
|
||||
"(group)" : "(קבוצה)",
|
||||
"(circle)" : "(מעגל)",
|
||||
"Assign to me" : "הקצאה אלי",
|
||||
"Move card" : "העברת כרטיס",
|
||||
"Unarchive card" : "הוצאת הכרטיס מהארכיון",
|
||||
"Archive card" : "העברת כרטיס לארכיון",
|
||||
"Delete card" : "מחיקת כרטיס לארכיון",
|
||||
"Move card" : "העברת כרטיס",
|
||||
"Move card to another board" : "העברת כרטיס ללוח אחר",
|
||||
"seconds ago" : "לפני מספר שניות",
|
||||
"All boards" : "כל הלוחות",
|
||||
|
||||
@@ -196,10 +196,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(krug)",
|
||||
"Assign to me" : "Dodijeli meni",
|
||||
"Unassign myself" : "Ukloni sebe",
|
||||
"Move card" : "Premjesti karticu",
|
||||
"Unarchive card" : "Dearhiviraj karticu",
|
||||
"Archive card" : "Arhiviraj karticu",
|
||||
"Delete card" : "Izbriši karticu",
|
||||
"Move card" : "Premjesti karticu",
|
||||
"Move card to another board" : "Premjesti karticu na drugu ploču",
|
||||
"Select a list" : "Odaberi popis",
|
||||
"seconds ago" : "prije nekoliko sekundi",
|
||||
|
||||
@@ -194,10 +194,10 @@
|
||||
"(circle)" : "(krug)",
|
||||
"Assign to me" : "Dodijeli meni",
|
||||
"Unassign myself" : "Ukloni sebe",
|
||||
"Move card" : "Premjesti karticu",
|
||||
"Unarchive card" : "Dearhiviraj karticu",
|
||||
"Archive card" : "Arhiviraj karticu",
|
||||
"Delete card" : "Izbriši karticu",
|
||||
"Move card" : "Premjesti karticu",
|
||||
"Move card to another board" : "Premjesti karticu na drugu ploču",
|
||||
"Select a list" : "Odaberi popis",
|
||||
"seconds ago" : "prije nekoliko sekundi",
|
||||
|
||||
@@ -168,10 +168,10 @@ OC.L10N.register(
|
||||
"(group)" : "(csoport)",
|
||||
"(circle)" : "(kör)",
|
||||
"Assign to me" : "Hozzám rendelés",
|
||||
"Move card" : "Kártya áthelyezése",
|
||||
"Unarchive card" : "Kártya archiválásának visszavonása",
|
||||
"Archive card" : "Kártya archiválása",
|
||||
"Delete card" : "Kártya törlése",
|
||||
"Move card" : "Kártya áthelyezése",
|
||||
"Move card to another board" : "Kártya áthelyezése egy másik táblára",
|
||||
"seconds ago" : "másodperce",
|
||||
"All boards" : "Az összes tábla",
|
||||
|
||||
@@ -166,10 +166,10 @@
|
||||
"(group)" : "(csoport)",
|
||||
"(circle)" : "(kör)",
|
||||
"Assign to me" : "Hozzám rendelés",
|
||||
"Move card" : "Kártya áthelyezése",
|
||||
"Unarchive card" : "Kártya archiválásának visszavonása",
|
||||
"Archive card" : "Kártya archiválása",
|
||||
"Delete card" : "Kártya törlése",
|
||||
"Move card" : "Kártya áthelyezése",
|
||||
"Move card to another board" : "Kártya áthelyezése egy másik táblára",
|
||||
"seconds ago" : "másodperce",
|
||||
"All boards" : "Az összes tábla",
|
||||
|
||||
@@ -188,10 +188,10 @@ OC.L10N.register(
|
||||
"(group)" : "(grup)",
|
||||
"(circle)" : "(lingkaran)",
|
||||
"Assign to me" : "Tugaskan saya",
|
||||
"Move card" : "Pindahkan kartu",
|
||||
"Unarchive card" : "Memulihkan kartu",
|
||||
"Archive card" : "Mengarsipkan kartu",
|
||||
"Delete card" : "Hapus kartu",
|
||||
"Move card" : "Pindahkan kartu",
|
||||
"Move card to another board" : "Pindahkan kartu ke papan lain",
|
||||
"Select a list" : "Pilih daftar",
|
||||
"seconds ago" : "beberapa detik yang lalu",
|
||||
|
||||
@@ -186,10 +186,10 @@
|
||||
"(group)" : "(grup)",
|
||||
"(circle)" : "(lingkaran)",
|
||||
"Assign to me" : "Tugaskan saya",
|
||||
"Move card" : "Pindahkan kartu",
|
||||
"Unarchive card" : "Memulihkan kartu",
|
||||
"Archive card" : "Mengarsipkan kartu",
|
||||
"Delete card" : "Hapus kartu",
|
||||
"Move card" : "Pindahkan kartu",
|
||||
"Move card to another board" : "Pindahkan kartu ke papan lain",
|
||||
"Select a list" : "Pilih daftar",
|
||||
"seconds ago" : "beberapa detik yang lalu",
|
||||
|
||||
@@ -145,10 +145,10 @@ OC.L10N.register(
|
||||
"Update" : "Uppfæra",
|
||||
"(group)" : "(hópur)",
|
||||
"Assign to me" : "Úthluta mér",
|
||||
"Move card" : "Færa spjald",
|
||||
"Unarchive card" : "Taka spjald úr geymslu",
|
||||
"Archive card" : "Setja spjald í geymslu",
|
||||
"Delete card" : "Eyða spjaldi",
|
||||
"Move card" : "Færa spjald",
|
||||
"seconds ago" : "sekúndum síðan",
|
||||
"All boards" : "Öll borð",
|
||||
"Archived boards" : "Borð í geymslu",
|
||||
|
||||
@@ -143,10 +143,10 @@
|
||||
"Update" : "Uppfæra",
|
||||
"(group)" : "(hópur)",
|
||||
"Assign to me" : "Úthluta mér",
|
||||
"Move card" : "Færa spjald",
|
||||
"Unarchive card" : "Taka spjald úr geymslu",
|
||||
"Archive card" : "Setja spjald í geymslu",
|
||||
"Delete card" : "Eyða spjaldi",
|
||||
"Move card" : "Færa spjald",
|
||||
"seconds ago" : "sekúndum síðan",
|
||||
"All boards" : "Öll borð",
|
||||
"Archived boards" : "Borð í geymslu",
|
||||
|
||||
@@ -146,6 +146,8 @@ OC.L10N.register(
|
||||
"Undo" : "Annulla",
|
||||
"Deleted cards" : "Schede eliminate",
|
||||
"Share board with a user, group or circle …" : "Condividi lavagna con un utente, gruppo o cerchia…",
|
||||
"Searching for users, groups and circles …" : "Ricerca di utenti, gruppi e cerchie…",
|
||||
"No participants found" : "Nessun partecipante trovato",
|
||||
"Board owner" : "Proprietario della lavagna",
|
||||
"(Group)" : "(Gruppo)",
|
||||
"(Circle)" : "(Cerchia)",
|
||||
@@ -153,6 +155,7 @@ OC.L10N.register(
|
||||
"Can share" : "Può condividere",
|
||||
"Can manage" : "Può gestire",
|
||||
"Delete" : "Elimina",
|
||||
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
|
||||
"Add a new list" : "Aggiungi un nuovo elenco",
|
||||
"Archive all cards" : "Archivia tutte le schede",
|
||||
"Delete list" : "Elimina elenco",
|
||||
@@ -204,10 +207,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(cerchia)",
|
||||
"Assign to me" : "Assegna a me",
|
||||
"Unassign myself" : "Rimuovi assegnazione da me",
|
||||
"Move card" : "Sposta scheda",
|
||||
"Unarchive card" : "Recupera lavagna dall'archivio",
|
||||
"Archive card" : "Archivia scheda",
|
||||
"Delete card" : "Elimina scheda",
|
||||
"Move card" : "Sposta scheda",
|
||||
"Move card to another board" : "Sposta scheda in un'altra lavagna",
|
||||
"Select a list" : "Seleziona un elenco",
|
||||
"Card deleted" : "Scheda eliminata",
|
||||
|
||||
@@ -144,6 +144,8 @@
|
||||
"Undo" : "Annulla",
|
||||
"Deleted cards" : "Schede eliminate",
|
||||
"Share board with a user, group or circle …" : "Condividi lavagna con un utente, gruppo o cerchia…",
|
||||
"Searching for users, groups and circles …" : "Ricerca di utenti, gruppi e cerchie…",
|
||||
"No participants found" : "Nessun partecipante trovato",
|
||||
"Board owner" : "Proprietario della lavagna",
|
||||
"(Group)" : "(Gruppo)",
|
||||
"(Circle)" : "(Cerchia)",
|
||||
@@ -151,6 +153,7 @@
|
||||
"Can share" : "Può condividere",
|
||||
"Can manage" : "Può gestire",
|
||||
"Delete" : "Elimina",
|
||||
"Failed to create share with {displayName}" : "Creazione della condivisione con {displayName} non riuscita",
|
||||
"Add a new list" : "Aggiungi un nuovo elenco",
|
||||
"Archive all cards" : "Archivia tutte le schede",
|
||||
"Delete list" : "Elimina elenco",
|
||||
@@ -202,10 +205,10 @@
|
||||
"(circle)" : "(cerchia)",
|
||||
"Assign to me" : "Assegna a me",
|
||||
"Unassign myself" : "Rimuovi assegnazione da me",
|
||||
"Move card" : "Sposta scheda",
|
||||
"Unarchive card" : "Recupera lavagna dall'archivio",
|
||||
"Archive card" : "Archivia scheda",
|
||||
"Delete card" : "Elimina scheda",
|
||||
"Move card" : "Sposta scheda",
|
||||
"Move card to another board" : "Sposta scheda in un'altra lavagna",
|
||||
"Select a list" : "Seleziona un elenco",
|
||||
"Card deleted" : "Scheda eliminata",
|
||||
|
||||
@@ -194,10 +194,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(サークル)",
|
||||
"Assign to me" : "自分に割り当てる",
|
||||
"Unassign myself" : "自分への割り当てを解除",
|
||||
"Move card" : "カードの移動",
|
||||
"Unarchive card" : "カードのアーカイブを解除する",
|
||||
"Archive card" : "カードをアーカイブ",
|
||||
"Delete card" : "カードを削除する",
|
||||
"Move card" : "カードの移動",
|
||||
"Move card to another board" : "カードを他のボードに移動",
|
||||
"Select a list" : "リストを選択",
|
||||
"seconds ago" : "数秒前",
|
||||
|
||||
@@ -192,10 +192,10 @@
|
||||
"(circle)" : "(サークル)",
|
||||
"Assign to me" : "自分に割り当てる",
|
||||
"Unassign myself" : "自分への割り当てを解除",
|
||||
"Move card" : "カードの移動",
|
||||
"Unarchive card" : "カードのアーカイブを解除する",
|
||||
"Archive card" : "カードをアーカイブ",
|
||||
"Delete card" : "カードを削除する",
|
||||
"Move card" : "カードの移動",
|
||||
"Move card to another board" : "カードを他のボードに移動",
|
||||
"Select a list" : "リストを選択",
|
||||
"seconds ago" : "数秒前",
|
||||
|
||||
@@ -80,9 +80,9 @@ OC.L10N.register(
|
||||
"Reply" : "답장",
|
||||
"Update" : "업데이트",
|
||||
"(group)" : "(그룹)",
|
||||
"Move card" : "카드 이동",
|
||||
"Archive card" : "보관 카드",
|
||||
"Delete card" : "카드 삭제",
|
||||
"Move card" : "카드 이동",
|
||||
"seconds ago" : "초 전",
|
||||
"All boards" : "모든 보드",
|
||||
"Archived boards" : "보관된 게시판",
|
||||
|
||||
@@ -78,9 +78,9 @@
|
||||
"Reply" : "답장",
|
||||
"Update" : "업데이트",
|
||||
"(group)" : "(그룹)",
|
||||
"Move card" : "카드 이동",
|
||||
"Archive card" : "보관 카드",
|
||||
"Delete card" : "카드 삭제",
|
||||
"Move card" : "카드 이동",
|
||||
"seconds ago" : "초 전",
|
||||
"All boards" : "모든 보드",
|
||||
"Archived boards" : "보관된 게시판",
|
||||
|
||||
@@ -17,16 +17,40 @@ OC.L10N.register(
|
||||
"{user} has archived the board {before}" : "{user} užarchyvavo lentą {before}",
|
||||
"You have unarchived the board {board}" : "Jūs išarchyvavote lentą {board}",
|
||||
"{user} has unarchived the board {before}" : "{user} išarchyvavo lentą {before}",
|
||||
"You have created a new list {stack} on board {board}" : "Jūs lentoje {board} sukūrėte naują sąrašą {stack}",
|
||||
"{user} has created a new list {stack} on board {board}" : "{user} lentoje {board} sukūrė naują sąrašą {stack}",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "Jūs lentoje {board} pervadinote sąrašą {before} į {stack}",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} lentoje {board} pervadino sąrašą {before} į {stack}",
|
||||
"You have deleted list {stack} on board {board}" : "Jūs lentoje {board} ištrynėte sąrašą {stack}",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user} lentoje {board} ištrynė sąrašą {stack}",
|
||||
"You have created card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} sukūrėte kortelę {card}",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} sukūrė kortelę {card}",
|
||||
"You have deleted card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} ištrynėte kortelę {card}",
|
||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} ištrynė kortelę {card} ",
|
||||
"You have renamed the card {before} to {card}" : "Jūs pervadinote kortelę {before} į {card}",
|
||||
"{user} has renamed the card {before} to {card}" : "{user} pervadino kortelę {before} į {card}",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} į kortelę {card} pridėjote aprašą",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} į kortelę {card} pridėjo aprašą",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} atnaujinote kortelės {card} aprašą",
|
||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} atnaujino kortelės {card} aprašą",
|
||||
"You have archived card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} užarchyvavote kortelę {card}",
|
||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} užarchyvavo kortelę {card}",
|
||||
"You have unarchived card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} išarchyvavote kortelę {card}",
|
||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} išarchyvavo kortelę {card}",
|
||||
"You have removed the due date of card {card}" : "Jūs pašalinote galutinį kortelės {card} terminą",
|
||||
"{user} has removed the due date of card {card}" : "{user} pašalino galutinį kortelės {card} terminą",
|
||||
"You have set the due date of card {card} to {after}" : "Jūs nustatėte galutinį kortelės {card} terminą į {after}",
|
||||
"{user} has set the due date of card {card} to {after}" : "{user} nustatė galutinį kortelės {card} terminą į {after}",
|
||||
"You have updated the due date of card {card} to {after}" : "Jūs atnaujinote galutinį kortelės {card} terminą į {after}",
|
||||
"{user} has updated the due date of card {card} to {after}" : "{user} atnaujino galutinį kortelės {card} terminą į {after}",
|
||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} į kortelę {card} pridėjote žymę {label}",
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} į kortelę {card} pridėjo žymę {label}",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} iš kortelės {card} pašalinote žymę {label}",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} iš kortelės {card} pašalino žymę {label}",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Jūs lentoje {board} prie kortelės {card} priskyrėte {assigneduser}",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} lentoje {board} prie kortelės {card} priskyrė {assigneduser}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Jūs perkėlėte kortelę {card} iš sąrašo {stackBefore} į sąrašą {stack}",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} perkėlė kortelę {card} iš sąrašo {stackBefore} į sąrašą {stack}",
|
||||
"You have added the attachment {attachment} to card {card}" : "Jūs pridėjote priedą {attachment} į kortelę {card}",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{user} pridėjo priedą {attachment} į kortelę {card}",
|
||||
"You have updated the attachment {attachment} on card {card}" : "Jūs atnaujinote priedą {attachment} kortelėje {card}",
|
||||
@@ -41,6 +65,7 @@ OC.L10N.register(
|
||||
"Deck" : "Darbai",
|
||||
"Changes in the <strong>Deck app</strong>" : "Pakeitimai <strong>Darbų programėlėje</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Kortelėje buvo sukurtas <strong>komentaras</strong>",
|
||||
"Upcoming cards" : "Artėjančios kortelės",
|
||||
"Personal" : "Asmeniniai",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} priskyrė jums kortelę \"%s\" ties \"%s\".",
|
||||
@@ -105,6 +130,8 @@ OC.L10N.register(
|
||||
"Toggle compact mode" : "Perjungti kompaktišką veikseną",
|
||||
"Details" : "Išsamiau",
|
||||
"Loading board" : "Įkeliama lenta",
|
||||
"No lists available" : "Nėra sąrašų",
|
||||
"Create a new list to add cards to this board" : "Norėdami pridėti korteles į šią lentą, sukurkite naują sąrašą",
|
||||
"Board not found" : "Lenta nerasta",
|
||||
"Sharing" : "Bendrinimas",
|
||||
"Tags" : "Žymės",
|
||||
@@ -114,6 +141,7 @@ OC.L10N.register(
|
||||
"Undo" : "Atšaukti",
|
||||
"Deleted cards" : "Ištrintos kortelės",
|
||||
"Share board with a user, group or circle …" : "Bendrinti lentą su naudotoju, grupe ar ratu…",
|
||||
"No participants found" : "Nerasta jokių dalyvių",
|
||||
"Board owner" : "Lentos savininkas",
|
||||
"(Group)" : "(Grupė)",
|
||||
"(Circle)" : "(Ratas)",
|
||||
@@ -121,9 +149,14 @@ OC.L10N.register(
|
||||
"Can share" : "Can share",
|
||||
"Can manage" : "Gali tvarkyti",
|
||||
"Delete" : "Ištrinti",
|
||||
"Add a new list" : "Pridėti naują sąrašą",
|
||||
"Archive all cards" : "Archyvuoti visas korteles",
|
||||
"Delete list" : "Ištrinti sąrašą",
|
||||
"Add card" : "Pridėti kortelę",
|
||||
"Archive all cards in this list" : "Archyvuoti visas korteles šiame sąraše",
|
||||
"Add a new card" : "Pridėti naują kortelę",
|
||||
"Card name" : "Kortelės pavadinimas",
|
||||
"List deleted" : "Sąrašas ištrintas",
|
||||
"Edit" : "Taisyti",
|
||||
"Add a new tag" : "Pridėti naują žymę",
|
||||
"title and color value must be provided" : "privalo būti pateiktos pavadinimo ir spalvos reikšmės",
|
||||
@@ -162,15 +195,19 @@ OC.L10N.register(
|
||||
"(group)" : "(grupė)",
|
||||
"(circle)" : "(ratas)",
|
||||
"Assign to me" : "Priskirti sau",
|
||||
"Move card" : "Perkelti kortelę",
|
||||
"Unarchive card" : "Išarchyvuoti kortelę",
|
||||
"Archive card" : "Archyvuoti kortelę",
|
||||
"Delete card" : "Ištrinti kortelę",
|
||||
"Move card" : "Perkelti kortelę",
|
||||
"Move card to another board" : "Perkelti kortelę į kitą lentą",
|
||||
"Select a list" : "Pasirinkite sąrašą",
|
||||
"Card deleted" : "Kortelė ištrinta",
|
||||
"seconds ago" : "prieš keletą sekundžių",
|
||||
"All boards" : "Visos lentos",
|
||||
"Archived boards" : "Archyvuotos lentos",
|
||||
"Shared with you" : "Bendrinama su jumis",
|
||||
"Show boards in calendar/tasks" : "Rodyti darbus kalendoriuje/užduotyse",
|
||||
"Board name" : "Lentos pavadinimas",
|
||||
"Edit board" : "Taisyti lentą",
|
||||
"Clone board " : "Dubliuoti lentą ",
|
||||
"Unarchive board " : "Išarchyvuoti lentą ",
|
||||
|
||||
@@ -15,16 +15,40 @@
|
||||
"{user} has archived the board {before}" : "{user} užarchyvavo lentą {before}",
|
||||
"You have unarchived the board {board}" : "Jūs išarchyvavote lentą {board}",
|
||||
"{user} has unarchived the board {before}" : "{user} išarchyvavo lentą {before}",
|
||||
"You have created a new list {stack} on board {board}" : "Jūs lentoje {board} sukūrėte naują sąrašą {stack}",
|
||||
"{user} has created a new list {stack} on board {board}" : "{user} lentoje {board} sukūrė naują sąrašą {stack}",
|
||||
"You have renamed list {before} to {stack} on board {board}" : "Jūs lentoje {board} pervadinote sąrašą {before} į {stack}",
|
||||
"{user} has renamed list {before} to {stack} on board {board}" : "{user} lentoje {board} pervadino sąrašą {before} į {stack}",
|
||||
"You have deleted list {stack} on board {board}" : "Jūs lentoje {board} ištrynėte sąrašą {stack}",
|
||||
"{user} has deleted list {stack} on board {board}" : "{user} lentoje {board} ištrynė sąrašą {stack}",
|
||||
"You have created card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} sukūrėte kortelę {card}",
|
||||
"{user} has created card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} sukūrė kortelę {card}",
|
||||
"You have deleted card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} ištrynėte kortelę {card}",
|
||||
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} ištrynė kortelę {card} ",
|
||||
"You have renamed the card {before} to {card}" : "Jūs pervadinote kortelę {before} į {card}",
|
||||
"{user} has renamed the card {before} to {card}" : "{user} pervadino kortelę {before} į {card}",
|
||||
"You have added a description to card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} į kortelę {card} pridėjote aprašą",
|
||||
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} į kortelę {card} pridėjo aprašą",
|
||||
"You have updated the description of card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} atnaujinote kortelės {card} aprašą",
|
||||
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} atnaujino kortelės {card} aprašą",
|
||||
"You have archived card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} užarchyvavote kortelę {card}",
|
||||
"{user} has archived card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} užarchyvavo kortelę {card}",
|
||||
"You have unarchived card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} išarchyvavote kortelę {card}",
|
||||
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} išarchyvavo kortelę {card}",
|
||||
"You have removed the due date of card {card}" : "Jūs pašalinote galutinį kortelės {card} terminą",
|
||||
"{user} has removed the due date of card {card}" : "{user} pašalino galutinį kortelės {card} terminą",
|
||||
"You have set the due date of card {card} to {after}" : "Jūs nustatėte galutinį kortelės {card} terminą į {after}",
|
||||
"{user} has set the due date of card {card} to {after}" : "{user} nustatė galutinį kortelės {card} terminą į {after}",
|
||||
"You have updated the due date of card {card} to {after}" : "Jūs atnaujinote galutinį kortelės {card} terminą į {after}",
|
||||
"{user} has updated the due date of card {card} to {after}" : "{user} atnaujino galutinį kortelės {card} terminą į {after}",
|
||||
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} į kortelę {card} pridėjote žymę {label}",
|
||||
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} į kortelę {card} pridėjo žymę {label}",
|
||||
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Jūs lentoje {board}, sąraše {stack} iš kortelės {card} pašalinote žymę {label}",
|
||||
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} lentoje {board}, sąraše {stack} iš kortelės {card} pašalino žymę {label}",
|
||||
"You have assigned {assigneduser} to card {card} on board {board}" : "Jūs lentoje {board} prie kortelės {card} priskyrėte {assigneduser}",
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} lentoje {board} prie kortelės {card} priskyrė {assigneduser}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Jūs perkėlėte kortelę {card} iš sąrašo {stackBefore} į sąrašą {stack}",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} perkėlė kortelę {card} iš sąrašo {stackBefore} į sąrašą {stack}",
|
||||
"You have added the attachment {attachment} to card {card}" : "Jūs pridėjote priedą {attachment} į kortelę {card}",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{user} pridėjo priedą {attachment} į kortelę {card}",
|
||||
"You have updated the attachment {attachment} on card {card}" : "Jūs atnaujinote priedą {attachment} kortelėje {card}",
|
||||
@@ -39,6 +63,7 @@
|
||||
"Deck" : "Darbai",
|
||||
"Changes in the <strong>Deck app</strong>" : "Pakeitimai <strong>Darbų programėlėje</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Kortelėje buvo sukurtas <strong>komentaras</strong>",
|
||||
"Upcoming cards" : "Artėjančios kortelės",
|
||||
"Personal" : "Asmeniniai",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} priskyrė jums kortelę \"%s\" ties \"%s\".",
|
||||
@@ -103,6 +128,8 @@
|
||||
"Toggle compact mode" : "Perjungti kompaktišką veikseną",
|
||||
"Details" : "Išsamiau",
|
||||
"Loading board" : "Įkeliama lenta",
|
||||
"No lists available" : "Nėra sąrašų",
|
||||
"Create a new list to add cards to this board" : "Norėdami pridėti korteles į šią lentą, sukurkite naują sąrašą",
|
||||
"Board not found" : "Lenta nerasta",
|
||||
"Sharing" : "Bendrinimas",
|
||||
"Tags" : "Žymės",
|
||||
@@ -112,6 +139,7 @@
|
||||
"Undo" : "Atšaukti",
|
||||
"Deleted cards" : "Ištrintos kortelės",
|
||||
"Share board with a user, group or circle …" : "Bendrinti lentą su naudotoju, grupe ar ratu…",
|
||||
"No participants found" : "Nerasta jokių dalyvių",
|
||||
"Board owner" : "Lentos savininkas",
|
||||
"(Group)" : "(Grupė)",
|
||||
"(Circle)" : "(Ratas)",
|
||||
@@ -119,9 +147,14 @@
|
||||
"Can share" : "Can share",
|
||||
"Can manage" : "Gali tvarkyti",
|
||||
"Delete" : "Ištrinti",
|
||||
"Add a new list" : "Pridėti naują sąrašą",
|
||||
"Archive all cards" : "Archyvuoti visas korteles",
|
||||
"Delete list" : "Ištrinti sąrašą",
|
||||
"Add card" : "Pridėti kortelę",
|
||||
"Archive all cards in this list" : "Archyvuoti visas korteles šiame sąraše",
|
||||
"Add a new card" : "Pridėti naują kortelę",
|
||||
"Card name" : "Kortelės pavadinimas",
|
||||
"List deleted" : "Sąrašas ištrintas",
|
||||
"Edit" : "Taisyti",
|
||||
"Add a new tag" : "Pridėti naują žymę",
|
||||
"title and color value must be provided" : "privalo būti pateiktos pavadinimo ir spalvos reikšmės",
|
||||
@@ -160,15 +193,19 @@
|
||||
"(group)" : "(grupė)",
|
||||
"(circle)" : "(ratas)",
|
||||
"Assign to me" : "Priskirti sau",
|
||||
"Move card" : "Perkelti kortelę",
|
||||
"Unarchive card" : "Išarchyvuoti kortelę",
|
||||
"Archive card" : "Archyvuoti kortelę",
|
||||
"Delete card" : "Ištrinti kortelę",
|
||||
"Move card" : "Perkelti kortelę",
|
||||
"Move card to another board" : "Perkelti kortelę į kitą lentą",
|
||||
"Select a list" : "Pasirinkite sąrašą",
|
||||
"Card deleted" : "Kortelė ištrinta",
|
||||
"seconds ago" : "prieš keletą sekundžių",
|
||||
"All boards" : "Visos lentos",
|
||||
"Archived boards" : "Archyvuotos lentos",
|
||||
"Shared with you" : "Bendrinama su jumis",
|
||||
"Show boards in calendar/tasks" : "Rodyti darbus kalendoriuje/užduotyse",
|
||||
"Board name" : "Lentos pavadinimas",
|
||||
"Edit board" : "Taisyti lentą",
|
||||
"Clone board " : "Dubliuoti lentą ",
|
||||
"Unarchive board " : "Išarchyvuoti lentą ",
|
||||
|
||||
@@ -14,16 +14,20 @@ OC.L10N.register(
|
||||
"Could not write file to disk" : "Неможе да се запишува на дискот",
|
||||
"A PHP extension stopped the file upload" : "PHP додаток го стопираше прикачувањето на датотеката",
|
||||
"Cancel" : "Откажи",
|
||||
"Drop your files to upload" : "Повлечи датотеки за да прикачите",
|
||||
"Details" : "Детали",
|
||||
"Sharing" : "Споделување",
|
||||
"Tags" : "Ознаки",
|
||||
"(Group)" : "(Група)",
|
||||
"Can edit" : "Може да се уредува",
|
||||
"Can share" : "Can share",
|
||||
"Delete" : "Избриши",
|
||||
"Edit" : "Уреди",
|
||||
"Title" : "Наслов",
|
||||
"Upload attachment" : "Прикачи прилог",
|
||||
"Due date" : "До датум",
|
||||
"Description" : "Опис",
|
||||
"Attachments" : "Прилози",
|
||||
"Comments" : "Коментари",
|
||||
"Select Date" : "Избери датум",
|
||||
"Modified" : "Изменето",
|
||||
|
||||
@@ -12,16 +12,20 @@
|
||||
"Could not write file to disk" : "Неможе да се запишува на дискот",
|
||||
"A PHP extension stopped the file upload" : "PHP додаток го стопираше прикачувањето на датотеката",
|
||||
"Cancel" : "Откажи",
|
||||
"Drop your files to upload" : "Повлечи датотеки за да прикачите",
|
||||
"Details" : "Детали",
|
||||
"Sharing" : "Споделување",
|
||||
"Tags" : "Ознаки",
|
||||
"(Group)" : "(Група)",
|
||||
"Can edit" : "Може да се уредува",
|
||||
"Can share" : "Can share",
|
||||
"Delete" : "Избриши",
|
||||
"Edit" : "Уреди",
|
||||
"Title" : "Наслов",
|
||||
"Upload attachment" : "Прикачи прилог",
|
||||
"Due date" : "До датум",
|
||||
"Description" : "Опис",
|
||||
"Attachments" : "Прилози",
|
||||
"Comments" : "Коментари",
|
||||
"Select Date" : "Избери датум",
|
||||
"Modified" : "Изменето",
|
||||
|
||||
@@ -117,10 +117,10 @@ OC.L10N.register(
|
||||
"Reply" : "Svar",
|
||||
"Update" : "Oppdater",
|
||||
"(group)" : "(gruppe)",
|
||||
"Move card" : "Flytt kort",
|
||||
"Unarchive card" : "Hent kort fra arkiv",
|
||||
"Archive card" : "Arkiver kort",
|
||||
"Delete card" : "Slett kort",
|
||||
"Move card" : "Flytt kort",
|
||||
"seconds ago" : "sekunder siden",
|
||||
"Archived boards" : "Arkiverte tavler",
|
||||
"Shared with you" : "Delt med deg",
|
||||
|
||||
@@ -115,10 +115,10 @@
|
||||
"Reply" : "Svar",
|
||||
"Update" : "Oppdater",
|
||||
"(group)" : "(gruppe)",
|
||||
"Move card" : "Flytt kort",
|
||||
"Unarchive card" : "Hent kort fra arkiv",
|
||||
"Archive card" : "Arkiver kort",
|
||||
"Delete card" : "Slett kort",
|
||||
"Move card" : "Flytt kort",
|
||||
"seconds ago" : "sekunder siden",
|
||||
"Archived boards" : "Arkiverte tavler",
|
||||
"Shared with you" : "Delt med deg",
|
||||
|
||||
@@ -202,10 +202,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(kring)",
|
||||
"Assign to me" : "Aan mij toewijzen",
|
||||
"Unassign myself" : "Eigen toewijzing opheffen",
|
||||
"Move card" : "Verplaats kaart",
|
||||
"Unarchive card" : "Terughalen kaart uit archief",
|
||||
"Archive card" : "Archiveer kaart",
|
||||
"Delete card" : "Verwijderen kaart",
|
||||
"Move card" : "Verplaats kaart",
|
||||
"Move card to another board" : "Verplaats kaart naar een ander bord",
|
||||
"Select a list" : "Selecteer een lijst",
|
||||
"seconds ago" : "seconden geleden",
|
||||
|
||||
@@ -200,10 +200,10 @@
|
||||
"(circle)" : "(kring)",
|
||||
"Assign to me" : "Aan mij toewijzen",
|
||||
"Unassign myself" : "Eigen toewijzing opheffen",
|
||||
"Move card" : "Verplaats kaart",
|
||||
"Unarchive card" : "Terughalen kaart uit archief",
|
||||
"Archive card" : "Archiveer kaart",
|
||||
"Delete card" : "Verwijderen kaart",
|
||||
"Move card" : "Verplaats kaart",
|
||||
"Move card to another board" : "Verplaats kaart naar een ander bord",
|
||||
"Select a list" : "Selecteer een lijst",
|
||||
"seconds ago" : "seconden geleden",
|
||||
|
||||
@@ -146,6 +146,8 @@ OC.L10N.register(
|
||||
"Undo" : "Cofnij",
|
||||
"Deleted cards" : "Usunięte karty",
|
||||
"Share board with a user, group or circle …" : "Udostępnij tablicę użytkownikowi, grupie lub kręgowi…",
|
||||
"Searching for users, groups and circles …" : "Szukam użytkowników, grup i kręgów…",
|
||||
"No participants found" : "Nie znaleziono uczestników",
|
||||
"Board owner" : "Właściciel tablicy",
|
||||
"(Group)" : "(Grupa)",
|
||||
"(Circle)" : "(Krąg)",
|
||||
@@ -153,6 +155,7 @@ OC.L10N.register(
|
||||
"Can share" : "Może udostępnić",
|
||||
"Can manage" : "Może zarządzać",
|
||||
"Delete" : "Usuń",
|
||||
"Failed to create share with {displayName}" : "Nie udało się utworzyć udostępnienia dla {displayName}",
|
||||
"Add a new list" : "Dodaj nową listę",
|
||||
"Archive all cards" : "Zarchiwizuj wszystkie karty",
|
||||
"Delete list" : "Usuń listę",
|
||||
@@ -181,7 +184,7 @@ OC.L10N.register(
|
||||
"Remove due date" : "Usuń datę realizacji",
|
||||
"Description" : "Opis",
|
||||
"(Unsaved)" : "(Niezapisane)",
|
||||
"(Saving…)" : "(Zapisywanie...)",
|
||||
"(Saving…)" : "(Zapisywanie…)",
|
||||
"Formatting help" : "Pomoc przy formatowaniu",
|
||||
"Edit description" : "Edytuj opis",
|
||||
"View description" : "Zobacz opis",
|
||||
@@ -204,10 +207,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(krąg)",
|
||||
"Assign to me" : "Przydziel do mnie",
|
||||
"Unassign myself" : "Cofnij moje przypisanie",
|
||||
"Move card" : "Przenieś kartę",
|
||||
"Unarchive card" : "Nie archiwizuj karty",
|
||||
"Archive card" : "Zarchiwizuj kartę",
|
||||
"Delete card" : "Usuń kartę",
|
||||
"Move card" : "Przenieś kartę",
|
||||
"Move card to another board" : "Przenieś kartę na inną tablicę",
|
||||
"Select a list" : "Wybierz listę",
|
||||
"Card deleted" : "Karta usunięta",
|
||||
|
||||
@@ -144,6 +144,8 @@
|
||||
"Undo" : "Cofnij",
|
||||
"Deleted cards" : "Usunięte karty",
|
||||
"Share board with a user, group or circle …" : "Udostępnij tablicę użytkownikowi, grupie lub kręgowi…",
|
||||
"Searching for users, groups and circles …" : "Szukam użytkowników, grup i kręgów…",
|
||||
"No participants found" : "Nie znaleziono uczestników",
|
||||
"Board owner" : "Właściciel tablicy",
|
||||
"(Group)" : "(Grupa)",
|
||||
"(Circle)" : "(Krąg)",
|
||||
@@ -151,6 +153,7 @@
|
||||
"Can share" : "Może udostępnić",
|
||||
"Can manage" : "Może zarządzać",
|
||||
"Delete" : "Usuń",
|
||||
"Failed to create share with {displayName}" : "Nie udało się utworzyć udostępnienia dla {displayName}",
|
||||
"Add a new list" : "Dodaj nową listę",
|
||||
"Archive all cards" : "Zarchiwizuj wszystkie karty",
|
||||
"Delete list" : "Usuń listę",
|
||||
@@ -179,7 +182,7 @@
|
||||
"Remove due date" : "Usuń datę realizacji",
|
||||
"Description" : "Opis",
|
||||
"(Unsaved)" : "(Niezapisane)",
|
||||
"(Saving…)" : "(Zapisywanie...)",
|
||||
"(Saving…)" : "(Zapisywanie…)",
|
||||
"Formatting help" : "Pomoc przy formatowaniu",
|
||||
"Edit description" : "Edytuj opis",
|
||||
"View description" : "Zobacz opis",
|
||||
@@ -202,10 +205,10 @@
|
||||
"(circle)" : "(krąg)",
|
||||
"Assign to me" : "Przydziel do mnie",
|
||||
"Unassign myself" : "Cofnij moje przypisanie",
|
||||
"Move card" : "Przenieś kartę",
|
||||
"Unarchive card" : "Nie archiwizuj karty",
|
||||
"Archive card" : "Zarchiwizuj kartę",
|
||||
"Delete card" : "Usuń kartę",
|
||||
"Move card" : "Przenieś kartę",
|
||||
"Move card to another board" : "Przenieś kartę na inną tablicę",
|
||||
"Select a list" : "Wybierz listę",
|
||||
"Card deleted" : "Karta usunięta",
|
||||
|
||||
17
l10n/ps.js
17
l10n/ps.js
@@ -1,17 +0,0 @@
|
||||
OC.L10N.register(
|
||||
"deck",
|
||||
{
|
||||
"Personal" : "شخصي",
|
||||
"copy" : "کاپي",
|
||||
"Cancel" : "پرېښول",
|
||||
"Details" : "معلومات",
|
||||
"Tags" : "نښکې",
|
||||
"Can edit" : "سمون راوستی شي",
|
||||
"Delete" : "ړنګول",
|
||||
"Comments" : "تبصرې",
|
||||
"Modified" : "د بدلون نېټه",
|
||||
"Save" : "ساتل",
|
||||
"Shared with you" : "تاسې سره شريک شوي",
|
||||
"Today" : "نن"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
15
l10n/ps.json
15
l10n/ps.json
@@ -1,15 +0,0 @@
|
||||
{ "translations": {
|
||||
"Personal" : "شخصي",
|
||||
"copy" : "کاپي",
|
||||
"Cancel" : "پرېښول",
|
||||
"Details" : "معلومات",
|
||||
"Tags" : "نښکې",
|
||||
"Can edit" : "سمون راوستی شي",
|
||||
"Delete" : "ړنګول",
|
||||
"Comments" : "تبصرې",
|
||||
"Modified" : "د بدلون نېټه",
|
||||
"Save" : "ساتل",
|
||||
"Shared with you" : "تاسې سره شريک شوي",
|
||||
"Today" : "نن"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -146,6 +146,7 @@ OC.L10N.register(
|
||||
"Undo" : "Desfazer",
|
||||
"Deleted cards" : "Cartões excluídos",
|
||||
"Share board with a user, group or circle …" : "Compartilhar o painel com um usuário, grupo ou círculo...",
|
||||
"No participants found" : "Nenhum participante encontrado",
|
||||
"Board owner" : "Proprietário do painel",
|
||||
"(Group)" : "(Grupo)",
|
||||
"(Circle)" : "(Círculo)",
|
||||
@@ -153,6 +154,7 @@ OC.L10N.register(
|
||||
"Can share" : "Pode compartilhar",
|
||||
"Can manage" : "Pode gerenciar",
|
||||
"Delete" : "Excluir",
|
||||
"Failed to create share with {displayName}" : "Falha ao criar compartilhamento com {displayName}",
|
||||
"Add a new list" : "Adicionar nova lista",
|
||||
"Archive all cards" : "Arquivar todos os cartões",
|
||||
"Delete list" : "Excluir lista",
|
||||
@@ -204,10 +206,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(círculo)",
|
||||
"Assign to me" : "Atribuir a mim",
|
||||
"Unassign myself" : "Desatribuir-me",
|
||||
"Move card" : "Mover cartão",
|
||||
"Unarchive card" : "Desarquivar cartão",
|
||||
"Archive card" : "Arquivar cartão",
|
||||
"Delete card" : "Excluir cartão",
|
||||
"Move card" : "Mover cartão",
|
||||
"Move card to another board" : "Mover o cartão para outro painel",
|
||||
"Select a list" : "Selecione uma lista",
|
||||
"Card deleted" : "Cartão excluído",
|
||||
|
||||
@@ -144,6 +144,7 @@
|
||||
"Undo" : "Desfazer",
|
||||
"Deleted cards" : "Cartões excluídos",
|
||||
"Share board with a user, group or circle …" : "Compartilhar o painel com um usuário, grupo ou círculo...",
|
||||
"No participants found" : "Nenhum participante encontrado",
|
||||
"Board owner" : "Proprietário do painel",
|
||||
"(Group)" : "(Grupo)",
|
||||
"(Circle)" : "(Círculo)",
|
||||
@@ -151,6 +152,7 @@
|
||||
"Can share" : "Pode compartilhar",
|
||||
"Can manage" : "Pode gerenciar",
|
||||
"Delete" : "Excluir",
|
||||
"Failed to create share with {displayName}" : "Falha ao criar compartilhamento com {displayName}",
|
||||
"Add a new list" : "Adicionar nova lista",
|
||||
"Archive all cards" : "Arquivar todos os cartões",
|
||||
"Delete list" : "Excluir lista",
|
||||
@@ -202,10 +204,10 @@
|
||||
"(circle)" : "(círculo)",
|
||||
"Assign to me" : "Atribuir a mim",
|
||||
"Unassign myself" : "Desatribuir-me",
|
||||
"Move card" : "Mover cartão",
|
||||
"Unarchive card" : "Desarquivar cartão",
|
||||
"Archive card" : "Arquivar cartão",
|
||||
"Delete card" : "Excluir cartão",
|
||||
"Move card" : "Mover cartão",
|
||||
"Move card to another board" : "Mover o cartão para outro painel",
|
||||
"Select a list" : "Selecione uma lista",
|
||||
"Card deleted" : "Cartão excluído",
|
||||
|
||||
13
l10n/ru.js
13
l10n/ru.js
@@ -67,6 +67,7 @@ OC.L10N.register(
|
||||
"Deck" : "Карточки",
|
||||
"Changes in the <strong>Deck app</strong>" : "Изменения в <strong>приложении Карточки</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Добавлен <strong>комментарий</strong> к карточке",
|
||||
"Upcoming cards" : "Ожидающие выполнения карточки",
|
||||
"Personal" : "Личное",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Вам назначена карточка «%s» с рабочей доски «%s» пользователем %s.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} назначил Вам карточку «%s» из «%s».",
|
||||
@@ -134,6 +135,8 @@ OC.L10N.register(
|
||||
"Toggle compact mode" : "Выбор компактного или обычного режима просмотра",
|
||||
"Details" : "Свойства",
|
||||
"Loading board" : "Загрузка доски",
|
||||
"No lists available" : "Нет ни одного списка",
|
||||
"Create a new list to add cards to this board" : "Создайте список чтобы добавить карточки на эту доску",
|
||||
"Board not found" : "Доска не найдена",
|
||||
"Sharing" : "Общий доступ",
|
||||
"Tags" : "Метки",
|
||||
@@ -157,6 +160,7 @@ OC.L10N.register(
|
||||
"Archive all cards in this list" : "Переместить в архив все карточки текущего списка",
|
||||
"Add a new card" : "Создать карточку",
|
||||
"Card name" : "Название карточки",
|
||||
"List deleted" : "Список удалён",
|
||||
"Edit" : "Редактировать",
|
||||
"Add a new tag" : "Добавить метку",
|
||||
"title and color value must be provided" : "необходимо указать цвет и название",
|
||||
@@ -188,6 +192,7 @@ OC.L10N.register(
|
||||
"Select Date" : "Выберите дату",
|
||||
"Modified" : "Изменено",
|
||||
"Created" : "Создано",
|
||||
"The title cannot be empty." : "Название не может быть пустым",
|
||||
"No comments yet. Begin the discussion!" : "Комментарии отсутствуют, начните обсуждение!",
|
||||
"Save" : "Сохранить",
|
||||
"The comment cannot be empty." : "Комментарий не может быть пустым.",
|
||||
@@ -199,19 +204,22 @@ OC.L10N.register(
|
||||
"(circle)" : "(круг)",
|
||||
"Assign to me" : "Назначить себе",
|
||||
"Unassign myself" : "Отказаться от назначения",
|
||||
"Move card" : "Переместить карточку",
|
||||
"Unarchive card" : "Восстановить из архива",
|
||||
"Archive card" : "Переместить в архив",
|
||||
"Delete card" : "Удалить",
|
||||
"Move card" : "Переместить карточку",
|
||||
"Move card to another board" : "Переместить карточку на другую доску",
|
||||
"Select a list" : "Выберите список",
|
||||
"Card deleted" : "Карточка удалена",
|
||||
"seconds ago" : "несколько секунд назад",
|
||||
"All boards" : "Все доски",
|
||||
"Archived boards" : "Архив досок",
|
||||
"Shared with you" : "Предоставленные вам",
|
||||
"Use modal card view" : "Использовать модальный режим просмотра карточек",
|
||||
"Show boards in calendar/tasks" : "Показывать карточки в календаре и задачах",
|
||||
"Limit deck usage of groups" : "Разрешить использовать приложение Карточки только участникам заданных групп",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Создание собственных рабочих досок пользователям, не входящим в заданные группы, будет заблокировано. Тем не менее, такие пользователи смогут продолжить работать с общими досками, к которым у них есть доступ. ",
|
||||
"Board name" : "Название доски",
|
||||
"Edit board" : "Редактировать",
|
||||
"Clone board " : "Копировать",
|
||||
"Unarchive board " : "Восстановить из архива",
|
||||
@@ -222,10 +230,13 @@ OC.L10N.register(
|
||||
"An error occurred" : "Произошла ошибка",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Подтвердите удаление доски «{title}»; это действие приведёт к удалению также все данных, принадлежащих этой доске.",
|
||||
"Delete the board?" : "Удалить доску?",
|
||||
"Loading filtered view" : "Выполняется отбор",
|
||||
"Today" : "Сегодня",
|
||||
"Tomorrow" : "Завтра",
|
||||
"This week" : "Эта неделя",
|
||||
"No due" : "Без назначенной даты",
|
||||
"No upcoming cards" : "Отсутствуют карточки, ожидающие выполнения",
|
||||
"upcoming cards" : "карточки, ожидающие выполнения",
|
||||
"Link to a board" : "Ссылка на доску",
|
||||
"Link to a card" : "Ссылка на карточку",
|
||||
"Something went wrong" : "Неизвестная ошибка",
|
||||
|
||||
13
l10n/ru.json
13
l10n/ru.json
@@ -65,6 +65,7 @@
|
||||
"Deck" : "Карточки",
|
||||
"Changes in the <strong>Deck app</strong>" : "Изменения в <strong>приложении Карточки</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Добавлен <strong>комментарий</strong> к карточке",
|
||||
"Upcoming cards" : "Ожидающие выполнения карточки",
|
||||
"Personal" : "Личное",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Вам назначена карточка «%s» с рабочей доски «%s» пользователем %s.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "{user} назначил Вам карточку «%s» из «%s».",
|
||||
@@ -132,6 +133,8 @@
|
||||
"Toggle compact mode" : "Выбор компактного или обычного режима просмотра",
|
||||
"Details" : "Свойства",
|
||||
"Loading board" : "Загрузка доски",
|
||||
"No lists available" : "Нет ни одного списка",
|
||||
"Create a new list to add cards to this board" : "Создайте список чтобы добавить карточки на эту доску",
|
||||
"Board not found" : "Доска не найдена",
|
||||
"Sharing" : "Общий доступ",
|
||||
"Tags" : "Метки",
|
||||
@@ -155,6 +158,7 @@
|
||||
"Archive all cards in this list" : "Переместить в архив все карточки текущего списка",
|
||||
"Add a new card" : "Создать карточку",
|
||||
"Card name" : "Название карточки",
|
||||
"List deleted" : "Список удалён",
|
||||
"Edit" : "Редактировать",
|
||||
"Add a new tag" : "Добавить метку",
|
||||
"title and color value must be provided" : "необходимо указать цвет и название",
|
||||
@@ -186,6 +190,7 @@
|
||||
"Select Date" : "Выберите дату",
|
||||
"Modified" : "Изменено",
|
||||
"Created" : "Создано",
|
||||
"The title cannot be empty." : "Название не может быть пустым",
|
||||
"No comments yet. Begin the discussion!" : "Комментарии отсутствуют, начните обсуждение!",
|
||||
"Save" : "Сохранить",
|
||||
"The comment cannot be empty." : "Комментарий не может быть пустым.",
|
||||
@@ -197,19 +202,22 @@
|
||||
"(circle)" : "(круг)",
|
||||
"Assign to me" : "Назначить себе",
|
||||
"Unassign myself" : "Отказаться от назначения",
|
||||
"Move card" : "Переместить карточку",
|
||||
"Unarchive card" : "Восстановить из архива",
|
||||
"Archive card" : "Переместить в архив",
|
||||
"Delete card" : "Удалить",
|
||||
"Move card" : "Переместить карточку",
|
||||
"Move card to another board" : "Переместить карточку на другую доску",
|
||||
"Select a list" : "Выберите список",
|
||||
"Card deleted" : "Карточка удалена",
|
||||
"seconds ago" : "несколько секунд назад",
|
||||
"All boards" : "Все доски",
|
||||
"Archived boards" : "Архив досок",
|
||||
"Shared with you" : "Предоставленные вам",
|
||||
"Use modal card view" : "Использовать модальный режим просмотра карточек",
|
||||
"Show boards in calendar/tasks" : "Показывать карточки в календаре и задачах",
|
||||
"Limit deck usage of groups" : "Разрешить использовать приложение Карточки только участникам заданных групп",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Создание собственных рабочих досок пользователям, не входящим в заданные группы, будет заблокировано. Тем не менее, такие пользователи смогут продолжить работать с общими досками, к которым у них есть доступ. ",
|
||||
"Board name" : "Название доски",
|
||||
"Edit board" : "Редактировать",
|
||||
"Clone board " : "Копировать",
|
||||
"Unarchive board " : "Восстановить из архива",
|
||||
@@ -220,10 +228,13 @@
|
||||
"An error occurred" : "Произошла ошибка",
|
||||
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Подтвердите удаление доски «{title}»; это действие приведёт к удалению также все данных, принадлежащих этой доске.",
|
||||
"Delete the board?" : "Удалить доску?",
|
||||
"Loading filtered view" : "Выполняется отбор",
|
||||
"Today" : "Сегодня",
|
||||
"Tomorrow" : "Завтра",
|
||||
"This week" : "Эта неделя",
|
||||
"No due" : "Без назначенной даты",
|
||||
"No upcoming cards" : "Отсутствуют карточки, ожидающие выполнения",
|
||||
"upcoming cards" : "карточки, ожидающие выполнения",
|
||||
"Link to a board" : "Ссылка на доску",
|
||||
"Link to a card" : "Ссылка на карточку",
|
||||
"Something went wrong" : "Неизвестная ошибка",
|
||||
|
||||
@@ -198,10 +198,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(okruh)",
|
||||
"Assign to me" : "Priradiť mne",
|
||||
"Unassign myself" : "Zrušiť priradenie mne",
|
||||
"Move card" : "Presunúť kartu",
|
||||
"Unarchive card" : "Zrušiť archiváciu karty",
|
||||
"Archive card" : "Archivovať kartu",
|
||||
"Delete card" : "Zmazať kartu",
|
||||
"Move card" : "Presunúť kartu",
|
||||
"Move card to another board" : "Presunúť kartu na inú nástenku",
|
||||
"Select a list" : "Vybrať zoznam",
|
||||
"seconds ago" : "pred niekoľkými sekundami",
|
||||
|
||||
@@ -196,10 +196,10 @@
|
||||
"(circle)" : "(okruh)",
|
||||
"Assign to me" : "Priradiť mne",
|
||||
"Unassign myself" : "Zrušiť priradenie mne",
|
||||
"Move card" : "Presunúť kartu",
|
||||
"Unarchive card" : "Zrušiť archiváciu karty",
|
||||
"Archive card" : "Archivovať kartu",
|
||||
"Delete card" : "Zmazať kartu",
|
||||
"Move card" : "Presunúť kartu",
|
||||
"Move card to another board" : "Presunúť kartu na inú nástenku",
|
||||
"Select a list" : "Vybrať zoznam",
|
||||
"seconds ago" : "pred niekoľkými sekundami",
|
||||
|
||||
10
l10n/sl.js
10
l10n/sl.js
@@ -51,8 +51,8 @@ OC.L10N.register(
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} dodeli nalogo {card} v zbirki {board} → {assigneduser}",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Odvzamete nalogo {card} v zbirki {board} ✕ {assigneduser}",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} odvzame nalogo {card} v zbirki {board} ✕ {assigneduser}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Premaknete nalogo {card} iz seznama nalog {stackBefore} v {stack}",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} premakne nalogo {card} iz seznama nalog {stackBefore} v {stack}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Premaknete nalogo {card} s seznama nalog {stackBefore} v {stack}",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} premakne nalogo {card} s seznama nalog {stackBefore} v {stack}",
|
||||
"You have added the attachment {attachment} to card {card}" : "Dodate prilogo {attachment} k nalogi {card}",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{user} doda prilogo {attachment} k nalogi {card}",
|
||||
"You have updated the attachment {attachment} on card {card}" : "Posodobite prilogo {attachment} v nalogi {card}",
|
||||
@@ -63,7 +63,7 @@ OC.L10N.register(
|
||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} obnovi prilogo {attachment} naloge {card}",
|
||||
"You have commented on card {card}" : "Vpišete opombo k nalogi {card}",
|
||||
"{user} has commented on card {card}" : "{user} vpiše opombo k nalogi {card}",
|
||||
"A <strong>card description</strong> inside the Deck app has been changed" : "Spremenjen je<strong>opis ene izmed nalog</strong> v programu Deck",
|
||||
"A <strong>card description</strong> inside the Deck app has been changed" : "V programu Deck je spremenjen <strong>opis ene izmed nalog</strong>",
|
||||
"Deck" : "Deck",
|
||||
"Changes in the <strong>Deck app</strong>" : "Spremembe v programu <strong>Deck</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Nalogi je dodana nova <strong>opomba</strong>",
|
||||
@@ -146,6 +146,7 @@ OC.L10N.register(
|
||||
"Undo" : "Razveljavi",
|
||||
"Deleted cards" : "Izbrisane naloge",
|
||||
"Share board with a user, group or circle …" : "Souporaba z uporabniki, skupinami ali krogi ...",
|
||||
"No participants found" : "Ni zaznanih udeleženev",
|
||||
"Board owner" : "Lastnik zbirke",
|
||||
"(Group)" : "(Skupina)",
|
||||
"(Circle)" : "(Krog)",
|
||||
@@ -153,6 +154,7 @@ OC.L10N.register(
|
||||
"Can share" : "Lahko omogoči souporabo",
|
||||
"Can manage" : "Lahko upravlja",
|
||||
"Delete" : "Izbriši",
|
||||
"Failed to create share with {displayName}" : "Souporaba z uporabnikom {displayName} je spodletela",
|
||||
"Add a new list" : "Dodaj nov seznam",
|
||||
"Archive all cards" : "Arhiviraj vse kartice",
|
||||
"Delete list" : "Izbriši seznam",
|
||||
@@ -204,10 +206,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(krog)",
|
||||
"Assign to me" : "Nalogo dodeli meni",
|
||||
"Unassign myself" : "Odstrani me z naloge",
|
||||
"Move card" : "Premakni nalogo",
|
||||
"Unarchive card" : "Povrni nalogo",
|
||||
"Archive card" : "Arhiviraj nalogo",
|
||||
"Delete card" : "Izbriši nalogo",
|
||||
"Move card" : "Premakni nalogo",
|
||||
"Move card to another board" : "Premakni nalogo v drugo zbirko",
|
||||
"Select a list" : "Izbor seznama",
|
||||
"Card deleted" : "Naloga je izbrisana",
|
||||
|
||||
10
l10n/sl.json
10
l10n/sl.json
@@ -49,8 +49,8 @@
|
||||
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} dodeli nalogo {card} v zbirki {board} → {assigneduser}",
|
||||
"You have unassigned {assigneduser} from card {card} on board {board}" : "Odvzamete nalogo {card} v zbirki {board} ✕ {assigneduser}",
|
||||
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} odvzame nalogo {card} v zbirki {board} ✕ {assigneduser}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Premaknete nalogo {card} iz seznama nalog {stackBefore} v {stack}",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} premakne nalogo {card} iz seznama nalog {stackBefore} v {stack}",
|
||||
"You have moved the card {card} from list {stackBefore} to {stack}" : "Premaknete nalogo {card} s seznama nalog {stackBefore} v {stack}",
|
||||
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} premakne nalogo {card} s seznama nalog {stackBefore} v {stack}",
|
||||
"You have added the attachment {attachment} to card {card}" : "Dodate prilogo {attachment} k nalogi {card}",
|
||||
"{user} has added the attachment {attachment} to card {card}" : "{user} doda prilogo {attachment} k nalogi {card}",
|
||||
"You have updated the attachment {attachment} on card {card}" : "Posodobite prilogo {attachment} v nalogi {card}",
|
||||
@@ -61,7 +61,7 @@
|
||||
"{user} has restored the attachment {attachment} to card {card}" : "{user} obnovi prilogo {attachment} naloge {card}",
|
||||
"You have commented on card {card}" : "Vpišete opombo k nalogi {card}",
|
||||
"{user} has commented on card {card}" : "{user} vpiše opombo k nalogi {card}",
|
||||
"A <strong>card description</strong> inside the Deck app has been changed" : "Spremenjen je<strong>opis ene izmed nalog</strong> v programu Deck",
|
||||
"A <strong>card description</strong> inside the Deck app has been changed" : "V programu Deck je spremenjen <strong>opis ene izmed nalog</strong>",
|
||||
"Deck" : "Deck",
|
||||
"Changes in the <strong>Deck app</strong>" : "Spremembe v programu <strong>Deck</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Nalogi je dodana nova <strong>opomba</strong>",
|
||||
@@ -144,6 +144,7 @@
|
||||
"Undo" : "Razveljavi",
|
||||
"Deleted cards" : "Izbrisane naloge",
|
||||
"Share board with a user, group or circle …" : "Souporaba z uporabniki, skupinami ali krogi ...",
|
||||
"No participants found" : "Ni zaznanih udeleženev",
|
||||
"Board owner" : "Lastnik zbirke",
|
||||
"(Group)" : "(Skupina)",
|
||||
"(Circle)" : "(Krog)",
|
||||
@@ -151,6 +152,7 @@
|
||||
"Can share" : "Lahko omogoči souporabo",
|
||||
"Can manage" : "Lahko upravlja",
|
||||
"Delete" : "Izbriši",
|
||||
"Failed to create share with {displayName}" : "Souporaba z uporabnikom {displayName} je spodletela",
|
||||
"Add a new list" : "Dodaj nov seznam",
|
||||
"Archive all cards" : "Arhiviraj vse kartice",
|
||||
"Delete list" : "Izbriši seznam",
|
||||
@@ -202,10 +204,10 @@
|
||||
"(circle)" : "(krog)",
|
||||
"Assign to me" : "Nalogo dodeli meni",
|
||||
"Unassign myself" : "Odstrani me z naloge",
|
||||
"Move card" : "Premakni nalogo",
|
||||
"Unarchive card" : "Povrni nalogo",
|
||||
"Archive card" : "Arhiviraj nalogo",
|
||||
"Delete card" : "Izbriši nalogo",
|
||||
"Move card" : "Premakni nalogo",
|
||||
"Move card to another board" : "Premakni nalogo v drugo zbirko",
|
||||
"Select a list" : "Izbor seznama",
|
||||
"Card deleted" : "Naloga je izbrisana",
|
||||
|
||||
16
l10n/sr.js
16
l10n/sr.js
@@ -67,6 +67,7 @@ OC.L10N.register(
|
||||
"Deck" : "Deck",
|
||||
"Changes in the <strong>Deck app</strong>" : "Измене у <strong>Deck апликацији</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Направљен је <strong>коментар</strong> на картици",
|
||||
"Upcoming cards" : "Предстојеће картице",
|
||||
"Personal" : "Лично",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Корисник %s Вам је доделио картицу „%s“ са табле „%s“.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "Корисник {user} Вам је доделио картицу „%s“ са табле „%s“.",
|
||||
@@ -145,6 +146,7 @@ OC.L10N.register(
|
||||
"Undo" : "Опозови",
|
||||
"Deleted cards" : "Обрисане картице",
|
||||
"Share board with a user, group or circle …" : "Подели таблу са корисником, групом или кругом…",
|
||||
"No participants found" : "Нема нађених учесника",
|
||||
"Board owner" : "Власник табле",
|
||||
"(Group)" : "(група)",
|
||||
"(Circle)" : "(Круг)",
|
||||
@@ -152,12 +154,15 @@ OC.L10N.register(
|
||||
"Can share" : "Може да дели",
|
||||
"Can manage" : "Може да управља",
|
||||
"Delete" : "Избриши",
|
||||
"Failed to create share with {displayName}" : "Грешка у прављењу дељења са {displayName}",
|
||||
"Add a new list" : "Додај нови списак",
|
||||
"Archive all cards" : "Архивирај све картице",
|
||||
"Delete list" : "Обриши списак",
|
||||
"Add card" : "Додај картицу",
|
||||
"Archive all cards in this list" : "Архивирај све картице са овог списка",
|
||||
"Add a new card" : "Додај нову картицу",
|
||||
"Card name" : "Име картице",
|
||||
"List deleted" : "Листа обрисана",
|
||||
"Edit" : "Измени",
|
||||
"Add a new tag" : "Додај нову ознаку",
|
||||
"title and color value must be provided" : "морају се дати вредности за наслов и боју",
|
||||
@@ -167,6 +172,8 @@ OC.L10N.register(
|
||||
"Add this attachment" : "Додај овај прилог",
|
||||
"Delete Attachment" : "Обриши прилог",
|
||||
"Restore Attachment" : "Поврати прилог",
|
||||
"Open in sidebar view" : "Отвори у бочном прегледу",
|
||||
"Open in bigger view" : "Отвори на већем приказу",
|
||||
"Assign a tag to this card…" : "Додели ознаку овој картици…",
|
||||
"Assign to users" : "Додели корисницима",
|
||||
"Assign to users/groups/circles" : "Додели корисницима/групама/круговима",
|
||||
@@ -187,6 +194,7 @@ OC.L10N.register(
|
||||
"Select Date" : "Одаберите датум",
|
||||
"Modified" : "Измењен",
|
||||
"Created" : "Направљен",
|
||||
"The title cannot be empty." : "Наслов не може бити празан.",
|
||||
"No comments yet. Begin the discussion!" : "Нема још коментара. Започните дискусију!",
|
||||
"Save" : "Сачувај",
|
||||
"The comment cannot be empty." : "Коментар не може да буде празан.",
|
||||
@@ -198,18 +206,22 @@ OC.L10N.register(
|
||||
"(circle)" : "(круг)",
|
||||
"Assign to me" : "Додели мени",
|
||||
"Unassign myself" : "Склони са мене",
|
||||
"Move card" : "Премести картицу",
|
||||
"Unarchive card" : "Врати картицу из архиве",
|
||||
"Archive card" : "Архивирај картицу",
|
||||
"Delete card" : "Обриши картицу",
|
||||
"Move card" : "Премести картицу",
|
||||
"Move card to another board" : "Помери картицу на другу таблу",
|
||||
"Select a list" : "Одабери списак",
|
||||
"Card deleted" : "Картица обрисана",
|
||||
"seconds ago" : "пре неколико секунди",
|
||||
"All boards" : "Све табле",
|
||||
"Archived boards" : "Архивиране табле",
|
||||
"Shared with you" : "Дељено са Вама",
|
||||
"Use modal card view" : "Користи модални приказ картица",
|
||||
"Show boards in calendar/tasks" : "Прикажи табле у календару/задацима",
|
||||
"Limit deck usage of groups" : "Ограничи употребу шпила на групе",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ограничавање Deck апликације ће блокирати кориснике који нису део одабраних група да креирају своје табле. Корисници ће и даље моћи да раде на таблама које су подељене са њима.",
|
||||
"Board name" : "Име табле",
|
||||
"Edit board" : "Измени таблу",
|
||||
"Clone board " : "Клонирај таблу",
|
||||
"Unarchive board " : "Врати таблу из архиве",
|
||||
@@ -225,6 +237,8 @@ OC.L10N.register(
|
||||
"Tomorrow" : "сутра",
|
||||
"This week" : "Ове недеље",
|
||||
"No due" : "Нема рокова",
|
||||
"No upcoming cards" : "Нема предстојећих картица",
|
||||
"upcoming cards" : "предстојеће картице",
|
||||
"Link to a board" : "Веза ка табли",
|
||||
"Link to a card" : "Веза ка картици",
|
||||
"Something went wrong" : "Нешто је пошло наопако",
|
||||
|
||||
16
l10n/sr.json
16
l10n/sr.json
@@ -65,6 +65,7 @@
|
||||
"Deck" : "Deck",
|
||||
"Changes in the <strong>Deck app</strong>" : "Измене у <strong>Deck апликацији</strong>",
|
||||
"A <strong>comment</strong> was created on a card" : "Направљен је <strong>коментар</strong> на картици",
|
||||
"Upcoming cards" : "Предстојеће картице",
|
||||
"Personal" : "Лично",
|
||||
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Корисник %s Вам је доделио картицу „%s“ са табле „%s“.",
|
||||
"{user} has assigned the card \"%s\" on \"%s\" to you." : "Корисник {user} Вам је доделио картицу „%s“ са табле „%s“.",
|
||||
@@ -143,6 +144,7 @@
|
||||
"Undo" : "Опозови",
|
||||
"Deleted cards" : "Обрисане картице",
|
||||
"Share board with a user, group or circle …" : "Подели таблу са корисником, групом или кругом…",
|
||||
"No participants found" : "Нема нађених учесника",
|
||||
"Board owner" : "Власник табле",
|
||||
"(Group)" : "(група)",
|
||||
"(Circle)" : "(Круг)",
|
||||
@@ -150,12 +152,15 @@
|
||||
"Can share" : "Може да дели",
|
||||
"Can manage" : "Може да управља",
|
||||
"Delete" : "Избриши",
|
||||
"Failed to create share with {displayName}" : "Грешка у прављењу дељења са {displayName}",
|
||||
"Add a new list" : "Додај нови списак",
|
||||
"Archive all cards" : "Архивирај све картице",
|
||||
"Delete list" : "Обриши списак",
|
||||
"Add card" : "Додај картицу",
|
||||
"Archive all cards in this list" : "Архивирај све картице са овог списка",
|
||||
"Add a new card" : "Додај нову картицу",
|
||||
"Card name" : "Име картице",
|
||||
"List deleted" : "Листа обрисана",
|
||||
"Edit" : "Измени",
|
||||
"Add a new tag" : "Додај нову ознаку",
|
||||
"title and color value must be provided" : "морају се дати вредности за наслов и боју",
|
||||
@@ -165,6 +170,8 @@
|
||||
"Add this attachment" : "Додај овај прилог",
|
||||
"Delete Attachment" : "Обриши прилог",
|
||||
"Restore Attachment" : "Поврати прилог",
|
||||
"Open in sidebar view" : "Отвори у бочном прегледу",
|
||||
"Open in bigger view" : "Отвори на већем приказу",
|
||||
"Assign a tag to this card…" : "Додели ознаку овој картици…",
|
||||
"Assign to users" : "Додели корисницима",
|
||||
"Assign to users/groups/circles" : "Додели корисницима/групама/круговима",
|
||||
@@ -185,6 +192,7 @@
|
||||
"Select Date" : "Одаберите датум",
|
||||
"Modified" : "Измењен",
|
||||
"Created" : "Направљен",
|
||||
"The title cannot be empty." : "Наслов не може бити празан.",
|
||||
"No comments yet. Begin the discussion!" : "Нема још коментара. Започните дискусију!",
|
||||
"Save" : "Сачувај",
|
||||
"The comment cannot be empty." : "Коментар не може да буде празан.",
|
||||
@@ -196,18 +204,22 @@
|
||||
"(circle)" : "(круг)",
|
||||
"Assign to me" : "Додели мени",
|
||||
"Unassign myself" : "Склони са мене",
|
||||
"Move card" : "Премести картицу",
|
||||
"Unarchive card" : "Врати картицу из архиве",
|
||||
"Archive card" : "Архивирај картицу",
|
||||
"Delete card" : "Обриши картицу",
|
||||
"Move card" : "Премести картицу",
|
||||
"Move card to another board" : "Помери картицу на другу таблу",
|
||||
"Select a list" : "Одабери списак",
|
||||
"Card deleted" : "Картица обрисана",
|
||||
"seconds ago" : "пре неколико секунди",
|
||||
"All boards" : "Све табле",
|
||||
"Archived boards" : "Архивиране табле",
|
||||
"Shared with you" : "Дељено са Вама",
|
||||
"Use modal card view" : "Користи модални приказ картица",
|
||||
"Show boards in calendar/tasks" : "Прикажи табле у календару/задацима",
|
||||
"Limit deck usage of groups" : "Ограничи употребу шпила на групе",
|
||||
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ограничавање Deck апликације ће блокирати кориснике који нису део одабраних група да креирају своје табле. Корисници ће и даље моћи да раде на таблама које су подељене са њима.",
|
||||
"Board name" : "Име табле",
|
||||
"Edit board" : "Измени таблу",
|
||||
"Clone board " : "Клонирај таблу",
|
||||
"Unarchive board " : "Врати таблу из архиве",
|
||||
@@ -223,6 +235,8 @@
|
||||
"Tomorrow" : "сутра",
|
||||
"This week" : "Ове недеље",
|
||||
"No due" : "Нема рокова",
|
||||
"No upcoming cards" : "Нема предстојећих картица",
|
||||
"upcoming cards" : "предстојеће картице",
|
||||
"Link to a board" : "Веза ка табли",
|
||||
"Link to a card" : "Веза ка картици",
|
||||
"Something went wrong" : "Нешто је пошло наопако",
|
||||
|
||||
@@ -22,9 +22,9 @@ OC.L10N.register(
|
||||
"Save" : "Sačuvaj",
|
||||
"Reply" : "Odgovori",
|
||||
"Update" : "Ažuriraj",
|
||||
"Move card" : "Premesti karticu",
|
||||
"Archive card" : "Arhiviraj karticu",
|
||||
"Delete card" : "Obriši karticu",
|
||||
"Move card" : "Premesti karticu",
|
||||
"seconds ago" : "pre nekoliko sekundi",
|
||||
"Shared with you" : "Shared with you",
|
||||
"Edit board" : "Izmeni tablu",
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
"Save" : "Sačuvaj",
|
||||
"Reply" : "Odgovori",
|
||||
"Update" : "Ažuriraj",
|
||||
"Move card" : "Premesti karticu",
|
||||
"Archive card" : "Arhiviraj karticu",
|
||||
"Delete card" : "Obriši karticu",
|
||||
"Move card" : "Premesti karticu",
|
||||
"seconds ago" : "pre nekoliko sekundi",
|
||||
"Shared with you" : "Shared with you",
|
||||
"Edit board" : "Izmeni tablu",
|
||||
|
||||
@@ -201,10 +201,10 @@ OC.L10N.register(
|
||||
"(circle)" : "(cirkel)",
|
||||
"Assign to me" : "Tilldela till mig",
|
||||
"Unassign myself" : "Ta bort från mig själv",
|
||||
"Move card" : "Flytta kort",
|
||||
"Unarchive card" : "Avarkivera kort",
|
||||
"Archive card" : "Arkivera kort",
|
||||
"Delete card" : "Ta bort kort",
|
||||
"Move card" : "Flytta kort",
|
||||
"Move card to another board" : "Flytta kort till en annan tavla",
|
||||
"Select a list" : "Välj en lista",
|
||||
"seconds ago" : "sekunder sedan",
|
||||
|
||||
@@ -199,10 +199,10 @@
|
||||
"(circle)" : "(cirkel)",
|
||||
"Assign to me" : "Tilldela till mig",
|
||||
"Unassign myself" : "Ta bort från mig själv",
|
||||
"Move card" : "Flytta kort",
|
||||
"Unarchive card" : "Avarkivera kort",
|
||||
"Archive card" : "Arkivera kort",
|
||||
"Delete card" : "Ta bort kort",
|
||||
"Move card" : "Flytta kort",
|
||||
"Move card to another board" : "Flytta kort till en annan tavla",
|
||||
"Select a list" : "Välj en lista",
|
||||
"seconds ago" : "sekunder sedan",
|
||||
|
||||
@@ -146,6 +146,8 @@ OC.L10N.register(
|
||||
"Undo" : "Geri al",
|
||||
"Deleted cards" : "Silinmiş kartlar",
|
||||
"Share board with a user, group or circle …" : "Panoyu kullanıcılar, gruplar ve çevrelerle paylaş …",
|
||||
"Searching for users, groups and circles …" : "Kullanıcılar, gruplar ve çevreler aranıyor …",
|
||||
"No participants found" : "Herhangi bir katılımcı bulunamadı",
|
||||
"Board owner" : "Pano sahibi",
|
||||
"(Group)" : "(Grup)",
|
||||
"(Circle)" : "(Çevre)",
|
||||
@@ -153,6 +155,7 @@ OC.L10N.register(
|
||||
"Can share" : "Paylaşabilir",
|
||||
"Can manage" : "Yönetebilir",
|
||||
"Delete" : "Sil",
|
||||
"Failed to create share with {displayName}" : "{displayName} ile paylaşılamadı",
|
||||
"Add a new list" : "Yeni liste ekle",
|
||||
"Archive all cards" : "Tüm kartları arşivle",
|
||||
"Delete list" : "Listeyi sil",
|
||||
@@ -160,6 +163,7 @@ OC.L10N.register(
|
||||
"Archive all cards in this list" : "Bu listedeki tüm kartları arşivle",
|
||||
"Add a new card" : "Yeni kart ekle",
|
||||
"Card name" : "Kart adı",
|
||||
"List deleted" : "Liste silindi",
|
||||
"Edit" : "Düzenle",
|
||||
"Add a new tag" : "Yeni etiket ekle",
|
||||
"title and color value must be provided" : "başlık ve renk değeri belirtilmelidir",
|
||||
@@ -203,12 +207,13 @@ OC.L10N.register(
|
||||
"(circle)" : "(çevre)",
|
||||
"Assign to me" : "Bana ata",
|
||||
"Unassign myself" : "Kendi atamamı kaldır",
|
||||
"Move card" : "Kartı taşı",
|
||||
"Unarchive card" : "Kartı arşivden çıkar",
|
||||
"Archive card" : "Kartı arşivle",
|
||||
"Delete card" : "Kartı sil",
|
||||
"Move card" : "Kartı taşı",
|
||||
"Move card to another board" : "Kartı başka bir panoya taşı",
|
||||
"Select a list" : "Bir liste seçin",
|
||||
"Card deleted" : "Kart silindi",
|
||||
"seconds ago" : "saniye önce",
|
||||
"All boards" : "Tüm panolar",
|
||||
"Archived boards" : "Arşivlenmiş panolar",
|
||||
|
||||
@@ -144,6 +144,8 @@
|
||||
"Undo" : "Geri al",
|
||||
"Deleted cards" : "Silinmiş kartlar",
|
||||
"Share board with a user, group or circle …" : "Panoyu kullanıcılar, gruplar ve çevrelerle paylaş …",
|
||||
"Searching for users, groups and circles …" : "Kullanıcılar, gruplar ve çevreler aranıyor …",
|
||||
"No participants found" : "Herhangi bir katılımcı bulunamadı",
|
||||
"Board owner" : "Pano sahibi",
|
||||
"(Group)" : "(Grup)",
|
||||
"(Circle)" : "(Çevre)",
|
||||
@@ -151,6 +153,7 @@
|
||||
"Can share" : "Paylaşabilir",
|
||||
"Can manage" : "Yönetebilir",
|
||||
"Delete" : "Sil",
|
||||
"Failed to create share with {displayName}" : "{displayName} ile paylaşılamadı",
|
||||
"Add a new list" : "Yeni liste ekle",
|
||||
"Archive all cards" : "Tüm kartları arşivle",
|
||||
"Delete list" : "Listeyi sil",
|
||||
@@ -158,6 +161,7 @@
|
||||
"Archive all cards in this list" : "Bu listedeki tüm kartları arşivle",
|
||||
"Add a new card" : "Yeni kart ekle",
|
||||
"Card name" : "Kart adı",
|
||||
"List deleted" : "Liste silindi",
|
||||
"Edit" : "Düzenle",
|
||||
"Add a new tag" : "Yeni etiket ekle",
|
||||
"title and color value must be provided" : "başlık ve renk değeri belirtilmelidir",
|
||||
@@ -201,12 +205,13 @@
|
||||
"(circle)" : "(çevre)",
|
||||
"Assign to me" : "Bana ata",
|
||||
"Unassign myself" : "Kendi atamamı kaldır",
|
||||
"Move card" : "Kartı taşı",
|
||||
"Unarchive card" : "Kartı arşivden çıkar",
|
||||
"Archive card" : "Kartı arşivle",
|
||||
"Delete card" : "Kartı sil",
|
||||
"Move card" : "Kartı taşı",
|
||||
"Move card to another board" : "Kartı başka bir panoya taşı",
|
||||
"Select a list" : "Bir liste seçin",
|
||||
"Card deleted" : "Kart silindi",
|
||||
"seconds ago" : "saniye önce",
|
||||
"All boards" : "Tüm panolar",
|
||||
"Archived boards" : "Arşivlenmiş panolar",
|
||||
|
||||
@@ -125,10 +125,10 @@ OC.L10N.register(
|
||||
"(group)" : "(група)",
|
||||
"(circle)" : "(коло)",
|
||||
"Assign to me" : "Призначити мені",
|
||||
"Move card" : "Пересунути картку",
|
||||
"Unarchive card" : "Розархівувати картку",
|
||||
"Archive card" : "Архівувати картку",
|
||||
"Delete card" : "Вилучити картку",
|
||||
"Move card" : "Пересунути картку",
|
||||
"Move card to another board" : "Перемістити картку до іншої дошки",
|
||||
"Select a list" : "Виберіть список",
|
||||
"seconds ago" : "секунд тому",
|
||||
|
||||
@@ -123,10 +123,10 @@
|
||||
"(group)" : "(група)",
|
||||
"(circle)" : "(коло)",
|
||||
"Assign to me" : "Призначити мені",
|
||||
"Move card" : "Пересунути картку",
|
||||
"Unarchive card" : "Розархівувати картку",
|
||||
"Archive card" : "Архівувати картку",
|
||||
"Delete card" : "Вилучити картку",
|
||||
"Move card" : "Пересунути картку",
|
||||
"Move card to another board" : "Перемістити картку до іншої дошки",
|
||||
"Select a list" : "Виберіть список",
|
||||
"seconds ago" : "секунд тому",
|
||||
|
||||
@@ -121,6 +121,7 @@ OC.L10N.register(
|
||||
"Undo" : "撤消",
|
||||
"Deleted cards" : "已删除卡片",
|
||||
"Share board with a user, group or circle …" : "与一个用户,群组或圈子共享面板...",
|
||||
"No participants found" : "未找到参与者",
|
||||
"Board owner" : "面板拥有者",
|
||||
"(Group)" : "(群组)",
|
||||
"(Circle)" : "(圈子)",
|
||||
@@ -171,10 +172,10 @@ OC.L10N.register(
|
||||
"(group)" : "(组)",
|
||||
"(circle)" : "(圈子)",
|
||||
"Assign to me" : "指派给我",
|
||||
"Move card" : "移动卡片",
|
||||
"Unarchive card" : "恢复卡片存档",
|
||||
"Archive card" : "归档卡片",
|
||||
"Delete card" : "删除卡片",
|
||||
"Move card" : "移动卡片",
|
||||
"Move card to another board" : "将卡片移到其他面板",
|
||||
"seconds ago" : "几秒前",
|
||||
"All boards" : "全部面板",
|
||||
|
||||
@@ -119,6 +119,7 @@
|
||||
"Undo" : "撤消",
|
||||
"Deleted cards" : "已删除卡片",
|
||||
"Share board with a user, group or circle …" : "与一个用户,群组或圈子共享面板...",
|
||||
"No participants found" : "未找到参与者",
|
||||
"Board owner" : "面板拥有者",
|
||||
"(Group)" : "(群组)",
|
||||
"(Circle)" : "(圈子)",
|
||||
@@ -169,10 +170,10 @@
|
||||
"(group)" : "(组)",
|
||||
"(circle)" : "(圈子)",
|
||||
"Assign to me" : "指派给我",
|
||||
"Move card" : "移动卡片",
|
||||
"Unarchive card" : "恢复卡片存档",
|
||||
"Archive card" : "归档卡片",
|
||||
"Delete card" : "删除卡片",
|
||||
"Move card" : "移动卡片",
|
||||
"Move card to another board" : "将卡片移到其他面板",
|
||||
"seconds ago" : "几秒前",
|
||||
"All boards" : "全部面板",
|
||||
|
||||
@@ -55,9 +55,9 @@ OC.L10N.register(
|
||||
"Update" : "更新",
|
||||
"(group)" : "(群組)",
|
||||
"Assign to me" : "分派給我",
|
||||
"Move card" : "移動卡片",
|
||||
"Archive card" : "封存卡片",
|
||||
"Delete card" : "刪除作業",
|
||||
"Move card" : "移動卡片",
|
||||
"seconds ago" : "幾秒前",
|
||||
"Shared with you" : "與您分享",
|
||||
"Edit board" : "編輯專案",
|
||||
|
||||
@@ -53,9 +53,9 @@
|
||||
"Update" : "更新",
|
||||
"(group)" : "(群組)",
|
||||
"Assign to me" : "分派給我",
|
||||
"Move card" : "移動卡片",
|
||||
"Archive card" : "封存卡片",
|
||||
"Delete card" : "刪除作業",
|
||||
"Move card" : "移動卡片",
|
||||
"seconds ago" : "幾秒前",
|
||||
"Shared with you" : "與您分享",
|
||||
"Edit board" : "編輯專案",
|
||||
|
||||
@@ -94,8 +94,8 @@ class CardController extends Controller {
|
||||
* @param $deletedAt
|
||||
* @return \OCP\AppFramework\Db\Entity
|
||||
*/
|
||||
public function update($id, $title, $stackId, $type, $order, $description, $duedate, $deletedAt) {
|
||||
return $this->cardService->update($id, $title, $stackId, $type, $order, $description, $this->userId, $duedate, $deletedAt);
|
||||
public function update($id, $title, $stackId, $type, $order, $description, $duedate, $deletedAt, $dueDone) {
|
||||
return $this->cardService->update($id, $title, $stackId, $type, $order, $description, $this->userId, $duedate, $deletedAt, null, $dueDone);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -97,13 +97,13 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
// FIXME: One moving to QBMapper we should allow filtering the boards probably by method chaining for additional where clauses
|
||||
$sql = 'SELECT id, title, owner, color, archived, deleted_at, 0 as shared, last_modified FROM `*PREFIX*deck_boards` WHERE owner = ? AND last_modified > ?';
|
||||
if (!$includeArchived) {
|
||||
$sql .= ' AND NOT archived';
|
||||
$sql .= ' AND NOT archived AND deleted_at = 0';
|
||||
}
|
||||
$sql .= ' UNION ' .
|
||||
'SELECT boards.id, title, owner, color, archived, deleted_at, 1 as shared, last_modified FROM `*PREFIX*deck_boards` as boards ' .
|
||||
'JOIN `*PREFIX*deck_board_acl` as acl ON boards.id=acl.board_id WHERE acl.participant=? AND acl.type=? AND boards.owner != ? AND last_modified > ?';
|
||||
if (!$includeArchived) {
|
||||
$sql .= ' AND NOT archived';
|
||||
$sql .= ' AND NOT archived AND deleted_at = 0';
|
||||
}
|
||||
$entries = $this->findEntities($sql, [$userId, $since, $userId, Acl::PERMISSION_TYPE_USER, $userId, $since], $limit, $offset);
|
||||
/* @var Board $entry */
|
||||
@@ -142,7 +142,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
}
|
||||
$sql .= ')';
|
||||
if (!$includeArchived) {
|
||||
$sql .= ' AND NOT archived';
|
||||
$sql .= ' AND NOT archived AND deleted_at = 0';
|
||||
}
|
||||
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_GROUP], $groups), $limit, $offset);
|
||||
/* @var Board $entry */
|
||||
@@ -174,7 +174,7 @@ class BoardMapper extends DeckMapper implements IPermissionMapper {
|
||||
}
|
||||
$sql .= ')';
|
||||
if (!$includeArchived) {
|
||||
$sql .= ' AND NOT archived';
|
||||
$sql .= ' AND NOT archived AND deleted_at = 0';
|
||||
}
|
||||
$entries = $this->findEntities($sql, array_merge([$userId, Acl::PERMISSION_TYPE_CIRCLE], $circles), $limit, $offset);
|
||||
/* @var Board $entry */
|
||||
|
||||
@@ -36,17 +36,19 @@ class Card extends RelationalEntity {
|
||||
protected $lastModified;
|
||||
protected $lastEditor;
|
||||
protected $createdAt;
|
||||
protected $labels;
|
||||
protected $assignedUsers;
|
||||
protected $attachments;
|
||||
protected $attachmentCount;
|
||||
protected $owner;
|
||||
protected $order;
|
||||
protected $archived = false;
|
||||
protected $duedate;
|
||||
protected $notified = false;
|
||||
protected $deletedAt = 0;
|
||||
protected $dueDone = false;
|
||||
|
||||
protected $labels;
|
||||
protected $assignedUsers;
|
||||
protected $commentsUnread = 0;
|
||||
protected $attachments;
|
||||
protected $attachmentCount = 0;
|
||||
|
||||
private $databaseType = 'sqlite';
|
||||
|
||||
@@ -64,6 +66,8 @@ class Card extends RelationalEntity {
|
||||
$this->addType('archived', 'boolean');
|
||||
$this->addType('notified', 'boolean');
|
||||
$this->addType('deletedAt', 'integer');
|
||||
$this->addType('dueDone', 'boolean');
|
||||
|
||||
$this->addRelation('labels');
|
||||
$this->addRelation('assignedUsers');
|
||||
$this->addRelation('attachments');
|
||||
|
||||
@@ -42,7 +42,7 @@ class FTSEvent extends Event {
|
||||
}
|
||||
|
||||
public function getArgument($key) {
|
||||
if ($this->hasArgument($key)) {
|
||||
if (isset($this->arguments[$key])) {
|
||||
return $this->arguments[$key];
|
||||
}
|
||||
|
||||
|
||||
54
lib/Migration/Version10200Date20201104190344.php
Normal file
54
lib/Migration/Version10200Date20201104190344.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace OCA\Deck\Migration;
|
||||
|
||||
use Closure;
|
||||
use OCP\DB\ISchemaWrapper;
|
||||
use OCP\Migration\IOutput;
|
||||
use OCP\Migration\SimpleMigrationStep;
|
||||
|
||||
/**
|
||||
* Auto-generated migration step: Please modify to your needs!
|
||||
*/
|
||||
class Version10200Date20201104190344 extends SimpleMigrationStep {
|
||||
|
||||
/**
|
||||
* @param IOutput $output
|
||||
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
|
||||
* @param array $options
|
||||
*/
|
||||
public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param IOutput $output
|
||||
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
|
||||
* @param array $options
|
||||
* @return null|ISchemaWrapper
|
||||
*/
|
||||
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper {
|
||||
/** @var ISchemaWrapper $schema */
|
||||
$schema = $schemaClosure();
|
||||
|
||||
$table = $schema->getTable('deck_cards');
|
||||
|
||||
if (!$table->hasColumn('due_done')) {
|
||||
$table->addColumn('due_done', 'boolean', [
|
||||
'notnull' => false,
|
||||
'default' => false
|
||||
]);
|
||||
}
|
||||
|
||||
return $schema;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param IOutput $output
|
||||
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
|
||||
* @param array $options
|
||||
*/
|
||||
public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
|
||||
}
|
||||
}
|
||||
@@ -261,7 +261,7 @@ class CardService {
|
||||
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
|
||||
* @throws BadRequestException
|
||||
*/
|
||||
public function update($id, $title, $stackId, $type, $order = 0, $description = '', $owner, $duedate = null, $deletedAt = null, $archived = null) {
|
||||
public function update($id, $title, $stackId, $type, $order = 0, $description = '', $owner, $duedate = null, ?int $deletedAt = null, ?bool $archived = null, ?bool $dueDone = null) {
|
||||
if (is_numeric($id) === false) {
|
||||
throw new BadRequestException('card id must be a number');
|
||||
}
|
||||
@@ -320,6 +320,9 @@ class CardService {
|
||||
if ($archived !== null) {
|
||||
$card->setArchived($archived);
|
||||
}
|
||||
if ($dueDone !== null) {
|
||||
$card->setDueDone($dueDone);
|
||||
}
|
||||
|
||||
|
||||
// Trigger update events before setting description as it is handled separately
|
||||
@@ -590,7 +593,7 @@ class CardService {
|
||||
*/
|
||||
public function findAllWithDue($userId) {
|
||||
$cards = $this->cardMapper->findAllWithDue($userId);
|
||||
|
||||
|
||||
return $cards;
|
||||
}
|
||||
|
||||
@@ -602,7 +605,7 @@ class CardService {
|
||||
*/
|
||||
public function findAssignedCards($userId) {
|
||||
$cards = $this->cardMapper->findAssignedCards($userId);
|
||||
|
||||
|
||||
return $cards;
|
||||
}
|
||||
}
|
||||
|
||||
3466
package-lock.json
generated
3466
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
46
package.json
46
package.json
@@ -28,35 +28,35 @@
|
||||
"test:coverage": "jest --coverage"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/polyfill": "^7.11.5",
|
||||
"@babel/runtime": "^7.11.2",
|
||||
"@babel/polyfill": "^7.12.1",
|
||||
"@babel/runtime": "^7.12.1",
|
||||
"@juliushaertl/vue-richtext": "^0.3.3",
|
||||
"@nextcloud/auth": "^1.3.0",
|
||||
"@nextcloud/axios": "^1.4.0",
|
||||
"@nextcloud/dialogs": "^2.0.1",
|
||||
"@nextcloud/dialogs": "^3.0.0",
|
||||
"@nextcloud/event-bus": "^1.2.0",
|
||||
"@nextcloud/files": "^1.1.0",
|
||||
"@nextcloud/initial-state": "^1.1.2",
|
||||
"@nextcloud/initial-state": "^1.2.0",
|
||||
"@nextcloud/l10n": "^1.4.1",
|
||||
"@nextcloud/moment": "^1.1.1",
|
||||
"@nextcloud/router": "^1.2.0",
|
||||
"@nextcloud/vue": "^2.6.8",
|
||||
"@nextcloud/vue": "^2.8.2",
|
||||
"@nextcloud/vue-dashboard": "^1.0.1",
|
||||
"blueimp-md5": "^2.18.0",
|
||||
"dompurify": "^2.1.1",
|
||||
"dompurify": "^2.2.0",
|
||||
"lodash": "^4.17.20",
|
||||
"markdown-it": "^11.0.1",
|
||||
"markdown-it": "^12.0.2",
|
||||
"markdown-it-task-lists": "^2.1.1",
|
||||
"moment": "^2.29.0",
|
||||
"moment": "^2.29.1",
|
||||
"nextcloud-vue-collections": "^0.8.1",
|
||||
"p-queue": "^6.6.1",
|
||||
"p-queue": "^6.6.2",
|
||||
"url-search-params-polyfill": "^8.1.0",
|
||||
"vue": "^2.6.12",
|
||||
"vue-at": "^2.5.0-beta.2",
|
||||
"vue-click-outside": "^1.1.0",
|
||||
"vue-easymde": "^1.3.0",
|
||||
"vue-infinite-loading": "^2.4.5",
|
||||
"vue-router": "^3.4.5",
|
||||
"vue-router": "^3.4.8",
|
||||
"vue-smooth-dnd": "^0.8.1",
|
||||
"vuex": "^3.5.1",
|
||||
"vuex-router-sync": "^5.0.0"
|
||||
@@ -68,17 +68,17 @@
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.11.6",
|
||||
"@babel/core": "^7.12.3",
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
||||
"@babel/preset-env": "^7.11.5",
|
||||
"@babel/preset-env": "^7.12.1",
|
||||
"@nextcloud/browserslist-config": "^1.0.0",
|
||||
"@nextcloud/eslint-config": "^2.1.0",
|
||||
"@nextcloud/eslint-plugin": "^1.4.0",
|
||||
"@nextcloud/eslint-plugin": "^1.5.0",
|
||||
"@nextcloud/webpack-vue-config": "^1.4.1",
|
||||
"@vue/test-utils": "^1.1.0",
|
||||
"acorn": "^8.0.3",
|
||||
"acorn": "^8.0.4",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-jest": "^26.3.0",
|
||||
"babel-jest": "^26.5.2",
|
||||
"babel-loader": "^8.1.0",
|
||||
"css-loader": "^4.3.0",
|
||||
"eslint": "^6.8.0",
|
||||
@@ -90,27 +90,27 @@
|
||||
"eslint-plugin-promise": "^4.2.1",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"file-loader": "^6.1.0",
|
||||
"jest": "^26.4.2",
|
||||
"file-loader": "^6.1.1",
|
||||
"jest": "^26.5.3",
|
||||
"jest-serializer-vue": "^2.0.2",
|
||||
"minimist": "^1.2.5",
|
||||
"node-sass": "^4.14.1",
|
||||
"raw-loader": "^4.0.1",
|
||||
"sass-loader": "^10.0.2",
|
||||
"style-loader": "^1.2.1",
|
||||
"raw-loader": "^4.0.2",
|
||||
"sass-loader": "^10.0.4",
|
||||
"style-loader": "^1.3.0",
|
||||
"stylelint": "^13.7.2",
|
||||
"stylelint-config-recommended": "^3.0.0",
|
||||
"stylelint-config-recommended-scss": "^4.2.0",
|
||||
"stylelint-scss": "^3.18.0",
|
||||
"stylelint-webpack-plugin": "^2.1.0",
|
||||
"url-loader": "^4.1.0",
|
||||
"stylelint-webpack-plugin": "^2.1.1",
|
||||
"url-loader": "^4.1.1",
|
||||
"vue-jest": "^3.0.7",
|
||||
"vue-loader": "^15.9.3",
|
||||
"vue-template-compiler": "^2.6.12",
|
||||
"webpack": "^4.44.2",
|
||||
"webpack-cli": "^3.3.12",
|
||||
"webpack-dev-server": "^3.11.0",
|
||||
"webpack-merge": "^5.1.4"
|
||||
"webpack-merge": "^5.2.0"
|
||||
},
|
||||
"jest": {
|
||||
"moduleFileExtensions": [
|
||||
|
||||
39
src/App.vue
39
src/App.vue
@@ -21,11 +21,11 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div id="content" :class="{ 'nav-hidden': !navShown, 'sidebar-hidden': !sidebarRouterView }">
|
||||
<AppNavigation v-show="navShown" />
|
||||
<div id="app-content">
|
||||
<Content id="content" app-name="deck" :class="{ 'nav-hidden': !navShown, 'sidebar-hidden': !sidebarRouterView }">
|
||||
<AppNavigation />
|
||||
<AppContent>
|
||||
<router-view />
|
||||
</div>
|
||||
</AppContent>
|
||||
|
||||
<Modal v-if="cardDetailsInModal && $route.params.cardId" :title="t('deck', 'Card details')" @close="hideModal()">
|
||||
<div class="modal__content modal__card">
|
||||
@@ -34,15 +34,16 @@
|
||||
</Modal>
|
||||
|
||||
<router-view v-show="!cardDetailsInModal || !$route.params.cardId" name="sidebar" />
|
||||
</div>
|
||||
</Content>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { mapState } from 'vuex'
|
||||
import AppNavigation from './components/navigation/AppNavigation'
|
||||
import { Modal } from '@nextcloud/vue'
|
||||
import { Modal, Content, AppContent } from '@nextcloud/vue'
|
||||
import { BoardApi } from './services/BoardApi'
|
||||
import { emit, subscribe } from '@nextcloud/event-bus'
|
||||
|
||||
const boardApi = new BoardApi()
|
||||
|
||||
@@ -51,6 +52,8 @@ export default {
|
||||
components: {
|
||||
AppNavigation,
|
||||
Modal,
|
||||
Content,
|
||||
AppContent,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -91,6 +94,15 @@ export default {
|
||||
this.$store.dispatch('loadBoards')
|
||||
this.$store.dispatch('loadSharees')
|
||||
},
|
||||
mounted() {
|
||||
// Set navigation to initial state and update in case it gets toggled
|
||||
emit('toggle-navigation', { open: this.navShown, _initial: true })
|
||||
this.$nextTick(() => {
|
||||
subscribe('navigation-toggled', (navState) => {
|
||||
this.$store.dispatch('toggleNav', navState.open)
|
||||
})
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
hideModal() {
|
||||
this.$router.push({ name: 'board' })
|
||||
@@ -131,13 +143,6 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
.multiselect {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.modal__card {
|
||||
min-width: 320px;
|
||||
@@ -147,3 +152,11 @@ export default {
|
||||
height: 80vh;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style lang="scss">
|
||||
|
||||
.multiselect {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -22,17 +22,17 @@
|
||||
|
||||
<template>
|
||||
<div class="controls">
|
||||
<div id="app-navigation-toggle-custom" class="icon-menu" @click="toggleNav" />
|
||||
<div v-if="board" class="board-title">
|
||||
<div v-if="overviewName" class="board-title">
|
||||
<div class="board-bullet icon-calendar-dark" />
|
||||
<h2>{{ overviewName }}</h2>
|
||||
</div>
|
||||
<div v-else-if="board" class="board-title">
|
||||
<div :style="{backgroundColor: '#' + board.color}" class="board-bullet" />
|
||||
<h2><a href="#">{{ board.title }}</a></h2>
|
||||
<h2>{{ board.title }}</h2>
|
||||
<p v-if="showArchived">
|
||||
({{ t('deck', 'Archived cards') }})
|
||||
</p>
|
||||
</div>
|
||||
<div v-if="overviewName" class="board-title">
|
||||
<h2><a href="#">{{ overviewName }}</a></h2>
|
||||
</div>
|
||||
<div v-if="board" class="board-actions">
|
||||
<div v-if="canManage && !showArchived && !board.archived"
|
||||
id="stack-add"
|
||||
@@ -321,6 +321,9 @@ export default {
|
||||
<style lang="scss" scoped>
|
||||
.controls {
|
||||
display: flex;
|
||||
padding: 3px;
|
||||
height: 44px;
|
||||
padding-left: 44px;
|
||||
|
||||
.board-title {
|
||||
display: flex;
|
||||
@@ -337,7 +340,7 @@ export default {
|
||||
height: 20px;
|
||||
border: none;
|
||||
border-radius: 50%;
|
||||
background-color: #aaa;
|
||||
background-color: transparent;
|
||||
margin: 12px;
|
||||
margin-left: -4px;
|
||||
}
|
||||
@@ -395,6 +398,7 @@ export default {
|
||||
width: 250px;
|
||||
max-height: 80vh;
|
||||
overflow: auto;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.filter h3 {
|
||||
|
||||
@@ -181,7 +181,7 @@ export default {
|
||||
}
|
||||
|
||||
.board {
|
||||
margin-left: $board-spacing;
|
||||
padding-left: $board-spacing;
|
||||
position: relative;
|
||||
height: calc(100% - 44px);
|
||||
overflow-x: scroll;
|
||||
|
||||
@@ -7,10 +7,19 @@
|
||||
:options="formatedSharees"
|
||||
:user-select="true"
|
||||
label="displayName"
|
||||
:loading="isLoading || !!isSearching"
|
||||
:disabled="isLoading"
|
||||
track-by="multiselectKey"
|
||||
:internal-search="true"
|
||||
@input="clickAddAcl"
|
||||
@search-change="asyncFind" />
|
||||
@search-change="asyncFind">
|
||||
<template #noOptions>
|
||||
{{ isSearching ? t('deck', 'Searching for users, groups and circles …') : t('deck', 'No participants found') }}
|
||||
</template>
|
||||
<template #noResult>
|
||||
{{ isSearching ? t('deck', 'Searching for users, groups and circles …') : t('deck', 'No participants found') }}
|
||||
</template>
|
||||
</Multiselect>
|
||||
|
||||
<ul
|
||||
id="shareWithList"
|
||||
@@ -63,6 +72,7 @@ import { Avatar, Multiselect, Actions, ActionButton, ActionCheckbox } from '@nex
|
||||
import { CollectionList } from 'nextcloud-vue-collections'
|
||||
import { mapGetters, mapState } from 'vuex'
|
||||
import { getCurrentUser } from '@nextcloud/auth'
|
||||
import { showError } from '@nextcloud/dialogs'
|
||||
|
||||
export default {
|
||||
name: 'SharingTabSidebar',
|
||||
@@ -83,6 +93,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
isLoading: false,
|
||||
isSearching: false,
|
||||
addAcl: null,
|
||||
addAclForAPI: null,
|
||||
}
|
||||
@@ -137,13 +148,20 @@ export default {
|
||||
this.asyncFind('')
|
||||
},
|
||||
methods: {
|
||||
asyncFind(query) {
|
||||
this.isLoading = true
|
||||
this.$store.dispatch('loadSharees', query).then(response => {
|
||||
this.isLoading = false
|
||||
})
|
||||
async asyncFind(query) {
|
||||
// manual debounce to handle async searching more easily and have more control over the loading state
|
||||
const timestamp = (new Date()).getTime()
|
||||
if (!this.isSearching || timestamp > this.isSearching + 300) {
|
||||
this.isSearching = timestamp
|
||||
await this.$store.dispatch('loadSharees', query)
|
||||
|
||||
// only reset searching flag if the most recent search finished
|
||||
if (this.isSearching === timestamp) {
|
||||
this.isSearching = false
|
||||
}
|
||||
}
|
||||
},
|
||||
clickAddAcl() {
|
||||
async clickAddAcl() {
|
||||
this.addAclForAPI = {
|
||||
type: this.addAcl.value.shareType,
|
||||
participant: this.addAcl.value.shareWith,
|
||||
@@ -151,7 +169,16 @@ export default {
|
||||
permissionShare: false,
|
||||
permissionManage: false,
|
||||
}
|
||||
this.$store.dispatch('addAclToCurrentBoard', this.addAclForAPI)
|
||||
this.isLoading = true
|
||||
try {
|
||||
await this.$store.dispatch('addAclToCurrentBoard', this.addAclForAPI)
|
||||
} catch (e) {
|
||||
const errorMessage = t('deck', 'Failed to create share with {displayName}', { displayName: this.addAcl.displayName })
|
||||
console.error(errorMessage, e)
|
||||
showError(errorMessage)
|
||||
}
|
||||
this.addAcl = null
|
||||
this.isLoading = false
|
||||
},
|
||||
clickEditAcl(acl) {
|
||||
this.addAclForAPI = Object.assign({}, acl)
|
||||
|
||||
@@ -162,6 +162,7 @@ export default {
|
||||
]),
|
||||
...mapState({
|
||||
showArchived: state => state.showArchived,
|
||||
cardDetailsInModal: state => state.cardDetailsInModal,
|
||||
}),
|
||||
cardsByStack() {
|
||||
return this.$store.getters.cardsByStack(this.stack.id).filter((card) => {
|
||||
@@ -248,7 +249,9 @@ export default {
|
||||
this.$refs.newCardInput.focus()
|
||||
this.animate = false
|
||||
})
|
||||
this.$router.push({ name: 'card', params: { cardId: newCard.id } })
|
||||
if (!this.cardDetailsInModal) {
|
||||
this.$router.push({ name: 'card', params: { cardId: newCard.id } })
|
||||
}
|
||||
} catch (e) {
|
||||
showError('Could not create card: ' + e.response.data.message)
|
||||
} finally {
|
||||
|
||||
@@ -21,11 +21,13 @@
|
||||
-->
|
||||
|
||||
<template>
|
||||
<AppSidebar v-if="currentBoard && currentCard && copiedCard"
|
||||
:title="currentCard.title"
|
||||
<AppSidebar v-if="currentBoard && currentCard"
|
||||
:title="title"
|
||||
:subtitle="subtitle"
|
||||
:title-editable.sync="titleEditable"
|
||||
@update:title="updateTitle"
|
||||
:title-editable="titleEditable"
|
||||
@update:titleEditable="handleUpdateTitleEditable"
|
||||
@update:title="handleUpdateTitle"
|
||||
@submit-title="handleSubmitTitle"
|
||||
@close="closeSidebar">
|
||||
<template #secondary-actions>
|
||||
<ActionButton v-if="cardDetailsInModal" icon="icon-menu-sidebar" @click.stop="showModal()">
|
||||
@@ -41,135 +43,7 @@
|
||||
:order="0"
|
||||
:name="t('deck', 'Details')"
|
||||
icon="icon-home">
|
||||
<div class="section-wrapper">
|
||||
<div v-tooltip="t('deck', 'Tags')" class="section-label icon-tag">
|
||||
<span class="hidden-visually">{{ t('deck', 'Tags') }}</span>
|
||||
</div>
|
||||
<div class="section-details">
|
||||
<Multiselect v-model="assignedLabels"
|
||||
:multiple="true"
|
||||
:disabled="!canEdit"
|
||||
:options="labelsSorted"
|
||||
:placeholder="t('deck', 'Assign a tag to this card…')"
|
||||
:taggable="true"
|
||||
label="title"
|
||||
track-by="id"
|
||||
@select="addLabelToCard"
|
||||
@remove="removeLabelFromCard">
|
||||
<template #option="scope">
|
||||
<div :style="{ backgroundColor: '#' + scope.option.color, color: textColor(scope.option.color)}" class="tag">
|
||||
{{ scope.option.title }}
|
||||
</div>
|
||||
</template>
|
||||
<template #tag="scope">
|
||||
<div :style="{ backgroundColor: '#' + scope.option.color, color: textColor(scope.option.color)}" class="tag">
|
||||
{{ scope.option.title }}
|
||||
</div>
|
||||
</template>
|
||||
</Multiselect>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-wrapper">
|
||||
<div v-tooltip="t('deck', 'Assign to users')" class="section-label icon-group">
|
||||
<span class="hidden-visually">{{ t('deck', 'Assign to users/groups/circles') }}</span>
|
||||
</div>
|
||||
<div class="section-details">
|
||||
<Multiselect v-if="canEdit"
|
||||
v-model="assignedUsers"
|
||||
:multiple="true"
|
||||
:options="formatedAssignables"
|
||||
:user-select="true"
|
||||
:auto-limit="false"
|
||||
:placeholder="t('deck', 'Assign a user to this card…')"
|
||||
label="displayname"
|
||||
track-by="multiselectKey"
|
||||
@select="assignUserToCard"
|
||||
@remove="removeUserFromCard">
|
||||
<template #tag="scope">
|
||||
<div class="avatarlist--inline">
|
||||
<Avatar :user="scope.option.uid"
|
||||
:display-name="scope.option.displayname"
|
||||
:size="24"
|
||||
:is-no-user="scope.option.isNoUser"
|
||||
:disable-menu="true" />
|
||||
</div>
|
||||
</template>
|
||||
</Multiselect>
|
||||
<div v-else class="avatar-list--readonly">
|
||||
<Avatar v-for="option in assignedUsers"
|
||||
:key="option.primaryKey"
|
||||
:user="option.uid"
|
||||
:display-name="option.displayname"
|
||||
:is-no-user="option.isNoUser"
|
||||
:size="32" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-wrapper">
|
||||
<div v-tooltip="t('deck', 'Due date')" class="section-label icon-calendar-dark">
|
||||
<span class="hidden-visually">{{ t('deck', 'Due date') }}</span>
|
||||
</div>
|
||||
<div class="section-details">
|
||||
<DatetimePicker v-model="duedate"
|
||||
:placeholder="t('deck', 'Set a due date')"
|
||||
type="datetime"
|
||||
:minute-step="5"
|
||||
:show-second="false"
|
||||
:lang="lang"
|
||||
:format="format"
|
||||
:disabled="saving || !canEdit"
|
||||
confirm />
|
||||
<Actions v-if="canEdit">
|
||||
<ActionButton v-if="copiedCard.duedate" icon="icon-delete" @click="removeDue()">
|
||||
{{ t('deck', 'Remove due date') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-wrapper">
|
||||
<CollectionList v-if="currentCard.id"
|
||||
:id="`${currentCard.id}`"
|
||||
:name="currentCard.title"
|
||||
type="deck-card" />
|
||||
</div>
|
||||
|
||||
<h5>
|
||||
{{ t('deck', 'Description') }}
|
||||
<span v-if="copiedCard.descriptionLastEdit && !descriptionSaving">{{ t('deck', '(Unsaved)') }}</span>
|
||||
<span v-if="descriptionSaving">{{ t('deck', '(Saving…)') }}</span>
|
||||
<a v-tooltip="t('deck', 'Formatting help')"
|
||||
href="https://deck.readthedocs.io/en/latest/Markdown/"
|
||||
target="_blank"
|
||||
class="icon icon-info" />
|
||||
<Actions v-if="canEdit">
|
||||
<ActionButton v-if="!descriptionEditing" icon="icon-rename" @click="showEditor()">
|
||||
{{ t('deck', 'Edit description') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-else icon="icon-toggle" @click="hideEditor()">
|
||||
{{ t('deck', 'View description') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
<Actions v-if="canEdit">
|
||||
<ActionButton v-if="descriptionEditing" icon="icon-attach" @click="showAttachmentModal()">
|
||||
{{ t('deck', 'Add Attachment') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
</h5>
|
||||
|
||||
<div v-if="!descriptionEditing"
|
||||
id="description-preview"
|
||||
@click="clickedPreview"
|
||||
v-html="renderedDescription" />
|
||||
<VueEasymde v-else
|
||||
:key="copiedCard.id"
|
||||
ref="markdownEditor"
|
||||
v-model="copiedCard.description"
|
||||
:configs="mdeConfig"
|
||||
@input="updateDescription"
|
||||
@blur="saveDescription" />
|
||||
<CardSidebarTabDetails :card="currentCard" />
|
||||
</AppSidebarTab>
|
||||
|
||||
<AppSidebarTab id="attachments"
|
||||
@@ -194,45 +68,19 @@
|
||||
icon="icon-activity">
|
||||
<CardSidebarTabActivity :card="currentCard" />
|
||||
</AppSidebarTab>
|
||||
<Modal v-if="modalShow" :title="t('deck', 'Choose attachment')" @close="modalShow=false">
|
||||
<div class="modal__content">
|
||||
<h3>{{ t('deck', 'Choose attachment') }}</h3>
|
||||
<AttachmentList
|
||||
:card-id="currentCard.id"
|
||||
:selectable="true"
|
||||
@selectAttachment="addAttachment" />
|
||||
</div>
|
||||
</Modal>
|
||||
</AppSidebar>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Avatar, Actions, ActionButton, Multiselect, AppSidebar, AppSidebarTab, DatetimePicker, Modal } from '@nextcloud/vue'
|
||||
import { ActionButton, AppSidebar, AppSidebarTab } from '@nextcloud/vue'
|
||||
import { mapState, mapGetters } from 'vuex'
|
||||
import Color from '../../mixins/color'
|
||||
import { CollectionList } from 'nextcloud-vue-collections'
|
||||
import CardSidebarTabDetails from './CardSidebarTabDetails'
|
||||
import CardSidebarTabAttachments from './CardSidebarTabAttachments'
|
||||
import CardSidebarTabComments from './CardSidebarTabComments'
|
||||
import CardSidebarTabActivity from './CardSidebarTabActivity'
|
||||
import MarkdownIt from 'markdown-it'
|
||||
import MarkdownItTaskLists from 'markdown-it-task-lists'
|
||||
import { formatFileSize } from '@nextcloud/files'
|
||||
import relativeDate from '../../mixins/relativeDate'
|
||||
import AttachmentList from './AttachmentList'
|
||||
import { generateUrl } from '@nextcloud/router'
|
||||
import {
|
||||
getLocale,
|
||||
getDayNamesMin,
|
||||
getFirstDay,
|
||||
getMonthNamesShort,
|
||||
} from '@nextcloud/l10n'
|
||||
import moment from '@nextcloud/moment'
|
||||
import { showError } from '@nextcloud/dialogs'
|
||||
|
||||
const markdownIt = new MarkdownIt({
|
||||
linkify: true,
|
||||
})
|
||||
markdownIt.use(MarkdownItTaskLists, { enabled: true, label: true, labelAfter: true })
|
||||
import { showError } from '@nextcloud/dialogs'
|
||||
|
||||
const capabilities = window.OC.getCapabilities()
|
||||
|
||||
@@ -241,20 +89,13 @@ export default {
|
||||
components: {
|
||||
AppSidebar,
|
||||
AppSidebarTab,
|
||||
Multiselect,
|
||||
DatetimePicker,
|
||||
VueEasymde: () => import('vue-easymde/dist/VueEasyMDE.common'),
|
||||
Actions,
|
||||
ActionButton,
|
||||
Avatar,
|
||||
CollectionList,
|
||||
CardSidebarTabAttachments,
|
||||
CardSidebarTabComments,
|
||||
CardSidebarTabActivity,
|
||||
Modal,
|
||||
AttachmentList,
|
||||
CardSidebarTabDetails,
|
||||
},
|
||||
mixins: [Color, relativeDate],
|
||||
mixins: [relativeDate],
|
||||
props: {
|
||||
id: {
|
||||
type: Number,
|
||||
@@ -263,41 +104,9 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
assignedUsers: null,
|
||||
addedLabelToCard: null,
|
||||
copiedCard: null,
|
||||
assignedLabels: null,
|
||||
locale: getLocale(),
|
||||
|
||||
saving: false,
|
||||
markdownIt: null,
|
||||
titleEditable: false,
|
||||
descriptionEditing: false,
|
||||
mdeConfig: {
|
||||
autoDownloadFontAwesome: false,
|
||||
spellChecker: false,
|
||||
autofocus: true,
|
||||
autosave: { enabled: false, uniqueId: 'unique' },
|
||||
toolbar: false,
|
||||
},
|
||||
descriptionSaveTimeout: null,
|
||||
descriptionSaving: false,
|
||||
titleEditing: '',
|
||||
hasActivity: capabilities && capabilities.activity,
|
||||
modalShow: false,
|
||||
lang: {
|
||||
days: getDayNamesMin(),
|
||||
months: getMonthNamesShort(),
|
||||
formatLocale: {
|
||||
firstDayOfWeek: getFirstDay() === 0 ? 7 : getFirstDay(),
|
||||
},
|
||||
placeholder: {
|
||||
date: t('deck', 'Select Date'),
|
||||
},
|
||||
},
|
||||
format: {
|
||||
stringify: this.stringify,
|
||||
parse: this.parse,
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -306,23 +115,8 @@ export default {
|
||||
cardDetailsInModal: state => state.cardDetailsInModal,
|
||||
}),
|
||||
...mapGetters(['canEdit', 'assignables']),
|
||||
attachments() {
|
||||
return [...this.$store.getters.attachmentsByCard(this.id)].sort((a, b) => b.id - a.id)
|
||||
},
|
||||
mimetypeForAttachment() {
|
||||
return (mimetype) => {
|
||||
const url = OC.MimeType.getIconUrl(mimetype)
|
||||
const styles = {
|
||||
'background-image': `url("${url}")`,
|
||||
}
|
||||
return styles
|
||||
}
|
||||
},
|
||||
attachmentUrl() {
|
||||
return (attachment) => generateUrl(`/apps/deck/cards/${attachment.cardId}/attachment/${attachment.id}`)
|
||||
},
|
||||
formattedFileSize() {
|
||||
return (filesize) => formatFileSize(filesize)
|
||||
title() {
|
||||
return this.titleEditable ? this.titleEditing : this.currentCard.title
|
||||
},
|
||||
currentCard() {
|
||||
return this.$store.getters.cardById(this.id)
|
||||
@@ -330,214 +124,30 @@ export default {
|
||||
subtitle() {
|
||||
return t('deck', 'Modified') + ': ' + this.relativeDate(this.currentCard.lastModified * 1000) + ' ' + t('deck', 'Created') + ': ' + this.relativeDate(this.currentCard.createdAt * 1000)
|
||||
},
|
||||
formatedAssignables() {
|
||||
return this.assignables.map(item => {
|
||||
const assignable = {
|
||||
...item,
|
||||
user: item.primaryKey,
|
||||
displayName: item.displayname,
|
||||
icon: 'icon-user',
|
||||
isNoUser: false,
|
||||
multiselectKey: item.type + ':' + item.uid,
|
||||
}
|
||||
|
||||
if (item.type === 1) {
|
||||
assignable.icon = 'icon-group'
|
||||
assignable.isNoUser = true
|
||||
}
|
||||
if (item.type === 7) {
|
||||
assignable.icon = 'icon-circles'
|
||||
assignable.isNoUser = true
|
||||
}
|
||||
|
||||
return assignable
|
||||
})
|
||||
},
|
||||
duedate: {
|
||||
get() {
|
||||
return this.currentCard.duedate ? new Date(this.currentCard.duedate) : null
|
||||
},
|
||||
async set(val) {
|
||||
this.saving = true
|
||||
await this.$store.dispatch('updateCardDue', {
|
||||
...this.copiedCard,
|
||||
duedate: val ? (new Date(val)).toISOString() : null,
|
||||
})
|
||||
this.saving = false
|
||||
},
|
||||
},
|
||||
renderedDescription() {
|
||||
return markdownIt.render(this.copiedCard.description || '')
|
||||
},
|
||||
labelsSorted() {
|
||||
return [...this.currentBoard.labels].sort((a, b) => (a.title < b.title) ? -1 : 1)
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
currentCard() {
|
||||
this.initialize()
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.initialize()
|
||||
},
|
||||
methods: {
|
||||
async initialize() {
|
||||
if (!this.currentCard) {
|
||||
return
|
||||
}
|
||||
|
||||
if (this.copiedCard) {
|
||||
await this.saveDescription()
|
||||
}
|
||||
|
||||
this.copiedCard = JSON.parse(JSON.stringify(this.currentCard))
|
||||
this.assignedLabels = [...this.currentCard.labels].sort((a, b) => (a.title < b.title) ? -1 : 1)
|
||||
|
||||
if (this.currentCard.assignedUsers && this.currentCard.assignedUsers.length > 0) {
|
||||
this.assignedUsers = this.currentCard.assignedUsers.map((item) => ({
|
||||
...item.participant,
|
||||
isNoUser: item.participant.type !== 0,
|
||||
multiselectKey: item.participant.type + ':' + item.participant.primaryKey,
|
||||
}))
|
||||
} else {
|
||||
this.assignedUsers = []
|
||||
}
|
||||
|
||||
this.desc = this.currentCard.description
|
||||
},
|
||||
showEditor() {
|
||||
if (!this.canEdit) {
|
||||
return
|
||||
}
|
||||
this.descriptionEditing = true
|
||||
},
|
||||
hideEditor() {
|
||||
this.descriptionEditing = false
|
||||
},
|
||||
showAttachmentModal() {
|
||||
this.modalShow = true
|
||||
},
|
||||
addAttachment(attachment) {
|
||||
const descString = this.$refs.markdownEditor.easymde.value()
|
||||
let embed = ''
|
||||
if (attachment.extendedData.mimetype.includes('image')) {
|
||||
embed = '!'
|
||||
}
|
||||
const attachmentString = embed + '[📎 ' + attachment.data + '](' + this.attachmentUrl(attachment) + ')'
|
||||
this.$refs.markdownEditor.easymde.value(descString + '\n' + attachmentString)
|
||||
this.modalShow = false
|
||||
},
|
||||
clickedPreview(e) {
|
||||
if (e.target.getAttribute('type') === 'checkbox') {
|
||||
const clickedIndex = [...document.querySelector('#description-preview').querySelectorAll('input')].findIndex((li) => li.id === e.target.id)
|
||||
const reg = /\[(X|\s|_|-)\]/ig
|
||||
let nth = 0
|
||||
const updatedDescription = this.copiedCard.description.replace(reg, (match, i, original) => {
|
||||
let result = match
|
||||
if ('' + nth++ === '' + clickedIndex) {
|
||||
if (match.match(/^\[\s\]/i)) {
|
||||
result = match.replace(/\[\s\]/i, '[x]')
|
||||
}
|
||||
if (match.match(/^\[x\]/i)) {
|
||||
result = match.replace(/\[x\]/i, '[ ]')
|
||||
}
|
||||
return result
|
||||
}
|
||||
return match
|
||||
})
|
||||
this.$set(this.copiedCard, 'description', updatedDescription)
|
||||
this.$store.dispatch('updateCardDesc', this.copiedCard)
|
||||
handleUpdateTitleEditable(value) {
|
||||
this.titleEditable = value
|
||||
if (value) {
|
||||
this.titleEditing = this.currentCard.title
|
||||
}
|
||||
},
|
||||
setDue() {
|
||||
this.$store.dispatch('updateCardDue', this.copiedCard)
|
||||
handleUpdateTitle(value) {
|
||||
this.titleEditing = value
|
||||
},
|
||||
removeDue() {
|
||||
this.copiedCard.duedate = null
|
||||
this.$store.dispatch('updateCardDue', this.copiedCard)
|
||||
},
|
||||
async saveDescription() {
|
||||
if (!Object.prototype.hasOwnProperty.call(this.copiedCard, 'descriptionLastEdit') || this.descriptionSaving) {
|
||||
return
|
||||
}
|
||||
this.descriptionSaving = true
|
||||
await this.$store.dispatch('updateCardDesc', this.copiedCard)
|
||||
delete this.copiedCard.descriptionLastEdit
|
||||
this.descriptionSaving = false
|
||||
},
|
||||
updateTitle(newTitle) {
|
||||
if (newTitle.trim === '') {
|
||||
handleSubmitTitle(value) {
|
||||
if (value.trim === '') {
|
||||
showError(t('deck', 'The title cannot be empty.'))
|
||||
return
|
||||
}
|
||||
this.$set(this.copiedCard, 'title', newTitle)
|
||||
this.$store.dispatch('updateCardTitle', this.copiedCard).then(() => {
|
||||
this.titleEditable = false
|
||||
})
|
||||
},
|
||||
updateDescription() {
|
||||
this.copiedCard.descriptionLastEdit = Date.now()
|
||||
clearTimeout(this.descriptionSaveTimeout)
|
||||
this.descriptionSaveTimeout = setTimeout(async() => {
|
||||
await this.saveDescription()
|
||||
}, 2500)
|
||||
this.titleEditable = false
|
||||
this.$store.dispatch('updateCardTitle', { ...this.currentCard, title: this.titleEditing })
|
||||
},
|
||||
|
||||
closeSidebar() {
|
||||
this.$router.push({ name: 'board' })
|
||||
},
|
||||
|
||||
assignUserToCard(user) {
|
||||
this.$store.dispatch('assignCardToUser', {
|
||||
card: this.copiedCard,
|
||||
assignee: {
|
||||
userId: user.uid,
|
||||
type: user.type,
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
removeUserFromCard(user) {
|
||||
this.$store.dispatch('removeUserFromCard', {
|
||||
card: this.copiedCard,
|
||||
assignee: {
|
||||
userId: user.uid,
|
||||
type: user.type,
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
addLabelToCard(newLabel) {
|
||||
this.copiedCard.labels.push(newLabel)
|
||||
const data = {
|
||||
card: this.copiedCard,
|
||||
labelId: newLabel.id,
|
||||
}
|
||||
this.$store.dispatch('addLabel', data)
|
||||
},
|
||||
|
||||
removeLabelFromCard(removedLabel) {
|
||||
|
||||
const removeIndex = this.copiedCard.labels.findIndex((label) => {
|
||||
return label.id === removedLabel.id
|
||||
})
|
||||
if (removeIndex !== -1) {
|
||||
this.copiedCard.labels.splice(removeIndex, 1)
|
||||
}
|
||||
|
||||
const data = {
|
||||
card: this.copiedCard,
|
||||
labelId: removedLabel.id,
|
||||
}
|
||||
this.$store.dispatch('removeLabel', data)
|
||||
},
|
||||
stringify(date) {
|
||||
return moment(date).locale(this.locale).format('LLL')
|
||||
},
|
||||
parse(value) {
|
||||
return moment(value).toDate()
|
||||
},
|
||||
showModal() {
|
||||
this.$store.dispatch('setCardDetailsInModal', true)
|
||||
},
|
||||
@@ -545,40 +155,21 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import '~easymde/dist/easymde.min.css';
|
||||
|
||||
.vue-easymde, .CodeMirror {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: var(--color-main-background);
|
||||
color: var(--color-main-text);
|
||||
}
|
||||
|
||||
.editor-preview,
|
||||
.editor-statusbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#app-sidebar .app-sidebar-header__desc h4 {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
// FIXME: Obivously we should at some point not randomly reuse the sidebar component
|
||||
// since this is not oficially supported
|
||||
.modal__card .app-sidebar {
|
||||
$modal-padding: 14px;
|
||||
border: 0;
|
||||
min-width: 100%;
|
||||
min-width: calc(100% - #{$modal-padding*2});
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
max-width: calc(100% - #{$modal-padding*2});
|
||||
padding: 14px;
|
||||
max-height: calc(100% - #{$modal-padding*2});
|
||||
&::v-deep {
|
||||
.app-sidebar-header {
|
||||
position: sticky;
|
||||
@@ -596,6 +187,8 @@ export default {
|
||||
|
||||
section {
|
||||
min-height: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#emptycontent, .emptycontent {
|
||||
@@ -604,128 +197,4 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
h5 {
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
margin-top: 20px;
|
||||
margin-bottom: 5px;
|
||||
color: var(--color-text-maxcontrast);
|
||||
|
||||
.icon-info {
|
||||
display: inline-block;
|
||||
width: 32px;
|
||||
height: 16px;
|
||||
float: right;
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.icon-attach {
|
||||
background-size: 16px;
|
||||
float: right;
|
||||
margin-top: -14px;
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.icon-toggle, .icon-rename {
|
||||
float: right;
|
||||
margin-top: -14px;
|
||||
}
|
||||
}
|
||||
|
||||
aside::v-deep section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.section-wrapper {
|
||||
display: flex;
|
||||
max-width: 100%;
|
||||
margin-top: 10px;
|
||||
|
||||
.section-label {
|
||||
background-position: 0px center;
|
||||
width: 28px;
|
||||
margin-left: 9px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.section-details {
|
||||
flex-grow: 1;
|
||||
|
||||
button.action-item--single {
|
||||
margin-top: -6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tag {
|
||||
flex-grow: 0;
|
||||
flex-shrink: 1;
|
||||
overflow: hidden;
|
||||
padding: 0px 5px;
|
||||
border-radius: 15px;
|
||||
font-size: 85%;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.avatarLabel {
|
||||
padding: 6px
|
||||
}
|
||||
|
||||
.section-details::v-deep .multiselect__tags-wrap {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.avatar-list--readonly .avatardiv {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.avatarlist--inline {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 3px;
|
||||
.avatarLabel {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.multiselect::v-deep .multiselect__tags-wrap {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.multiselect.multiselect--active::v-deep .multiselect__tags-wrap {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
#description-preview {
|
||||
min-height: 100px;
|
||||
|
||||
&::v-deep {
|
||||
@import './../../css/markdown';
|
||||
}
|
||||
|
||||
&::v-deep input {
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
&::v-deep a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
.modal__content {
|
||||
width: 25vw;
|
||||
min-width: 250px;
|
||||
min-height: 120px;
|
||||
margin: 20px;
|
||||
padding-bottom: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
&::v-deep .attachment-list {
|
||||
flex-shrink: 1;
|
||||
overflow: scroll;
|
||||
max-height: 50vh;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
379
src/components/card/CardSidebarTabDetails.vue
Normal file
379
src/components/card/CardSidebarTabDetails.vue
Normal file
@@ -0,0 +1,379 @@
|
||||
<!--
|
||||
- @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
|
||||
-
|
||||
- @author Julius Härtl <jus@bitgrid.net>
|
||||
-
|
||||
- @license GNU AGPL version 3 or any later version
|
||||
-
|
||||
- This program is free software: you can redistribute it and/or modify
|
||||
- it under the terms of the GNU Affero General Public License as
|
||||
- published by the Free Software Foundation, either version 3 of the
|
||||
- License, or (at your option) any later version.
|
||||
-
|
||||
- This program is distributed in the hope that it will be useful,
|
||||
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
- GNU Affero General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Affero General Public License
|
||||
- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div v-if="copiedCard">
|
||||
<div class="section-wrapper">
|
||||
<div v-tooltip="t('deck', 'Tags')" class="section-label icon-tag">
|
||||
<span class="hidden-visually">{{ t('deck', 'Tags') }}</span>
|
||||
</div>
|
||||
<div class="section-details">
|
||||
<Multiselect v-model="assignedLabels"
|
||||
:multiple="true"
|
||||
:disabled="!canEdit"
|
||||
:options="labelsSorted"
|
||||
:placeholder="t('deck', 'Assign a tag to this card…')"
|
||||
:taggable="true"
|
||||
label="title"
|
||||
track-by="id"
|
||||
@select="addLabelToCard"
|
||||
@remove="removeLabelFromCard">
|
||||
<template #option="scope">
|
||||
<div :style="{ backgroundColor: '#' + scope.option.color, color: textColor(scope.option.color)}" class="tag">
|
||||
{{ scope.option.title }}
|
||||
</div>
|
||||
</template>
|
||||
<template #tag="scope">
|
||||
<div :style="{ backgroundColor: '#' + scope.option.color, color: textColor(scope.option.color)}" class="tag">
|
||||
{{ scope.option.title }}
|
||||
</div>
|
||||
</template>
|
||||
</Multiselect>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-wrapper">
|
||||
<div v-tooltip="t('deck', 'Assign to users')" class="section-label icon-group">
|
||||
<span class="hidden-visually">{{ t('deck', 'Assign to users/groups/circles') }}</span>
|
||||
</div>
|
||||
<div class="section-details">
|
||||
<Multiselect v-if="canEdit"
|
||||
v-model="assignedUsers"
|
||||
:multiple="true"
|
||||
:options="formatedAssignables"
|
||||
:user-select="true"
|
||||
:auto-limit="false"
|
||||
:placeholder="t('deck', 'Assign a user to this card…')"
|
||||
label="displayname"
|
||||
track-by="multiselectKey"
|
||||
@select="assignUserToCard"
|
||||
@remove="removeUserFromCard">
|
||||
<template #tag="scope">
|
||||
<div class="avatarlist--inline">
|
||||
<Avatar :user="scope.option.uid"
|
||||
:display-name="scope.option.displayname"
|
||||
:size="24"
|
||||
:is-no-user="scope.option.isNoUser"
|
||||
:disable-menu="true" />
|
||||
</div>
|
||||
</template>
|
||||
</Multiselect>
|
||||
<div v-else class="avatar-list--readonly">
|
||||
<Avatar v-for="option in assignedUsers"
|
||||
:key="option.primaryKey"
|
||||
:user="option.uid"
|
||||
:display-name="option.displayname"
|
||||
:is-no-user="option.isNoUser"
|
||||
:size="32" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-wrapper">
|
||||
<div v-tooltip="t('deck', 'Due date')" class="section-label icon-calendar-dark">
|
||||
<span class="hidden-visually">{{ t('deck', 'Due date') }}</span>
|
||||
</div>
|
||||
<div class="section-details">
|
||||
<DatetimePicker v-model="duedate"
|
||||
:placeholder="t('deck', 'Set a due date')"
|
||||
type="datetime"
|
||||
:minute-step="5"
|
||||
:show-second="false"
|
||||
:lang="lang"
|
||||
:formatter="format"
|
||||
:disabled="saving || !canEdit"
|
||||
confirm />
|
||||
<Actions v-if="canEdit">
|
||||
<ActionButton v-if="copiedCard.duedate" icon="icon-delete" @click="removeDue()">
|
||||
{{ t('deck', 'Remove due date') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-wrapper">
|
||||
<CollectionList v-if="card.id"
|
||||
:id="`${card.id}`"
|
||||
:name="card.title"
|
||||
type="deck-card" />
|
||||
</div>
|
||||
|
||||
<Description :card="card" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState, mapGetters } from 'vuex'
|
||||
import moment from '@nextcloud/moment'
|
||||
import { Avatar, Actions, ActionButton, Multiselect, DatetimePicker } from '@nextcloud/vue'
|
||||
|
||||
import { CollectionList } from 'nextcloud-vue-collections'
|
||||
import Color from '../../mixins/color'
|
||||
import {
|
||||
getLocale,
|
||||
getDayNamesMin,
|
||||
getFirstDay,
|
||||
getMonthNamesShort,
|
||||
} from '@nextcloud/l10n'
|
||||
import Description from './Description'
|
||||
|
||||
export default {
|
||||
name: 'CardSidebarTabDetails',
|
||||
components: {
|
||||
Description,
|
||||
Multiselect,
|
||||
DatetimePicker,
|
||||
Actions,
|
||||
ActionButton,
|
||||
Avatar,
|
||||
CollectionList,
|
||||
},
|
||||
mixins: [Color],
|
||||
props: {
|
||||
card: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
saving: false,
|
||||
assignedUsers: null,
|
||||
addedLabelToCard: null,
|
||||
copiedCard: null,
|
||||
assignedLabels: null,
|
||||
locale: getLocale(),
|
||||
lang: {
|
||||
days: getDayNamesMin(),
|
||||
months: getMonthNamesShort(),
|
||||
formatLocale: {
|
||||
firstDayOfWeek: getFirstDay() === 0 ? 7 : getFirstDay(),
|
||||
},
|
||||
placeholder: {
|
||||
date: t('deck', 'Select Date'),
|
||||
},
|
||||
},
|
||||
format: {
|
||||
stringify: this.stringify,
|
||||
parse: this.parse,
|
||||
},
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
currentBoard: state => state.currentBoard,
|
||||
cardDetailsInModal: state => state.cardDetailsInModal,
|
||||
}),
|
||||
...mapGetters(['canEdit', 'assignables']),
|
||||
formatedAssignables() {
|
||||
return this.assignables.map(item => {
|
||||
const assignable = {
|
||||
...item,
|
||||
user: item.primaryKey,
|
||||
displayName: item.displayname,
|
||||
icon: 'icon-user',
|
||||
isNoUser: false,
|
||||
multiselectKey: item.type + ':' + item.uid,
|
||||
}
|
||||
|
||||
if (item.type === 1) {
|
||||
assignable.icon = 'icon-group'
|
||||
assignable.isNoUser = true
|
||||
}
|
||||
if (item.type === 7) {
|
||||
assignable.icon = 'icon-circles'
|
||||
assignable.isNoUser = true
|
||||
}
|
||||
|
||||
return assignable
|
||||
})
|
||||
},
|
||||
duedate: {
|
||||
get() {
|
||||
return this.card.duedate ? new Date(this.card.duedate) : null
|
||||
},
|
||||
async set(val) {
|
||||
this.saving = true
|
||||
await this.$store.dispatch('updateCardDue', {
|
||||
...this.copiedCard,
|
||||
duedate: val ? (new Date(val)).toISOString() : null,
|
||||
})
|
||||
this.saving = false
|
||||
},
|
||||
},
|
||||
|
||||
labelsSorted() {
|
||||
return [...this.currentBoard.labels].sort((a, b) => (a.title < b.title) ? -1 : 1)
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
card() {
|
||||
this.initialize()
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.initialize()
|
||||
},
|
||||
methods: {
|
||||
async initialize() {
|
||||
if (!this.card) {
|
||||
return
|
||||
}
|
||||
|
||||
this.copiedCard = JSON.parse(JSON.stringify(this.card))
|
||||
this.assignedLabels = [...this.card.labels].sort((a, b) => (a.title < b.title) ? -1 : 1)
|
||||
|
||||
if (this.card.assignedUsers && this.card.assignedUsers.length > 0) {
|
||||
this.assignedUsers = this.card.assignedUsers.map((item) => ({
|
||||
...item.participant,
|
||||
isNoUser: item.participant.type !== 0,
|
||||
multiselectKey: item.participant.type + ':' + item.participant.primaryKey,
|
||||
}))
|
||||
} else {
|
||||
this.assignedUsers = []
|
||||
}
|
||||
},
|
||||
|
||||
setDue() {
|
||||
this.$store.dispatch('updateCardDue', this.copiedCard)
|
||||
},
|
||||
removeDue() {
|
||||
this.copiedCard.duedate = null
|
||||
this.$store.dispatch('updateCardDue', this.copiedCard)
|
||||
},
|
||||
|
||||
assignUserToCard(user) {
|
||||
this.$store.dispatch('assignCardToUser', {
|
||||
card: this.copiedCard,
|
||||
assignee: {
|
||||
userId: user.uid,
|
||||
type: user.type,
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
removeUserFromCard(user) {
|
||||
this.$store.dispatch('removeUserFromCard', {
|
||||
card: this.copiedCard,
|
||||
assignee: {
|
||||
userId: user.uid,
|
||||
type: user.type,
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
addLabelToCard(newLabel) {
|
||||
this.copiedCard.labels.push(newLabel)
|
||||
const data = {
|
||||
card: this.copiedCard,
|
||||
labelId: newLabel.id,
|
||||
}
|
||||
this.$store.dispatch('addLabel', data)
|
||||
},
|
||||
|
||||
removeLabelFromCard(removedLabel) {
|
||||
|
||||
const removeIndex = this.copiedCard.labels.findIndex((label) => {
|
||||
return label.id === removedLabel.id
|
||||
})
|
||||
if (removeIndex !== -1) {
|
||||
this.copiedCard.labels.splice(removeIndex, 1)
|
||||
}
|
||||
|
||||
const data = {
|
||||
card: this.copiedCard,
|
||||
labelId: removedLabel.id,
|
||||
}
|
||||
this.$store.dispatch('removeLabel', data)
|
||||
},
|
||||
stringify(date) {
|
||||
return moment(date).locale(this.locale).format('LLL')
|
||||
},
|
||||
parse(value) {
|
||||
return moment(value).toDate()
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.section-wrapper {
|
||||
display: flex;
|
||||
max-width: 100%;
|
||||
margin-top: 10px;
|
||||
|
||||
.section-label {
|
||||
background-position: 0px center;
|
||||
width: 28px;
|
||||
margin-left: 9px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.section-details {
|
||||
flex-grow: 1;
|
||||
|
||||
button.action-item--single {
|
||||
margin-top: -6px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tag {
|
||||
flex-grow: 0;
|
||||
flex-shrink: 1;
|
||||
overflow: hidden;
|
||||
padding: 0px 5px;
|
||||
border-radius: 15px;
|
||||
font-size: 85%;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.avatarLabel {
|
||||
padding: 6px
|
||||
}
|
||||
|
||||
.section-details::v-deep .multiselect__tags-wrap {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.avatar-list--readonly .avatardiv {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.avatarlist--inline {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-right: 3px;
|
||||
.avatarLabel {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.multiselect::v-deep .multiselect__tags-wrap {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.multiselect.multiselect--active::v-deep .multiselect__tags-wrap {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
</style>
|
||||
292
src/components/card/Description.vue
Normal file
292
src/components/card/Description.vue
Normal file
@@ -0,0 +1,292 @@
|
||||
<!--
|
||||
- @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
|
||||
-
|
||||
- @author Julius Härtl <jus@bitgrid.net>
|
||||
-
|
||||
- @license GNU AGPL version 3 or any later version
|
||||
-
|
||||
- This program is free software: you can redistribute it and/or modify
|
||||
- it under the terms of the GNU Affero General Public License as
|
||||
- published by the Free Software Foundation, either version 3 of the
|
||||
- License, or (at your option) any later version.
|
||||
-
|
||||
- This program is distributed in the hope that it will be useful,
|
||||
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
- GNU Affero General Public License for more details.
|
||||
-
|
||||
- You should have received a copy of the GNU Affero General Public License
|
||||
- along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<h5>
|
||||
{{ t('deck', 'Description') }}
|
||||
<span v-if="descriptionLastEdit && !descriptionSaving">{{ t('deck', '(Unsaved)') }}</span>
|
||||
<span v-if="descriptionSaving">{{ t('deck', '(Saving…)') }}</span>
|
||||
<a v-tooltip="t('deck', 'Formatting help')"
|
||||
href="https://deck.readthedocs.io/en/latest/Markdown/"
|
||||
target="_blank"
|
||||
class="icon icon-info" />
|
||||
<Actions v-if="canEdit">
|
||||
<ActionButton v-if="!descriptionEditing" icon="icon-rename" @click="showEditor()">
|
||||
{{ t('deck', 'Edit description') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-else icon="icon-toggle" @click="hideEditor()">
|
||||
{{ t('deck', 'View description') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
<Actions v-if="canEdit">
|
||||
<ActionButton v-if="descriptionEditing" icon="icon-attach" @click="showAttachmentModal()">
|
||||
{{ t('deck', 'Add Attachment') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
</h5>
|
||||
|
||||
<div v-if="!descriptionEditing"
|
||||
id="description-preview"
|
||||
@click="clickedPreview"
|
||||
v-html="renderedDescription" />
|
||||
<VueEasymde v-else
|
||||
:key="card.id"
|
||||
ref="markdownEditor"
|
||||
v-model="description"
|
||||
:configs="mdeConfig"
|
||||
@input="updateDescription"
|
||||
@blur="saveDescription" />
|
||||
|
||||
<Modal v-if="modalShow" :title="t('deck', 'Choose attachment')" @close="modalShow=false">
|
||||
<div class="modal__content">
|
||||
<h3>{{ t('deck', 'Choose attachment') }}</h3>
|
||||
<AttachmentList
|
||||
:card-id="card.id"
|
||||
:selectable="true"
|
||||
@selectAttachment="addAttachment" />
|
||||
</div>
|
||||
</Modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import MarkdownIt from 'markdown-it'
|
||||
import MarkdownItTaskLists from 'markdown-it-task-lists'
|
||||
import AttachmentList from './AttachmentList'
|
||||
import { Actions, ActionButton, Modal } from '@nextcloud/vue'
|
||||
import { formatFileSize } from '@nextcloud/files'
|
||||
import { generateUrl } from '@nextcloud/router'
|
||||
import { mapState, mapGetters } from 'vuex'
|
||||
|
||||
const markdownIt = new MarkdownIt({
|
||||
linkify: true,
|
||||
})
|
||||
markdownIt.use(MarkdownItTaskLists, { enabled: true, label: true, labelAfter: true })
|
||||
|
||||
export default {
|
||||
name: 'Description',
|
||||
components: {
|
||||
VueEasymde: () => import('vue-easymde/dist/VueEasyMDE.common'),
|
||||
Actions,
|
||||
ActionButton,
|
||||
Modal,
|
||||
AttachmentList,
|
||||
},
|
||||
props: {
|
||||
card: {
|
||||
type: Object,
|
||||
default: null,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
description: '',
|
||||
markdownIt: null,
|
||||
descriptionEditing: false,
|
||||
mdeConfig: {
|
||||
autoDownloadFontAwesome: false,
|
||||
spellChecker: false,
|
||||
autofocus: true,
|
||||
autosave: { enabled: false, uniqueId: 'unique' },
|
||||
toolbar: false,
|
||||
},
|
||||
descriptionSaveTimeout: null,
|
||||
descriptionSaving: false,
|
||||
descriptionLastEdit: 0,
|
||||
modalShow: false,
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
currentBoard: state => state.currentBoard,
|
||||
cardDetailsInModal: state => state.cardDetailsInModal,
|
||||
}),
|
||||
...mapGetters(['canEdit']),
|
||||
attachments() {
|
||||
return [...this.$store.getters.attachmentsByCard(this.id)].sort((a, b) => b.id - a.id)
|
||||
},
|
||||
mimetypeForAttachment() {
|
||||
return (mimetype) => {
|
||||
const url = OC.MimeType.getIconUrl(mimetype)
|
||||
const styles = {
|
||||
'background-image': `url("${url}")`,
|
||||
}
|
||||
return styles
|
||||
}
|
||||
},
|
||||
attachmentUrl() {
|
||||
return (attachment) => generateUrl(`/apps/deck/cards/${attachment.cardId}/attachment/${attachment.id}`)
|
||||
},
|
||||
formattedFileSize() {
|
||||
return (filesize) => formatFileSize(filesize)
|
||||
},
|
||||
renderedDescription() {
|
||||
return markdownIt.render(this.card.description || '')
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
showEditor() {
|
||||
if (!this.canEdit) {
|
||||
return
|
||||
}
|
||||
this.descriptionEditing = true
|
||||
this.description = this.card.description
|
||||
},
|
||||
hideEditor() {
|
||||
this.descriptionEditing = false
|
||||
},
|
||||
showAttachmentModal() {
|
||||
this.modalShow = true
|
||||
},
|
||||
addAttachment(attachment) {
|
||||
const descString = this.$refs.markdownEditor.easymde.value()
|
||||
let embed = ''
|
||||
if (attachment.extendedData.mimetype.includes('image')) {
|
||||
embed = '!'
|
||||
}
|
||||
const attachmentString = embed + '[📎 ' + attachment.data + '](' + this.attachmentUrl(attachment) + ')'
|
||||
this.$refs.markdownEditor.easymde.value(descString + '\n' + attachmentString)
|
||||
this.modalShow = false
|
||||
},
|
||||
clickedPreview(e) {
|
||||
if (e.target.getAttribute('type') === 'checkbox') {
|
||||
const clickedIndex = [...document.querySelector('#description-preview').querySelectorAll('input')].findIndex((li) => li.id === e.target.id)
|
||||
const reg = /\[(X|\s|_|-)\]/ig
|
||||
let nth = 0
|
||||
const updatedDescription = this.description.replace(reg, (match, i, original) => {
|
||||
let result = match
|
||||
if ('' + nth++ === '' + clickedIndex) {
|
||||
if (match.match(/^\[\s\]/i)) {
|
||||
result = match.replace(/\[\s\]/i, '[x]')
|
||||
}
|
||||
if (match.match(/^\[x\]/i)) {
|
||||
result = match.replace(/\[x\]/i, '[ ]')
|
||||
}
|
||||
return result
|
||||
}
|
||||
return match
|
||||
})
|
||||
this.$store.dispatch('updateCardDesc', { ...this.card, description: updatedDescription })
|
||||
}
|
||||
},
|
||||
async saveDescription() {
|
||||
if (this.descriptionLastEdit === 0 || this.descriptionSaving) {
|
||||
return
|
||||
}
|
||||
this.descriptionSaving = true
|
||||
await this.$store.dispatch('updateCardDesc', { ...this.card, description: this.description })
|
||||
this.descriptionLastEdit = 0
|
||||
this.descriptionSaving = false
|
||||
},
|
||||
updateDescription() {
|
||||
this.descriptionLastEdit = Date.now()
|
||||
clearTimeout(this.descriptionSaveTimeout)
|
||||
this.descriptionSaveTimeout = setTimeout(async() => {
|
||||
await this.saveDescription()
|
||||
}, 2500)
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
||||
.modal__content {
|
||||
width: 25vw;
|
||||
min-width: 250px;
|
||||
min-height: 120px;
|
||||
margin: 20px;
|
||||
padding-bottom: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
&::v-deep .attachment-list {
|
||||
flex-shrink: 1;
|
||||
overflow: scroll;
|
||||
max-height: 50vh;
|
||||
}
|
||||
}
|
||||
|
||||
#description-preview {
|
||||
min-height: 100px;
|
||||
|
||||
&::v-deep {
|
||||
@import './../../css/markdown';
|
||||
}
|
||||
|
||||
&::v-deep input {
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
&::v-deep a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
h5 {
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
margin-top: 20px;
|
||||
margin-bottom: 5px;
|
||||
color: var(--color-text-maxcontrast);
|
||||
|
||||
.icon-info {
|
||||
display: inline-block;
|
||||
width: 32px;
|
||||
height: 16px;
|
||||
float: right;
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.icon-attach {
|
||||
background-size: 16px;
|
||||
float: right;
|
||||
margin-top: -14px;
|
||||
opacity: .7;
|
||||
}
|
||||
|
||||
.icon-toggle, .icon-rename {
|
||||
float: right;
|
||||
margin-top: -14px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<style>
|
||||
@import '~easymde/dist/easymde.min.css';
|
||||
|
||||
.vue-easymde, .CodeMirror {
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: var(--color-main-background);
|
||||
color: var(--color-main-text);
|
||||
}
|
||||
|
||||
.editor-preview,
|
||||
.editor-statusbar {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#app-sidebar .app-sidebar-header__desc h4 {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
</style>
|
||||
@@ -144,17 +144,19 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
$avatar-offset: 12px;
|
||||
|
||||
.avatar-list {
|
||||
float: right;
|
||||
display: inline-flex;
|
||||
padding-right: 8px;
|
||||
padding-right: $avatar-offset;
|
||||
flex-direction: row-reverse;
|
||||
.avatardiv,
|
||||
/deep/ .avatardiv {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
box-sizing: content-box !important;
|
||||
margin-right: -12px;
|
||||
margin-right: -$avatar-offset;
|
||||
transition: margin-right 0.2s ease-in-out;
|
||||
|
||||
&.icon-more {
|
||||
|
||||
@@ -121,10 +121,6 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
.card:not(.card__editable) .avatars {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.fade-enter-active, .fade-leave-active {
|
||||
transition: opacity .125s;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
class="card"
|
||||
@click="openCard">
|
||||
<div class="card-upper">
|
||||
<h3 v-if="isArchived || showArchived || !canEdit">
|
||||
<h3 v-if="compactMode || isArchived || showArchived || !canEdit">
|
||||
{{ card.title }}
|
||||
</h3>
|
||||
<h3 v-else-if="!editing">
|
||||
@@ -41,6 +41,7 @@
|
||||
<form v-if="editing"
|
||||
v-click-outside="cancelEdit"
|
||||
class="dragDisabled"
|
||||
@click.stop
|
||||
@keyup.esc="cancelEdit"
|
||||
@submit.prevent="finishedEdit(card)">
|
||||
<input v-model="copiedCard.title"
|
||||
@@ -59,9 +60,9 @@
|
||||
name="zoom"
|
||||
tag="ul"
|
||||
class="labels"
|
||||
@click="openCard">
|
||||
@click.stop="openCard">
|
||||
<li v-for="label in labelsSorted" :key="label.id" :style="labelStyle(label)">
|
||||
<span @click="applyLabelFilter(label)">{{ label.title }}</span>
|
||||
<span @click.stop="applyLabelFilter(label)">{{ label.title }}</span>
|
||||
</li>
|
||||
</transition-group>
|
||||
<div v-show="!compactMode" class="card-controls compact-item" @click="openCard">
|
||||
@@ -115,10 +116,10 @@ export default {
|
||||
]),
|
||||
canEdit() {
|
||||
if (this.currentBoard) {
|
||||
return this.$store.getters.canEdit
|
||||
return !this.currentBoard.archived && this.$store.getters.canEdit
|
||||
}
|
||||
const board = this.$store.getters.boards.find((item) => item.id === this.card.boardId)
|
||||
return board ? board.permissions.PERMISSION_EDIT : false
|
||||
return board ? !board.archived && board.permissions.PERMISSION_EDIT : false
|
||||
},
|
||||
card() {
|
||||
return this.item ? this.item : this.$store.getters.cardById(this.id)
|
||||
@@ -171,6 +172,10 @@ export default {
|
||||
background-color: var(--color-main-background);
|
||||
margin-bottom: $card-spacing;
|
||||
|
||||
&::v-deep * {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
body.dark &, body.theme--dark & {
|
||||
border: 2px solid var(--color-border);
|
||||
}
|
||||
@@ -195,7 +200,7 @@ export default {
|
||||
margin: 12px $card-padding;
|
||||
flex-grow: 1;
|
||||
font-size: 100%;
|
||||
overflow-x: hidden;
|
||||
overflow: hidden;
|
||||
word-wrap: break-word;
|
||||
padding-left: 4px;
|
||||
span {
|
||||
@@ -212,11 +217,16 @@ export default {
|
||||
.card-controls {
|
||||
display: flex;
|
||||
margin-left: $card-padding;
|
||||
margin-right: $card-padding;
|
||||
|
||||
& > div {
|
||||
display: flex;
|
||||
max-height: 44px;
|
||||
}
|
||||
}
|
||||
&.card__editable .card-controls {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.duedate {
|
||||
|
||||
@@ -24,24 +24,45 @@
|
||||
<div v-if="card">
|
||||
<div @click.stop.prevent>
|
||||
<Actions v-if="canEdit && !isArchived">
|
||||
<ActionButton v-if="showArchived === false && !isCurrentUserAssigned" icon="icon-user" @click="assignCardToMe()">
|
||||
<ActionButton v-if="showArchived === false && !isCurrentUserAssigned"
|
||||
icon="icon-user"
|
||||
:close-after-click="true"
|
||||
@click="assignCardToMe()">
|
||||
{{ t('deck', 'Assign to me') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-if="showArchived === false && isCurrentUserAssigned" icon="icon-user" @click="unassignCardFromMe()">
|
||||
<ActionButton v-if="showArchived === false && isCurrentUserAssigned"
|
||||
icon="icon-user"
|
||||
:close-after-click="true"
|
||||
@click="unassignCardFromMe()">
|
||||
{{ t('deck', 'Unassign myself') }}
|
||||
</ActionButton>
|
||||
<ActionButton icon="icon-archive" @click="archiveUnarchiveCard()">
|
||||
{{ showArchived ? t('deck', 'Unarchive card') : t('deck', 'Archive card') }}
|
||||
<ActionButton v-if="showArchived === false && card.duedate && !card.dueDone"
|
||||
icon="icon-checkmark"
|
||||
:close-after-click="true"
|
||||
@click="toggleDoneState(true)">
|
||||
{{ t('deck', 'Mark card as done') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-if="showArchived === false" icon="icon-delete" @click="deleteCard()">
|
||||
{{ t('deck', 'Delete card') }}
|
||||
<ActionButton v-if="showArchived === false && card.duedate && card.dueDone"
|
||||
icon="icon-checkmark"
|
||||
:close-after-click="true"
|
||||
@click="toggleDoneState(false)">
|
||||
{{ t('deck', 'Mark card as pending') }}
|
||||
</ActionButton>
|
||||
<ActionButton icon="icon-external" @click.stop="modalShow=true">
|
||||
<ActionButton icon="icon-external" :close-after-click="true" @click.stop="modalShow=true">
|
||||
{{ t('deck', 'Move card') }}
|
||||
</ActionButton>
|
||||
<ActionButton icon="icon-settings-dark" @click="openCard">
|
||||
<ActionButton icon="icon-settings-dark" :close-after-click="true" @click="openCard">
|
||||
{{ t('deck', 'Card details') }}
|
||||
</ActionButton>
|
||||
<ActionButton icon="icon-archive" :close-after-click="true" @click="archiveUnarchiveCard()">
|
||||
{{ showArchived ? t('deck', 'Unarchive card') : t('deck', 'Archive card') }}
|
||||
</ActionButton>
|
||||
<ActionButton v-if="showArchived === false"
|
||||
icon="icon-delete"
|
||||
:close-after-click="true"
|
||||
@click="deleteCard()">
|
||||
{{ t('deck', 'Delete card') }}
|
||||
</ActionButton>
|
||||
</Actions>
|
||||
</div>
|
||||
<Modal v-if="modalShow" :title="t('deck', 'Move card to another board')" @close="modalShow=false">
|
||||
@@ -108,7 +129,7 @@ export default {
|
||||
return this.$store.getters.canEdit
|
||||
}
|
||||
const board = this.$store.getters.boards.find((item) => item.id === this.card.boardId)
|
||||
return board.permissions.PERMISSION_EDIT
|
||||
return !!board?.permissions?.PERMISSION_EDIT
|
||||
},
|
||||
isBoardAndStackChoosen() {
|
||||
if (this.selectedBoard === '' || this.selectedStack === '') {
|
||||
@@ -154,6 +175,9 @@ export default {
|
||||
},
|
||||
})
|
||||
},
|
||||
toggleDoneState(state) {
|
||||
this.$store.dispatch('updateCardDueDone', { ...this.card, dueDone: state })
|
||||
},
|
||||
moveCard() {
|
||||
this.copiedCard = Object.assign({}, this.card)
|
||||
this.copiedCard.stackId = this.selectedStack.id
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
<template>
|
||||
<div v-if="card" class="duedate">
|
||||
<transition name="zoom">
|
||||
<div v-if="card.duedate" :class="dueIcon">
|
||||
<span>{{ relativeDate }}</span>
|
||||
<div v-if="card.duedate" v-tooltip="card.dueDone ? relativeDate : null" :class="dueIcon">
|
||||
<span v-if="!card.dueDone">{{ relativeDate }}</span>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
@@ -45,15 +45,15 @@ export default {
|
||||
dueIcon() {
|
||||
const days = Math.floor(moment(this.card.duedate).diff(this.$root.time, 'seconds') / 60 / 60 / 24)
|
||||
if (days < 0) {
|
||||
return 'icon-calendar due icon overdue'
|
||||
return `due icon ${!this.card.dueDone ? 'icon-calendar overdue' : 'icon-checkmark'}`
|
||||
}
|
||||
if (days === 0) {
|
||||
return 'icon-calendar-dark due icon now'
|
||||
return `due icon ${!this.card.dueDone ? 'icon-calendar-dark now' : 'icon-checkmark'}`
|
||||
}
|
||||
if (days === 1) {
|
||||
return 'icon-calendar-dark due icon next'
|
||||
return `due icon ${!this.card.dueDone ? 'con-calendar-dark next' : 'icon-checkmark'}`
|
||||
}
|
||||
return 'icon-calendar-dark due icon'
|
||||
return `due icon ${!this.card.dueDone ? 'icon-calendar-dark' : 'icon-checkmark'}`
|
||||
},
|
||||
relativeDate() {
|
||||
const diff = moment(this.$root.time).diff(this.card.duedate, 'seconds')
|
||||
@@ -88,6 +88,10 @@ export default {
|
||||
background-size: contain;
|
||||
}
|
||||
|
||||
&.icon-checkmark {
|
||||
width: 20px;
|
||||
}
|
||||
|
||||
&.overdue {
|
||||
background-color: var(--color-error);
|
||||
color: var(--color-primary-text);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user