diff --git a/aleksis/apps/kort/locale/ar/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/ar/LC_MESSAGES/django.po
index e4c96353fba5d5de98a662855d4eab65f3e31d60..6df710ddf6954b35c7a51068296d12c8f1bf16d4 100644
--- a/aleksis/apps/kort/locale/ar/LC_MESSAGES/django.po
+++ b/aleksis/apps/kort/locale/ar/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-12 23:11+0200\n"
+"POT-Creation-Date: 2023-03-19 15:48+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,9 +16,9 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
-"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-#: aleksis/apps/kort/apps.py:25
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
+
+#: aleksis/apps/kort/apps.py:31
 msgid "Access and manage printer status and print jobs"
 msgstr ""
 
@@ -55,11 +55,11 @@ msgstr ""
 msgid "Groups"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:185
+#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191
 msgid "Card layout"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:257
+#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:263
 #: aleksis/apps/kort/tables.py:30
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24
 #: aleksis/apps/kort/templates/kort/card/short.html:12
@@ -82,26 +82,10 @@ msgstr ""
 msgid "Printer settings"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:222
+#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228
 msgid "Required data fields"
 msgstr ""
 
-#: aleksis/apps/kort/menus.py:6
-msgid "Student ID Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:16
-msgid "All Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:27
-msgid "Card Printers"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:38 aleksis/apps/kort/models.py:249
-msgid "Card Layouts"
-msgstr ""
-
 #: aleksis/apps/kort/models.py:24
 msgid "Online"
 msgstr ""
@@ -134,7 +118,7 @@ msgstr ""
 msgid "Failed"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:217
+#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card_layout/short.html:4
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:11
@@ -153,7 +137,7 @@ msgstr ""
 msgid "Location"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:330
+#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336
 #: aleksis/apps/kort/tables.py:95
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38
@@ -162,7 +146,7 @@ msgstr ""
 msgid "Status"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:334
+#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340
 msgid "Status text"
 msgstr ""
 
@@ -187,103 +171,107 @@ msgstr ""
 msgid "Card detector"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:175
+#: aleksis/apps/kort/models.py:181
 msgid "Card printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:176
+#: aleksis/apps/kort/models.py:182
 #: aleksis/apps/kort/templates/kort/printer/list.html:8
 #: aleksis/apps/kort/templates/kort/printer/list.html:9
 msgid "Card printers"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:180
+#: aleksis/apps/kort/models.py:186
 msgid "Media file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:192
+#: aleksis/apps/kort/models.py:198
 msgid "Media file for a card layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:193
+#: aleksis/apps/kort/models.py:199
 msgid "Media files for card layouts"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:218
+#: aleksis/apps/kort/models.py:224
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43
 msgid "Template"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:219
+#: aleksis/apps/kort/models.py:225
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49
 msgid "Custom CSS"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220
+#: aleksis/apps/kort/models.py:226
 msgid "Width"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220 aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227
 msgid "in mm"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:227
 msgid "Height"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:242
+#: aleksis/apps/kort/models.py:248
 msgid "Template is invalid: {}"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:248 aleksis/apps/kort/models.py:261
+#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:31
 #: aleksis/apps/kort/templates/kort/card_layout/detail.html:8
 msgid "Card Layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:254
+#: aleksis/apps/kort/models.py:255
+msgid "Card Layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:260
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card/short.html:4
 msgid "Person"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:256
+#: aleksis/apps/kort/models.py:262
 msgid "Chip Number"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:258 aleksis/apps/kort/tables.py:31
+#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31
 msgid "Deactivated"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:264
+#: aleksis/apps/kort/models.py:270
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:297
+#: aleksis/apps/kort/models.py:303
 msgid "There is no layout provided for the card."
 msgstr ""
 
-#: aleksis/apps/kort/models.py:316 aleksis/apps/kort/models.py:325
+#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331
 #: aleksis/apps/kort/templates/kort/card/detail.html:8
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:84
 msgid "Card"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:317
+#: aleksis/apps/kort/models.py:323
 #: aleksis/apps/kort/templates/kort/card/list.html:8
 #: aleksis/apps/kort/templates/kort/card/list.html:9
 msgid "Cards"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:322
+#: aleksis/apps/kort/models.py:328
 msgid "Printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:337
+#: aleksis/apps/kort/models.py:343
 msgid "Card print job"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:338
+#: aleksis/apps/kort/models.py:344
 msgid "Card print jobs"
 msgstr ""
 
diff --git a/aleksis/apps/kort/locale/de_DE/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/de_DE/LC_MESSAGES/django.po
index e7dbdd1a1164a1c36d5aa85bceb39791113aa31e..52d13911397801b48cc76d6b536b3f40b117e84e 100644
--- a/aleksis/apps/kort/locale/de_DE/LC_MESSAGES/django.po
+++ b/aleksis/apps/kort/locale/de_DE/LC_MESSAGES/django.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-12 23:11+0200\n"
+"POT-Creation-Date: 2023-03-19 15:48+0100\n"
 "PO-Revision-Date: 2022-08-12 22:00+0000\n"
 "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n"
 "Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-app-kort/de/>\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 "X-Generator: Weblate 4.12.1\n"
 
-#: aleksis/apps/kort/apps.py:25
+#: aleksis/apps/kort/apps.py:31
 msgid "Access and manage printer status and print jobs"
 msgstr "Druckerstatus und Druckaufträge anzeigen und verwalten"
 
@@ -55,11 +55,11 @@ msgstr "Personen"
 msgid "Groups"
 msgstr "Gruppen"
 
-#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:185
+#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191
 msgid "Card layout"
 msgstr "Kartenlayout"
 
-#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:257
+#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:263
 #: aleksis/apps/kort/tables.py:30
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24
 #: aleksis/apps/kort/templates/kort/card/short.html:12
@@ -82,26 +82,10 @@ msgstr "Allgemeine Attribute"
 msgid "Printer settings"
 msgstr "Druckereinstellungen"
 
-#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:222
+#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228
 msgid "Required data fields"
 msgstr "Benötigte Datenfelder"
 
-#: aleksis/apps/kort/menus.py:6
-msgid "Student ID Cards"
-msgstr "Schülerausweise"
-
-#: aleksis/apps/kort/menus.py:16
-msgid "All Cards"
-msgstr "Alle Karten"
-
-#: aleksis/apps/kort/menus.py:27
-msgid "Card Printers"
-msgstr "Kartendrucker"
-
-#: aleksis/apps/kort/menus.py:38 aleksis/apps/kort/models.py:249
-msgid "Card Layouts"
-msgstr "Kartenlayouts"
-
 #: aleksis/apps/kort/models.py:24
 msgid "Online"
 msgstr "Online"
@@ -134,7 +118,7 @@ msgstr "Beendet"
 msgid "Failed"
 msgstr "Fehlgeschlagen"
 
-#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:217
+#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card_layout/short.html:4
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:11
@@ -153,7 +137,7 @@ msgstr "Beschreibung"
 msgid "Location"
 msgstr "Ort"
 
-#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:330
+#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336
 #: aleksis/apps/kort/tables.py:95
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38
@@ -162,7 +146,7 @@ msgstr "Ort"
 msgid "Status"
 msgstr "Status"
 
-#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:334
+#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340
 msgid "Status text"
 msgstr "Statustext"
 
@@ -187,103 +171,107 @@ msgstr "Kartennummer auf dem Server generieren"
 msgid "Card detector"
 msgstr "Karten-Detektor"
 
-#: aleksis/apps/kort/models.py:175
+#: aleksis/apps/kort/models.py:181
 msgid "Card printer"
 msgstr "Kartendrucker"
 
-#: aleksis/apps/kort/models.py:176
+#: aleksis/apps/kort/models.py:182
 #: aleksis/apps/kort/templates/kort/printer/list.html:8
 #: aleksis/apps/kort/templates/kort/printer/list.html:9
 msgid "Card printers"
 msgstr "Kartendrucker"
 
-#: aleksis/apps/kort/models.py:180
+#: aleksis/apps/kort/models.py:186
 msgid "Media file"
 msgstr "Mediendatei"
 
-#: aleksis/apps/kort/models.py:192
+#: aleksis/apps/kort/models.py:198
 msgid "Media file for a card layout"
 msgstr "Mediendatei für ein Kartenlayout"
 
-#: aleksis/apps/kort/models.py:193
+#: aleksis/apps/kort/models.py:199
 msgid "Media files for card layouts"
 msgstr "Mediendateien für Kartenlayouts"
 
-#: aleksis/apps/kort/models.py:218
+#: aleksis/apps/kort/models.py:224
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43
 msgid "Template"
 msgstr "Template"
 
-#: aleksis/apps/kort/models.py:219
+#: aleksis/apps/kort/models.py:225
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49
 msgid "Custom CSS"
 msgstr "Benutzerdefiniertes CSS"
 
-#: aleksis/apps/kort/models.py:220
+#: aleksis/apps/kort/models.py:226
 msgid "Width"
 msgstr "Breite"
 
-#: aleksis/apps/kort/models.py:220 aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227
 msgid "in mm"
 msgstr "in mm"
 
-#: aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:227
 msgid "Height"
 msgstr "Höhe"
 
-#: aleksis/apps/kort/models.py:242
+#: aleksis/apps/kort/models.py:248
 msgid "Template is invalid: {}"
 msgstr "Template ist ungültig: {}"
 
-#: aleksis/apps/kort/models.py:248 aleksis/apps/kort/models.py:261
+#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:31
 #: aleksis/apps/kort/templates/kort/card_layout/detail.html:8
 msgid "Card Layout"
 msgstr "Kartenlayout"
 
-#: aleksis/apps/kort/models.py:254
+#: aleksis/apps/kort/models.py:255
+msgid "Card Layouts"
+msgstr "Kartenlayouts"
+
+#: aleksis/apps/kort/models.py:260
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card/short.html:4
 msgid "Person"
 msgstr "Person"
 
-#: aleksis/apps/kort/models.py:256
+#: aleksis/apps/kort/models.py:262
 msgid "Chip Number"
 msgstr "Chip-Nummer"
 
-#: aleksis/apps/kort/models.py:258 aleksis/apps/kort/tables.py:31
+#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31
 msgid "Deactivated"
 msgstr "Deaktiviert"
 
-#: aleksis/apps/kort/models.py:264
+#: aleksis/apps/kort/models.py:270
 msgid "PDF file"
 msgstr "PDF-Datei"
 
-#: aleksis/apps/kort/models.py:297
+#: aleksis/apps/kort/models.py:303
 msgid "There is no layout provided for the card."
 msgstr "Es wurde kein Layout für die Karte bereitgestellt."
 
-#: aleksis/apps/kort/models.py:316 aleksis/apps/kort/models.py:325
+#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331
 #: aleksis/apps/kort/templates/kort/card/detail.html:8
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:84
 msgid "Card"
 msgstr "Karte"
 
-#: aleksis/apps/kort/models.py:317
+#: aleksis/apps/kort/models.py:323
 #: aleksis/apps/kort/templates/kort/card/list.html:8
 #: aleksis/apps/kort/templates/kort/card/list.html:9
 msgid "Cards"
 msgstr "Karten"
 
-#: aleksis/apps/kort/models.py:322
+#: aleksis/apps/kort/models.py:328
 msgid "Printer"
 msgstr "Drucker"
 
-#: aleksis/apps/kort/models.py:337
+#: aleksis/apps/kort/models.py:343
 msgid "Card print job"
 msgstr "Karten-Druckauftrag"
 
-#: aleksis/apps/kort/models.py:338
+#: aleksis/apps/kort/models.py:344
 msgid "Card print jobs"
 msgstr "Karten-Druckaufträge"
 
@@ -739,3 +727,12 @@ msgstr "Das Kartenlayout wurde erfolgreich geändert."
 #: aleksis/apps/kort/views.py:395
 msgid "The card layout has been deleted successfully."
 msgstr "Das Kartenlayout wurde erfolgreich gelöscht."
+
+#~ msgid "Student ID Cards"
+#~ msgstr "Schülerausweise"
+
+#~ msgid "All Cards"
+#~ msgstr "Alle Karten"
+
+#~ msgid "Card Printers"
+#~ msgstr "Kartendrucker"
diff --git a/aleksis/apps/kort/locale/fr/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/fr/LC_MESSAGES/django.po
index b7f940ec9a280b6633cc5cbd97b0e45f119f5726..c9d5aa80caed318e89b7c676ae9ed125d0e7942c 100644
--- a/aleksis/apps/kort/locale/fr/LC_MESSAGES/django.po
+++ b/aleksis/apps/kort/locale/fr/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-12 23:11+0200\n"
+"POT-Creation-Date: 2023-03-19 15:48+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,8 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: aleksis/apps/kort/apps.py:25
+
+#: aleksis/apps/kort/apps.py:31
 msgid "Access and manage printer status and print jobs"
 msgstr ""
 
@@ -54,11 +55,11 @@ msgstr ""
 msgid "Groups"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:185
+#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191
 msgid "Card layout"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:257
+#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:263
 #: aleksis/apps/kort/tables.py:30
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24
 #: aleksis/apps/kort/templates/kort/card/short.html:12
@@ -81,26 +82,10 @@ msgstr ""
 msgid "Printer settings"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:222
+#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228
 msgid "Required data fields"
 msgstr ""
 
-#: aleksis/apps/kort/menus.py:6
-msgid "Student ID Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:16
-msgid "All Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:27
-msgid "Card Printers"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:38 aleksis/apps/kort/models.py:249
-msgid "Card Layouts"
-msgstr ""
-
 #: aleksis/apps/kort/models.py:24
 msgid "Online"
 msgstr ""
@@ -133,7 +118,7 @@ msgstr ""
 msgid "Failed"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:217
+#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card_layout/short.html:4
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:11
@@ -152,7 +137,7 @@ msgstr ""
 msgid "Location"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:330
+#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336
 #: aleksis/apps/kort/tables.py:95
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38
@@ -161,7 +146,7 @@ msgstr ""
 msgid "Status"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:334
+#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340
 msgid "Status text"
 msgstr ""
 
@@ -186,103 +171,107 @@ msgstr ""
 msgid "Card detector"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:175
+#: aleksis/apps/kort/models.py:181
 msgid "Card printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:176
+#: aleksis/apps/kort/models.py:182
 #: aleksis/apps/kort/templates/kort/printer/list.html:8
 #: aleksis/apps/kort/templates/kort/printer/list.html:9
 msgid "Card printers"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:180
+#: aleksis/apps/kort/models.py:186
 msgid "Media file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:192
+#: aleksis/apps/kort/models.py:198
 msgid "Media file for a card layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:193
+#: aleksis/apps/kort/models.py:199
 msgid "Media files for card layouts"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:218
+#: aleksis/apps/kort/models.py:224
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43
 msgid "Template"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:219
+#: aleksis/apps/kort/models.py:225
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49
 msgid "Custom CSS"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220
+#: aleksis/apps/kort/models.py:226
 msgid "Width"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220 aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227
 msgid "in mm"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:227
 msgid "Height"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:242
+#: aleksis/apps/kort/models.py:248
 msgid "Template is invalid: {}"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:248 aleksis/apps/kort/models.py:261
+#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:31
 #: aleksis/apps/kort/templates/kort/card_layout/detail.html:8
 msgid "Card Layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:254
+#: aleksis/apps/kort/models.py:255
+msgid "Card Layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:260
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card/short.html:4
 msgid "Person"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:256
+#: aleksis/apps/kort/models.py:262
 msgid "Chip Number"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:258 aleksis/apps/kort/tables.py:31
+#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31
 msgid "Deactivated"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:264
+#: aleksis/apps/kort/models.py:270
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:297
+#: aleksis/apps/kort/models.py:303
 msgid "There is no layout provided for the card."
 msgstr ""
 
-#: aleksis/apps/kort/models.py:316 aleksis/apps/kort/models.py:325
+#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331
 #: aleksis/apps/kort/templates/kort/card/detail.html:8
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:84
 msgid "Card"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:317
+#: aleksis/apps/kort/models.py:323
 #: aleksis/apps/kort/templates/kort/card/list.html:8
 #: aleksis/apps/kort/templates/kort/card/list.html:9
 msgid "Cards"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:322
+#: aleksis/apps/kort/models.py:328
 msgid "Printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:337
+#: aleksis/apps/kort/models.py:343
 msgid "Card print job"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:338
+#: aleksis/apps/kort/models.py:344
 msgid "Card print jobs"
 msgstr ""
 
diff --git a/aleksis/apps/kort/locale/la/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/la/LC_MESSAGES/django.po
index ac0a519e0a6349d90a9a76538cd80d05c678afb5..b5cff3863512b848040abb8a51a1ce6415629548 100644
--- a/aleksis/apps/kort/locale/la/LC_MESSAGES/django.po
+++ b/aleksis/apps/kort/locale/la/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-12 23:11+0200\n"
+"POT-Creation-Date: 2023-03-19 15:48+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aleksis/apps/kort/apps.py:25
+#: aleksis/apps/kort/apps.py:31
 msgid "Access and manage printer status and print jobs"
 msgstr ""
 
@@ -54,11 +54,11 @@ msgstr ""
 msgid "Groups"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:185
+#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191
 msgid "Card layout"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:257
+#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:263
 #: aleksis/apps/kort/tables.py:30
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24
 #: aleksis/apps/kort/templates/kort/card/short.html:12
@@ -81,26 +81,10 @@ msgstr ""
 msgid "Printer settings"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:222
+#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228
 msgid "Required data fields"
 msgstr ""
 
-#: aleksis/apps/kort/menus.py:6
-msgid "Student ID Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:16
-msgid "All Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:27
-msgid "Card Printers"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:38 aleksis/apps/kort/models.py:249
-msgid "Card Layouts"
-msgstr ""
-
 #: aleksis/apps/kort/models.py:24
 msgid "Online"
 msgstr ""
@@ -133,7 +117,7 @@ msgstr ""
 msgid "Failed"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:217
+#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card_layout/short.html:4
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:11
@@ -152,7 +136,7 @@ msgstr ""
 msgid "Location"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:330
+#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336
 #: aleksis/apps/kort/tables.py:95
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38
@@ -161,7 +145,7 @@ msgstr ""
 msgid "Status"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:334
+#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340
 msgid "Status text"
 msgstr ""
 
@@ -186,103 +170,107 @@ msgstr ""
 msgid "Card detector"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:175
+#: aleksis/apps/kort/models.py:181
 msgid "Card printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:176
+#: aleksis/apps/kort/models.py:182
 #: aleksis/apps/kort/templates/kort/printer/list.html:8
 #: aleksis/apps/kort/templates/kort/printer/list.html:9
 msgid "Card printers"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:180
+#: aleksis/apps/kort/models.py:186
 msgid "Media file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:192
+#: aleksis/apps/kort/models.py:198
 msgid "Media file for a card layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:193
+#: aleksis/apps/kort/models.py:199
 msgid "Media files for card layouts"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:218
+#: aleksis/apps/kort/models.py:224
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43
 msgid "Template"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:219
+#: aleksis/apps/kort/models.py:225
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49
 msgid "Custom CSS"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220
+#: aleksis/apps/kort/models.py:226
 msgid "Width"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220 aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227
 msgid "in mm"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:227
 msgid "Height"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:242
+#: aleksis/apps/kort/models.py:248
 msgid "Template is invalid: {}"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:248 aleksis/apps/kort/models.py:261
+#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:31
 #: aleksis/apps/kort/templates/kort/card_layout/detail.html:8
 msgid "Card Layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:254
+#: aleksis/apps/kort/models.py:255
+msgid "Card Layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:260
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card/short.html:4
 msgid "Person"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:256
+#: aleksis/apps/kort/models.py:262
 msgid "Chip Number"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:258 aleksis/apps/kort/tables.py:31
+#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31
 msgid "Deactivated"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:264
+#: aleksis/apps/kort/models.py:270
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:297
+#: aleksis/apps/kort/models.py:303
 msgid "There is no layout provided for the card."
 msgstr ""
 
-#: aleksis/apps/kort/models.py:316 aleksis/apps/kort/models.py:325
+#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331
 #: aleksis/apps/kort/templates/kort/card/detail.html:8
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:84
 msgid "Card"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:317
+#: aleksis/apps/kort/models.py:323
 #: aleksis/apps/kort/templates/kort/card/list.html:8
 #: aleksis/apps/kort/templates/kort/card/list.html:9
 msgid "Cards"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:322
+#: aleksis/apps/kort/models.py:328
 msgid "Printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:337
+#: aleksis/apps/kort/models.py:343
 msgid "Card print job"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:338
+#: aleksis/apps/kort/models.py:344
 msgid "Card print jobs"
 msgstr ""
 
diff --git a/aleksis/apps/kort/locale/nb_NO/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/nb_NO/LC_MESSAGES/django.po
index ac0a519e0a6349d90a9a76538cd80d05c678afb5..b5cff3863512b848040abb8a51a1ce6415629548 100644
--- a/aleksis/apps/kort/locale/nb_NO/LC_MESSAGES/django.po
+++ b/aleksis/apps/kort/locale/nb_NO/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-12 23:11+0200\n"
+"POT-Creation-Date: 2023-03-19 15:48+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aleksis/apps/kort/apps.py:25
+#: aleksis/apps/kort/apps.py:31
 msgid "Access and manage printer status and print jobs"
 msgstr ""
 
@@ -54,11 +54,11 @@ msgstr ""
 msgid "Groups"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:185
+#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191
 msgid "Card layout"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:257
+#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:263
 #: aleksis/apps/kort/tables.py:30
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24
 #: aleksis/apps/kort/templates/kort/card/short.html:12
@@ -81,26 +81,10 @@ msgstr ""
 msgid "Printer settings"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:222
+#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228
 msgid "Required data fields"
 msgstr ""
 
-#: aleksis/apps/kort/menus.py:6
-msgid "Student ID Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:16
-msgid "All Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:27
-msgid "Card Printers"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:38 aleksis/apps/kort/models.py:249
-msgid "Card Layouts"
-msgstr ""
-
 #: aleksis/apps/kort/models.py:24
 msgid "Online"
 msgstr ""
@@ -133,7 +117,7 @@ msgstr ""
 msgid "Failed"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:217
+#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card_layout/short.html:4
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:11
@@ -152,7 +136,7 @@ msgstr ""
 msgid "Location"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:330
+#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336
 #: aleksis/apps/kort/tables.py:95
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38
@@ -161,7 +145,7 @@ msgstr ""
 msgid "Status"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:334
+#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340
 msgid "Status text"
 msgstr ""
 
@@ -186,103 +170,107 @@ msgstr ""
 msgid "Card detector"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:175
+#: aleksis/apps/kort/models.py:181
 msgid "Card printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:176
+#: aleksis/apps/kort/models.py:182
 #: aleksis/apps/kort/templates/kort/printer/list.html:8
 #: aleksis/apps/kort/templates/kort/printer/list.html:9
 msgid "Card printers"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:180
+#: aleksis/apps/kort/models.py:186
 msgid "Media file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:192
+#: aleksis/apps/kort/models.py:198
 msgid "Media file for a card layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:193
+#: aleksis/apps/kort/models.py:199
 msgid "Media files for card layouts"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:218
+#: aleksis/apps/kort/models.py:224
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43
 msgid "Template"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:219
+#: aleksis/apps/kort/models.py:225
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49
 msgid "Custom CSS"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220
+#: aleksis/apps/kort/models.py:226
 msgid "Width"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220 aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227
 msgid "in mm"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:227
 msgid "Height"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:242
+#: aleksis/apps/kort/models.py:248
 msgid "Template is invalid: {}"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:248 aleksis/apps/kort/models.py:261
+#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:31
 #: aleksis/apps/kort/templates/kort/card_layout/detail.html:8
 msgid "Card Layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:254
+#: aleksis/apps/kort/models.py:255
+msgid "Card Layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:260
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card/short.html:4
 msgid "Person"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:256
+#: aleksis/apps/kort/models.py:262
 msgid "Chip Number"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:258 aleksis/apps/kort/tables.py:31
+#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31
 msgid "Deactivated"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:264
+#: aleksis/apps/kort/models.py:270
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:297
+#: aleksis/apps/kort/models.py:303
 msgid "There is no layout provided for the card."
 msgstr ""
 
-#: aleksis/apps/kort/models.py:316 aleksis/apps/kort/models.py:325
+#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331
 #: aleksis/apps/kort/templates/kort/card/detail.html:8
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:84
 msgid "Card"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:317
+#: aleksis/apps/kort/models.py:323
 #: aleksis/apps/kort/templates/kort/card/list.html:8
 #: aleksis/apps/kort/templates/kort/card/list.html:9
 msgid "Cards"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:322
+#: aleksis/apps/kort/models.py:328
 msgid "Printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:337
+#: aleksis/apps/kort/models.py:343
 msgid "Card print job"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:338
+#: aleksis/apps/kort/models.py:344
 msgid "Card print jobs"
 msgstr ""
 
diff --git a/aleksis/apps/kort/locale/ru/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/ru/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..107f46d5bc92d825e373a9fde90bfa9f7a58fbff
--- /dev/null
+++ b/aleksis/apps/kort/locale/ru/LC_MESSAGES/django.po
@@ -0,0 +1,700 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-03-19 15:48+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
+"(n%100>=11 && n%100<=14)? 2 : 3);\n"
+#: aleksis/apps/kort/apps.py:31
+msgid "Access and manage printer status and print jobs"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:15
+msgid "Select person(s) or group(s)"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:16
+msgid "Select validity"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:17
+msgid "Select layout"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:18
+msgid "Select printer (optional)"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:22 aleksis/apps/kort/forms.py:111
+#: aleksis/apps/kort/templates/kort/printer/detail.html:8
+msgid "Card Printer"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:23
+msgid "Select a printer to directly print the newly issued card."
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:28
+msgid "Persons"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:41
+msgid "Groups"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191
+msgid "Card layout"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:263
+#: aleksis/apps/kort/tables.py:30
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:24
+#: aleksis/apps/kort/templates/kort/card/short.html:12
+msgid "Valid until"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:63
+msgid "You must select at least one person or group."
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:71
+msgid "The selected groups don't have any members."
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:91
+msgid "Generic attributes"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:93
+msgid "Printer settings"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228
+msgid "Required data fields"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:24
+msgid "Online"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:25
+msgid "Offline"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:26
+msgid "With errors"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:27
+msgid "Not registered"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:56
+msgid "Registered"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:57
+msgid "In progress"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:58
+msgid "Finished"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:59
+msgid "Failed"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:11
+#: aleksis/apps/kort/templates/kort/card_layout/short.html:4
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:11
+#: aleksis/apps/kort/templates/kort/printer/short.html:4
+msgid "Name"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:65
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:24
+msgid "Description"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:66
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:17
+#: aleksis/apps/kort/templates/kort/printer/short.html:8
+msgid "Location"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336
+#: aleksis/apps/kort/tables.py:95
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:38
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:38
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:90
+#: aleksis/apps/kort/templates/kort/printer/short.html:12
+msgid "Status"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340
+msgid "Status text"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/tables.py:58
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:31
+msgid "Last seen at"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:80
+msgid "OAuth2 application"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:87
+msgid "CUPS printer"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:89
+msgid "Generate card number on server"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:91
+msgid "Card detector"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:181
+msgid "Card printer"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:182
+#: aleksis/apps/kort/templates/kort/printer/list.html:8
+#: aleksis/apps/kort/templates/kort/printer/list.html:9
+msgid "Card printers"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:186
+msgid "Media file"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:198
+msgid "Media file for a card layout"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:199
+msgid "Media files for card layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:224
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43
+msgid "Template"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:225
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49
+msgid "Custom CSS"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:226
+msgid "Width"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227
+msgid "in mm"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:227
+msgid "Height"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:248
+msgid "Template is invalid: {}"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:31
+#: aleksis/apps/kort/templates/kort/card_layout/detail.html:8
+msgid "Card Layout"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:255
+msgid "Card Layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:260
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:11
+#: aleksis/apps/kort/templates/kort/card/short.html:4
+msgid "Person"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:262
+msgid "Chip Number"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31
+msgid "Deactivated"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:270
+msgid "PDF file"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:303
+msgid "There is no layout provided for the card."
+msgstr ""
+
+#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331
+#: aleksis/apps/kort/templates/kort/card/detail.html:8
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:84
+msgid "Card"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:323
+#: aleksis/apps/kort/templates/kort/card/list.html:8
+#: aleksis/apps/kort/templates/kort/card/list.html:9
+msgid "Cards"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:328
+msgid "Printer"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:343
+msgid "Card print job"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:344
+msgid "Card print jobs"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:28
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:17
+#: aleksis/apps/kort/templates/kort/card/short.html:8
+msgid "Chip number"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:29 aleksis/apps/kort/tables.py:57
+msgid "Current status"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:32 aleksis/apps/kort/tables.py:61
+#: aleksis/apps/kort/tables.py:85
+msgid "Actions"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:54
+msgid "Printer name"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:55
+msgid "Printer location"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:59
+msgid "Running jobs"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:81
+msgid "Layout name"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:8
+#: aleksis/apps/kort/templates/kort/card/detail.html:9
+#, python-format
+msgid "Card of %(person)s"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:14
+#: aleksis/apps/kort/templates/kort/card/actions.html:31
+#: aleksis/apps/kort/templates/kort/card_layout/actions.html:11
+#: aleksis/apps/kort/templates/kort/printer/actions.html:11
+msgid "Close"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:20
+#: aleksis/apps/kort/templates/kort/card_layout/actions.html:17
+#: aleksis/apps/kort/templates/kort/printer/actions.html:17
+msgid "Show"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:25
+msgid "Do you really want to deactivate the following card?"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:35
+#: aleksis/apps/kort/templates/kort/card/actions.html:41
+msgid "Deactivate"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:47
+#: aleksis/apps/kort/templates/kort/card/delete.html:30
+#: aleksis/apps/kort/templates/kort/card_layout/actions.html:33
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:29
+#: aleksis/apps/kort/templates/kort/card_layout/detail.html:31
+#: aleksis/apps/kort/templates/kort/printer/actions.html:33
+#: aleksis/apps/kort/templates/kort/printer/delete.html:29
+#: aleksis/apps/kort/templates/kort/printer/detail.html:31
+msgid "Delete"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/delete.html:8
+msgid "Delete Card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/delete.html:12
+msgid "Do you really want to delete the following card?"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/delete.html:16
+msgid ""
+"\n"
+"      Please pay attention that a deletion of a card is irreversible and should be only used to clean up misprints.\n"
+"      If you just want to make a card unusable because a student has lost his card or left the school,\n"
+"      please deactivate the card instead.\n"
+"    "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/delete.html:26
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:25
+#: aleksis/apps/kort/templates/kort/printer/delete.html:25
+msgid "Go back"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:6
+msgid "Card details"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:19
+msgid "not set yet"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:53
+msgid "Show card as PDF"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:61
+msgid "Generate card as PDF"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/edit.html:12
+#: aleksis/apps/kort/templates/kort/card/edit.html:13
+msgid "Edit card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:12
+#: aleksis/apps/kort/templates/kort/card/issue.html:13
+msgid "Issue card(s)"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:23
+msgid ""
+"\n"
+"          Please select the persons and/or the groups to whom you want to issue new cards.\n"
+"          After clicking on 'Next', you will be able to check whether the data of the persons\n"
+"          are complete and include everything needed for the cards.\n"
+"        "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:32
+msgid ""
+"\n"
+"          In the following table you can see all selected persons and the related data needed for the cards.\n"
+"          Please select the persons to whom you want to issue new cards.\n"
+"        "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:65
+msgid "Previous step"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:71
+msgid "Issue cards for selected persons"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:77
+msgid "Next step"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:83
+msgid "Cancel"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/list.html:17
+msgid "Issue new card(s)"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/print_form.html:8
+#: aleksis/apps/kort/templates/kort/card/print_form.html:16
+msgid "Print card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/status.html:3
+msgid "Valid"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/status.html:5
+msgid "Not valid"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/actions.html:26
+#: aleksis/apps/kort/templates/kort/card_layout/detail.html:24
+#: aleksis/apps/kort/templates/kort/printer/actions.html:27
+#: aleksis/apps/kort/templates/kort/printer/detail.html:24
+msgid "Edit"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/create.html:12
+#: aleksis/apps/kort/templates/kort/card_layout/create.html:13
+msgid "Create card layout"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/create.html:23
+#: aleksis/apps/kort/templates/kort/card_layout/edit.html:23
+msgid "Media Files"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:8
+msgid "Delete Card Layout"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:12
+msgid "Do you really want to delete the following card layout?"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:16
+msgid ""
+"\n"
+"      Please pay attention that this also will prevent the successful finishing of all active print jobs\n"
+"      which use these template.\n"
+"    "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail.html:15
+msgid "Back to all layouts"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:6
+msgid "Layout details"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:17
+msgid "Size (w × h)"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:24
+msgid "Media files"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:31
+msgid "No media files uploaded."
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/edit.html:12
+#: aleksis/apps/kort/templates/kort/card_layout/edit.html:13
+msgid "Edit card layout"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:4
+msgid "Instructions on templating the card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:5
+msgid ""
+"\n"
+"      You will be able to use the following data in your individual template. The template has to been written in the\n"
+"      Django template language.\n"
+"    "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:11
+msgid "The chip number as string"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:15
+msgid "This will give you access to any attributes of the person object like name, personal data or contact data."
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:19
+msgid "The date until when the card is valid"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:24
+msgid "This will give you access to the uploaded media files. Replace 0 by the number of your media file (starting with 0)."
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/list.html:8
+#: aleksis/apps/kort/templates/kort/card_layout/list.html:9
+msgid "Card layouts"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/list.html:17
+msgid "Create new card layout"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/person_status.html:5
+#, python-format
+msgid "%(count)s missing data fields"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/person_status.html:10
+msgid "Data complete"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/picture.html:4
+msgid "Person picture"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/create.html:12
+#: aleksis/apps/kort/templates/kort/printer/create.html:13
+msgid "Create card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/delete.html:8
+msgid "Delete Card Printer"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/delete.html:12
+msgid "Do you really want to delete the following card printer?"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/delete.html:16
+msgid ""
+"\n"
+"      Please pay attention that this also will deactivate the access for the print client and you would have to\n"
+"      reconfigure the client if you want to use it further.\n"
+"    "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail.html:15
+msgid "Back to all printers"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:6
+msgid "Printer details"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:33
+msgid "never seen yet"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:60
+msgid "Setup printer client"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:62
+msgid ""
+"\n"
+"              To enable printing, you have to register the print client on the device\n"
+"              which the printer is connected to.\n"
+"            "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:67
+msgid "1. Download print client"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:68
+msgid "2. Download configuration file"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:71
+msgid "Download configuration"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:73
+msgid "3. Setup client"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:80
+msgid "Print jobs"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:87
+msgid "Created at"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/edit.html:12
+#: aleksis/apps/kort/templates/kort/printer/edit.html:13
+msgid "Edit card printer"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/list.html:17
+msgid "Register new card printer"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:69
+msgid "The cards have been created successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:137 aleksis/apps/kort/views.py:193
+msgid "The print job #{} for the card {} on the printer {} has been created successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:145 aleksis/apps/kort/views.py:200
+msgid "The print job couldn't be started because of the following error: {}"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:158
+msgid "The card has been deleted successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:171
+msgid "The card has been deactivated successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:220
+msgid "The chip number is missing."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:232
+msgid "Progress: Generate card layout as PDF file"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:233
+msgid "Generating PDF file …"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:234
+msgid "The PDF file with the card layout has been generated successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:235
+msgid "There was a problem while generating the PDF file."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:237
+msgid "Show card"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:275
+msgid "The card printer has been created successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:288
+msgid "The card printer has been changed successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:301
+msgid "The card printer has been deleted successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:364
+msgid "The card layout has been created successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:382
+msgid "The card layout has been changed successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:395
+msgid "The card layout has been deleted successfully."
+msgstr ""
diff --git a/aleksis/apps/kort/locale/tr_TR/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/tr_TR/LC_MESSAGES/django.po
index ac0a519e0a6349d90a9a76538cd80d05c678afb5..b5cff3863512b848040abb8a51a1ce6415629548 100644
--- a/aleksis/apps/kort/locale/tr_TR/LC_MESSAGES/django.po
+++ b/aleksis/apps/kort/locale/tr_TR/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-12 23:11+0200\n"
+"POT-Creation-Date: 2023-03-19 15:48+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,7 +17,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: aleksis/apps/kort/apps.py:25
+#: aleksis/apps/kort/apps.py:31
 msgid "Access and manage printer status and print jobs"
 msgstr ""
 
@@ -54,11 +54,11 @@ msgstr ""
 msgid "Groups"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:185
+#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191
 msgid "Card layout"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:257
+#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:263
 #: aleksis/apps/kort/tables.py:30
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24
 #: aleksis/apps/kort/templates/kort/card/short.html:12
@@ -81,26 +81,10 @@ msgstr ""
 msgid "Printer settings"
 msgstr ""
 
-#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:222
+#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228
 msgid "Required data fields"
 msgstr ""
 
-#: aleksis/apps/kort/menus.py:6
-msgid "Student ID Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:16
-msgid "All Cards"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:27
-msgid "Card Printers"
-msgstr ""
-
-#: aleksis/apps/kort/menus.py:38 aleksis/apps/kort/models.py:249
-msgid "Card Layouts"
-msgstr ""
-
 #: aleksis/apps/kort/models.py:24
 msgid "Online"
 msgstr ""
@@ -133,7 +117,7 @@ msgstr ""
 msgid "Failed"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:217
+#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card_layout/short.html:4
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:11
@@ -152,7 +136,7 @@ msgstr ""
 msgid "Location"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:330
+#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336
 #: aleksis/apps/kort/tables.py:95
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38
@@ -161,7 +145,7 @@ msgstr ""
 msgid "Status"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:334
+#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340
 msgid "Status text"
 msgstr ""
 
@@ -186,103 +170,107 @@ msgstr ""
 msgid "Card detector"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:175
+#: aleksis/apps/kort/models.py:181
 msgid "Card printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:176
+#: aleksis/apps/kort/models.py:182
 #: aleksis/apps/kort/templates/kort/printer/list.html:8
 #: aleksis/apps/kort/templates/kort/printer/list.html:9
 msgid "Card printers"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:180
+#: aleksis/apps/kort/models.py:186
 msgid "Media file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:192
+#: aleksis/apps/kort/models.py:198
 msgid "Media file for a card layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:193
+#: aleksis/apps/kort/models.py:199
 msgid "Media files for card layouts"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:218
+#: aleksis/apps/kort/models.py:224
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43
 msgid "Template"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:219
+#: aleksis/apps/kort/models.py:225
 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49
 msgid "Custom CSS"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220
+#: aleksis/apps/kort/models.py:226
 msgid "Width"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:220 aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227
 msgid "in mm"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:221
+#: aleksis/apps/kort/models.py:227
 msgid "Height"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:242
+#: aleksis/apps/kort/models.py:248
 msgid "Template is invalid: {}"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:248 aleksis/apps/kort/models.py:261
+#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:31
 #: aleksis/apps/kort/templates/kort/card_layout/detail.html:8
 msgid "Card Layout"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:254
+#: aleksis/apps/kort/models.py:255
+msgid "Card Layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:260
 #: aleksis/apps/kort/templates/kort/card/detail_content.html:11
 #: aleksis/apps/kort/templates/kort/card/short.html:4
 msgid "Person"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:256
+#: aleksis/apps/kort/models.py:262
 msgid "Chip Number"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:258 aleksis/apps/kort/tables.py:31
+#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31
 msgid "Deactivated"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:264
+#: aleksis/apps/kort/models.py:270
 msgid "PDF file"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:297
+#: aleksis/apps/kort/models.py:303
 msgid "There is no layout provided for the card."
 msgstr ""
 
-#: aleksis/apps/kort/models.py:316 aleksis/apps/kort/models.py:325
+#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331
 #: aleksis/apps/kort/templates/kort/card/detail.html:8
 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:84
 msgid "Card"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:317
+#: aleksis/apps/kort/models.py:323
 #: aleksis/apps/kort/templates/kort/card/list.html:8
 #: aleksis/apps/kort/templates/kort/card/list.html:9
 msgid "Cards"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:322
+#: aleksis/apps/kort/models.py:328
 msgid "Printer"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:337
+#: aleksis/apps/kort/models.py:343
 msgid "Card print job"
 msgstr ""
 
-#: aleksis/apps/kort/models.py:338
+#: aleksis/apps/kort/models.py:344
 msgid "Card print jobs"
 msgstr ""
 
diff --git a/aleksis/apps/kort/locale/uk/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/uk/LC_MESSAGES/django.po
new file mode 100644
index 0000000000000000000000000000000000000000..a14dad0fd44202d3937b2587dfb39d122bb80775
--- /dev/null
+++ b/aleksis/apps/kort/locale/uk/LC_MESSAGES/django.po
@@ -0,0 +1,701 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-03-19 15:48+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != "
+"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % "
+"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || "
+"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
+#: aleksis/apps/kort/apps.py:31
+msgid "Access and manage printer status and print jobs"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:15
+msgid "Select person(s) or group(s)"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:16
+msgid "Select validity"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:17
+msgid "Select layout"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:18
+msgid "Select printer (optional)"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:22 aleksis/apps/kort/forms.py:111
+#: aleksis/apps/kort/templates/kort/printer/detail.html:8
+msgid "Card Printer"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:23
+msgid "Select a printer to directly print the newly issued card."
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:28
+msgid "Persons"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:41
+msgid "Groups"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191
+msgid "Card layout"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:263
+#: aleksis/apps/kort/tables.py:30
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:24
+#: aleksis/apps/kort/templates/kort/card/short.html:12
+msgid "Valid until"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:63
+msgid "You must select at least one person or group."
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:71
+msgid "The selected groups don't have any members."
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:91
+msgid "Generic attributes"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:93
+msgid "Printer settings"
+msgstr ""
+
+#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228
+msgid "Required data fields"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:24
+msgid "Online"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:25
+msgid "Offline"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:26
+msgid "With errors"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:27
+msgid "Not registered"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:56
+msgid "Registered"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:57
+msgid "In progress"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:58
+msgid "Finished"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:59
+msgid "Failed"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:11
+#: aleksis/apps/kort/templates/kort/card_layout/short.html:4
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:11
+#: aleksis/apps/kort/templates/kort/printer/short.html:4
+msgid "Name"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:65
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:24
+msgid "Description"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:66
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:17
+#: aleksis/apps/kort/templates/kort/printer/short.html:8
+msgid "Location"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336
+#: aleksis/apps/kort/tables.py:95
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:38
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:38
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:90
+#: aleksis/apps/kort/templates/kort/printer/short.html:12
+msgid "Status"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340
+msgid "Status text"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/tables.py:58
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:31
+msgid "Last seen at"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:80
+msgid "OAuth2 application"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:87
+msgid "CUPS printer"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:89
+msgid "Generate card number on server"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:91
+msgid "Card detector"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:181
+msgid "Card printer"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:182
+#: aleksis/apps/kort/templates/kort/printer/list.html:8
+#: aleksis/apps/kort/templates/kort/printer/list.html:9
+msgid "Card printers"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:186
+msgid "Media file"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:198
+msgid "Media file for a card layout"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:199
+msgid "Media files for card layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:224
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43
+msgid "Template"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:225
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49
+msgid "Custom CSS"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:226
+msgid "Width"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227
+msgid "in mm"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:227
+msgid "Height"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:248
+msgid "Template is invalid: {}"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:31
+#: aleksis/apps/kort/templates/kort/card_layout/detail.html:8
+msgid "Card Layout"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:255
+msgid "Card Layouts"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:260
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:11
+#: aleksis/apps/kort/templates/kort/card/short.html:4
+msgid "Person"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:262
+msgid "Chip Number"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31
+msgid "Deactivated"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:270
+msgid "PDF file"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:303
+msgid "There is no layout provided for the card."
+msgstr ""
+
+#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331
+#: aleksis/apps/kort/templates/kort/card/detail.html:8
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:84
+msgid "Card"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:323
+#: aleksis/apps/kort/templates/kort/card/list.html:8
+#: aleksis/apps/kort/templates/kort/card/list.html:9
+msgid "Cards"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:328
+msgid "Printer"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:343
+msgid "Card print job"
+msgstr ""
+
+#: aleksis/apps/kort/models.py:344
+msgid "Card print jobs"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:28
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:17
+#: aleksis/apps/kort/templates/kort/card/short.html:8
+msgid "Chip number"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:29 aleksis/apps/kort/tables.py:57
+msgid "Current status"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:32 aleksis/apps/kort/tables.py:61
+#: aleksis/apps/kort/tables.py:85
+msgid "Actions"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:54
+msgid "Printer name"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:55
+msgid "Printer location"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:59
+msgid "Running jobs"
+msgstr ""
+
+#: aleksis/apps/kort/tables.py:81
+msgid "Layout name"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:8
+#: aleksis/apps/kort/templates/kort/card/detail.html:9
+#, python-format
+msgid "Card of %(person)s"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:14
+#: aleksis/apps/kort/templates/kort/card/actions.html:31
+#: aleksis/apps/kort/templates/kort/card_layout/actions.html:11
+#: aleksis/apps/kort/templates/kort/printer/actions.html:11
+msgid "Close"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:20
+#: aleksis/apps/kort/templates/kort/card_layout/actions.html:17
+#: aleksis/apps/kort/templates/kort/printer/actions.html:17
+msgid "Show"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:25
+msgid "Do you really want to deactivate the following card?"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:35
+#: aleksis/apps/kort/templates/kort/card/actions.html:41
+msgid "Deactivate"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/actions.html:47
+#: aleksis/apps/kort/templates/kort/card/delete.html:30
+#: aleksis/apps/kort/templates/kort/card_layout/actions.html:33
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:29
+#: aleksis/apps/kort/templates/kort/card_layout/detail.html:31
+#: aleksis/apps/kort/templates/kort/printer/actions.html:33
+#: aleksis/apps/kort/templates/kort/printer/delete.html:29
+#: aleksis/apps/kort/templates/kort/printer/detail.html:31
+msgid "Delete"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/delete.html:8
+msgid "Delete Card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/delete.html:12
+msgid "Do you really want to delete the following card?"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/delete.html:16
+msgid ""
+"\n"
+"      Please pay attention that a deletion of a card is irreversible and should be only used to clean up misprints.\n"
+"      If you just want to make a card unusable because a student has lost his card or left the school,\n"
+"      please deactivate the card instead.\n"
+"    "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/delete.html:26
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:25
+#: aleksis/apps/kort/templates/kort/printer/delete.html:25
+msgid "Go back"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:6
+msgid "Card details"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:19
+msgid "not set yet"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:53
+msgid "Show card as PDF"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/detail_content.html:61
+msgid "Generate card as PDF"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/edit.html:12
+#: aleksis/apps/kort/templates/kort/card/edit.html:13
+msgid "Edit card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:12
+#: aleksis/apps/kort/templates/kort/card/issue.html:13
+msgid "Issue card(s)"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:23
+msgid ""
+"\n"
+"          Please select the persons and/or the groups to whom you want to issue new cards.\n"
+"          After clicking on 'Next', you will be able to check whether the data of the persons\n"
+"          are complete and include everything needed for the cards.\n"
+"        "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:32
+msgid ""
+"\n"
+"          In the following table you can see all selected persons and the related data needed for the cards.\n"
+"          Please select the persons to whom you want to issue new cards.\n"
+"        "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:65
+msgid "Previous step"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:71
+msgid "Issue cards for selected persons"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:77
+msgid "Next step"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/issue.html:83
+msgid "Cancel"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/list.html:17
+msgid "Issue new card(s)"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/print_form.html:8
+#: aleksis/apps/kort/templates/kort/card/print_form.html:16
+msgid "Print card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/status.html:3
+msgid "Valid"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card/status.html:5
+msgid "Not valid"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/actions.html:26
+#: aleksis/apps/kort/templates/kort/card_layout/detail.html:24
+#: aleksis/apps/kort/templates/kort/printer/actions.html:27
+#: aleksis/apps/kort/templates/kort/printer/detail.html:24
+msgid "Edit"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/create.html:12
+#: aleksis/apps/kort/templates/kort/card_layout/create.html:13
+msgid "Create card layout"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/create.html:23
+#: aleksis/apps/kort/templates/kort/card_layout/edit.html:23
+msgid "Media Files"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:8
+msgid "Delete Card Layout"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:12
+msgid "Do you really want to delete the following card layout?"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/delete.html:16
+msgid ""
+"\n"
+"      Please pay attention that this also will prevent the successful finishing of all active print jobs\n"
+"      which use these template.\n"
+"    "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail.html:15
+msgid "Back to all layouts"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:6
+msgid "Layout details"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:17
+msgid "Size (w × h)"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:24
+msgid "Media files"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:31
+msgid "No media files uploaded."
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/edit.html:12
+#: aleksis/apps/kort/templates/kort/card_layout/edit.html:13
+msgid "Edit card layout"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:4
+msgid "Instructions on templating the card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:5
+msgid ""
+"\n"
+"      You will be able to use the following data in your individual template. The template has to been written in the\n"
+"      Django template language.\n"
+"    "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:11
+msgid "The chip number as string"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:15
+msgid "This will give you access to any attributes of the person object like name, personal data or contact data."
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:19
+msgid "The date until when the card is valid"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/instructions.html:24
+msgid "This will give you access to the uploaded media files. Replace 0 by the number of your media file (starting with 0)."
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/list.html:8
+#: aleksis/apps/kort/templates/kort/card_layout/list.html:9
+msgid "Card layouts"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/card_layout/list.html:17
+msgid "Create new card layout"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/person_status.html:5
+#, python-format
+msgid "%(count)s missing data fields"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/person_status.html:10
+msgid "Data complete"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/picture.html:4
+msgid "Person picture"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/create.html:12
+#: aleksis/apps/kort/templates/kort/printer/create.html:13
+msgid "Create card"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/delete.html:8
+msgid "Delete Card Printer"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/delete.html:12
+msgid "Do you really want to delete the following card printer?"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/delete.html:16
+msgid ""
+"\n"
+"      Please pay attention that this also will deactivate the access for the print client and you would have to\n"
+"      reconfigure the client if you want to use it further.\n"
+"    "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail.html:15
+msgid "Back to all printers"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:6
+msgid "Printer details"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:33
+msgid "never seen yet"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:60
+msgid "Setup printer client"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:62
+msgid ""
+"\n"
+"              To enable printing, you have to register the print client on the device\n"
+"              which the printer is connected to.\n"
+"            "
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:67
+msgid "1. Download print client"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:68
+msgid "2. Download configuration file"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:71
+msgid "Download configuration"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:73
+msgid "3. Setup client"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:80
+msgid "Print jobs"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/detail_content.html:87
+msgid "Created at"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/edit.html:12
+#: aleksis/apps/kort/templates/kort/printer/edit.html:13
+msgid "Edit card printer"
+msgstr ""
+
+#: aleksis/apps/kort/templates/kort/printer/list.html:17
+msgid "Register new card printer"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:69
+msgid "The cards have been created successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:137 aleksis/apps/kort/views.py:193
+msgid "The print job #{} for the card {} on the printer {} has been created successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:145 aleksis/apps/kort/views.py:200
+msgid "The print job couldn't be started because of the following error: {}"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:158
+msgid "The card has been deleted successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:171
+msgid "The card has been deactivated successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:220
+msgid "The chip number is missing."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:232
+msgid "Progress: Generate card layout as PDF file"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:233
+msgid "Generating PDF file …"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:234
+msgid "The PDF file with the card layout has been generated successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:235
+msgid "There was a problem while generating the PDF file."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:237
+msgid "Show card"
+msgstr ""
+
+#: aleksis/apps/kort/views.py:275
+msgid "The card printer has been created successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:288
+msgid "The card printer has been changed successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:301
+msgid "The card printer has been deleted successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:364
+msgid "The card layout has been created successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:382
+msgid "The card layout has been changed successfully."
+msgstr ""
+
+#: aleksis/apps/kort/views.py:395
+msgid "The card layout has been deleted successfully."
+msgstr ""