From 5b01a68cdbc122705502283fcb0125e2cd914c92 Mon Sep 17 00:00:00 2001 From: Daniel Egger Date: Fri, 8 Sep 2023 14:39:13 +0200 Subject: [PATCH] Translate notifications --- server/vbv_lernwelt/notify/services.py | 37 +++++++++++++++++++------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/server/vbv_lernwelt/notify/services.py b/server/vbv_lernwelt/notify/services.py index 6cc2848e..fa2956b8 100644 --- a/server/vbv_lernwelt/notify/services.py +++ b/server/vbv_lernwelt/notify/services.py @@ -1,6 +1,5 @@ from __future__ import annotations -from gettext import gettext from typing import TYPE_CHECKING import structlog @@ -33,9 +32,12 @@ class NotificationService: def send_assignment_submitted_notification( cls, recipient: User, sender: User, assignment_completion: AssignmentCompletion ): - verb = gettext( - "%(sender)s hat die geleitete Fallarbeit «%(assignment_title)s» abgegeben." - ) % { + texts = { + "de": "%(sender)s hat die geleitete Fallarbeit «%(assignment_title)s» abgegeben.", + "fr": "%(sender)s a soumis l'étude de cas dirigée «%(assignment_title)s».", + "it": "%(sender)s ha consegnato il caso di studio guidato «%(assignment_title)s».", + } + verb = texts.get(recipient.language, "de") % { "sender": sender.get_full_name(), "assignment_title": assignment_completion.assignment.title, } @@ -60,9 +62,12 @@ class NotificationService: assignment_completion: AssignmentCompletion, target_url: str, ): - verb = gettext( - "%(sender)s hat die geleitete Fallarbeit «%(assignment_title)s» bewertet." - ) % { + texts = { + "de": "%(sender)s hat die geleitete Fallarbeit «%(assignment_title)s» bewertet.", + "fr": "%(sender)s a évalué l'étude de cas dirigée «%(assignment_title)s».", + "it": "%(sender)s ha valutato il caso di studio guidato «%(assignment_title)s».", + } + verb = texts.get(recipient.language, "de") % { "sender": sender.get_full_name(), "assignment_title": assignment_completion.assignment.title, } @@ -85,7 +90,14 @@ class NotificationService: recipient: User, feedback_response: FeedbackResponse, ): - verb = f"New feedback for circle {feedback_response.circle.title}" + texts = { + "de": "Feedback abgeschickt für Circle «%(circle_title)s»", + "fr": "Feedback envoyé pour le cercle «%(circle_title)s»", + "it": "Feedback inviato per il cerchio «%(circle_title)s»", + } + verb = texts.get(recipient.language, "de") % { + "circle_title": feedback_response.circle.title, + } return cls._send_notification( recipient=recipient, @@ -104,9 +116,16 @@ class NotificationService: recipient: User, attendance_course: CourseSessionAttendanceCourse, ): + texts = { + "de": "Erinnerung: Bald findet ein Präsenzkurs statt", + "fr": "Rappel: Un cours de présence aura lieu bientôt.", + "it": "Promemoria: Un corso di presenza avrà luogo presto.", + } + verb = texts.get(recipient.language, "de") + return cls._send_notification( recipient=recipient, - verb="Erinnerung: Bald findet ein Präsenzkurs statt", + verb=verb, notification_category=NotificationCategory.INFORMATION, notification_trigger=NotificationTrigger.ATTENDANCE_COURSE_REMINDER, target_url=attendance_course.learning_content.get_frontend_url(),