From 2124161744ce02e8e385c4423b060e8028c55c55 Mon Sep 17 00:00:00 2001 From: Richard Schreiber Date: Mon, 9 May 2022 17:44:01 +0200 Subject: [PATCH] Localize salutation when creating PDFs (#2631) --- src/pretix/base/pdf.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/pretix/base/pdf.py b/src/pretix/base/pdf.py index b1be2ed512..eb81ef1100 100644 --- a/src/pretix/base/pdf.py +++ b/src/pretix/base/pdf.py @@ -55,7 +55,7 @@ from django.utils.formats import date_format from django.utils.functional import SimpleLazyObject from django.utils.html import conditional_escape from django.utils.timezone import now -from django.utils.translation import gettext_lazy as _ +from django.utils.translation import gettext_lazy as _, pgettext from i18nfield.strings import LazyI18nString from PyPDF2 import PdfFileReader from pytz import timezone @@ -521,8 +521,12 @@ def variables_from_questions(sender, *args, **kwargs): def _get_attendee_name_part(key, op, order, ev): if isinstance(key, tuple): - return ' '.join(p for p in [_get_attendee_name_part(c[0], op, order, ev) for c in key] if p) - return op.attendee_name_parts.get(key, '') + parts = [_get_attendee_name_part(c[0], op, order, ev) for c in key if not (c[0] == 'salutation' and op.attendee_name_parts.get(c[0], '') == "Mx")] + return ' '.join(p for p in parts if p) + value = op.attendee_name_parts.get(key, '') + if key == 'salutation': + return pgettext('person_name_salutation', value) + return value def _get_ia_name_part(key, op, order, ev):