From 1373264d9d3b95969f75a90eb74e23ef100ab20e Mon Sep 17 00:00:00 2001 From: Tom Teichler <tom.teichler@teckids.org> Date: Sat, 10 Aug 2024 16:53:20 +0200 Subject: [PATCH] Update messagtes --- .../apps/kort/locale/ar/LC_MESSAGES/django.po | 154 ++++++++----- .../kort/locale/de_DE/LC_MESSAGES/django.po | 210 +++++++++++------- .../apps/kort/locale/fr/LC_MESSAGES/django.po | 151 ++++++++----- .../apps/kort/locale/la/LC_MESSAGES/django.po | 151 ++++++++----- .../kort/locale/nb_NO/LC_MESSAGES/django.po | 151 ++++++++----- .../apps/kort/locale/ru/LC_MESSAGES/django.po | 174 ++++++++------- .../kort/locale/tr_TR/LC_MESSAGES/django.po | 151 ++++++++----- .../apps/kort/locale/uk/LC_MESSAGES/django.po | 175 +++++++-------- 8 files changed, 759 insertions(+), 558 deletions(-) diff --git a/aleksis/apps/kort/locale/ar/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/ar/LC_MESSAGES/django.po index bfb7b49..d1efc5d 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: 2023-09-16 17:04+0200\n" +"POT-Creation-Date: 2024-08-10 14:53+0000\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,10 @@ 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" +"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 +#: aleksis/apps/kort/apps.py:32 msgid "Access and manage printer status and print jobs" msgstr "" @@ -55,11 +56,11 @@ msgstr "" msgid "Groups" msgstr "" -#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:209 +#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models/cards.py:208 msgid "Card layout" msgstr "" -#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:281 +#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models/cards.py:280 #: aleksis/apps/kort/tables.py:23 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24 #: aleksis/apps/kort/templates/kort/card/short.html:12 @@ -82,43 +83,43 @@ msgstr "" msgid "Printer settings" msgstr "" -#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:246 +#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models/cards.py:245 msgid "Required data fields" msgstr "" -#: aleksis/apps/kort/models.py:25 +#: aleksis/apps/kort/models/cards.py:25 msgid "Online" msgstr "" -#: aleksis/apps/kort/models.py:26 +#: aleksis/apps/kort/models/cards.py:26 msgid "Offline" msgstr "" -#: aleksis/apps/kort/models.py:27 +#: aleksis/apps/kort/models/cards.py:27 msgid "With errors" msgstr "" -#: aleksis/apps/kort/models.py:28 +#: aleksis/apps/kort/models/cards.py:28 msgid "Not registered" msgstr "" -#: aleksis/apps/kort/models.py:57 +#: aleksis/apps/kort/models/cards.py:57 msgid "Registered" msgstr "" -#: aleksis/apps/kort/models.py:58 +#: aleksis/apps/kort/models/cards.py:58 msgid "In progress" msgstr "" -#: aleksis/apps/kort/models.py:59 +#: aleksis/apps/kort/models/cards.py:59 msgid "Finished" msgstr "" -#: aleksis/apps/kort/models.py:60 +#: aleksis/apps/kort/models/cards.py:60 msgid "Failed" msgstr "" -#: aleksis/apps/kort/models.py:65 aleksis/apps/kort/models.py:241 +#: aleksis/apps/kort/models/cards.py:65 aleksis/apps/kort/models/cards.py:240 #: 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 @@ -126,18 +127,18 @@ msgstr "" msgid "Name" msgstr "" -#: aleksis/apps/kort/models.py:66 +#: aleksis/apps/kort/models/cards.py:66 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:24 msgid "Description" msgstr "" -#: aleksis/apps/kort/models.py:67 +#: aleksis/apps/kort/models/cards.py:67 #: 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:71 aleksis/apps/kort/models.py:354 +#: aleksis/apps/kort/models/cards.py:71 aleksis/apps/kort/models/cards.py:355 #: aleksis/apps/kort/tables.py:94 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38 @@ -146,143 +147,159 @@ msgstr "" msgid "Status" msgstr "" -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/models.py:358 +#: aleksis/apps/kort/models/cards.py:75 aleksis/apps/kort/models/cards.py:359 msgid "Status text" msgstr "" -#: aleksis/apps/kort/models.py:76 aleksis/apps/kort/tables.py:52 +#: aleksis/apps/kort/models/cards.py:76 aleksis/apps/kort/tables.py:52 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:31 msgid "Last seen at" msgstr "" -#: aleksis/apps/kort/models.py:81 +#: aleksis/apps/kort/models/cards.py:81 msgid "OAuth2 application" msgstr "" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:89 msgid "OAuth2 client secret" msgstr "" -#: aleksis/apps/kort/models.py:95 +#: aleksis/apps/kort/models/cards.py:95 msgid "CUPS printer" msgstr "" -#: aleksis/apps/kort/models.py:97 +#: aleksis/apps/kort/models/cards.py:97 msgid "Leave blank to deactivate CUPS printing" msgstr "" -#: aleksis/apps/kort/models.py:100 +#: aleksis/apps/kort/models/cards.py:100 msgid "Generate card number on server" msgstr "" -#: aleksis/apps/kort/models.py:102 +#: aleksis/apps/kort/models/cards.py:102 msgid "Card detector" msgstr "" -#: aleksis/apps/kort/models.py:199 +#: aleksis/apps/kort/models/cards.py:198 msgid "Card printer" msgstr "" -#: aleksis/apps/kort/models.py:200 +#: aleksis/apps/kort/models/cards.py:199 #: 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:204 +#: aleksis/apps/kort/models/cards.py:203 msgid "Media file" msgstr "" -#: aleksis/apps/kort/models.py:216 +#: aleksis/apps/kort/models/cards.py:215 msgid "Media file for a card layout" msgstr "" -#: aleksis/apps/kort/models.py:217 +#: aleksis/apps/kort/models/cards.py:216 msgid "Media files for card layouts" msgstr "" -#: aleksis/apps/kort/models.py:242 +#: aleksis/apps/kort/models/cards.py:241 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43 msgid "Template" msgstr "" -#: aleksis/apps/kort/models.py:243 +#: aleksis/apps/kort/models/cards.py:242 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49 msgid "Custom CSS" msgstr "" -#: aleksis/apps/kort/models.py:244 +#: aleksis/apps/kort/models/cards.py:243 msgid "Width" msgstr "" -#: aleksis/apps/kort/models.py:244 aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:243 aleksis/apps/kort/models/cards.py:244 msgid "in mm" msgstr "" -#: aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:244 msgid "Height" msgstr "" -#: aleksis/apps/kort/models.py:266 +#: aleksis/apps/kort/models/cards.py:265 msgid "Template is invalid: {}" msgstr "" -#: aleksis/apps/kort/models.py:272 aleksis/apps/kort/models.py:285 +#: aleksis/apps/kort/models/cards.py:271 aleksis/apps/kort/models/cards.py:286 #: 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:273 +#: aleksis/apps/kort/models/cards.py:272 msgid "Card Layouts" msgstr "" -#: aleksis/apps/kort/models.py:278 aleksis/apps/kort/tables.py:20 +#: aleksis/apps/kort/models/cards.py:277 aleksis/apps/kort/tables.py:20 #: 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:280 +#: aleksis/apps/kort/models/cards.py:279 msgid "Chip Number" msgstr "" -#: aleksis/apps/kort/models.py:282 aleksis/apps/kort/tables.py:24 +#: aleksis/apps/kort/models/cards.py:281 aleksis/apps/kort/tables.py:24 msgid "Deactivated" msgstr "" -#: aleksis/apps/kort/models.py:288 +#: aleksis/apps/kort/models/cards.py:283 +msgid "Last read counter" +msgstr "" + +#: aleksis/apps/kort/models/cards.py:289 msgid "PDF file" msgstr "" -#: aleksis/apps/kort/models.py:321 +#: aleksis/apps/kort/models/cards.py:322 msgid "There is no layout provided for the card." msgstr "" -#: aleksis/apps/kort/models.py:340 aleksis/apps/kort/models.py:349 +#: aleksis/apps/kort/models/cards.py:341 aleksis/apps/kort/models/cards.py:350 #: aleksis/apps/kort/templates/kort/card/detail.html:8 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:85 msgid "Card" msgstr "" -#: aleksis/apps/kort/models.py:341 +#: aleksis/apps/kort/models/cards.py:342 #: 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:346 +#: aleksis/apps/kort/models/cards.py:347 msgid "Printer" msgstr "" -#: aleksis/apps/kort/models.py:361 +#: aleksis/apps/kort/models/cards.py:362 msgid "Card print job" msgstr "" -#: aleksis/apps/kort/models.py:362 +#: aleksis/apps/kort/models/cards.py:363 msgid "Card print jobs" msgstr "" +#: aleksis/apps/kort/preferences.py:10 +msgid "Student ID Cards" +msgstr "" + +#: aleksis/apps/kort/preferences.py:20 +msgid "SDM file read key" +msgstr "" + +#: aleksis/apps/kort/preferences.py:31 +msgid "SDM meta read key" +msgstr "" + #: aleksis/apps/kort/tables.py:21 #: aleksis/apps/kort/templates/kort/card/detail_content.html:17 #: aleksis/apps/kort/templates/kort/card/short.html:8 @@ -365,8 +382,10 @@ 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 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 "" @@ -415,8 +434,10 @@ 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" +" 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 "" @@ -424,7 +445,8 @@ 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" +" 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 "" @@ -490,7 +512,8 @@ 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" +" Please pay attention that this also will prevent the successful " +"finishing of all active print jobs\n" " which use these template.\n" " " msgstr "" @@ -527,7 +550,8 @@ 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" +" 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 "" @@ -537,7 +561,9 @@ 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." +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 @@ -545,7 +571,9 @@ 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)." +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 @@ -586,7 +614,8 @@ 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" +" 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 "" @@ -610,7 +639,8 @@ 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" +" To enable printing, you have to register the print client on " +"the device\n" " which the printer is connected to.\n" " " msgstr "" @@ -661,7 +691,9 @@ 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." +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 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 803fe03..32c1401 100644 --- a/aleksis/apps/kort/locale/de_DE/LC_MESSAGES/django.po +++ b/aleksis/apps/kort/locale/de_DE/LC_MESSAGES/django.po @@ -7,10 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-16 17:04+0200\n" +"POT-Creation-Date: 2024-08-10 14:53+0000\n" "PO-Revision-Date: 2023-09-16 15:16+0000\n" "Last-Translator: Jonathan Weth <teckids@jonathanweth.de>\n" -"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-app-kort/de/>\n" +"Language-Team: German <https://translate.edugit.org/projects/aleksis/aleksis-" +"app-kort/de/>\n" "Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.12.1\n" -#: aleksis/apps/kort/apps.py:31 +#: aleksis/apps/kort/apps.py:32 msgid "Access and manage printer status and print jobs" msgstr "Druckerstatus und Druckaufträge anzeigen und verwalten" @@ -45,7 +46,9 @@ msgstr "Kartendrucker" #: aleksis/apps/kort/forms.py:23 msgid "Select a printer to directly print the newly issued card." -msgstr "Wählen Sie einen Drucker aus, um die neu ausgestellte Karte direkt zu drucken." +msgstr "" +"Wählen Sie einen Drucker aus, um die neu ausgestellte Karte direkt zu " +"drucken." #: aleksis/apps/kort/forms.py:28 msgid "Persons" @@ -55,11 +58,11 @@ msgstr "Personen" msgid "Groups" msgstr "Gruppen" -#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:209 +#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models/cards.py:208 msgid "Card layout" msgstr "Kartenlayout" -#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:281 +#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models/cards.py:280 #: aleksis/apps/kort/tables.py:23 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24 #: aleksis/apps/kort/templates/kort/card/short.html:12 @@ -82,43 +85,43 @@ msgstr "Allgemeine Attribute" msgid "Printer settings" msgstr "Druckereinstellungen" -#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:246 +#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models/cards.py:245 msgid "Required data fields" msgstr "Benötigte Datenfelder" -#: aleksis/apps/kort/models.py:25 +#: aleksis/apps/kort/models/cards.py:25 msgid "Online" msgstr "Online" -#: aleksis/apps/kort/models.py:26 +#: aleksis/apps/kort/models/cards.py:26 msgid "Offline" msgstr "Offline" -#: aleksis/apps/kort/models.py:27 +#: aleksis/apps/kort/models/cards.py:27 msgid "With errors" msgstr "Mit Fehlern" -#: aleksis/apps/kort/models.py:28 +#: aleksis/apps/kort/models/cards.py:28 msgid "Not registered" msgstr "Nicht registriert" -#: aleksis/apps/kort/models.py:57 +#: aleksis/apps/kort/models/cards.py:57 msgid "Registered" msgstr "Registriert" -#: aleksis/apps/kort/models.py:58 +#: aleksis/apps/kort/models/cards.py:58 msgid "In progress" msgstr "In Bearbeitung" -#: aleksis/apps/kort/models.py:59 +#: aleksis/apps/kort/models/cards.py:59 msgid "Finished" msgstr "Beendet" -#: aleksis/apps/kort/models.py:60 +#: aleksis/apps/kort/models/cards.py:60 msgid "Failed" msgstr "Fehlgeschlagen" -#: aleksis/apps/kort/models.py:65 aleksis/apps/kort/models.py:241 +#: aleksis/apps/kort/models/cards.py:65 aleksis/apps/kort/models/cards.py:240 #: 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 @@ -126,18 +129,18 @@ msgstr "Fehlgeschlagen" msgid "Name" msgstr "Name" -#: aleksis/apps/kort/models.py:66 +#: aleksis/apps/kort/models/cards.py:66 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:24 msgid "Description" msgstr "Beschreibung" -#: aleksis/apps/kort/models.py:67 +#: aleksis/apps/kort/models/cards.py:67 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:17 #: aleksis/apps/kort/templates/kort/printer/short.html:8 msgid "Location" msgstr "Ort" -#: aleksis/apps/kort/models.py:71 aleksis/apps/kort/models.py:354 +#: aleksis/apps/kort/models/cards.py:71 aleksis/apps/kort/models/cards.py:355 #: aleksis/apps/kort/tables.py:94 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38 @@ -146,143 +149,159 @@ msgstr "Ort" msgid "Status" msgstr "Status" -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/models.py:358 +#: aleksis/apps/kort/models/cards.py:75 aleksis/apps/kort/models/cards.py:359 msgid "Status text" msgstr "Statustext" -#: aleksis/apps/kort/models.py:76 aleksis/apps/kort/tables.py:52 +#: aleksis/apps/kort/models/cards.py:76 aleksis/apps/kort/tables.py:52 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:31 msgid "Last seen at" msgstr "Zuletzt gesehen am" -#: aleksis/apps/kort/models.py:81 +#: aleksis/apps/kort/models/cards.py:81 msgid "OAuth2 application" msgstr "OAuth2-Anwendung" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:89 msgid "OAuth2 client secret" msgstr "OAuth2-Client-Secret" -#: aleksis/apps/kort/models.py:95 +#: aleksis/apps/kort/models/cards.py:95 msgid "CUPS printer" msgstr "CUPS-Drucker" -#: aleksis/apps/kort/models.py:97 +#: aleksis/apps/kort/models/cards.py:97 msgid "Leave blank to deactivate CUPS printing" msgstr "Leer lassen, um CUPS-Drucken zu deaktivieren" -#: aleksis/apps/kort/models.py:100 +#: aleksis/apps/kort/models/cards.py:100 msgid "Generate card number on server" msgstr "Kartennummer auf dem Server generieren" -#: aleksis/apps/kort/models.py:102 +#: aleksis/apps/kort/models/cards.py:102 msgid "Card detector" msgstr "Karten-Detektor" -#: aleksis/apps/kort/models.py:199 +#: aleksis/apps/kort/models/cards.py:198 msgid "Card printer" msgstr "Kartendrucker" -#: aleksis/apps/kort/models.py:200 +#: aleksis/apps/kort/models/cards.py:199 #: 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:204 +#: aleksis/apps/kort/models/cards.py:203 msgid "Media file" msgstr "Mediendatei" -#: aleksis/apps/kort/models.py:216 +#: aleksis/apps/kort/models/cards.py:215 msgid "Media file for a card layout" msgstr "Mediendatei für ein Kartenlayout" -#: aleksis/apps/kort/models.py:217 +#: aleksis/apps/kort/models/cards.py:216 msgid "Media files for card layouts" msgstr "Mediendateien für Kartenlayouts" -#: aleksis/apps/kort/models.py:242 +#: aleksis/apps/kort/models/cards.py:241 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43 msgid "Template" msgstr "Template" -#: aleksis/apps/kort/models.py:243 +#: aleksis/apps/kort/models/cards.py:242 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49 msgid "Custom CSS" msgstr "Benutzerdefiniertes CSS" -#: aleksis/apps/kort/models.py:244 +#: aleksis/apps/kort/models/cards.py:243 msgid "Width" msgstr "Breite" -#: aleksis/apps/kort/models.py:244 aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:243 aleksis/apps/kort/models/cards.py:244 msgid "in mm" msgstr "in mm" -#: aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:244 msgid "Height" msgstr "Höhe" -#: aleksis/apps/kort/models.py:266 +#: aleksis/apps/kort/models/cards.py:265 msgid "Template is invalid: {}" msgstr "Template ist ungültig: {}" -#: aleksis/apps/kort/models.py:272 aleksis/apps/kort/models.py:285 +#: aleksis/apps/kort/models/cards.py:271 aleksis/apps/kort/models/cards.py:286 #: 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:273 +#: aleksis/apps/kort/models/cards.py:272 msgid "Card Layouts" msgstr "Kartenlayouts" -#: aleksis/apps/kort/models.py:278 aleksis/apps/kort/tables.py:20 +#: aleksis/apps/kort/models/cards.py:277 aleksis/apps/kort/tables.py:20 #: 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:280 +#: aleksis/apps/kort/models/cards.py:279 msgid "Chip Number" msgstr "Chip-Nummer" -#: aleksis/apps/kort/models.py:282 aleksis/apps/kort/tables.py:24 +#: aleksis/apps/kort/models/cards.py:281 aleksis/apps/kort/tables.py:24 msgid "Deactivated" msgstr "Deaktiviert" -#: aleksis/apps/kort/models.py:288 +#: aleksis/apps/kort/models/cards.py:283 +msgid "Last read counter" +msgstr "" + +#: aleksis/apps/kort/models/cards.py:289 msgid "PDF file" msgstr "PDF-Datei" -#: aleksis/apps/kort/models.py:321 +#: aleksis/apps/kort/models/cards.py:322 msgid "There is no layout provided for the card." msgstr "Es wurde kein Layout für die Karte bereitgestellt." -#: aleksis/apps/kort/models.py:340 aleksis/apps/kort/models.py:349 +#: aleksis/apps/kort/models/cards.py:341 aleksis/apps/kort/models/cards.py:350 #: aleksis/apps/kort/templates/kort/card/detail.html:8 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:85 msgid "Card" msgstr "Karte" -#: aleksis/apps/kort/models.py:341 +#: aleksis/apps/kort/models/cards.py:342 #: 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:346 +#: aleksis/apps/kort/models/cards.py:347 msgid "Printer" msgstr "Drucker" -#: aleksis/apps/kort/models.py:361 +#: aleksis/apps/kort/models/cards.py:362 msgid "Card print job" msgstr "Karten-Druckauftrag" -#: aleksis/apps/kort/models.py:362 +#: aleksis/apps/kort/models/cards.py:363 msgid "Card print jobs" msgstr "Karten-Druckaufträge" +#: aleksis/apps/kort/preferences.py:10 +msgid "Student ID Cards" +msgstr "Schülerausweise" + +#: aleksis/apps/kort/preferences.py:20 +msgid "SDM file read key" +msgstr "" + +#: aleksis/apps/kort/preferences.py:31 +msgid "SDM meta read key" +msgstr "" + #: aleksis/apps/kort/tables.py:21 #: aleksis/apps/kort/templates/kort/card/detail_content.html:17 #: aleksis/apps/kort/templates/kort/card/short.html:8 @@ -365,14 +384,19 @@ msgstr "Möchten Sie wirklich die folgende Karte löschen?" #: 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 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 "" "\n" -" Bitte beachten Sie, dass das Löschen einer Karte nicht rückgängig gemacht werden kann und nur zum Aufräumen von Fehldrucken benutzt werden sollte.\n" -"Wenn Sie lediglich eine Karte unbenutzbar machen wollen, weil ein Schüler seine Karte verloren hat oder die Schule verlässt,\n" +" Bitte beachten Sie, dass das Löschen einer Karte nicht rückgängig " +"gemacht werden kann und nur zum Aufräumen von Fehldrucken benutzt werden " +"sollte.\n" +"Wenn Sie lediglich eine Karte unbenutzbar machen wollen, weil ein Schüler " +"seine Karte verloren hat oder die Schule verlässt,\n" "deaktivieren Sie die Karte bitte stattdessen.\n" " " @@ -420,27 +444,34 @@ msgstr "Karte(n) ausstellen" #: 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" +" 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 "" "\n" -" Bitte wählen Sie die Personen und/oder die Gruppen aus, für die Sie neue Karten ausstellen wollen.\n" -"Nachdem Sie auf 'Weiter' geklickt haben, können Sie prüfen, ob die Daten der Personen vollständig sind\n" +" Bitte wählen Sie die Personen und/oder die Gruppen aus, für die " +"Sie neue Karten ausstellen wollen.\n" +"Nachdem Sie auf 'Weiter' geklickt haben, können Sie prüfen, ob die Daten der " +"Personen vollständig sind\n" "und alles Notwendige für die Karten enthalten.\n" " " #: 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" +" 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 "" "\n" -" In der folgenden Tabelle können Sie alle ausgewählten Personen und die zugehörigen Daten, die für die Karten benötigt werden, sehen.\n" -"Bitte wählen Sie die Personen aus, für die Sie neue Karten ausstellen wollen.\n" +" In der folgenden Tabelle können Sie alle ausgewählten Personen und " +"die zugehörigen Daten, die für die Karten benötigt werden, sehen.\n" +"Bitte wählen Sie die Personen aus, für die Sie neue Karten ausstellen " +"wollen.\n" " " #: aleksis/apps/kort/templates/kort/card/issue.html:65 @@ -504,12 +535,14 @@ msgstr "Möchten Sie wirklich das folgende Kartenlayout löschen?" #: 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" +" Please pay attention that this also will prevent the successful " +"finishing of all active print jobs\n" " which use these template.\n" " " msgstr "" "\n" -" Bitte beachten Sie, dass dies auch die erfolgreiche Fertigstellung aller aktiven Druckaufträge verhindern wird,\n" +" Bitte beachten Sie, dass dies auch die erfolgreiche Fertigstellung " +"aller aktiven Druckaufträge verhindern wird,\n" " die dieses Template nutzen.\n" " " @@ -545,12 +578,14 @@ msgstr "Anweisungen zum Gestalten der Karte" #: 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" +" 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 "" "\n" -" Sie können die folgenden Daten in Ihrem individuellen Template nutzen. Das Template muss in der\n" +" Sie können die folgenden Daten in Ihrem individuellen Template nutzen. " +"Das Template muss in der\n" "Django-Template-Sprache geschrieben werden.\n" " " @@ -559,16 +594,24 @@ msgid "The chip number as string" msgstr "Die Chip-Nummer als Zeichenkette" #: 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 "Dies gibt Ihnen Zugriff zu allen Attributen des Personen-Objekts wie z. B. Name, persönliche Daten oder Kontaktdaten." +msgid "" +"This will give you access to any attributes of the person object like name, " +"personal data or contact data." +msgstr "" +"Dies gibt Ihnen Zugriff zu allen Attributen des Personen-Objekts wie z. B. " +"Name, persönliche Daten oder Kontaktdaten." #: aleksis/apps/kort/templates/kort/card_layout/instructions.html:19 msgid "The date until when the card is valid" msgstr "Das Datum, bis wann die Karte gültig ist" #: 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 "Dies gibt Ihnen Zugriff auf die hochgeladenen Mediendateien. Ersetzen Sie 0 durch die Nummer Ihrer Mediendatei (startend mit 0)." +msgid "" +"This will give you access to the uploaded media files. Replace 0 by the " +"number of your media file (starting with 0)." +msgstr "" +"Dies gibt Ihnen Zugriff auf die hochgeladenen Mediendateien. Ersetzen Sie 0 " +"durch die Nummer Ihrer Mediendatei (startend mit 0)." #: aleksis/apps/kort/templates/kort/card_layout/list.html:8 #: aleksis/apps/kort/templates/kort/card_layout/list.html:9 @@ -608,13 +651,16 @@ msgstr "Möchten Sie wirklich den folgenden Kartendrucker löschen?" #: 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" +" 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 "" "\n" -" Bitte beachten Sie, dass dies auch den Zugriff für den Druckclient deaktivieren wird und Sie außerdem \n" -"den Druckklient neu konfigurieren müssen, wenn Sie ihn weiter benutzen wollen.\n" +" Bitte beachten Sie, dass dies auch den Zugriff für den Druckclient " +"deaktivieren wird und Sie außerdem \n" +"den Druckklient neu konfigurieren müssen, wenn Sie ihn weiter benutzen " +"wollen.\n" " " #: aleksis/apps/kort/templates/kort/printer/detail.html:15 @@ -636,12 +682,14 @@ msgstr "Druckclient einrichten" #: 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" +" To enable printing, you have to register the print client on " +"the device\n" " which the printer is connected to.\n" " " msgstr "" "\n" -" Um das Drucken zu aktivieren, müssen Sie den Druckklient auf dem Gerät\n" +" Um das Drucken zu aktivieren, müssen Sie den Druckklient auf " +"dem Gerät\n" "registrieren, an das der Drucker angeschlossen ist.\n" " " @@ -691,12 +739,17 @@ msgid "The cards have been created successfully." msgstr "Die Karten wurden erfolgreich erstellt." #: 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 "Der Druckauftrag #{} für die Karte {} auf dem Drucker {} wurde erfolgreich erstellt." +msgid "" +"The print job #{} for the card {} on the printer {} has been created " +"successfully." +msgstr "" +"Der Druckauftrag #{} für die Karte {} auf dem Drucker {} wurde erfolgreich " +"erstellt." #: 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 "Der Druckauftrag konnte wegen folgendem Fehler nicht gestartet werden: {}" +msgstr "" +"Der Druckauftrag konnte wegen folgendem Fehler nicht gestartet werden: {}" #: aleksis/apps/kort/views.py:158 msgid "The card has been deleted successfully." @@ -757,9 +810,6 @@ msgstr "Das Kartenlayout wurde erfolgreich gelöscht." #~ msgid "The chip number is missing." #~ msgstr "Die Chip-Nummer fehlt." -#~ msgid "Student ID Cards" -#~ msgstr "Schülerausweise" - #~ msgid "All Cards" #~ msgstr "Alle Karten" diff --git a/aleksis/apps/kort/locale/fr/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/fr/LC_MESSAGES/django.po index 8caf4f6..19d6cab 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: 2023-09-16 17:04+0200\n" +"POT-Creation-Date: 2024-08-10 14:53+0000\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" @@ -18,7 +18,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: aleksis/apps/kort/apps.py:31 +#: aleksis/apps/kort/apps.py:32 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:209 +#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models/cards.py:208 msgid "Card layout" msgstr "" -#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:281 +#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models/cards.py:280 #: aleksis/apps/kort/tables.py:23 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24 #: aleksis/apps/kort/templates/kort/card/short.html:12 @@ -82,43 +82,43 @@ msgstr "" msgid "Printer settings" msgstr "" -#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:246 +#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models/cards.py:245 msgid "Required data fields" msgstr "" -#: aleksis/apps/kort/models.py:25 +#: aleksis/apps/kort/models/cards.py:25 msgid "Online" msgstr "" -#: aleksis/apps/kort/models.py:26 +#: aleksis/apps/kort/models/cards.py:26 msgid "Offline" msgstr "" -#: aleksis/apps/kort/models.py:27 +#: aleksis/apps/kort/models/cards.py:27 msgid "With errors" msgstr "" -#: aleksis/apps/kort/models.py:28 +#: aleksis/apps/kort/models/cards.py:28 msgid "Not registered" msgstr "" -#: aleksis/apps/kort/models.py:57 +#: aleksis/apps/kort/models/cards.py:57 msgid "Registered" msgstr "" -#: aleksis/apps/kort/models.py:58 +#: aleksis/apps/kort/models/cards.py:58 msgid "In progress" msgstr "" -#: aleksis/apps/kort/models.py:59 +#: aleksis/apps/kort/models/cards.py:59 msgid "Finished" msgstr "" -#: aleksis/apps/kort/models.py:60 +#: aleksis/apps/kort/models/cards.py:60 msgid "Failed" msgstr "" -#: aleksis/apps/kort/models.py:65 aleksis/apps/kort/models.py:241 +#: aleksis/apps/kort/models/cards.py:65 aleksis/apps/kort/models/cards.py:240 #: 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 @@ -126,18 +126,18 @@ msgstr "" msgid "Name" msgstr "" -#: aleksis/apps/kort/models.py:66 +#: aleksis/apps/kort/models/cards.py:66 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:24 msgid "Description" msgstr "" -#: aleksis/apps/kort/models.py:67 +#: aleksis/apps/kort/models/cards.py:67 #: 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:71 aleksis/apps/kort/models.py:354 +#: aleksis/apps/kort/models/cards.py:71 aleksis/apps/kort/models/cards.py:355 #: aleksis/apps/kort/tables.py:94 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38 @@ -146,143 +146,159 @@ msgstr "" msgid "Status" msgstr "" -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/models.py:358 +#: aleksis/apps/kort/models/cards.py:75 aleksis/apps/kort/models/cards.py:359 msgid "Status text" msgstr "" -#: aleksis/apps/kort/models.py:76 aleksis/apps/kort/tables.py:52 +#: aleksis/apps/kort/models/cards.py:76 aleksis/apps/kort/tables.py:52 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:31 msgid "Last seen at" msgstr "" -#: aleksis/apps/kort/models.py:81 +#: aleksis/apps/kort/models/cards.py:81 msgid "OAuth2 application" msgstr "" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:89 msgid "OAuth2 client secret" msgstr "" -#: aleksis/apps/kort/models.py:95 +#: aleksis/apps/kort/models/cards.py:95 msgid "CUPS printer" msgstr "" -#: aleksis/apps/kort/models.py:97 +#: aleksis/apps/kort/models/cards.py:97 msgid "Leave blank to deactivate CUPS printing" msgstr "" -#: aleksis/apps/kort/models.py:100 +#: aleksis/apps/kort/models/cards.py:100 msgid "Generate card number on server" msgstr "" -#: aleksis/apps/kort/models.py:102 +#: aleksis/apps/kort/models/cards.py:102 msgid "Card detector" msgstr "" -#: aleksis/apps/kort/models.py:199 +#: aleksis/apps/kort/models/cards.py:198 msgid "Card printer" msgstr "" -#: aleksis/apps/kort/models.py:200 +#: aleksis/apps/kort/models/cards.py:199 #: 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:204 +#: aleksis/apps/kort/models/cards.py:203 msgid "Media file" msgstr "" -#: aleksis/apps/kort/models.py:216 +#: aleksis/apps/kort/models/cards.py:215 msgid "Media file for a card layout" msgstr "" -#: aleksis/apps/kort/models.py:217 +#: aleksis/apps/kort/models/cards.py:216 msgid "Media files for card layouts" msgstr "" -#: aleksis/apps/kort/models.py:242 +#: aleksis/apps/kort/models/cards.py:241 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43 msgid "Template" msgstr "" -#: aleksis/apps/kort/models.py:243 +#: aleksis/apps/kort/models/cards.py:242 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49 msgid "Custom CSS" msgstr "" -#: aleksis/apps/kort/models.py:244 +#: aleksis/apps/kort/models/cards.py:243 msgid "Width" msgstr "" -#: aleksis/apps/kort/models.py:244 aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:243 aleksis/apps/kort/models/cards.py:244 msgid "in mm" msgstr "" -#: aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:244 msgid "Height" msgstr "" -#: aleksis/apps/kort/models.py:266 +#: aleksis/apps/kort/models/cards.py:265 msgid "Template is invalid: {}" msgstr "" -#: aleksis/apps/kort/models.py:272 aleksis/apps/kort/models.py:285 +#: aleksis/apps/kort/models/cards.py:271 aleksis/apps/kort/models/cards.py:286 #: 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:273 +#: aleksis/apps/kort/models/cards.py:272 msgid "Card Layouts" msgstr "" -#: aleksis/apps/kort/models.py:278 aleksis/apps/kort/tables.py:20 +#: aleksis/apps/kort/models/cards.py:277 aleksis/apps/kort/tables.py:20 #: 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:280 +#: aleksis/apps/kort/models/cards.py:279 msgid "Chip Number" msgstr "" -#: aleksis/apps/kort/models.py:282 aleksis/apps/kort/tables.py:24 +#: aleksis/apps/kort/models/cards.py:281 aleksis/apps/kort/tables.py:24 msgid "Deactivated" msgstr "" -#: aleksis/apps/kort/models.py:288 +#: aleksis/apps/kort/models/cards.py:283 +msgid "Last read counter" +msgstr "" + +#: aleksis/apps/kort/models/cards.py:289 msgid "PDF file" msgstr "" -#: aleksis/apps/kort/models.py:321 +#: aleksis/apps/kort/models/cards.py:322 msgid "There is no layout provided for the card." msgstr "" -#: aleksis/apps/kort/models.py:340 aleksis/apps/kort/models.py:349 +#: aleksis/apps/kort/models/cards.py:341 aleksis/apps/kort/models/cards.py:350 #: aleksis/apps/kort/templates/kort/card/detail.html:8 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:85 msgid "Card" msgstr "" -#: aleksis/apps/kort/models.py:341 +#: aleksis/apps/kort/models/cards.py:342 #: 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:346 +#: aleksis/apps/kort/models/cards.py:347 msgid "Printer" msgstr "" -#: aleksis/apps/kort/models.py:361 +#: aleksis/apps/kort/models/cards.py:362 msgid "Card print job" msgstr "" -#: aleksis/apps/kort/models.py:362 +#: aleksis/apps/kort/models/cards.py:363 msgid "Card print jobs" msgstr "" +#: aleksis/apps/kort/preferences.py:10 +msgid "Student ID Cards" +msgstr "" + +#: aleksis/apps/kort/preferences.py:20 +msgid "SDM file read key" +msgstr "" + +#: aleksis/apps/kort/preferences.py:31 +msgid "SDM meta read key" +msgstr "" + #: aleksis/apps/kort/tables.py:21 #: aleksis/apps/kort/templates/kort/card/detail_content.html:17 #: aleksis/apps/kort/templates/kort/card/short.html:8 @@ -365,8 +381,10 @@ 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 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 "" @@ -415,8 +433,10 @@ 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" +" 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 "" @@ -424,7 +444,8 @@ 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" +" 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 "" @@ -490,7 +511,8 @@ 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" +" Please pay attention that this also will prevent the successful " +"finishing of all active print jobs\n" " which use these template.\n" " " msgstr "" @@ -527,7 +549,8 @@ 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" +" 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 "" @@ -537,7 +560,9 @@ 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." +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 @@ -545,7 +570,9 @@ 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)." +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 @@ -586,7 +613,8 @@ 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" +" 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 "" @@ -610,7 +638,8 @@ 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" +" To enable printing, you have to register the print client on " +"the device\n" " which the printer is connected to.\n" " " msgstr "" @@ -661,7 +690,9 @@ 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." +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 diff --git a/aleksis/apps/kort/locale/la/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/la/LC_MESSAGES/django.po index 0b716c8..029e152 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: 2023-09-16 17:04+0200\n" +"POT-Creation-Date: 2024-08-10 14:53+0000\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:31 +#: aleksis/apps/kort/apps.py:32 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:209 +#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models/cards.py:208 msgid "Card layout" msgstr "" -#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:281 +#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models/cards.py:280 #: aleksis/apps/kort/tables.py:23 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24 #: aleksis/apps/kort/templates/kort/card/short.html:12 @@ -81,43 +81,43 @@ msgstr "" msgid "Printer settings" msgstr "" -#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:246 +#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models/cards.py:245 msgid "Required data fields" msgstr "" -#: aleksis/apps/kort/models.py:25 +#: aleksis/apps/kort/models/cards.py:25 msgid "Online" msgstr "" -#: aleksis/apps/kort/models.py:26 +#: aleksis/apps/kort/models/cards.py:26 msgid "Offline" msgstr "" -#: aleksis/apps/kort/models.py:27 +#: aleksis/apps/kort/models/cards.py:27 msgid "With errors" msgstr "" -#: aleksis/apps/kort/models.py:28 +#: aleksis/apps/kort/models/cards.py:28 msgid "Not registered" msgstr "" -#: aleksis/apps/kort/models.py:57 +#: aleksis/apps/kort/models/cards.py:57 msgid "Registered" msgstr "" -#: aleksis/apps/kort/models.py:58 +#: aleksis/apps/kort/models/cards.py:58 msgid "In progress" msgstr "" -#: aleksis/apps/kort/models.py:59 +#: aleksis/apps/kort/models/cards.py:59 msgid "Finished" msgstr "" -#: aleksis/apps/kort/models.py:60 +#: aleksis/apps/kort/models/cards.py:60 msgid "Failed" msgstr "" -#: aleksis/apps/kort/models.py:65 aleksis/apps/kort/models.py:241 +#: aleksis/apps/kort/models/cards.py:65 aleksis/apps/kort/models/cards.py:240 #: 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 @@ -125,18 +125,18 @@ msgstr "" msgid "Name" msgstr "" -#: aleksis/apps/kort/models.py:66 +#: aleksis/apps/kort/models/cards.py:66 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:24 msgid "Description" msgstr "" -#: aleksis/apps/kort/models.py:67 +#: aleksis/apps/kort/models/cards.py:67 #: 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:71 aleksis/apps/kort/models.py:354 +#: aleksis/apps/kort/models/cards.py:71 aleksis/apps/kort/models/cards.py:355 #: aleksis/apps/kort/tables.py:94 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38 @@ -145,143 +145,159 @@ msgstr "" msgid "Status" msgstr "" -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/models.py:358 +#: aleksis/apps/kort/models/cards.py:75 aleksis/apps/kort/models/cards.py:359 msgid "Status text" msgstr "" -#: aleksis/apps/kort/models.py:76 aleksis/apps/kort/tables.py:52 +#: aleksis/apps/kort/models/cards.py:76 aleksis/apps/kort/tables.py:52 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:31 msgid "Last seen at" msgstr "" -#: aleksis/apps/kort/models.py:81 +#: aleksis/apps/kort/models/cards.py:81 msgid "OAuth2 application" msgstr "" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:89 msgid "OAuth2 client secret" msgstr "" -#: aleksis/apps/kort/models.py:95 +#: aleksis/apps/kort/models/cards.py:95 msgid "CUPS printer" msgstr "" -#: aleksis/apps/kort/models.py:97 +#: aleksis/apps/kort/models/cards.py:97 msgid "Leave blank to deactivate CUPS printing" msgstr "" -#: aleksis/apps/kort/models.py:100 +#: aleksis/apps/kort/models/cards.py:100 msgid "Generate card number on server" msgstr "" -#: aleksis/apps/kort/models.py:102 +#: aleksis/apps/kort/models/cards.py:102 msgid "Card detector" msgstr "" -#: aleksis/apps/kort/models.py:199 +#: aleksis/apps/kort/models/cards.py:198 msgid "Card printer" msgstr "" -#: aleksis/apps/kort/models.py:200 +#: aleksis/apps/kort/models/cards.py:199 #: 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:204 +#: aleksis/apps/kort/models/cards.py:203 msgid "Media file" msgstr "" -#: aleksis/apps/kort/models.py:216 +#: aleksis/apps/kort/models/cards.py:215 msgid "Media file for a card layout" msgstr "" -#: aleksis/apps/kort/models.py:217 +#: aleksis/apps/kort/models/cards.py:216 msgid "Media files for card layouts" msgstr "" -#: aleksis/apps/kort/models.py:242 +#: aleksis/apps/kort/models/cards.py:241 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43 msgid "Template" msgstr "" -#: aleksis/apps/kort/models.py:243 +#: aleksis/apps/kort/models/cards.py:242 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49 msgid "Custom CSS" msgstr "" -#: aleksis/apps/kort/models.py:244 +#: aleksis/apps/kort/models/cards.py:243 msgid "Width" msgstr "" -#: aleksis/apps/kort/models.py:244 aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:243 aleksis/apps/kort/models/cards.py:244 msgid "in mm" msgstr "" -#: aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:244 msgid "Height" msgstr "" -#: aleksis/apps/kort/models.py:266 +#: aleksis/apps/kort/models/cards.py:265 msgid "Template is invalid: {}" msgstr "" -#: aleksis/apps/kort/models.py:272 aleksis/apps/kort/models.py:285 +#: aleksis/apps/kort/models/cards.py:271 aleksis/apps/kort/models/cards.py:286 #: 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:273 +#: aleksis/apps/kort/models/cards.py:272 msgid "Card Layouts" msgstr "" -#: aleksis/apps/kort/models.py:278 aleksis/apps/kort/tables.py:20 +#: aleksis/apps/kort/models/cards.py:277 aleksis/apps/kort/tables.py:20 #: 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:280 +#: aleksis/apps/kort/models/cards.py:279 msgid "Chip Number" msgstr "" -#: aleksis/apps/kort/models.py:282 aleksis/apps/kort/tables.py:24 +#: aleksis/apps/kort/models/cards.py:281 aleksis/apps/kort/tables.py:24 msgid "Deactivated" msgstr "" -#: aleksis/apps/kort/models.py:288 +#: aleksis/apps/kort/models/cards.py:283 +msgid "Last read counter" +msgstr "" + +#: aleksis/apps/kort/models/cards.py:289 msgid "PDF file" msgstr "" -#: aleksis/apps/kort/models.py:321 +#: aleksis/apps/kort/models/cards.py:322 msgid "There is no layout provided for the card." msgstr "" -#: aleksis/apps/kort/models.py:340 aleksis/apps/kort/models.py:349 +#: aleksis/apps/kort/models/cards.py:341 aleksis/apps/kort/models/cards.py:350 #: aleksis/apps/kort/templates/kort/card/detail.html:8 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:85 msgid "Card" msgstr "" -#: aleksis/apps/kort/models.py:341 +#: aleksis/apps/kort/models/cards.py:342 #: 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:346 +#: aleksis/apps/kort/models/cards.py:347 msgid "Printer" msgstr "" -#: aleksis/apps/kort/models.py:361 +#: aleksis/apps/kort/models/cards.py:362 msgid "Card print job" msgstr "" -#: aleksis/apps/kort/models.py:362 +#: aleksis/apps/kort/models/cards.py:363 msgid "Card print jobs" msgstr "" +#: aleksis/apps/kort/preferences.py:10 +msgid "Student ID Cards" +msgstr "" + +#: aleksis/apps/kort/preferences.py:20 +msgid "SDM file read key" +msgstr "" + +#: aleksis/apps/kort/preferences.py:31 +msgid "SDM meta read key" +msgstr "" + #: aleksis/apps/kort/tables.py:21 #: aleksis/apps/kort/templates/kort/card/detail_content.html:17 #: aleksis/apps/kort/templates/kort/card/short.html:8 @@ -364,8 +380,10 @@ 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 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 "" @@ -414,8 +432,10 @@ 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" +" 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 "" @@ -423,7 +443,8 @@ 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" +" 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 "" @@ -489,7 +510,8 @@ 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" +" Please pay attention that this also will prevent the successful " +"finishing of all active print jobs\n" " which use these template.\n" " " msgstr "" @@ -526,7 +548,8 @@ 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" +" 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 "" @@ -536,7 +559,9 @@ 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." +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 @@ -544,7 +569,9 @@ 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)." +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 @@ -585,7 +612,8 @@ 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" +" 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 "" @@ -609,7 +637,8 @@ 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" +" To enable printing, you have to register the print client on " +"the device\n" " which the printer is connected to.\n" " " msgstr "" @@ -660,7 +689,9 @@ 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." +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 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 0b716c8..029e152 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: 2023-09-16 17:04+0200\n" +"POT-Creation-Date: 2024-08-10 14:53+0000\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:31 +#: aleksis/apps/kort/apps.py:32 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:209 +#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models/cards.py:208 msgid "Card layout" msgstr "" -#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:281 +#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models/cards.py:280 #: aleksis/apps/kort/tables.py:23 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24 #: aleksis/apps/kort/templates/kort/card/short.html:12 @@ -81,43 +81,43 @@ msgstr "" msgid "Printer settings" msgstr "" -#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:246 +#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models/cards.py:245 msgid "Required data fields" msgstr "" -#: aleksis/apps/kort/models.py:25 +#: aleksis/apps/kort/models/cards.py:25 msgid "Online" msgstr "" -#: aleksis/apps/kort/models.py:26 +#: aleksis/apps/kort/models/cards.py:26 msgid "Offline" msgstr "" -#: aleksis/apps/kort/models.py:27 +#: aleksis/apps/kort/models/cards.py:27 msgid "With errors" msgstr "" -#: aleksis/apps/kort/models.py:28 +#: aleksis/apps/kort/models/cards.py:28 msgid "Not registered" msgstr "" -#: aleksis/apps/kort/models.py:57 +#: aleksis/apps/kort/models/cards.py:57 msgid "Registered" msgstr "" -#: aleksis/apps/kort/models.py:58 +#: aleksis/apps/kort/models/cards.py:58 msgid "In progress" msgstr "" -#: aleksis/apps/kort/models.py:59 +#: aleksis/apps/kort/models/cards.py:59 msgid "Finished" msgstr "" -#: aleksis/apps/kort/models.py:60 +#: aleksis/apps/kort/models/cards.py:60 msgid "Failed" msgstr "" -#: aleksis/apps/kort/models.py:65 aleksis/apps/kort/models.py:241 +#: aleksis/apps/kort/models/cards.py:65 aleksis/apps/kort/models/cards.py:240 #: 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 @@ -125,18 +125,18 @@ msgstr "" msgid "Name" msgstr "" -#: aleksis/apps/kort/models.py:66 +#: aleksis/apps/kort/models/cards.py:66 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:24 msgid "Description" msgstr "" -#: aleksis/apps/kort/models.py:67 +#: aleksis/apps/kort/models/cards.py:67 #: 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:71 aleksis/apps/kort/models.py:354 +#: aleksis/apps/kort/models/cards.py:71 aleksis/apps/kort/models/cards.py:355 #: aleksis/apps/kort/tables.py:94 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38 @@ -145,143 +145,159 @@ msgstr "" msgid "Status" msgstr "" -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/models.py:358 +#: aleksis/apps/kort/models/cards.py:75 aleksis/apps/kort/models/cards.py:359 msgid "Status text" msgstr "" -#: aleksis/apps/kort/models.py:76 aleksis/apps/kort/tables.py:52 +#: aleksis/apps/kort/models/cards.py:76 aleksis/apps/kort/tables.py:52 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:31 msgid "Last seen at" msgstr "" -#: aleksis/apps/kort/models.py:81 +#: aleksis/apps/kort/models/cards.py:81 msgid "OAuth2 application" msgstr "" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:89 msgid "OAuth2 client secret" msgstr "" -#: aleksis/apps/kort/models.py:95 +#: aleksis/apps/kort/models/cards.py:95 msgid "CUPS printer" msgstr "" -#: aleksis/apps/kort/models.py:97 +#: aleksis/apps/kort/models/cards.py:97 msgid "Leave blank to deactivate CUPS printing" msgstr "" -#: aleksis/apps/kort/models.py:100 +#: aleksis/apps/kort/models/cards.py:100 msgid "Generate card number on server" msgstr "" -#: aleksis/apps/kort/models.py:102 +#: aleksis/apps/kort/models/cards.py:102 msgid "Card detector" msgstr "" -#: aleksis/apps/kort/models.py:199 +#: aleksis/apps/kort/models/cards.py:198 msgid "Card printer" msgstr "" -#: aleksis/apps/kort/models.py:200 +#: aleksis/apps/kort/models/cards.py:199 #: 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:204 +#: aleksis/apps/kort/models/cards.py:203 msgid "Media file" msgstr "" -#: aleksis/apps/kort/models.py:216 +#: aleksis/apps/kort/models/cards.py:215 msgid "Media file for a card layout" msgstr "" -#: aleksis/apps/kort/models.py:217 +#: aleksis/apps/kort/models/cards.py:216 msgid "Media files for card layouts" msgstr "" -#: aleksis/apps/kort/models.py:242 +#: aleksis/apps/kort/models/cards.py:241 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43 msgid "Template" msgstr "" -#: aleksis/apps/kort/models.py:243 +#: aleksis/apps/kort/models/cards.py:242 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49 msgid "Custom CSS" msgstr "" -#: aleksis/apps/kort/models.py:244 +#: aleksis/apps/kort/models/cards.py:243 msgid "Width" msgstr "" -#: aleksis/apps/kort/models.py:244 aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:243 aleksis/apps/kort/models/cards.py:244 msgid "in mm" msgstr "" -#: aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:244 msgid "Height" msgstr "" -#: aleksis/apps/kort/models.py:266 +#: aleksis/apps/kort/models/cards.py:265 msgid "Template is invalid: {}" msgstr "" -#: aleksis/apps/kort/models.py:272 aleksis/apps/kort/models.py:285 +#: aleksis/apps/kort/models/cards.py:271 aleksis/apps/kort/models/cards.py:286 #: 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:273 +#: aleksis/apps/kort/models/cards.py:272 msgid "Card Layouts" msgstr "" -#: aleksis/apps/kort/models.py:278 aleksis/apps/kort/tables.py:20 +#: aleksis/apps/kort/models/cards.py:277 aleksis/apps/kort/tables.py:20 #: 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:280 +#: aleksis/apps/kort/models/cards.py:279 msgid "Chip Number" msgstr "" -#: aleksis/apps/kort/models.py:282 aleksis/apps/kort/tables.py:24 +#: aleksis/apps/kort/models/cards.py:281 aleksis/apps/kort/tables.py:24 msgid "Deactivated" msgstr "" -#: aleksis/apps/kort/models.py:288 +#: aleksis/apps/kort/models/cards.py:283 +msgid "Last read counter" +msgstr "" + +#: aleksis/apps/kort/models/cards.py:289 msgid "PDF file" msgstr "" -#: aleksis/apps/kort/models.py:321 +#: aleksis/apps/kort/models/cards.py:322 msgid "There is no layout provided for the card." msgstr "" -#: aleksis/apps/kort/models.py:340 aleksis/apps/kort/models.py:349 +#: aleksis/apps/kort/models/cards.py:341 aleksis/apps/kort/models/cards.py:350 #: aleksis/apps/kort/templates/kort/card/detail.html:8 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:85 msgid "Card" msgstr "" -#: aleksis/apps/kort/models.py:341 +#: aleksis/apps/kort/models/cards.py:342 #: 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:346 +#: aleksis/apps/kort/models/cards.py:347 msgid "Printer" msgstr "" -#: aleksis/apps/kort/models.py:361 +#: aleksis/apps/kort/models/cards.py:362 msgid "Card print job" msgstr "" -#: aleksis/apps/kort/models.py:362 +#: aleksis/apps/kort/models/cards.py:363 msgid "Card print jobs" msgstr "" +#: aleksis/apps/kort/preferences.py:10 +msgid "Student ID Cards" +msgstr "" + +#: aleksis/apps/kort/preferences.py:20 +msgid "SDM file read key" +msgstr "" + +#: aleksis/apps/kort/preferences.py:31 +msgid "SDM meta read key" +msgstr "" + #: aleksis/apps/kort/tables.py:21 #: aleksis/apps/kort/templates/kort/card/detail_content.html:17 #: aleksis/apps/kort/templates/kort/card/short.html:8 @@ -364,8 +380,10 @@ 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 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 "" @@ -414,8 +432,10 @@ 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" +" 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 "" @@ -423,7 +443,8 @@ 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" +" 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 "" @@ -489,7 +510,8 @@ 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" +" Please pay attention that this also will prevent the successful " +"finishing of all active print jobs\n" " which use these template.\n" " " msgstr "" @@ -526,7 +548,8 @@ 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" +" 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 "" @@ -536,7 +559,9 @@ 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." +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 @@ -544,7 +569,9 @@ 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)." +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 @@ -585,7 +612,8 @@ 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" +" 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 "" @@ -609,7 +637,8 @@ 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" +" To enable printing, you have to register the print client on " +"the device\n" " which the printer is connected to.\n" " " msgstr "" @@ -660,7 +689,9 @@ 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." +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 diff --git a/aleksis/apps/kort/locale/ru/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/ru/LC_MESSAGES/django.po index b85bd6e..f31807f 100644 --- a/aleksis/apps/kort/locale/ru/LC_MESSAGES/django.po +++ b/aleksis/apps/kort/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-16 17:04+0200\n" +"POT-Creation-Date: 2024-08-10 14:53+0000\n" "PO-Revision-Date: 2023-05-26 04:37+0000\n" "Last-Translator: Serhii Horichenko <m@sgg.im>\n" "Language-Team: Russian <https://translate.edugit.org/projects/aleksis/" @@ -16,12 +16,12 @@ msgstr "" "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" +"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" "X-Generator: Weblate 4.12.1\n" -#: aleksis/apps/kort/apps.py:31 +#: aleksis/apps/kort/apps.py:32 msgid "Access and manage printer status and print jobs" msgstr "Управление доÑтупом к принтеру, его ÑоÑтоÑнием и заданиÑми печати" @@ -58,15 +58,14 @@ msgstr "Люди" msgid "Groups" msgstr "Группы" -#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:191 +#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models/cards.py:208 msgid "Card layout" msgstr "Шаблон карты" -#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:281 +#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models/cards.py:280 #: aleksis/apps/kort/tables.py:23 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24 #: aleksis/apps/kort/templates/kort/card/short.html:12 -#: aleksis/apps/kort/models.py:263 aleksis/apps/kort/tables.py:30 msgid "Valid until" msgstr "ДейÑтвует до" @@ -86,248 +85,256 @@ msgstr "ОÑновные атрибуты" msgid "Printer settings" msgstr "ÐаÑтройки принтера" -#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:228 +#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models/cards.py:245 msgid "Required data fields" msgstr "Ðеобходимые Ð¿Ð¾Ð»Ñ Ð´Ð°Ð½Ð½Ñ‹Ñ…" -#: aleksis/apps/kort/models.py:24 +#: aleksis/apps/kort/models/cards.py:25 msgid "Online" msgstr "Онлайн" -#: aleksis/apps/kort/models.py:25 +#: aleksis/apps/kort/models/cards.py:26 msgid "Offline" msgstr "Офлайн" -#: aleksis/apps/kort/models.py:26 +#: aleksis/apps/kort/models/cards.py:27 msgid "With errors" msgstr "С ошибками" -#: aleksis/apps/kort/models.py:27 +#: aleksis/apps/kort/models/cards.py:28 msgid "Not registered" msgstr "Ðе зарегиÑтрировано" -#: aleksis/apps/kort/models.py:56 +#: aleksis/apps/kort/models/cards.py:57 msgid "Registered" msgstr "ЗарегиÑтрировано" -#: aleksis/apps/kort/models.py:57 +#: aleksis/apps/kort/models/cards.py:58 msgid "In progress" msgstr "Ð’ процеÑÑе" -#: aleksis/apps/kort/models.py:58 +#: aleksis/apps/kort/models/cards.py:59 msgid "Finished" msgstr "Завершено" -#: aleksis/apps/kort/models.py:59 +#: aleksis/apps/kort/models/cards.py:60 msgid "Failed" msgstr "Сбой" -#: aleksis/apps/kort/models.py:65 aleksis/apps/kort/models.py:241 +#: aleksis/apps/kort/models/cards.py:65 aleksis/apps/kort/models/cards.py:240 #: 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 -#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223 msgid "Name" msgstr "Полное имÑ" -#: aleksis/apps/kort/models.py:66 +#: aleksis/apps/kort/models/cards.py:66 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:24 -#: aleksis/apps/kort/models.py:65 msgid "Description" msgstr "ОпиÑание" -#: aleksis/apps/kort/models.py:67 +#: aleksis/apps/kort/models/cards.py:67 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:17 #: aleksis/apps/kort/templates/kort/printer/short.html:8 -#: aleksis/apps/kort/models.py:66 msgid "Location" msgstr "ÐаÑ.пункт" -#: aleksis/apps/kort/models.py:71 aleksis/apps/kort/models.py:354 +#: aleksis/apps/kort/models/cards.py:71 aleksis/apps/kort/models/cards.py:355 #: aleksis/apps/kort/tables.py:94 #: 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:91 #: aleksis/apps/kort/templates/kort/printer/short.html:12 -#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336 -#: aleksis/apps/kort/tables.py:95 -#: aleksis/apps/kort/templates/kort/printer/detail_content.html:90 msgid "Status" msgstr "СоÑтоÑние" -#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340 +#: aleksis/apps/kort/models/cards.py:75 aleksis/apps/kort/models/cards.py:359 msgid "Status text" msgstr "ОпиÑание ÑоÑтоÑниÑ" -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/tables.py:58 +#: aleksis/apps/kort/models/cards.py:76 aleksis/apps/kort/tables.py:52 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:31 msgid "Last seen at" msgstr "ПоÑледний раз на ÑвÑзи" -#: aleksis/apps/kort/models.py:80 +#: aleksis/apps/kort/models/cards.py:81 msgid "OAuth2 application" msgstr "Программа Ð´Ð»Ñ OAuth2" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:89 msgid "OAuth2 client secret" msgstr "" -#: aleksis/apps/kort/models.py:87 +#: aleksis/apps/kort/models/cards.py:95 msgid "CUPS printer" msgstr "Принтер CUPS" -#: aleksis/apps/kort/models.py:97 +#: aleksis/apps/kort/models/cards.py:97 msgid "Leave blank to deactivate CUPS printing" msgstr "" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:100 msgid "Generate card number on server" msgstr "Генерировать номер карты на Ñервере" -#: aleksis/apps/kort/models.py:91 +#: aleksis/apps/kort/models/cards.py:102 msgid "Card detector" msgstr "Детектор карт" -#: aleksis/apps/kort/models.py:181 +#: aleksis/apps/kort/models/cards.py:198 msgid "Card printer" msgstr "Карточный принтер" -#: aleksis/apps/kort/models.py:182 +#: aleksis/apps/kort/models/cards.py:199 #: 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 +#: aleksis/apps/kort/models/cards.py:203 msgid "Media file" msgstr "Медиафайл" -#: aleksis/apps/kort/models.py:198 +#: aleksis/apps/kort/models/cards.py:215 msgid "Media file for a card layout" msgstr "Медиафайл Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° карт" -#: aleksis/apps/kort/models.py:199 +#: aleksis/apps/kort/models/cards.py:216 msgid "Media files for card layouts" msgstr "Медифайлы Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð¾Ð² карт" -#: aleksis/apps/kort/models.py:224 +#: aleksis/apps/kort/models/cards.py:241 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43 msgid "Template" msgstr "Шаблон" -#: aleksis/apps/kort/models.py:225 +#: aleksis/apps/kort/models/cards.py:242 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49 msgid "Custom CSS" msgstr "ÐаÑтраиваемый CSS" -#: aleksis/apps/kort/models.py:226 +#: aleksis/apps/kort/models/cards.py:243 msgid "Width" msgstr "Ширина" -#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227 +#: aleksis/apps/kort/models/cards.py:243 aleksis/apps/kort/models/cards.py:244 msgid "in mm" msgstr "в мм" -#: aleksis/apps/kort/models.py:227 +#: aleksis/apps/kort/models/cards.py:244 msgid "Height" msgstr "Ð’Ñ‹Ñота" -#: aleksis/apps/kort/models.py:248 +#: aleksis/apps/kort/models/cards.py:265 msgid "Template is invalid: {}" msgstr "Шаблон неправильный: {}" -#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267 +#: aleksis/apps/kort/models/cards.py:271 aleksis/apps/kort/models/cards.py:286 #: 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 +#: aleksis/apps/kort/models/cards.py:272 msgid "Card Layouts" msgstr "Шаблоны карт" -#: aleksis/apps/kort/models.py:278 aleksis/apps/kort/tables.py:20 +#: aleksis/apps/kort/models/cards.py:277 aleksis/apps/kort/tables.py:20 #: aleksis/apps/kort/templates/kort/card/detail_content.html:11 #: aleksis/apps/kort/templates/kort/card/short.html:4 -#: aleksis/apps/kort/models.py:260 msgid "Person" msgstr "Физлицо" -#: aleksis/apps/kort/models.py:262 +#: aleksis/apps/kort/models/cards.py:279 msgid "Chip Number" msgstr "Ðомер чипа" -#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31 +#: aleksis/apps/kort/models/cards.py:281 aleksis/apps/kort/tables.py:24 msgid "Deactivated" msgstr "Деактивировано" -#: aleksis/apps/kort/models.py:288 aleksis/apps/kort/models.py:270 +#: aleksis/apps/kort/models/cards.py:283 +msgid "Last read counter" +msgstr "" + +#: aleksis/apps/kort/models/cards.py:289 msgid "PDF file" msgstr "Файл PDF" -#: aleksis/apps/kort/models.py:303 +#: aleksis/apps/kort/models/cards.py:322 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/models/cards.py:341 aleksis/apps/kort/models/cards.py:350 #: aleksis/apps/kort/templates/kort/card/detail.html:8 -#: aleksis/apps/kort/templates/kort/printer/detail_content.html:84 +#: aleksis/apps/kort/templates/kort/printer/detail_content.html:85 msgid "Card" msgstr "Карта" -#: aleksis/apps/kort/models.py:323 +#: aleksis/apps/kort/models/cards.py:342 #: 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 +#: aleksis/apps/kort/models/cards.py:347 msgid "Printer" msgstr "Принтер" -#: aleksis/apps/kort/models.py:343 +#: aleksis/apps/kort/models/cards.py:362 msgid "Card print job" msgstr "Задание на печать карты" -#: aleksis/apps/kort/models.py:344 +#: aleksis/apps/kort/models/cards.py:363 msgid "Card print jobs" msgstr "Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Ð½Ð° печать карт" -#: aleksis/apps/kort/tables.py:28 +#: aleksis/apps/kort/preferences.py:10 +msgid "Student ID Cards" +msgstr "" + +#: aleksis/apps/kort/preferences.py:20 +msgid "SDM file read key" +msgstr "" + +#: aleksis/apps/kort/preferences.py:31 +msgid "SDM meta read key" +msgstr "" + +#: aleksis/apps/kort/tables.py:21 #: 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 +#: aleksis/apps/kort/tables.py:22 aleksis/apps/kort/tables.py:51 msgid "Current status" msgstr "Текущее ÑоÑтоÑние" #: aleksis/apps/kort/tables.py:25 aleksis/apps/kort/tables.py:55 -#: aleksis/apps/kort/tables.py:81 aleksis/apps/kort/tables.py:32 -#: aleksis/apps/kort/tables.py:61 aleksis/apps/kort/tables.py:85 +#: aleksis/apps/kort/tables.py:81 msgid "Actions" msgstr "ДейÑтвиÑ" -#: aleksis/apps/kort/tables.py:54 +#: aleksis/apps/kort/tables.py:48 msgid "Printer name" msgstr "Ðазвание принтера" -#: aleksis/apps/kort/tables.py:55 +#: aleksis/apps/kort/tables.py:49 msgid "Printer location" msgstr "Размещение принтера" -#: aleksis/apps/kort/tables.py:59 +#: aleksis/apps/kort/tables.py:53 msgid "Running jobs" msgstr "Текущие заданиÑ" -#: aleksis/apps/kort/tables.py:81 +#: aleksis/apps/kort/tables.py:77 msgid "Layout name" msgstr "Ðазвание шаблона" #: aleksis/apps/kort/templates/kort/card/actions.html:8 -#: aleksis/apps/kort/templates/kort/card/detail.html:9 +#: aleksis/apps/kort/templates/kort/card/detail.html:13 #, python-format msgid "Card of %(person)s" msgstr "Карта Ð´Ð»Ñ %(person)s" @@ -703,7 +710,7 @@ msgstr "3. ÐаÑтроить клиента" msgid "Print jobs" msgstr "Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Ð¿ÐµÑ‡Ð°Ñ‚Ð¸" -#: aleksis/apps/kort/templates/kort/printer/detail_content.html:87 +#: aleksis/apps/kort/templates/kort/printer/detail_content.html:88 msgid "Created at" msgstr "Создано в" @@ -746,35 +753,35 @@ msgstr "Карта уÑпешно удалена." msgid "The card has been deactivated successfully." msgstr "Карта уÑпешно деактивирована." -#: aleksis/apps/kort/views.py:232 +#: aleksis/apps/kort/views.py:238 msgid "Progress: Generate card layout as PDF file" msgstr "ПрогреÑÑ: Сохранение шаблона карты в файл PDF" -#: aleksis/apps/kort/views.py:239 aleksis/apps/kort/views.py:233 +#: aleksis/apps/kort/views.py:239 msgid "Generating PDF file …" msgstr "Создание файла PDF …" -#: aleksis/apps/kort/views.py:234 +#: aleksis/apps/kort/views.py:240 msgid "The PDF file with the card layout has been generated successfully." msgstr "Файл PDF c шаблоном карты уÑпешно Ñохранен." -#: aleksis/apps/kort/views.py:241 aleksis/apps/kort/views.py:235 +#: aleksis/apps/kort/views.py:241 msgid "There was a problem while generating the PDF file." msgstr "Во Ð²Ñ€ÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° PDF возникла проблема." -#: aleksis/apps/kort/views.py:237 +#: aleksis/apps/kort/views.py:243 msgid "Show card" msgstr "Показать карту" -#: aleksis/apps/kort/views.py:275 +#: aleksis/apps/kort/views.py:281 msgid "The card printer has been created successfully." msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚ уÑпешно Ñоздан." -#: aleksis/apps/kort/views.py:288 +#: aleksis/apps/kort/views.py:294 msgid "The card printer has been changed successfully." msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚ уÑпешно изменён." -#: aleksis/apps/kort/views.py:301 +#: aleksis/apps/kort/views.py:307 msgid "The card printer has been deleted successfully." msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚ уÑпешно удалён." @@ -782,18 +789,17 @@ msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚ уÑпешно удалён." msgid "The card print job has been deleted successfully." msgstr "" -#: aleksis/apps/kort/views.py:364 +#: aleksis/apps/kort/views.py:380 msgid "The card layout has been created successfully." msgstr "Шаблон карты уÑпешно Ñоздан." -#: aleksis/apps/kort/views.py:382 +#: aleksis/apps/kort/views.py:398 msgid "The card layout has been changed successfully." msgstr "Шаблон карт уÑпешно изменён." -#: aleksis/apps/kort/views.py:395 +#: aleksis/apps/kort/views.py:411 msgid "The card layout has been deleted successfully." msgstr "Шаблон карт уÑпешно удалён." -#: aleksis/apps/kort/views.py:220 -msgid "The chip number is missing." -msgstr "Ðомер чипа отÑутÑтвует." +#~ msgid "The chip number is missing." +#~ 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 0b716c8..029e152 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: 2023-09-16 17:04+0200\n" +"POT-Creation-Date: 2024-08-10 14:53+0000\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:31 +#: aleksis/apps/kort/apps.py:32 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:209 +#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models/cards.py:208 msgid "Card layout" msgstr "" -#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:281 +#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models/cards.py:280 #: aleksis/apps/kort/tables.py:23 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24 #: aleksis/apps/kort/templates/kort/card/short.html:12 @@ -81,43 +81,43 @@ msgstr "" msgid "Printer settings" msgstr "" -#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:246 +#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models/cards.py:245 msgid "Required data fields" msgstr "" -#: aleksis/apps/kort/models.py:25 +#: aleksis/apps/kort/models/cards.py:25 msgid "Online" msgstr "" -#: aleksis/apps/kort/models.py:26 +#: aleksis/apps/kort/models/cards.py:26 msgid "Offline" msgstr "" -#: aleksis/apps/kort/models.py:27 +#: aleksis/apps/kort/models/cards.py:27 msgid "With errors" msgstr "" -#: aleksis/apps/kort/models.py:28 +#: aleksis/apps/kort/models/cards.py:28 msgid "Not registered" msgstr "" -#: aleksis/apps/kort/models.py:57 +#: aleksis/apps/kort/models/cards.py:57 msgid "Registered" msgstr "" -#: aleksis/apps/kort/models.py:58 +#: aleksis/apps/kort/models/cards.py:58 msgid "In progress" msgstr "" -#: aleksis/apps/kort/models.py:59 +#: aleksis/apps/kort/models/cards.py:59 msgid "Finished" msgstr "" -#: aleksis/apps/kort/models.py:60 +#: aleksis/apps/kort/models/cards.py:60 msgid "Failed" msgstr "" -#: aleksis/apps/kort/models.py:65 aleksis/apps/kort/models.py:241 +#: aleksis/apps/kort/models/cards.py:65 aleksis/apps/kort/models/cards.py:240 #: 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 @@ -125,18 +125,18 @@ msgstr "" msgid "Name" msgstr "" -#: aleksis/apps/kort/models.py:66 +#: aleksis/apps/kort/models/cards.py:66 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:24 msgid "Description" msgstr "" -#: aleksis/apps/kort/models.py:67 +#: aleksis/apps/kort/models/cards.py:67 #: 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:71 aleksis/apps/kort/models.py:354 +#: aleksis/apps/kort/models/cards.py:71 aleksis/apps/kort/models/cards.py:355 #: aleksis/apps/kort/tables.py:94 #: aleksis/apps/kort/templates/kort/card/detail_content.html:38 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:38 @@ -145,143 +145,159 @@ msgstr "" msgid "Status" msgstr "" -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/models.py:358 +#: aleksis/apps/kort/models/cards.py:75 aleksis/apps/kort/models/cards.py:359 msgid "Status text" msgstr "" -#: aleksis/apps/kort/models.py:76 aleksis/apps/kort/tables.py:52 +#: aleksis/apps/kort/models/cards.py:76 aleksis/apps/kort/tables.py:52 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:31 msgid "Last seen at" msgstr "" -#: aleksis/apps/kort/models.py:81 +#: aleksis/apps/kort/models/cards.py:81 msgid "OAuth2 application" msgstr "" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:89 msgid "OAuth2 client secret" msgstr "" -#: aleksis/apps/kort/models.py:95 +#: aleksis/apps/kort/models/cards.py:95 msgid "CUPS printer" msgstr "" -#: aleksis/apps/kort/models.py:97 +#: aleksis/apps/kort/models/cards.py:97 msgid "Leave blank to deactivate CUPS printing" msgstr "" -#: aleksis/apps/kort/models.py:100 +#: aleksis/apps/kort/models/cards.py:100 msgid "Generate card number on server" msgstr "" -#: aleksis/apps/kort/models.py:102 +#: aleksis/apps/kort/models/cards.py:102 msgid "Card detector" msgstr "" -#: aleksis/apps/kort/models.py:199 +#: aleksis/apps/kort/models/cards.py:198 msgid "Card printer" msgstr "" -#: aleksis/apps/kort/models.py:200 +#: aleksis/apps/kort/models/cards.py:199 #: 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:204 +#: aleksis/apps/kort/models/cards.py:203 msgid "Media file" msgstr "" -#: aleksis/apps/kort/models.py:216 +#: aleksis/apps/kort/models/cards.py:215 msgid "Media file for a card layout" msgstr "" -#: aleksis/apps/kort/models.py:217 +#: aleksis/apps/kort/models/cards.py:216 msgid "Media files for card layouts" msgstr "" -#: aleksis/apps/kort/models.py:242 +#: aleksis/apps/kort/models/cards.py:241 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43 msgid "Template" msgstr "" -#: aleksis/apps/kort/models.py:243 +#: aleksis/apps/kort/models/cards.py:242 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49 msgid "Custom CSS" msgstr "" -#: aleksis/apps/kort/models.py:244 +#: aleksis/apps/kort/models/cards.py:243 msgid "Width" msgstr "" -#: aleksis/apps/kort/models.py:244 aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:243 aleksis/apps/kort/models/cards.py:244 msgid "in mm" msgstr "" -#: aleksis/apps/kort/models.py:245 +#: aleksis/apps/kort/models/cards.py:244 msgid "Height" msgstr "" -#: aleksis/apps/kort/models.py:266 +#: aleksis/apps/kort/models/cards.py:265 msgid "Template is invalid: {}" msgstr "" -#: aleksis/apps/kort/models.py:272 aleksis/apps/kort/models.py:285 +#: aleksis/apps/kort/models/cards.py:271 aleksis/apps/kort/models/cards.py:286 #: 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:273 +#: aleksis/apps/kort/models/cards.py:272 msgid "Card Layouts" msgstr "" -#: aleksis/apps/kort/models.py:278 aleksis/apps/kort/tables.py:20 +#: aleksis/apps/kort/models/cards.py:277 aleksis/apps/kort/tables.py:20 #: 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:280 +#: aleksis/apps/kort/models/cards.py:279 msgid "Chip Number" msgstr "" -#: aleksis/apps/kort/models.py:282 aleksis/apps/kort/tables.py:24 +#: aleksis/apps/kort/models/cards.py:281 aleksis/apps/kort/tables.py:24 msgid "Deactivated" msgstr "" -#: aleksis/apps/kort/models.py:288 +#: aleksis/apps/kort/models/cards.py:283 +msgid "Last read counter" +msgstr "" + +#: aleksis/apps/kort/models/cards.py:289 msgid "PDF file" msgstr "" -#: aleksis/apps/kort/models.py:321 +#: aleksis/apps/kort/models/cards.py:322 msgid "There is no layout provided for the card." msgstr "" -#: aleksis/apps/kort/models.py:340 aleksis/apps/kort/models.py:349 +#: aleksis/apps/kort/models/cards.py:341 aleksis/apps/kort/models/cards.py:350 #: aleksis/apps/kort/templates/kort/card/detail.html:8 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:85 msgid "Card" msgstr "" -#: aleksis/apps/kort/models.py:341 +#: aleksis/apps/kort/models/cards.py:342 #: 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:346 +#: aleksis/apps/kort/models/cards.py:347 msgid "Printer" msgstr "" -#: aleksis/apps/kort/models.py:361 +#: aleksis/apps/kort/models/cards.py:362 msgid "Card print job" msgstr "" -#: aleksis/apps/kort/models.py:362 +#: aleksis/apps/kort/models/cards.py:363 msgid "Card print jobs" msgstr "" +#: aleksis/apps/kort/preferences.py:10 +msgid "Student ID Cards" +msgstr "" + +#: aleksis/apps/kort/preferences.py:20 +msgid "SDM file read key" +msgstr "" + +#: aleksis/apps/kort/preferences.py:31 +msgid "SDM meta read key" +msgstr "" + #: aleksis/apps/kort/tables.py:21 #: aleksis/apps/kort/templates/kort/card/detail_content.html:17 #: aleksis/apps/kort/templates/kort/card/short.html:8 @@ -364,8 +380,10 @@ 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 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 "" @@ -414,8 +432,10 @@ 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" +" 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 "" @@ -423,7 +443,8 @@ 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" +" 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 "" @@ -489,7 +510,8 @@ 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" +" Please pay attention that this also will prevent the successful " +"finishing of all active print jobs\n" " which use these template.\n" " " msgstr "" @@ -526,7 +548,8 @@ 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" +" 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 "" @@ -536,7 +559,9 @@ 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." +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 @@ -544,7 +569,9 @@ 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)." +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 @@ -585,7 +612,8 @@ 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" +" 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 "" @@ -609,7 +637,8 @@ 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" +" To enable printing, you have to register the print client on " +"the device\n" " which the printer is connected to.\n" " " msgstr "" @@ -660,7 +689,9 @@ 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." +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 diff --git a/aleksis/apps/kort/locale/uk/LC_MESSAGES/django.po b/aleksis/apps/kort/locale/uk/LC_MESSAGES/django.po index c0646a3..5931821 100644 --- a/aleksis/apps/kort/locale/uk/LC_MESSAGES/django.po +++ b/aleksis/apps/kort/locale/uk/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-09-16 17:04+0200\n" +"POT-Creation-Date: 2024-08-10 14:53+0000\n" "PO-Revision-Date: 2023-04-13 23:05+0000\n" "Last-Translator: Serhii Horichenko <m@sgg.im>\n" "Language-Team: Ukrainian <https://translate.edugit.org/projects/aleksis/" @@ -22,7 +22,7 @@ msgstr "" "(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" "X-Generator: Weblate 4.12.1\n" -#: aleksis/apps/kort/apps.py:31 +#: aleksis/apps/kort/apps.py:32 msgid "Access and manage printer status and print jobs" msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ñтаном принтера, доÑтупом та завданнÑми друку" @@ -59,16 +59,14 @@ msgstr "ОÑоби" msgid "Groups" msgstr "Групи" -#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models.py:209 -#: aleksis/apps/kort/models.py:191 +#: aleksis/apps/kort/forms.py:51 aleksis/apps/kort/models/cards.py:208 msgid "Card layout" msgstr "Шаблон картки" -#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models.py:281 +#: aleksis/apps/kort/forms.py:53 aleksis/apps/kort/models/cards.py:280 #: aleksis/apps/kort/tables.py:23 #: aleksis/apps/kort/templates/kort/card/detail_content.html:24 #: aleksis/apps/kort/templates/kort/card/short.html:12 -#: aleksis/apps/kort/models.py:263 aleksis/apps/kort/tables.py:30 msgid "Valid until" msgstr "Діє до" @@ -88,263 +86,256 @@ msgstr "ОÑновні атрибути" msgid "Printer settings" msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð½Ñ‚ÐµÑ€Ð°" -#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models.py:246 -#: aleksis/apps/kort/models.py:228 +#: aleksis/apps/kort/forms.py:138 aleksis/apps/kort/models/cards.py:245 msgid "Required data fields" msgstr "Ðеобхідні Ð¿Ð¾Ð»Ñ Ð´Ð°Ð½Ð¸Ñ…" -#: aleksis/apps/kort/models.py:25 aleksis/apps/kort/models.py:24 +#: aleksis/apps/kort/models/cards.py:25 msgid "Online" msgstr "Онлайн" -#: aleksis/apps/kort/models.py:26 aleksis/apps/kort/models.py:25 +#: aleksis/apps/kort/models/cards.py:26 msgid "Offline" msgstr "Офлайн" -#: aleksis/apps/kort/models.py:27 aleksis/apps/kort/models.py:26 +#: aleksis/apps/kort/models/cards.py:27 msgid "With errors" msgstr "З помилками" -#: aleksis/apps/kort/models.py:28 aleksis/apps/kort/models.py:27 +#: aleksis/apps/kort/models/cards.py:28 msgid "Not registered" msgstr "Ðе зареєÑтровано" -#: aleksis/apps/kort/models.py:57 aleksis/apps/kort/models.py:56 +#: aleksis/apps/kort/models/cards.py:57 msgid "Registered" msgstr "ЗареєÑтровано" -#: aleksis/apps/kort/models.py:58 aleksis/apps/kort/models.py:57 +#: aleksis/apps/kort/models/cards.py:58 msgid "In progress" msgstr "ОброблÑєтьÑÑ" -#: aleksis/apps/kort/models.py:59 aleksis/apps/kort/models.py:58 +#: aleksis/apps/kort/models/cards.py:59 msgid "Finished" msgstr "Завершено" -#: aleksis/apps/kort/models.py:60 aleksis/apps/kort/models.py:59 +#: aleksis/apps/kort/models/cards.py:60 msgid "Failed" msgstr "Збій" -#: aleksis/apps/kort/models.py:65 aleksis/apps/kort/models.py:241 +#: aleksis/apps/kort/models/cards.py:65 aleksis/apps/kort/models/cards.py:240 #: 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 -#: aleksis/apps/kort/models.py:64 aleksis/apps/kort/models.py:223 msgid "Name" msgstr "Повне ім'Ñ" -#: aleksis/apps/kort/models.py:66 +#: aleksis/apps/kort/models/cards.py:66 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:24 -#: aleksis/apps/kort/models.py:65 msgid "Description" msgstr "ОпиÑ" -#: aleksis/apps/kort/models.py:67 +#: aleksis/apps/kort/models/cards.py:67 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:17 #: aleksis/apps/kort/templates/kort/printer/short.html:8 -#: aleksis/apps/kort/models.py:66 msgid "Location" msgstr "ÐаÑ.пункт" -#: aleksis/apps/kort/models.py:71 aleksis/apps/kort/models.py:354 +#: aleksis/apps/kort/models/cards.py:71 aleksis/apps/kort/models/cards.py:355 #: aleksis/apps/kort/tables.py:94 #: 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:91 #: aleksis/apps/kort/templates/kort/printer/short.html:12 -#: aleksis/apps/kort/models.py:70 aleksis/apps/kort/models.py:336 -#: aleksis/apps/kort/tables.py:95 -#: aleksis/apps/kort/templates/kort/printer/detail_content.html:90 msgid "Status" msgstr "Стан" -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/models.py:358 -#: aleksis/apps/kort/models.py:74 aleksis/apps/kort/models.py:340 +#: aleksis/apps/kort/models/cards.py:75 aleksis/apps/kort/models/cards.py:359 msgid "Status text" msgstr "ÐžÐ¿Ð¸Ñ Ñтану" -#: aleksis/apps/kort/models.py:76 aleksis/apps/kort/tables.py:52 +#: aleksis/apps/kort/models/cards.py:76 aleksis/apps/kort/tables.py:52 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:31 -#: aleksis/apps/kort/models.py:75 aleksis/apps/kort/tables.py:58 msgid "Last seen at" msgstr "ВоÑтаннє на зв'Ñзку о" -#: aleksis/apps/kort/models.py:81 aleksis/apps/kort/models.py:80 +#: aleksis/apps/kort/models/cards.py:81 msgid "OAuth2 application" msgstr "Програма Ð´Ð»Ñ OAuth2" -#: aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:89 msgid "OAuth2 client secret" msgstr "" -#: aleksis/apps/kort/models.py:95 aleksis/apps/kort/models.py:87 +#: aleksis/apps/kort/models/cards.py:95 msgid "CUPS printer" msgstr "Принтер CUPS" -#: aleksis/apps/kort/models.py:97 +#: aleksis/apps/kort/models/cards.py:97 msgid "Leave blank to deactivate CUPS printing" msgstr "" -#: aleksis/apps/kort/models.py:100 aleksis/apps/kort/models.py:89 +#: aleksis/apps/kort/models/cards.py:100 msgid "Generate card number on server" msgstr "Генерувати номер картки на Ñервері" -#: aleksis/apps/kort/models.py:102 aleksis/apps/kort/models.py:91 +#: aleksis/apps/kort/models/cards.py:102 msgid "Card detector" msgstr "Детектор карток" -#: aleksis/apps/kort/models.py:199 aleksis/apps/kort/models.py:181 +#: aleksis/apps/kort/models/cards.py:198 msgid "Card printer" msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ðº" -#: aleksis/apps/kort/models.py:200 +#: aleksis/apps/kort/models/cards.py:199 #: aleksis/apps/kort/templates/kort/printer/list.html:8 #: aleksis/apps/kort/templates/kort/printer/list.html:9 -#: aleksis/apps/kort/models.py:182 msgid "Card printers" msgstr "Принтери Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ðº" -#: aleksis/apps/kort/models.py:204 aleksis/apps/kort/models.py:186 +#: aleksis/apps/kort/models/cards.py:203 msgid "Media file" msgstr "Медіафайл" -#: aleksis/apps/kort/models.py:216 aleksis/apps/kort/models.py:198 +#: aleksis/apps/kort/models/cards.py:215 msgid "Media file for a card layout" msgstr "Медіафайл Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð° карток" -#: aleksis/apps/kort/models.py:217 aleksis/apps/kort/models.py:199 +#: aleksis/apps/kort/models/cards.py:216 msgid "Media files for card layouts" msgstr "Медіафайли Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð² карток" -#: aleksis/apps/kort/models.py:242 +#: aleksis/apps/kort/models/cards.py:241 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:43 -#: aleksis/apps/kort/models.py:224 msgid "Template" msgstr "Шаблон" -#: aleksis/apps/kort/models.py:243 +#: aleksis/apps/kort/models/cards.py:242 #: aleksis/apps/kort/templates/kort/card_layout/detail_content.html:49 -#: aleksis/apps/kort/models.py:225 msgid "Custom CSS" msgstr "ВлаÑний CSS" -#: aleksis/apps/kort/models.py:244 aleksis/apps/kort/models.py:226 +#: aleksis/apps/kort/models/cards.py:243 msgid "Width" msgstr "Ширина" -#: aleksis/apps/kort/models.py:244 aleksis/apps/kort/models.py:245 -#: aleksis/apps/kort/models.py:226 aleksis/apps/kort/models.py:227 +#: aleksis/apps/kort/models/cards.py:243 aleksis/apps/kort/models/cards.py:244 msgid "in mm" msgstr "в мм" -#: aleksis/apps/kort/models.py:245 aleksis/apps/kort/models.py:227 +#: aleksis/apps/kort/models/cards.py:244 msgid "Height" msgstr "ВиÑота" -#: aleksis/apps/kort/models.py:266 aleksis/apps/kort/models.py:248 +#: aleksis/apps/kort/models/cards.py:265 msgid "Template is invalid: {}" msgstr "Шаблон неправильний: {}" -#: aleksis/apps/kort/models.py:272 aleksis/apps/kort/models.py:285 +#: aleksis/apps/kort/models/cards.py:271 aleksis/apps/kort/models/cards.py:286 #: aleksis/apps/kort/templates/kort/card/detail_content.html:31 #: aleksis/apps/kort/templates/kort/card_layout/detail.html:8 -#: aleksis/apps/kort/models.py:254 aleksis/apps/kort/models.py:267 msgid "Card Layout" msgstr "Шаблон картки" -#: aleksis/apps/kort/models.py:273 aleksis/apps/kort/models.py:255 +#: aleksis/apps/kort/models/cards.py:272 msgid "Card Layouts" msgstr "Шаблони карток" -#: aleksis/apps/kort/models.py:278 aleksis/apps/kort/tables.py:20 +#: aleksis/apps/kort/models/cards.py:277 aleksis/apps/kort/tables.py:20 #: aleksis/apps/kort/templates/kort/card/detail_content.html:11 #: aleksis/apps/kort/templates/kort/card/short.html:4 -#: aleksis/apps/kort/models.py:260 msgid "Person" msgstr "ОÑоба" -#: aleksis/apps/kort/models.py:280 aleksis/apps/kort/models.py:262 +#: aleksis/apps/kort/models/cards.py:279 msgid "Chip Number" msgstr "Ðомер чипа" -#: aleksis/apps/kort/models.py:282 aleksis/apps/kort/tables.py:24 -#: aleksis/apps/kort/models.py:264 aleksis/apps/kort/tables.py:31 +#: aleksis/apps/kort/models/cards.py:281 aleksis/apps/kort/tables.py:24 msgid "Deactivated" msgstr "Деактивовано" -#: aleksis/apps/kort/models.py:288 aleksis/apps/kort/models.py:270 +#: aleksis/apps/kort/models/cards.py:283 +msgid "Last read counter" +msgstr "" + +#: aleksis/apps/kort/models/cards.py:289 msgid "PDF file" msgstr "Файл PDF" -#: aleksis/apps/kort/models.py:321 aleksis/apps/kort/models.py:303 +#: aleksis/apps/kort/models/cards.py:322 msgid "There is no layout provided for the card." msgstr "Ð”Ð»Ñ ÐºÐ°Ñ€Ñ‚ÐºÐ¸ не задано шаблон." -#: aleksis/apps/kort/models.py:340 aleksis/apps/kort/models.py:349 +#: aleksis/apps/kort/models/cards.py:341 aleksis/apps/kort/models/cards.py:350 #: aleksis/apps/kort/templates/kort/card/detail.html:8 #: aleksis/apps/kort/templates/kort/printer/detail_content.html:85 -#: aleksis/apps/kort/models.py:322 aleksis/apps/kort/models.py:331 -#: aleksis/apps/kort/templates/kort/printer/detail_content.html:84 msgid "Card" msgstr "Картка" -#: aleksis/apps/kort/models.py:341 +#: aleksis/apps/kort/models/cards.py:342 #: aleksis/apps/kort/templates/kort/card/list.html:8 #: aleksis/apps/kort/templates/kort/card/list.html:9 -#: aleksis/apps/kort/models.py:323 msgid "Cards" msgstr "Картки" -#: aleksis/apps/kort/models.py:346 aleksis/apps/kort/models.py:328 +#: aleksis/apps/kort/models/cards.py:347 msgid "Printer" msgstr "Принтер" -#: aleksis/apps/kort/models.py:361 aleksis/apps/kort/models.py:343 +#: aleksis/apps/kort/models/cards.py:362 msgid "Card print job" msgstr "Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð½Ð° друк картки" -#: aleksis/apps/kort/models.py:362 aleksis/apps/kort/models.py:344 +#: aleksis/apps/kort/models/cards.py:363 msgid "Card print jobs" msgstr "Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð½Ð° друк карток" +#: aleksis/apps/kort/preferences.py:10 +msgid "Student ID Cards" +msgstr "" + +#: aleksis/apps/kort/preferences.py:20 +msgid "SDM file read key" +msgstr "" + +#: aleksis/apps/kort/preferences.py:31 +msgid "SDM meta read key" +msgstr "" + #: aleksis/apps/kort/tables.py:21 #: aleksis/apps/kort/templates/kort/card/detail_content.html:17 #: aleksis/apps/kort/templates/kort/card/short.html:8 -#: aleksis/apps/kort/tables.py:28 msgid "Chip number" msgstr "Ðомер чипа" #: aleksis/apps/kort/tables.py:22 aleksis/apps/kort/tables.py:51 -#: aleksis/apps/kort/tables.py:29 aleksis/apps/kort/tables.py:57 msgid "Current status" msgstr "Поточний Ñтан" #: aleksis/apps/kort/tables.py:25 aleksis/apps/kort/tables.py:55 -#: aleksis/apps/kort/tables.py:81 aleksis/apps/kort/tables.py:32 -#: aleksis/apps/kort/tables.py:61 aleksis/apps/kort/tables.py:85 +#: aleksis/apps/kort/tables.py:81 msgid "Actions" msgstr "Дії" -#: aleksis/apps/kort/tables.py:48 aleksis/apps/kort/tables.py:54 +#: aleksis/apps/kort/tables.py:48 msgid "Printer name" msgstr "Ðазва принтера" -#: aleksis/apps/kort/tables.py:49 aleksis/apps/kort/tables.py:55 +#: aleksis/apps/kort/tables.py:49 msgid "Printer location" msgstr "Ð Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð½Ñ‚ÐµÑ€Ð°" -#: aleksis/apps/kort/tables.py:53 aleksis/apps/kort/tables.py:59 +#: aleksis/apps/kort/tables.py:53 msgid "Running jobs" msgstr "Поточні завданнÑ" -#: aleksis/apps/kort/tables.py:77 aleksis/apps/kort/tables.py:81 +#: aleksis/apps/kort/tables.py:77 msgid "Layout name" msgstr "Ðазва шаблону" #: aleksis/apps/kort/templates/kort/card/actions.html:8 #: aleksis/apps/kort/templates/kort/card/detail.html:13 -#: aleksis/apps/kort/templates/kort/card/detail.html:9 #, python-format msgid "Card of %(person)s" msgstr "Картка Ð´Ð»Ñ %(person)s" @@ -723,7 +714,6 @@ msgid "Print jobs" msgstr "Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð´Ñ€ÑƒÐºÑƒ" #: aleksis/apps/kort/templates/kort/printer/detail_content.html:88 -#: aleksis/apps/kort/templates/kort/printer/detail_content.html:87 msgid "Created at" msgstr "Створено о" @@ -768,35 +758,35 @@ msgstr "Картка уÑпішно видалена." msgid "The card has been deactivated successfully." msgstr "Картка була уÑпішно деактивована." -#: aleksis/apps/kort/views.py:238 aleksis/apps/kort/views.py:232 +#: aleksis/apps/kort/views.py:238 msgid "Progress: Generate card layout as PDF file" msgstr "ПрогреÑ: Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ картки у файл PDF" -#: aleksis/apps/kort/views.py:239 aleksis/apps/kort/views.py:233 +#: aleksis/apps/kort/views.py:239 msgid "Generating PDF file …" msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ PDF …" -#: aleksis/apps/kort/views.py:240 aleksis/apps/kort/views.py:234 +#: aleksis/apps/kort/views.py:240 msgid "The PDF file with the card layout has been generated successfully." msgstr "Файл PDF з шаблоном картки уÑпішно збережений." -#: aleksis/apps/kort/views.py:241 aleksis/apps/kort/views.py:235 +#: aleksis/apps/kort/views.py:241 msgid "There was a problem while generating the PDF file." msgstr "Під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ PDF виникла проблема." -#: aleksis/apps/kort/views.py:243 aleksis/apps/kort/views.py:237 +#: aleksis/apps/kort/views.py:243 msgid "Show card" msgstr "Показати картку" -#: aleksis/apps/kort/views.py:281 aleksis/apps/kort/views.py:275 +#: aleksis/apps/kort/views.py:281 msgid "The card printer has been created successfully." msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ðº уÑпішно Ñтворений." -#: aleksis/apps/kort/views.py:294 aleksis/apps/kort/views.py:288 +#: aleksis/apps/kort/views.py:294 msgid "The card printer has been changed successfully." msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ðº уÑпішно змінений." -#: aleksis/apps/kort/views.py:307 aleksis/apps/kort/views.py:301 +#: aleksis/apps/kort/views.py:307 msgid "The card printer has been deleted successfully." msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ðº уÑпішно видалений." @@ -805,18 +795,17 @@ msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ðº уÑпішно видалений." msgid "The card print job has been deleted successfully." msgstr "Принтер Ð´Ð»Ñ ÐºÐ°Ñ€Ñ‚Ð¾Ðº уÑпішно видалений." -#: aleksis/apps/kort/views.py:380 aleksis/apps/kort/views.py:364 +#: aleksis/apps/kort/views.py:380 msgid "The card layout has been created successfully." msgstr "Шаблон картки уÑпішно Ñтворений." -#: aleksis/apps/kort/views.py:398 aleksis/apps/kort/views.py:382 +#: aleksis/apps/kort/views.py:398 msgid "The card layout has been changed successfully." msgstr "Шаблон картки уÑпішно змінений." -#: aleksis/apps/kort/views.py:411 aleksis/apps/kort/views.py:395 +#: aleksis/apps/kort/views.py:411 msgid "The card layout has been deleted successfully." msgstr "Шаблон картки уÑпішно видалений." -#: aleksis/apps/kort/views.py:220 -msgid "The chip number is missing." -msgstr "Ðомер чипа відÑутній." +#~ msgid "The chip number is missing." +#~ msgstr "Ðомер чипа відÑутній." -- GitLab