Compare commits

...

32 Commits

Author SHA1 Message Date
Mira Weller
57b1b595b5 fix formatting 2025-01-14 18:36:35 +01:00
Mira Weller
19d1336e98 make "Show in backend" button on ticket pages available on custom domain (with valid cross-domain session) 2025-01-13 17:05:27 +01:00
Raphael Michel
62c028d9ac Fix order availability with blocked seeat (Z#23178286) (#4734) 2025-01-13 12:49:49 +01:00
Hijiri
57f5eeff82 Update name scheme examples, adapt addressing system for Japan 2025-01-13 10:51:24 +01:00
Hijiri Umemoto
d92e82a133 Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-13 10:47:57 +01:00
Hijiri Umemoto
5704142fe1 Translations: Update Korean
Currently translated at 0.4% (26 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ko/

powered by weblate
2025-01-13 10:47:57 +01:00
Hijiri Umemoto
8c5768912c Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-13 10:47:57 +01:00
Hijiri Umemoto
934567c811 Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-13 10:47:57 +01:00
David Vaz
b16f54fad9 Translations: Update Portuguese (Portugal)
Currently translated at 85.5% (4991 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_PT/

powered by weblate
2025-01-13 10:47:57 +01:00
Martin Gross
5dcd1f229b Translations: Update German (informal) (de_Informal)
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/

powered by weblate
2025-01-10 19:21:20 +01:00
Martin Gross
40e4f8a05a Translations: Update German
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/

powered by weblate
2025-01-10 19:21:20 +01:00
Hijiri Umemoto
8d9295a628 Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-10 19:21:20 +01:00
Bernd Mohring
063e1e16a3 Translations: Update German (informal) (de_Informal)
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/

powered by weblate
2025-01-10 19:21:20 +01:00
Hijiri Umemoto
b5733a433d Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-10 19:21:20 +01:00
Bernd Mohring
454354f148 Translations: Update German
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/

powered by weblate
2025-01-10 19:21:20 +01:00
Hijiri Umemoto
8480f45997 Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-10 19:21:20 +01:00
Hijiri Umemoto
b909b0b4bd Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-10 19:21:20 +01:00
Hijiri Umemoto
c4b45b7d95 Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-10 19:21:20 +01:00
Raphael Michel
3ce6030122 PDF n-up generation: Fix ordering of badges 2025-01-07 19:32:51 +01:00
Martin Gross
28e26284a6 API: Return order-information on availability-endpoint, even if quota is unlimited 2025-01-07 17:25:39 +01:00
Raphael Michel
aaf1b7776e Set up flag for japanese fields 2025-01-07 16:09:28 +01:00
Raphael Michel
d545b15d0d Fix incorrect language code for Japanese 2025-01-07 15:12:26 +01:00
Raphael Michel
0a334d1c67 Explicitly set none algorithm 2025-01-07 12:01:52 +01:00
dependabot[bot]
1a2fb688de Update pyjwt requirement from ==2.9.* to ==2.10.*
Updates the requirements on [pyjwt](https://github.com/jpadilla/pyjwt) to permit the latest version.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.9.0...2.10.1)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-07 12:01:52 +01:00
Raphael Michel
c1333d6edb Add Japanese to supported languages 2025-01-07 11:37:42 +01:00
Hijiri Umemoto
e3e432a9e4 Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-07 11:19:37 +01:00
Hijiri Umemoto
36ea18970b Translations: Update Japanese
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/ja/

powered by weblate
2025-01-07 11:19:37 +01:00
Hector
bde2d50828 Translations: Update Spanish
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/es/

powered by weblate
2025-01-07 11:19:37 +01:00
Hijiri Umemoto
e8334df908 Translations: Update Chinese (Traditional Han script)
Currently translated at 91.6% (5351 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/zh_Hant/

powered by weblate
2025-01-07 11:19:37 +01:00
Hector
c8943785d7 Translations: Update Spanish
Currently translated at 100.0% (5836 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/es/

powered by weblate
2025-01-07 11:19:37 +01:00
Hijiri Umemoto
41b878b667 Translations: Update Turkish
Currently translated at 43.1% (2516 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/tr/

powered by weblate
2025-01-07 11:19:37 +01:00
Hijiri Umemoto
4f63ba967b Translations: Update Chinese (Traditional Han script)
Currently translated at 91.3% (5331 of 5836 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/zh_Hant/

powered by weblate
2025-01-07 11:19:37 +01:00
21 changed files with 283 additions and 295 deletions

View File

@@ -72,7 +72,7 @@ dependencies = [
"packaging",
"paypalrestsdk==1.13.*",
"paypal-checkout-serversdk==1.0.*",
"PyJWT==2.9.*",
"PyJWT==2.10.*",
"phonenumberslite==8.13.*",
"Pillow==11.1.*",
"pretix-plugin-build",

View File

@@ -94,6 +94,7 @@ ALL_LANGUAGES = [
('el', _('Greek')),
('id', _('Indonesian')),
('it', _('Italian')),
('ja', _('Japanese')),
('lv', _('Latvian')),
('nb-no', _('Norwegian Bokmål')),
('pl', _('Polish')),

View File

@@ -619,7 +619,7 @@ class QuotaViewSet(ConditionalListView, viewsets.ModelViewSet):
def availability(self, request, *args, **kwargs):
quota = self.get_object()
qa = QuotaAvailability()
qa = QuotaAvailability(full_results=True)
qa.queue(quota)
qa.compute()
avail = qa.results[quota]

View File

@@ -222,3 +222,15 @@ class HistoryPasswordValidator:
user.historic_passwords.filter(
pk__in=user.historic_passwords.order_by("-created")[self.history_length:].values_list("pk", flat=True),
).delete()
def has_event_access_permission(request, permission='can_change_event_settings'):
return (
request.user.is_authenticated and
request.user.has_event_permission(request.organizer, request.event, permission, request=request)
) or (
getattr(request, 'event_access_user', None) and
request.event_access_user.is_authenticated and
request.event_access_user.has_event_permission(request.organizer, request.event, permission,
session_key=request.event_access_parent_session_key)
)

View File

@@ -1087,7 +1087,7 @@ class Order(LockModel, LoggedModel):
for i, op in enumerate(positions):
if op.seat:
if not op.seat.is_available(ignore_orderpos=op):
if not op.seat.is_available(ignore_orderpos=op, sales_channel=self.sales_channel.identifier):
raise Quota.QuotaExceededException(error_messages['seat_unavailable'].format(seat=op.seat))
if force:
continue

View File

@@ -3557,8 +3557,8 @@ PERSON_NAME_SCHEMES = OrderedDict([
str(p) for p in [d.get('family_name', ''), d.get('given_name', '')] if p
),
'sample': {
'given_name': '泽东',
'family_name': '',
'family_name': '',
'given_name': '',
'_scheme': 'family_nospace_given',
},
}),
@@ -3609,8 +3609,8 @@ PERSON_NAME_SCHEMES = OrderedDict([
'concatenation': lambda d: str(d.get('full_name', '')),
'concatenation_all_components': lambda d: str(d.get('full_name', '')) + " (" + d.get('latin_transcription', '') + ")",
'sample': {
'full_name': '庄司',
'latin_transcription': 'Shōji',
'full_name': '山田花子',
'latin_transcription': 'Yamada Hanako',
'_scheme': 'full_transcription',
},
}),
@@ -3701,6 +3701,7 @@ COUNTRIES_WITH_STATE_IN_ADDRESS = {
'BR': (['State'], 'short'),
'CA': (['Province', 'Territory'], 'short'),
# 'CN': (['Province', 'Autonomous region', 'Munincipality'], 'long'),
'JP': (['Prefecture'], 'long'),
'MY': (['State', 'Federal territory'], 'long'),
'MX': (['State', 'Federal district'], 'short'),
'US': (['State', 'Outlying area', 'District'], 'short'),

View File

@@ -25,13 +25,15 @@ from contextlib import contextmanager
from dateutil.parser import parse
from django.utils.timezone import now
from pretix.base.auth import has_event_access_permission
timemachine_now_var = contextvars.ContextVar('timemachine_now', default=None)
@contextmanager
def time_machine_now_assigned_from_request(request):
if hasattr(request, 'event') and f'timemachine_now_dt:{request.event.pk}' in request.session and \
request.event.testmode and has_time_machine_permission(request, request.event):
request.event.testmode and has_event_access_permission(request):
request.now_dt = parse(request.session[f'timemachine_now_dt:{request.event.pk}'])
request.now_dt_is_fake = True
else:
@@ -70,17 +72,3 @@ def time_machine_now_assigned(now_dt):
yield
finally:
timemachine_now_var.set(None)
def has_time_machine_permission(request, event):
permission = 'can_change_event_settings'
return (
request.user.is_authenticated and
request.user.has_event_permission(request.organizer, request.event, permission, request=request)
) or (
getattr(request, 'event_access_user', None) and
request.event_access_user.is_authenticated and
request.event_access_user.has_event_permission(request.organizer, request.event, permission,
session_key=request.event_access_parent_session_key)
)

View File

@@ -5,8 +5,8 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2024-12-16 16:15+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"PO-Revision-Date: 2025-01-10 10:00+0000\n"
"Last-Translator: Martin Gross <gross@rami.io>\n"
"Language-Team: German <https://translate.pretix.eu/projects/pretix/pretix/de/"
">\n"
"Language: de\n"
@@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8.4\n"
"X-Generator: Weblate 5.9.2\n"
"X-Poedit-Bookmarks: -1,-1,904,-1,-1,-1,-1,-1,-1,-1\n"
#: pretix/_base_settings.py:79
@@ -19542,7 +19542,7 @@ msgid ""
msgstr ""
"Wenn Sie komplexere Funktionen wie zusätzliche Produkte, Produktvarianten "
"oder freie Kontingentstrukturen nutzen wollen, können Sie dies später über "
"den Konfigurationsbereich \"Produkte\" in der linken Navigationsleiste tun. "
"den Konfigurationsbereich Produkte in der linken Navigationsleiste tun. "
"Keine Sorge, alles was Sie hier eingeben, können Sie später noch ändern."
#: pretix/control/templates/pretixcontrol/event/quick_setup.html:132
@@ -32366,7 +32366,7 @@ msgstr "Wir versuchen nun, diese Zusatzprodukte für Sie zu buchen!"
#: pretix/presale/templates/pretixpresale/event/checkout_addons.html:28
msgid "Additional options for"
msgstr "Zusätzliche Einstellungen für"
msgstr "Zusätzliche Optionen für"
#: pretix/presale/templates/pretixpresale/event/checkout_addons.html:64
msgid "More recommendations"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2024-12-16 16:28+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"PO-Revision-Date: 2025-01-10 10:00+0000\n"
"Last-Translator: Martin Gross <gross@rami.io>\n"
"Language-Team: German (informal) <https://translate.pretix.eu/projects/"
"pretix/pretix/de_Informal/>\n"
"Language: de_Informal\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8.4\n"
"X-Generator: Weblate 5.9.2\n"
#: pretix/_base_settings.py:79
msgid "English"
@@ -19511,7 +19511,7 @@ msgstr ""
"Wenn du komplexere Funktionen wie zusätzliche Produkte, Produktvarianten "
"oder freie Kontingentstrukturen nutzen willst, kannst du dies später über "
"den Konfigurationsbereich \"Produkte\" in der linken Navigationsleiste tun. "
"Keine Sorge, alles was du hier gibst, kannst du später noch ändern."
"Keine Sorge, alles was du hier eingibst, kannst du später noch ändern."
#: pretix/control/templates/pretixcontrol/event/quick_setup.html:132
#: pretix/control/views/event.py:357
@@ -19524,7 +19524,7 @@ msgid ""
"your event, but if you're in a hurry and want to get started quickly, here's "
"a short version:"
msgstr ""
"Wir empfehlen, dass du dich die Zeit nimmst und die Einstellungen deiner "
"Wir empfehlen, dass du dir die Zeit nimmst und die Einstellungen deiner "
"Veranstaltungen in Ruhe durchgehst. Wenn du aber schnell loslegen willst, "
"ist hier die Kurzversion:"
@@ -32309,7 +32309,7 @@ msgstr "Wir versuchen nun, diese Zusatzprodukte für dich zu buchen!"
#: pretix/presale/templates/pretixpresale/event/checkout_addons.html:28
msgid "Additional options for"
msgstr "Zusätzliche Einstellungen für"
msgstr "Zusätzliche Optionen für"
#: pretix/presale/templates/pretixpresale/event/checkout_addons.html:64
msgid "More recommendations"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2025-01-03 14:22+0000\n"
"PO-Revision-Date: 2025-01-04 19:00+0000\n"
"Last-Translator: Hector <hector@demandaeventos.es>\n"
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix/"
"es/>\n"
@@ -500,19 +500,19 @@ msgstr "Pago confirmado"
#: pretix/api/webhooks.py:305
msgid "Order approved"
msgstr "Perdido aprobado"
msgstr "Pedido aprobado"
#: pretix/api/webhooks.py:309
msgid "Order denied"
msgstr "Perdido denegado"
msgstr "Pedido denegado"
#: pretix/api/webhooks.py:313
msgid "Order deleted"
msgstr "Perdido borrado"
msgstr "Pedido eliminado"
#: pretix/api/webhooks.py:317
msgid "Ticket checked in"
msgstr "Entrada comprobada"
msgstr "Entrada escaneada"
#: pretix/api/webhooks.py:321
msgid "Ticket check-in reverted"
@@ -533,7 +533,7 @@ msgstr "Evento eliminado"
#: pretix/api/webhooks.py:337
msgctxt "subevent"
msgid "Event series date added"
msgstr "Fecha de inicio de la serie de eventos creada"
msgstr "Fechas de la serie de eventos añadidas"
#: pretix/api/webhooks.py:341
msgctxt "subevent"
@@ -571,15 +571,15 @@ msgstr "Modo de pruebas de la tienda ha sido desactivado"
#: pretix/api/webhooks.py:370
msgid "Waiting list entry added"
msgstr "Agregado a la lista de espera"
msgstr "Elemento agregado a la lista de espera"
#: pretix/api/webhooks.py:374
msgid "Waiting list entry changed"
msgstr "Entrada a la lista de espera"
msgstr "Elemento de la lista de espera cambiado"
#: pretix/api/webhooks.py:378
msgid "Waiting list entry deleted"
msgstr "Entrada a la lista de espera eliminada"
msgstr "Elemento de la lista de espera eliminado"
#: pretix/api/webhooks.py:382
msgid "Waiting list entry received voucher"
@@ -612,11 +612,11 @@ msgstr "Este campo es obligatorio."
#: pretix/base/addressvalidation.py:213
msgid "Enter a postal code in the format XXX."
msgstr "Ingresa el código postal en el formato XXX."
msgstr "Ingresa el código postal en el formato XXXXX."
#: pretix/base/addressvalidation.py:222 pretix/base/addressvalidation.py:224
msgid "Enter a postal code in the format XXXX."
msgstr "Ingresa un código postal en el formato XXX."
msgstr "Ingresa un código postal en el formato XXXXX."
#: pretix/base/auth.py:146
#, python-brace-format
@@ -657,7 +657,7 @@ msgstr "Contraseña"
#: pretix/base/auth.py:176 pretix/base/auth.py:183
msgid "Your password must contain both numeric and alphabetic characters."
msgstr "Su contraseña debe contener caracteres numéricos y alfabéticos."
msgstr "Su contraseña debe contener caracteres alfanuméricos."
#: pretix/base/auth.py:202 pretix/base/auth.py:212
#, python-format
@@ -689,7 +689,7 @@ msgstr ""
#: pretix/base/context.py:45
#, python-brace-format
msgid "powered by {name} based on <a {a_attr}>pretix</a>"
msgstr "hecho posible por {name} basado en <a {a_attr}>pretix</a>"
msgstr "desarrollado por {name} basado en <a {a_attr}>pretix</a>"
#: pretix/base/context.py:52
#, python-format
@@ -703,7 +703,7 @@ msgstr "Código fuente"
#: pretix/base/customersso/oidc.py:61
#, python-brace-format
msgid "Configuration option \"{name}\" is missing."
msgstr "La opción de configuración \"{name}\" no existe."
msgstr "La opción de configuración \"{name}\" falta."
#: pretix/base/customersso/oidc.py:69 pretix/base/customersso/oidc.py:74
#, python-brace-format
@@ -723,7 +723,7 @@ msgstr "Proveedor SSO incompatible: \"{error}\"."
#: pretix/base/customersso/oidc.py:111
#, python-brace-format
msgid "You are not requesting \"{scope}\"."
msgstr "No esta solicitando \"{scope}\"."
msgstr "No estas solicitando \"{scope}\"."
#: pretix/base/customersso/oidc.py:117
#, python-brace-format
@@ -731,8 +731,8 @@ msgid ""
"You are requesting scope \"{scope}\" but provider only supports these: "
"{scopes}."
msgstr ""
"Está solicitando el scope \"{scope}\", pero el proveedor solo admite estos: "
"{scopes}."
"Estás solicitando la funcionalidad \"{scope}\", pero el proveedor solo "
"admite estos: {scopes}."
#: pretix/base/customersso/oidc.py:127
#, python-brace-format
@@ -740,7 +740,7 @@ msgid ""
"You are requesting field \"{field}\" but provider only supports these: "
"{fields}."
msgstr ""
"Está solicitando el campo \"{field}\", pero el proveedor solo admite estos: "
"Estás solicitando el campo \"{field}\", pero el proveedor solo admite estos: "
"{fields}."
#: pretix/base/customersso/oidc.py:137
@@ -759,7 +759,7 @@ msgstr ""
#: pretix/presale/views/customer.py:862
#, python-brace-format
msgid "Login was not successful. Error message: \"{error}\"."
msgstr "El inicio de sesión no fue exitoso. Mensaje de error: \"{error}\"."
msgstr "El inicio de sesión no tuvo éxito. Mensaje de error: \"{error}\"."
#: pretix/base/customersso/oidc.py:236
msgid ""
@@ -810,7 +810,7 @@ msgstr "Excel combinado (.xlsx)"
#: pretix/base/exporters/answers.py:54
msgid "Question answer file uploads"
msgstr "Cargas de archivos de respuestas a preguntas"
msgstr "Subida de archivo de preguntas y respuestas"
#: pretix/base/exporters/answers.py:55 pretix/base/exporters/json.py:52
#: pretix/base/exporters/mail.py:53 pretix/base/exporters/orderlist.py:87
@@ -893,12 +893,12 @@ msgstr "Todas las fechas"
#: pretix/base/exporters/customers.py:49 pretix/control/navigation.py:606
#: pretix/control/templates/pretixcontrol/organizers/edit.html:132
msgid "Customer accounts"
msgstr "Cuenta de cliente"
msgstr "Cuentas de clientes"
#: pretix/base/exporters/customers.py:51
msgctxt "export_category"
msgid "Customer accounts"
msgstr "Cuenta de cliente"
msgstr "Cuentas de clientes"
#: pretix/base/exporters/customers.py:52
msgid "Download a spreadsheet of all currently registered customer accounts."
@@ -912,7 +912,7 @@ msgstr ""
#: pretix/presale/templates/pretixpresale/event/checkout_customer.html:36
#: pretix/presale/templates/pretixpresale/organizers/customer_base.html:37
msgid "Customer ID"
msgstr "ID Cliente"
msgstr "ID de cliente"
#: pretix/base/exporters/customers.py:65
#: pretix/control/templates/pretixcontrol/organizers/customer.html:32
@@ -1109,7 +1109,7 @@ msgstr ""
#: pretix/base/exporters/dekodi.py:105
#, python-brace-format
msgid "Event ticket {event}-{code}"
msgstr "Entrada para evento {event}-{code}"
msgstr "Entrada para el evento {event}-{code}"
#: pretix/base/exporters/dekodi.py:234 pretix/base/exporters/invoices.py:74
#: pretix/base/exporters/orderlist.py:128
@@ -1204,12 +1204,12 @@ msgstr "Hora de admisión"
#: pretix/base/exporters/events.py:65 pretix/base/models/event.py:598
#: pretix/base/models/event.py:1484 pretix/control/forms/subevents.py:93
msgid "Start of presale"
msgstr "Inicio de preventa"
msgstr "Inicio de la preventa"
#: pretix/base/exporters/events.py:66 pretix/base/models/event.py:592
#: pretix/base/models/event.py:1478 pretix/control/forms/subevents.py:99
msgid "End of presale"
msgstr "Finalización de preventa"
msgstr "Finalización de la preventa"
#: pretix/base/exporters/events.py:67 pretix/base/exporters/invoices.py:351
#: pretix/base/models/event.py:604 pretix/base/models/event.py:1490
@@ -1219,7 +1219,7 @@ msgstr "Ubicación"
#: pretix/base/exporters/events.py:68 pretix/base/models/event.py:607
#: pretix/base/models/event.py:1493
msgid "Latitude"
msgstr "Lalitud"
msgstr "Latitud"
#: pretix/base/exporters/events.py:69 pretix/base/models/event.py:615
#: pretix/base/models/event.py:1501
@@ -1246,7 +1246,7 @@ msgstr "Comentario interno"
#: pretix/control/templates/pretixcontrol/orders/refunds.html:50
#: pretix/control/templates/pretixcontrol/search/payments.html:93
msgid "Payment provider"
msgstr "Proveedor de pagos"
msgstr "Proveedor de pago"
#: pretix/base/exporters/invoices.py:84 pretix/base/exporters/invoices.py:86
#: pretix/control/forms/filter.py:206 pretix/control/forms/filter.py:1020
@@ -1272,7 +1272,7 @@ msgstr "Todas las facturas"
#: pretix/base/exporters/invoices.py:127
msgid "Download all invoices created by the system as a ZIP file of PDF files."
msgstr ""
"Descargue todas las facturas creadas por el sistema como un archivo ZIP de "
"Descargue todas las facturas creadas por el sistema en un archivo ZIP de "
"archivos PDF."
#: pretix/base/exporters/invoices.py:178
@@ -1446,7 +1446,7 @@ msgstr "País"
#: pretix/base/exporters/invoices.py:211 pretix/base/exporters/invoices.py:337
msgid "Tax ID"
msgstr "IVA-ID"
msgstr "CIF"
#: pretix/base/exporters/invoices.py:212 pretix/base/exporters/invoices.py:220
#: pretix/base/exporters/invoices.py:338 pretix/base/exporters/invoices.py:346
@@ -1490,7 +1490,7 @@ msgstr "Destinatario de la factura:"
#: pretix/presale/templates/pretixpresale/event/checkout_confirm.html:83
#: pretix/presale/templates/pretixpresale/event/order.html:307
msgid "Company"
msgstr "Compañía"
msgstr "Empresa"
#: pretix/base/exporters/invoices.py:215 pretix/base/exporters/invoices.py:341
msgid "Street address"
@@ -4567,13 +4567,13 @@ msgstr "Transacción manual"
#, python-format
msgctxt "invoice"
msgid "Tax ID: %s"
msgstr "IVA-ID: %s"
msgstr "CIF: %s"
#: pretix/base/models/invoices.py:191 pretix/base/services/invoices.py:139
#, python-format
msgctxt "invoice"
msgid "VAT-ID: %s"
msgstr "IVA-ID: %s"
msgstr "CIF: %s"
#: pretix/base/models/items.py:93
msgid "Category name"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2025-01-02 07:00+0000\n"
"PO-Revision-Date: 2025-01-11 21:00+0000\n"
"Last-Translator: Hijiri Umemoto <hijiri@umemoto.org>\n"
"Language-Team: Japanese <https://translate.pretix.eu/projects/pretix/pretix/"
"ja/>\n"
@@ -539,7 +539,7 @@ msgstr ""
#: pretix/api/webhooks.py:354
msgid "Shop taken live"
msgstr "ショップが営業中になりました"
msgstr "ショップが公開中になりました"
#: pretix/api/webhooks.py:358
msgid "Shop taken offline"
@@ -2012,7 +2012,7 @@ msgstr "税率{rate}%での税金"
#: pretix/base/exporters/orderlist.py:276
#, python-brace-format
msgid "Net at {rate} % tax"
msgstr "税率{rate}%のネット"
msgstr "税率{rate}%の税抜価格"
#: pretix/base/exporters/orderlist.py:277
#, python-brace-format
@@ -2713,7 +2713,7 @@ msgstr "全て"
#: pretix/base/exporters/orderlist.py:1306 pretix/control/forms/filter.py:1417
msgid "Live"
msgstr "営業中"
msgstr "公開中"
#: pretix/base/exporters/orderlist.py:1315 pretix/control/forms/filter.py:1425
#: pretix/control/templates/pretixcontrol/pdf/index.html:252
@@ -3268,7 +3268,7 @@ msgstr "税率"
#: pretix/base/invoice.py:623
msgctxt "invoice"
msgid "Net"
msgstr "ネット"
msgstr "税抜"
#: pretix/base/invoice.py:624
msgctxt "invoice"
@@ -3320,7 +3320,7 @@ msgstr "残高"
#: pretix/base/invoice.py:769
msgctxt "invoice"
msgid "Net value"
msgstr "純資産価値"
msgstr "税抜価格"
#: pretix/base/invoice.py:770
msgctxt "invoice"
@@ -3362,7 +3362,7 @@ msgstr "デフォルトの請求書レンダラー(ヨーロッパスタイル
#: pretix/base/invoice.py:947
msgctxt "invoice"
msgid "(Please quote at all times.)"
msgstr "すべてのアイテムについて見積もりをしてください。)"
msgstr "問い合わせ時には、この番号をお知らせください。)"
#: pretix/base/invoice.py:994
msgid "Simplified invoice renderer"
@@ -3667,7 +3667,7 @@ msgstr "タグ"
#: pretix/base/modelimport_vouchers.py:334 pretix/base/models/vouchers.py:297
msgid "Shows hidden products that match this voucher"
msgstr "このクーポンに適合する非表示の商品を表示します\\"
msgstr "このクーポンに適合する隠された商品を表示する"
#: pretix/base/modelimport_vouchers.py:343 pretix/base/models/vouchers.py:301
msgid "Offer all add-on products for free when redeeming this voucher"
@@ -4336,7 +4336,7 @@ msgid ""
"If checked, an event can only be taken live if the property is set. In event "
"series, its always optional to set a value for individual dates"
msgstr ""
"チェックされているとき、プロパティが設定されている場合にのみ、イベントを営業"
"チェックされているとき、プロパティが設定されている場合にのみ、イベントを公開"
"中にすることができます。イベントシリーズでは、個々の日付に値を設定することは"
"常にオプションです"
@@ -4552,7 +4552,7 @@ msgstr "アドオンカテゴリ"
#: pretix/base/models/items.py:222 pretix/base/models/items.py:278
msgid "Disable product for this date"
msgstr "この日付の製品を無効にしてください"
msgstr "この日付の製品を無効にする"
#: pretix/base/models/items.py:226 pretix/base/models/items.py:282
#: pretix/base/models/items.py:560
@@ -4588,7 +4588,7 @@ msgstr "申し訳ございません。情報が利用できません"
#: pretix/base/models/items.py:452 pretix/base/models/items.py:772
msgid "Don't use re-usable media, use regular one-off tickets"
msgstr "再利用可能なメディアを使用せず、通常の一回りのチケットを使用してください"
msgstr "再利用可能なメディアを使用せず、通常の一回りのチケットを使用してください"
#: pretix/base/models/items.py:453
msgid "Require an existing medium to be re-used"
@@ -4678,11 +4678,11 @@ msgstr "このイベントで待ちリストが有効になっている場合の
#: pretix/base/models/items.py:544 pretix/base/settings.py:1350
#: pretix/control/forms/event.py:1677
msgid "Show number of tickets left"
msgstr "チケットの残り枚数を表示します"
msgstr "チケットの残り枚数を表示す"
#: pretix/base/models/items.py:545
msgid "Publicly show how many tickets are still available."
msgstr "公に利用可能なチケットの数を表示してください。"
msgstr "利用可能なチケットの数を公表します。"
#: pretix/base/models/items.py:552 pretix/control/forms/item.py:622
msgid "Product picture"
@@ -4822,7 +4822,7 @@ msgstr ""
#: pretix/base/models/items.py:672
msgid "Only sell tickets for this product on the selected sales channels."
msgstr "この製品のチケットは選択した販売チャネルでのみ販売してください。"
msgstr "この製品のチケットは選択した販売チャネルでのみ販売します。"
#: pretix/base/models/items.py:677
msgid ""
@@ -5362,7 +5362,7 @@ msgstr "総容量"
#: pretix/base/models/items.py:2036 pretix/control/forms/item.py:448
msgid "Leave empty for an unlimited number of tickets."
msgstr "チケットの数に制限はありません。"
msgstr "空欄にすると、チケットの数が無制限になります。"
#: pretix/base/models/items.py:2040 pretix/base/models/orders.py:1487
#: pretix/base/models/orders.py:2982
@@ -5638,7 +5638,7 @@ msgstr "支払い済みの注文"
#: pretix/base/models/orders.py:418
msgid "canceled (paid fee)"
msgstr "キャンセル(料金支払い済み)"
msgstr "キャンセル済み(支払い済み手数料"
#: pretix/base/models/orders.py:1031
msgid ""
@@ -6245,11 +6245,11 @@ msgid ""
"option after consulting a tax counsel. No warranty given for correct tax "
"calculation. USE AT YOUR OWN RISK."
msgstr ""
"非推奨です。ほとんどのイベントは逆転納税の対象とならないため、課税の場所はイ"
"ベントの場所となります。このオプションを有効にすると、EU外のすべての顧客およ"
"び有効なEUのVAT番号を入力した異なるEU諸国の事業顧客に対してVATを請求しません"
"。税務顧問と相談した後にのみこのオプションを有効にしてください。正しい税金の"
"計算については保証されません。自己責任でご利用ください。"
"非推奨です。ほとんどのイベントはリバースチャージ制度の対象とならず、イベント"
"の場所が課税の場所となります。このオプションを有効にすると、EU外のすべての顧"
"客および有効なEUのVAT番号を入力した異なるEU諸国の事業顧客に対してVATを請求し"
"ません。税務顧問と相談した後にのみこのオプションを有効にしてください。正しい"
"税金の計算については保証されません。自己責任でご利用ください。"
#: pretix/base/models/tax.py:374 pretix/plugins/stripe/payment.py:299
msgid "Merchant country"
@@ -6362,8 +6362,8 @@ msgstr "このバウチャーが有効になると、影響を受ける製品の
msgid ""
"If activated, a holder of this voucher code can buy tickets, even if there "
"are none left."
msgstr "このバウチャーコードを持っている人は、有効になった場合でも、チケットを購入す"
"ことができます。"
msgstr "このバウチャーコードを持っている人は、売り切れた場合でも、チケットを購入す"
"ことができます。"
#: pretix/base/models/vouchers.py:254 pretix/control/forms/vouchers.py:69
msgid ""
@@ -6587,7 +6587,7 @@ msgstr "購入した製品"
#: pretix/base/services/placeholders.py:393
#: pretix/base/templates/pretixbase/email/order_details.html:147
msgid "View order details"
msgstr "注文の詳細を表示します"
msgstr "注文の詳細を表示す"
#: pretix/base/notifications.py:234
#, python-brace-format
@@ -6655,7 +6655,7 @@ msgstr "払い戻しをリクエストしました"
#: pretix/base/notifications.py:300
#, python-brace-format
msgid "You have been requested to issue a refund for {order.code}."
msgstr "{order.code}の返金手続きを依頼されました。"
msgstr "{order.code}の返金手続きがリクエストされました。"
#: pretix/base/payment.py:86
msgctxt "payment"
@@ -7048,7 +7048,7 @@ msgstr "アドオンを含む価格"
#: pretix/base/services/placeholders.py:669
#: pretix/base/services/placeholders.py:678 pretix/control/views/event.py:797
msgid "John Doe"
msgstr "John Doe"
msgstr "山田 太郎"
#: pretix/base/pdf.py:177
#: pretix/control/templates/pretixcontrol/order/index.html:549
@@ -7408,7 +7408,7 @@ msgstr "イベント終了"
#: pretix/base/reldate.py:37
msgid "Event admission"
msgstr "イベントの入場"
msgstr "イベントの入場"
#: pretix/base/reldate.py:38
msgid "Presale start"
@@ -7635,7 +7635,7 @@ msgstr ""
#: pretix/base/services/cart.py:175
#, python-format
msgid "This voucher code can only be redeemed %d more times."
msgstr "このバウチャーコードは、もう%d回しか引き換えることができません。"
msgstr "このバウチャーコードは、あと%d回しか引き換えることができません。"
#: pretix/base/services/cart.py:176
msgid ""
@@ -8621,7 +8621,7 @@ msgstr "プラグイン: %s"
#: pretix/base/services/vouchers.py:56 pretix/control/logdisplay.py:484
#, python-brace-format
msgid "The voucher has been sent to {recipient}."
msgstr "そのバウチャーは{recipient}に送信されました。"
msgstr "バウチャーは{recipient}あてに送信されました。"
#: pretix/base/settings.py:125
msgid "Allow usage of restricted plugins"
@@ -9238,7 +9238,7 @@ msgstr "開始日を表示します"
#: pretix/base/settings.py:1025
msgid "Show the presale start date before presale has started."
msgstr "プレセールの開始日を表示する前に、プレセール開始される前です。"
msgstr "プレセールが始まる前に、プレセール開始日を表示します。"
#: pretix/base/settings.py:1040 pretix/base/settings.py:1051
msgid "Do not generate invoices"
@@ -9467,7 +9467,7 @@ msgstr "全ての売り切れ商品を非表示にしてください"
#: pretix/base/settings.py:1351 pretix/control/forms/event.py:1678
msgid "Publicly show how many tickets of a certain type are still available."
msgstr "特定の種類のチケットの残り枚数を公開してください。"
msgstr "特定の種類のチケットの残り枚数を公開する。"
#: pretix/base/settings.py:1360
msgid "Ask search engines not to index the ticket shop"
@@ -9696,8 +9696,8 @@ msgid ""
"from the page as soon as they clicked a link in the email. Does not affect "
"orders performed through other sales channels."
msgstr ""
"電源が入っている場合、チケットは購入直後に直接ダウンロードできません。ファイ"
"ルサイズが大きくない場合、支払い確認のメールに添付され、顧客はメール内のリン"
"オンになっている場合、チケットは購入直後に直接ダウンロードできません。ファイ"
"ルサイズが大きくなければ、支払い確認のメールに添付され、顧客はメール内のリン"
"クをクリックするとすぐにページからダウンロードできます。他の販売チャネルを通"
"じて行われた注文には影響しません。"
@@ -10162,7 +10162,7 @@ msgstr ""
#: pretix/control/templates/pretixcontrol/event/mail.html:39
#: pretix/control/templates/pretixcontrol/organizers/mail.html:40
msgid "Sender address"
msgstr "送り主の住所"
msgstr "送信元のアドレス"
#: pretix/base/settings.py:2137 pretix/control/forms/mailsetup.py:36
#: pretix/control/forms/mailsetup.py:109
@@ -10312,8 +10312,8 @@ msgstr ""
"こんにちは、\n"
"\n"
"{event}の注文を承りました。\n"
"イベント主催者の承認が必要な商品をご注文いただいたため、次のメールをお待ちい"
"ただくようお願い申し上げます。\n"
"イベント主催者の承認が必要な商品をご注文いただいたため、\n"
"次のメールをお待ちいただくようお願い申し上げます。\n"
"\n"
"注文の詳細の変更と確認は、以下のURLから可能です。\n"
"{url}\n"
@@ -11460,7 +11460,7 @@ msgstr "氏Surname/Family Name"
#: pretix/base/settings.py:3685
msgctxt "person_name_sample"
msgid "John"
msgstr "ジョン"
msgstr "太郎"
#: pretix/base/settings.py:3467 pretix/base/settings.py:3483
#: pretix/base/settings.py:3499 pretix/base/settings.py:3515
@@ -11469,7 +11469,7 @@ msgstr "ジョン"
#: pretix/base/settings.py:3655 pretix/base/settings.py:3686
msgctxt "person_name_sample"
msgid "Doe"
msgstr "Doe"
msgstr "山田"
#: pretix/base/settings.py:3473 pretix/base/settings.py:3489
#: pretix/base/settings.py:3521 pretix/base/settings.py:3640
@@ -11497,7 +11497,7 @@ msgstr "ミドルネーム"
#: pretix/control/forms/organizer.py:651
msgctxt "person_name_sample"
msgid "John Doe"
msgstr "John Doe"
msgstr "山田 太郎"
#: pretix/base/settings.py:3593
msgid "Calling name"
@@ -11831,7 +11831,7 @@ msgstr "ここをクリックして、通知設定を表示および変更"
#: pretix/base/templates/pretixbase/email/notification.html:60
msgid "Click here disable all notifications immediately."
msgstr "ここをクリックしてすぐにすべての通知を無効にしてください。"
msgstr "ここをクリックしてすべての通知を直ちに無効にする。"
#: pretix/base/templates/pretixbase/email/notification.txt:15
msgid "Click here to view and change your notification settings:"
@@ -12183,7 +12183,7 @@ msgstr "あなたのイベントは終了します"
#: pretix/base/timeline.py:76
msgctxt "timeline"
msgid "Admissions for your event start"
msgstr "イベントの入場始まります"
msgstr "イベントの入場始まります"
#: pretix/base/timeline.py:84
msgctxt "timeline"
@@ -13214,7 +13214,7 @@ msgstr "支払い期限"
#: pretix/control/forms/filter.py:1196 pretix/control/forms/filter.py:1671
msgid "Shop live and presale running"
msgstr "営業中かつプレセールが開催中です"
msgstr "公開中かつ予約販売が開催中です"
#: pretix/control/forms/filter.py:1197 pretix/control/forms/filter.py:2013
msgid "Inactive"
@@ -13314,7 +13314,7 @@ msgstr "有効なメンバーシップがあります"
#: pretix/control/forms/filter.py:1670
msgid "Shop live"
msgstr "お店が営業中"
msgstr "ショップが公開中"
#: pretix/control/forms/filter.py:1672
msgid "Shop not live"
@@ -13657,8 +13657,8 @@ msgid ""
"as-a-Service company)."
msgstr ""
"私は他のイベント主催者のチケットを販売するためにPretixを使用しています"
"チケット販売会社)、または他の人にPretixの機能を提供していますSoftware-"
"as-a-Service会社)。"
"チケット販売会社)、または他の人にoretixの機能を提供していますSaaS会社"
")。"
#: pretix/control/forms/global_settings.py:162
msgid "I'm not sure which option applies."
@@ -14325,7 +14325,7 @@ msgstr ""
#: pretix/control/forms/orders.py:714 pretix/plugins/sendmail/forms.py:196
msgid "Attach tickets"
msgstr "チケットを添付します"
msgstr "チケットを添付す"
#: pretix/control/forms/orders.py:715 pretix/plugins/sendmail/forms.py:197
msgid ""
@@ -14347,8 +14347,8 @@ msgstr "受取人"
#: pretix/control/forms/orders.py:777
msgid ""
"Cancel the order. All tickets will no longer work. This can not be reverted."
msgstr "注文をキャンセルします。すべてのチケットはもはや有効ではありません。これは元"
"戻すことができません。"
msgstr "注文をキャンセルす。すべてのチケットはもはや有効ではありません。これは元"
"戻すことができません。"
#: pretix/control/forms/orders.py:778
msgid ""
@@ -15525,8 +15525,8 @@ msgstr "未確認のタイプの電子メールが送信されました。"
msgid ""
"The email has been sent without attached tickets since they would have been "
"too large to be likely to arrive."
msgstr "チケットを添付すると、サイズが大きすぎて届可能性が低いため、メールはチケッ"
"トを添付せずに送信されました。"
msgstr "チケットサイズが大きすぎて届かない可能性があるため、チケットを添付せずにメ"
"ールが送信されました。"
#: pretix/control/logdisplay.py:422
msgid "A custom email has been sent."
@@ -15753,7 +15753,7 @@ msgstr "そのバウチャーは作成されました。"
#: pretix/control/logdisplay.py:485
msgid "The voucher has been created and sent to a person on the waiting list."
msgstr "そのバウチャー作成され、空席待ちリストの人に送信されました。"
msgstr "バウチャー作成され、空席待ちリストの人に送信されました。"
#: pretix/control/logdisplay.py:486
msgid ""
@@ -16528,8 +16528,8 @@ msgstr "お帰りなさい!"
msgid ""
"You configured your account to require authentication with a second medium, "
"e.g. your phone. Please enter your verification code here:"
msgstr "アカウントの設定で、第二の認証手段(例:携帯電話)が必要になるように構成しま"
"した。こちらに確認コードを入力してください:"
msgstr "アカウントの設定で、第二の認証手段(例:携帯電話)が必要になるように構成され"
"ています。こちらに確認コードを入力してください:"
#: pretix/control/templates/pretixcontrol/auth/login_2fa.html:14
msgid "Token"
@@ -16835,7 +16835,7 @@ msgstr "セキュリティ上の理由から、続行する前にパスワード
#: pretix/control/templates/pretixcontrol/base.html:454
#, python-format
msgid "Times displayed in %(tz)s"
msgstr "%(tz)sで表示される時間"
msgstr "表示される時間帯 %(tz)s"
#: pretix/control/templates/pretixcontrol/base.html:460
msgid "running in development mode"
@@ -18253,7 +18253,7 @@ msgstr "チケットショップを公開するためには、まず以下の問
#: pretix/control/templates/pretixcontrol/event/live.html:51
#: pretix/control/templates/pretixcontrol/event/live.html:65
msgid "Go live"
msgstr "営業を開始します"
msgstr "オンラインにする"
#: pretix/control/templates/pretixcontrol/event/live.html:59
msgid "If you want to, you can publish your ticket shop now."
@@ -18420,7 +18420,7 @@ msgstr "支払い済みの注文"
#: pretix/control/templates/pretixcontrol/event/mail.html:96
msgid "Free order"
msgstr "自由な順序"
msgstr "無料の注文"
#: pretix/control/templates/pretixcontrol/event/mail.html:99
#: pretix/control/templates/pretixcontrol/order/index.html:248
@@ -18446,7 +18446,7 @@ msgstr "注文のカスタム電子メール"
#: pretix/control/templates/pretixcontrol/event/mail.html:120
msgid "Reminder to download tickets"
msgstr "チケットダウンロードすることをお知らせします"
msgstr "チケットダウンロードをリマインドする"
#: pretix/control/templates/pretixcontrol/event/mail.html:123
msgid "Order approval process"
@@ -20044,8 +20044,9 @@ msgid ""
"tickets\" or \"buy 2 tickets, get 1 free\"."
msgstr ""
"自動割引を使用すると、特定の条件に基づいて顧客の購入に自動的に割引を適用する"
"ことができます。たとえば、「3枚以上のチケットを購入すると20割引」や「2枚の"
"チケットを購入すると1枚無料」などのグループ割引を作成することができます。"
"ことができます。たとえば、「3枚以上のチケットを購入すると20パーセント割引」や"
"「2枚のチケットを購入すると1枚無料」などのグループ割引を作成することができま"
"す。"
#: pretix/control/templates/pretixcontrol/items/discounts.html:15
msgid ""
@@ -20158,7 +20159,7 @@ msgstr "新しい商品を作成"
#: pretix/control/templates/pretixcontrol/items/index.html:101
msgid "Personalized admission ticket"
msgstr "サンプル用チケット"
msgstr "記名式入場券"
#: pretix/control/templates/pretixcontrol/items/index.html:103
msgid "Admission ticket without personalization"
@@ -20196,7 +20197,7 @@ msgstr "<strong>plus</strong> %(rate)s%% %(taxname)s"
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:409
#, python-format
msgid "incl. %(rate)s%% %(taxname)s"
msgstr "%(rate)s%% %(taxname)sを含む"
msgstr "%(taxname)s%(rate)s パーセントを含む"
#: pretix/control/templates/pretixcontrol/items/question.html:6
#: pretix/control/templates/pretixcontrol/items/question.html:9
@@ -20404,7 +20405,7 @@ msgstr "このクォータの実際の結果を変更する可能性があるプ
#: pretix/control/templates/pretixcontrol/items/quota.html:86
#, python-format
msgid "This quota is currently overbooked by %(num)s tickets."
msgstr "このクォータは現在%(num)s枚のチケット過剰予約されています。"
msgstr "このクォータは現在%(num)s枚のチケット過剰予約されています。"
#: pretix/control/templates/pretixcontrol/items/quota.html:93
msgid ""
@@ -21125,7 +21126,7 @@ msgstr "エントリーのスキャン: %(date)s"
#: pretix/control/templates/pretixcontrol/order/index.html:422
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:54
msgid "Voucher code used:"
msgstr "割引コード使用済:"
msgstr "使用するバウチャーコード:"
#: pretix/control/templates/pretixcontrol/order/index.html:424
#, python-format
@@ -21886,7 +21887,7 @@ msgstr "保留中(確認済み)"
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html:26
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html:19
msgid "Canceled (paid fee)"
msgstr "キャンセル(料金支払い済み)"
msgstr "キャンセル済み(支払い済み手数料"
#: pretix/control/templates/pretixcontrol/orders/import_process.html:6
#: pretix/control/templates/pretixcontrol/orders/import_process.html:8
@@ -22486,7 +22487,7 @@ msgstr "デバイスを接続"
#: pretix/control/templates/pretixcontrol/organizers/devices.html:81
msgid "Hardware model"
msgstr "ハードウェアモデル"
msgstr "ハードウェアの機種"
#: pretix/control/templates/pretixcontrol/organizers/devices.html:139
msgid "Not yet initialized"
@@ -25009,7 +25010,7 @@ msgstr "選択したリストは削除されました。"
#: pretix/control/views/dashboards.py:115
msgid "Attendees (ordered)"
msgstr "出席者(順番に"
msgstr "参加者(注文済み"
#: pretix/control/views/dashboards.py:125
msgid "Attendees (paid)"
@@ -25047,11 +25048,11 @@ msgstr "ここをクリックして変更してください"
#: pretix/control/views/dashboards.py:273
msgid "live"
msgstr "営業中"
msgstr "公開中"
#: pretix/control/views/dashboards.py:274
msgid "live and in test mode"
msgstr "営業中かつテストモード"
msgstr "公開中かつテストモード"
#: pretix/control/views/dashboards.py:275
msgid "not yet public"
@@ -25188,7 +25189,7 @@ msgstr "無効なチケット出力タイプをリクエストしました。"
#: pretix/control/views/event.py:972
msgid "Your shop is live now!"
msgstr "あなたのショップは営業中です!"
msgstr "あなたのショップは公開中です!"
#: pretix/control/views/event.py:980
msgid "We've taken your shop down. You can re-enable it whenever you want!"
@@ -25549,7 +25550,7 @@ msgstr "検証コードが間違っています。もう一度お試しくださ
#: pretix/control/views/mailsetup.py:221
msgid "Sender address verification"
msgstr "送り主の住所確認"
msgstr "送信元のアドレス確認"
#: pretix/control/views/mailsetup.py:277
#, python-format
@@ -27348,7 +27349,7 @@ msgstr "払い戻しをエクスポート"
#: pretix/plugins/banktransfer/signals.py:123
msgid "The invoice was sent to the designated email address."
msgstr "請求書は指定されたメールアドレスに送信されました。"
msgstr "請求書は指定されたメールアドレスあてに送信されました。"
#: pretix/plugins/banktransfer/signals.py:132
#, python-brace-format
@@ -29514,7 +29515,7 @@ msgstr "ストライプアカウント"
#: pretix/plugins/stripe/payment.py:261
msgctxt "stripe"
msgid "Live"
msgstr "営業中"
msgstr "公開中"
#: pretix/plugins/stripe/payment.py:262
msgctxt "stripe"
@@ -30753,7 +30754,7 @@ msgstr "このショップは現在あなたとあなたのチームだけが見
#: pretix/presale/templates/pretixpresale/event/base.html:34
msgid "Take it live now"
msgstr "今すぐ営業を始める"
msgstr "今すぐ公開する"
#: pretix/presale/templates/pretixpresale/event/base.html:44
#: pretix/presale/templates/pretixpresale/event/base.html:105
@@ -30818,9 +30819,10 @@ msgid ""
"href=\"%(time_machine_link)s\"><span class=\"fa fa-clock-o\" aria-"
"hidden=\"true\"></span>time machine</a>."
msgstr ""
"異なる時点であなたのショップを表示するには、<a href=\"%(time_machine_link)s\""
"><span class=\"fa fa-clock-o\" aria-hidden=\"true\""
"></span>タイムマシン</a>を有効にすることができます。"
"<a href=\"%(time_machine_link)s\"><span class=\"fa fa-clock-o\" aria-hidden="
"\"true\""
"></span>タイムマシン</a>を有効にすることで、異なる時刻におけるあなたのショッ"
"プを表示することができます。"
#: pretix/presale/templates/pretixpresale/event/base.html:163
#: pretix/presale/templates/pretixpresale/event/base.html:210
@@ -31009,7 +31011,7 @@ msgstr "注文を確定"
#: pretix/presale/templates/pretixpresale/event/checkout_confirm.html:209
msgid "Submit registration"
msgstr "登録を送信してください"
msgstr "予約を送信する"
#: pretix/presale/templates/pretixpresale/event/checkout_customer.html:18
msgid "Log in with a customer account"
@@ -31343,7 +31345,7 @@ msgstr "<strong>plus</strong> %(rate)s%% %(name)s"
#: pretix/presale/templates/pretixpresale/event/voucher.html:366
#, python-format
msgid "incl. %(rate)s%% %(name)s"
msgstr "%(rate)s%% %(name)s を含む"
msgstr "%(name)s %(rate)sパーセントを含む"
#: pretix/presale/templates/pretixpresale/event/fragment_addon_choice.html:200
#: pretix/presale/templates/pretixpresale/event/fragment_addon_choice.html:207
@@ -31564,7 +31566,7 @@ msgstr[0] "%(num)s 個の製品"
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:465
#, python-format
msgid "incl. %(tax_sum)s taxes"
msgstr "incl. %(tax_sum)s 税金"
msgstr "%(tax_sum)sを含む"
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:482
#, python-format
@@ -31594,7 +31596,7 @@ msgstr "チェックアウトを続行します"
#: pretix/presale/templates/pretixpresale/event/fragment_cart_box.html:63
msgid "Empty cart"
msgstr "空のカート"
msgstr "カートを空にする"
#: pretix/presale/templates/pretixpresale/event/fragment_cart_box.html:68
#: pretix/presale/templates/pretixpresale/event/index.html:236
@@ -31761,7 +31763,7 @@ msgstr "注文が確定しました"
#: pretix/presale/templates/pretixpresale/event/fragment_downloads.html:14
msgid "Please check your email account, we've sent you your tickets."
msgstr "メールアカウントを確認してください。チケットを送信しました。"
msgstr "メールが届いているかご確認ください。チケットを送信しました。"
#: pretix/presale/templates/pretixpresale/event/fragment_downloads.html:16
msgid "Please check your email account, we've sent you an email."
@@ -31876,7 +31878,7 @@ msgstr "%(item)sのフルサイズの画像を表示"
#: pretix/presale/templates/pretixpresale/event/voucher.html:359
#, python-format
msgid "%(value)s incl. taxes"
msgstr "%(value)s 税込"
msgstr "税込%(value)s"
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:197
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:350
@@ -32091,12 +32093,12 @@ msgid ""
"your order to be sent to you again."
msgstr ""
"注文の状況や詳細を確認または変更したい場合は、注文手続き中に当社から送られた"
"メールのリンクをクリックしてください。リンクが見つからない場合は、以下のボタ"
"メールのリンクをクリックしてください。リンクが見つからない場合は、つぎのボタ"
"ンをクリックして、注文のリンクを再度送付してもらうこともできます。"
#: pretix/presale/templates/pretixpresale/event/index.html:256
msgid "Resend order link"
msgstr "注文リンクを再送してください"
msgstr "注文リンクを再送する"
#: pretix/presale/templates/pretixpresale/event/offline.html:4
#: pretix/presale/templates/pretixpresale/event/offline.html:8
@@ -32242,7 +32244,7 @@ msgstr "注文された商品を変更します"
#: pretix/presale/templates/pretixpresale/event/order.html:290
#: pretix/presale/templates/pretixpresale/event/position.html:34
msgid "Change details"
msgstr "変更の詳細"
msgstr "詳細を変更"
#: pretix/presale/templates/pretixpresale/event/order.html:262
msgid ""
@@ -32382,7 +32384,7 @@ msgstr ""
#: pretix/presale/templates/pretixpresale/event/order.html:467
msgid "You can cancel this order using the following button."
msgstr "のボタンを使用して、この注文をキャンセルすることができます。"
msgstr "つぎのボタンを使用して、この注文をキャンセルすることができます。"
#: pretix/presale/templates/pretixpresale/event/order_cancel.html:11
#, python-format
@@ -32547,7 +32549,7 @@ msgstr "チケットを変更"
msgid ""
"If you want to make changes to the components of your ticket, you can click "
"on the following button."
msgstr "チケットのコンポーネントを変更したい場合は、以下のボタンをクリックしてくださ"
msgstr "チケットのコンポーネントを変更したい場合は、つぎのボタンをクリックしてくださ"
"い。"
#: pretix/presale/templates/pretixpresale/event/position.html:73
@@ -32587,7 +32589,7 @@ msgstr "支払い済みの注文"
#: pretix/presale/templates/pretixpresale/event/resend_link.html:4
#: pretix/presale/templates/pretixpresale/event/resend_link.html:11
msgid "Resend order links"
msgstr "注文リンクを再送してください"
msgstr "注文リンクを再送する"
#: pretix/presale/templates/pretixpresale/event/resend_link.html:15
msgid ""
@@ -33081,7 +33083,7 @@ msgstr "これからのイベントを見る"
#: pretix/presale/templates/pretixpresale/organizers/index.html:169
msgid "No public upcoming events found."
msgstr "公開される今後のイベントが見つかりません。"
msgstr "今後一般に公表されるイベントが見つかりません。"
#: pretix/presale/templates/pretixpresale/organizers/index.html:169
msgid "Show past events"
@@ -33297,7 +33299,7 @@ msgstr "この注文については、チケットのダウンロードはまだ
#: pretix/presale/views/order.py:1118
msgid "Please click the link we sent you via email to download your tickets."
msgstr "メールで送られたリンクをクリックしてチケットをダウンロードしてください。"
msgstr "メールで送られたリンクをクリックしてチケットをダウンロードしてください。"
#: pretix/presale/views/order.py:1601
#, python-brace-format

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2024-12-31 18:00+0000\n"
"PO-Revision-Date: 2025-01-11 21:00+0000\n"
"Last-Translator: Hijiri Umemoto <hijiri@umemoto.org>\n"
"Language-Team: Korean <https://translate.pretix.eu/projects/pretix/pretix/ko/"
">\n"
@@ -170,10 +170,8 @@ msgid "Allowed URIs list, space separated"
msgstr "허용된 URI 리스트, 스페이스로 구분"
#: pretix/api/models.py:47
#, fuzzy
#| msgid "Allowed URIs list, space separated"
msgid "Allowed Post Logout URIs list, space separated"
msgstr "허용된 URI 리스트, 스페이스로 구분"
msgstr "공백으로 구분된 허용된 로그아웃 후 URI 목록"
#: pretix/api/models.py:51 pretix/base/models/customers.py:406
#: pretix/plugins/paypal/payment.py:113 pretix/plugins/paypal2/payment.py:110
@@ -17954,10 +17952,8 @@ msgid "December"
msgstr ""
#: pretix/control/templates/pretixcontrol/global_sysreport.html:32
#, fuzzy
#| msgid "Generate tickets"
msgid "Generate report"
msgstr "티켓 생성"
msgstr "보고서를 생성"
#: pretix/control/templates/pretixcontrol/global_update.html:7
msgid "Update check results"
@@ -19895,11 +19891,8 @@ msgstr ""
#: pretix/control/templates/pretixcontrol/orders/bulk_action.html:5
#: pretix/control/templates/pretixcontrol/orders/bulk_action.html:7
#, fuzzy
#| msgid "1 order"
#| msgid_plural "%(s)s orders"
msgid "Modify orders"
msgstr "%(s)s개 주문"
msgstr "주문을 수정"
#: pretix/control/templates/pretixcontrol/orders/bulk_action.html:12
#, python-format
@@ -22091,11 +22084,8 @@ msgid "Begin"
msgstr ""
#: pretix/control/templates/pretixcontrol/subevents/index.html:176
#, fuzzy
#| msgid "1 order"
#| msgid_plural "%(s)s orders"
msgid "Show orders"
msgstr "%(s)s개 주문"
msgstr "주문을 표시"
#: pretix/control/templates/pretixcontrol/subevents/index.html:187
msgctxt "subevent"
@@ -26628,10 +26618,8 @@ msgid ""
msgstr ""
#: pretix/plugins/returnurl/views.py:37
#, fuzzy
#| msgid "Redirection URIs"
msgid "Base redirection URLs"
msgstr "리다이렉션URI"
msgstr "기본 리다이렉션 URL"
#: pretix/plugins/returnurl/views.py:38
msgid ""
@@ -27315,10 +27303,8 @@ msgid "Publishable key"
msgstr ""
#: pretix/plugins/stripe/payment.py:280
#, fuzzy
#| msgid "Generate tickets"
msgid "Generate API keys"
msgstr "티켓 생성"
msgstr "API 키 생성"
#: pretix/plugins/stripe/payment.py:282
msgid ""
@@ -28495,11 +28481,8 @@ msgstr ""
#: pretix/presale/templates/pretixpresale/event/base.html:127
#: pretix/presale/templates/pretixpresale/event/base.html:201
#, fuzzy
#| msgid "This ticket has been used once."
#| msgid_plural "This ticket has been used %(count)s times."
msgid "This ticket shop is currently in test mode."
msgstr "티켓이 %(count)s회 사용되었습니다."
msgstr "이 티켓 상점은 현재 테스트 모드입니다."
#: pretix/presale/templates/pretixpresale/event/base.html:130
#: pretix/presale/templates/pretixpresale/event/base.html:204
@@ -29761,11 +29744,8 @@ msgid "Shop offline"
msgstr ""
#: pretix/presale/templates/pretixpresale/event/offline.html:9
#, fuzzy
#| msgid "This ticket has been used once."
#| msgid_plural "This ticket has been used %(count)s times."
msgid "This ticket shop is currently turned off."
msgstr "티켓이 %(count)s회 사용되었습니다."
msgstr "이 티켓 상점은 현재 비활성화되어 있습니다."
#: pretix/presale/templates/pretixpresale/event/offline.html:10
msgid "It is only accessible to authenticated team members."
@@ -30208,11 +30188,8 @@ msgstr ""
#: pretix/presale/templates/pretixpresale/event/position_modify.html:5
#: pretix/presale/templates/pretixpresale/event/position_modify.html:8
#, fuzzy
#| msgid "1 order"
#| msgid_plural "%(s)s orders"
msgid "Modify ticket"
msgstr "%(s)s개 주문"
msgstr "티켓 수정"
#: pretix/presale/templates/pretixpresale/event/resend_link.html:4
#: pretix/presale/templates/pretixpresale/event/resend_link.html:11

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2024-12-13 08:00+0000\n"
"Last-Translator: Vasco Baleia <vb2003.12@gmail.com>\n"
"PO-Revision-Date: 2025-01-10 20:00+0000\n"
"Last-Translator: David Vaz <davidmgvaz@gmail.com>\n"
"Language-Team: Portuguese (Portugal) <https://translate.pretix.eu/projects/"
"pretix/pretix/pt_PT/>\n"
"Language: pt_PT\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.8.4\n"
"X-Generator: Weblate 5.9.2\n"
#: pretix/_base_settings.py:79
msgid "English"
@@ -34876,7 +34876,7 @@ msgstr "Nenhuma associação é armazenada em sua conta."
#| msgid "+ %(count)s invited"
msgid "%(counter)s item"
msgid_plural "%(counter)s items"
msgstr[0] "+%(count)s convidados"
msgstr[0] "+%(count)s convidado"
msgstr[1] "+%(count)s convidados"
#: pretix/presale/templates/pretixpresale/organizers/customer_orders.html:78

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2024-12-30 22:00+0000\n"
"PO-Revision-Date: 2025-01-04 01:00+0000\n"
"Last-Translator: Hijiri Umemoto <hijiri@umemoto.org>\n"
"Language-Team: Turkish <https://translate.pretix.eu/projects/pretix/pretix/"
"tr/>\n"
@@ -1041,10 +1041,8 @@ msgid "Name"
msgstr "Ad"
#: pretix/base/exporters/customers.py:77 pretix/base/models/customers.py:99
#, fuzzy
#| msgid "This account is inactive."
msgid "Account active"
msgstr "Bu hesap aktif değildir."
msgstr "Hesap aktif"
#: pretix/base/exporters/customers.py:78 pretix/base/models/customers.py:100
#, fuzzy

View File

@@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2024-01-22 17:08+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: Chinese (Traditional) <https://translate.pretix.eu/projects/"
"pretix/pretix/zh_Hant/>\n"
"PO-Revision-Date: 2025-01-04 19:00+0000\n"
"Last-Translator: Hijiri Umemoto <hijiri@umemoto.org>\n"
"Language-Team: Chinese (Traditional Han script) <https://translate.pretix.eu/"
"projects/pretix/pretix/zh_Hant/>\n"
"Language: zh_Hant\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.3.1\n"
"X-Generator: Weblate 5.9.2\n"
#: pretix/_base_settings.py:79
msgid "English"
@@ -37,11 +37,11 @@ msgstr "阿拉伯語"
#: pretix/_base_settings.py:83
msgid "Basque"
msgstr ""
msgstr "巴斯克語"
#: pretix/_base_settings.py:84
msgid "Catalan"
msgstr ""
msgstr "嘉泰羅尼亞語"
#: pretix/_base_settings.py:85
msgid "Chinese (simplified)"
@@ -85,7 +85,7 @@ msgstr "希臘語"
#: pretix/_base_settings.py:95
msgid "Indonesian"
msgstr ""
msgstr "印尼語"
#: pretix/_base_settings.py:96
msgid "Italian"
@@ -97,7 +97,7 @@ msgstr "拉脫維亞語"
#: pretix/_base_settings.py:98
msgid "Norwegian Bokmål"
msgstr ""
msgstr "挪威博克馬爾語"
#: pretix/_base_settings.py:99
msgid "Polish"
@@ -121,11 +121,11 @@ msgstr "俄語"
#: pretix/_base_settings.py:104
msgid "Slovak"
msgstr ""
msgstr "斯洛伐克語"
#: pretix/_base_settings.py:105
msgid "Swedish"
msgstr ""
msgstr "瑞典語"
#: pretix/_base_settings.py:106
msgid "Spanish"
@@ -582,10 +582,8 @@ msgid "Customer account changed"
msgstr "客戶帳戶電子郵件更改"
#: pretix/api/webhooks.py:394
#, fuzzy
#| msgid "The customer account has been anonymized."
msgid "Customer account anonymized"
msgstr "客戶帳戶已匿名化"
msgstr "客戶帳戶已匿名化"
#: pretix/base/addressvalidation.py:100 pretix/base/addressvalidation.py:103
#: pretix/base/addressvalidation.py:108 pretix/base/forms/questions.py:960
@@ -647,7 +645,7 @@ msgstr "密碼"
#: pretix/base/auth.py:176 pretix/base/auth.py:183
msgid "Your password must contain both numeric and alphabetic characters."
msgstr ""
msgstr "您的密碼必須包含數字和字母字元。"
#: pretix/base/auth.py:202 pretix/base/auth.py:212
#, python-format
@@ -655,7 +653,7 @@ msgid "Your password may not be the same as your previous password."
msgid_plural ""
"Your password may not be the same as one of your %(history_length)s previous "
"passwords."
msgstr[0] ""
msgstr[0] "您的密碼可能與您之前的 %(history_length)s密碼之一不同。"
#: pretix/base/channels.py:168
msgid "Online shop"
@@ -663,13 +661,13 @@ msgstr "網上商店"
#: pretix/base/channels.py:174
msgid "API"
msgstr ""
msgstr "API"
#: pretix/base/channels.py:175
msgid ""
"API sales channels come with no built-in functionality, but may be used for "
"custom integrations."
msgstr ""
msgstr "API銷售渠道沒有內建功能但可用於自定義整合。"
#: pretix/base/context.py:45
#, python-brace-format
@@ -2889,7 +2887,7 @@ msgstr "優惠券代碼"
#: pretix/base/forms/__init__.py:118
#, python-brace-format
msgid "You can use {markup_name} in this field."
msgstr ""
msgstr "您可以在此欄位中使用{markup_name}。"
#: pretix/base/forms/__init__.py:178
#, python-format
@@ -3089,6 +3087,8 @@ msgid ""
"up. Please note: to use literal \"{\" or \"}\", you need to double them as "
"\"{{\" and \"}}\"."
msgstr ""
"您的佔位符語法有誤。 請檢查佔位符上的開頭“{”和結尾“}”花括號是否匹配。 "
"請注意:要使用字面“{”或“}”,您需要將它們加倍為“{{”和“}}”。"
#: pretix/base/forms/validators.py:72 pretix/control/views/event.py:758
#, fuzzy, python-format
@@ -3097,10 +3097,9 @@ msgid "Invalid placeholder: {%(value)s}"
msgstr "無效的佔位元: %(value)ss"
#: pretix/base/forms/widgets.py:68
#, fuzzy, python-format
#| msgid "Sample city"
#, python-format
msgid "Sample: %s"
msgstr "範例城市"
msgstr "範例: %s"
#: pretix/base/forms/widgets.py:71
#, python-brace-format
@@ -3339,7 +3338,7 @@ msgstr ""
#: pretix/base/invoice.py:858
msgid "Default invoice renderer (European-style letter)"
msgstr ""
msgstr "預設發票渲染器(歐式信件)"
#: pretix/base/invoice.py:947
msgctxt "invoice"
@@ -3348,14 +3347,13 @@ msgstr "(請隨時報價)"
#: pretix/base/invoice.py:994
msgid "Simplified invoice renderer"
msgstr ""
msgstr "簡化的發票渲染器"
#: pretix/base/invoice.py:1013
#, fuzzy, python-brace-format
#| msgid "Event date range"
#, python-brace-format
msgctxt "invoice"
msgid "Event date: {date_range}"
msgstr "活動日期區間"
msgstr "活動日期: {date_range}"
#: pretix/base/media.py:71
msgid "Barcode / QR-Code"
@@ -3576,10 +3574,8 @@ msgid "Maximum usages"
msgstr "最大使用量"
#: pretix/base/modelimport_vouchers.py:79
#, fuzzy
#| msgid "Maximum number of items per order"
msgid "The maximum number of usages must be set."
msgstr "每項訂單的最大商品數量"
msgstr "必須設定最大使用次數。"
#: pretix/base/modelimport_vouchers.py:88 pretix/base/models/vouchers.py:205
msgid "Minimum usages"
@@ -3614,7 +3610,7 @@ msgstr "優惠券價值"
#: pretix/base/modelimport_vouchers.py:165
msgid "It is pointless to set a value without a price mode."
msgstr ""
msgstr "在沒有價格模式的情況下設定值是沒有意義的。"
#: pretix/base/modelimport_vouchers.py:237 pretix/base/models/items.py:2081
#: pretix/base/models/vouchers.py:272
@@ -3743,18 +3739,18 @@ msgstr ""
#: pretix/base/models/checkin.py:65
msgctxt "checkin"
msgid "Ignore check-ins on this list in statistics"
msgstr ""
msgstr "忽略統計中此列表中的簽到"
#: pretix/base/models/checkin.py:69
msgctxt "checkin"
msgid "Tickets with a check-in on this list should be considered \"used\""
msgstr ""
msgstr "此列表中有簽到的門票應被視為「已使用」"
#: pretix/base/models/checkin.py:70
msgid ""
"This is relevant in various situations, e.g. for deciding if a ticket can "
"still be canceled by the customer."
msgstr ""
msgstr "這與各種情況有關,例如用於決定客戶是否仍然可以取消門票。"
#: pretix/base/models/checkin.py:74
msgctxt "checkin"
@@ -4065,7 +4061,8 @@ msgid ""
"By default, the discount is applied across the same selection of products "
"than the condition for the discount given above. If you want, you can "
"however also select a different selection of products."
msgstr ""
msgstr "預設情況下,折扣適用於與上述折扣條件相同的產品選擇。 "
"然而,如果您願意,您也可以選擇不同的產品。"
#: pretix/base/models/discount.py:138
#, fuzzy
@@ -4356,7 +4353,7 @@ msgstr "對客戶顯示簽到次數"
msgid ""
"This field will be shown to filter events in the public event list and "
"calendar."
msgstr ""
msgstr "將顯示此欄位,以過濾公共活動列表和日曆中的活動。"
#: pretix/base/models/event.py:1731 pretix/control/forms/organizer.py:269
#: pretix/control/forms/organizer.py:273
@@ -5899,10 +5896,8 @@ msgid "Team members"
msgstr "團隊成員"
#: pretix/base/models/organizer.py:289
#, fuzzy
#| msgid "Do you really want to disable two-factor authentication?"
msgid "Require all members of this team to use two-factor authentication"
msgstr "你真的要禁用兩步驟驗證嗎?"
msgstr "要求該團隊的所有成員使用雙因素身份驗證"
#: pretix/base/models/organizer.py:290
msgid ""
@@ -7822,10 +7817,9 @@ msgid "number of entries before {datetime}"
msgstr "今日條目數數量"
#: pretix/base/services/checkin.py:320
#, fuzzy, python-brace-format
#| msgid "number of entries today"
#, python-brace-format
msgid "number of days with an entry since {datetime}"
msgstr "今日條目數數量"
msgstr "自 {datetime}以來條目的天數"
#: pretix/base/services/checkin.py:321
#, fuzzy, python-brace-format
@@ -13807,10 +13801,8 @@ msgstr ""
"的所有部分VIP區除外。"
#: pretix/control/forms/item.py:664
#, fuzzy
#| msgid "The ordered product \"{item}\" is no longer available."
msgid "Show product with info on why its unavailable"
msgstr "訂購的產品“{item}”不再可用"
msgstr "顯示產品,並瞭解為什麼它不可用"
#: pretix/control/forms/item.py:677
msgid ""
@@ -18881,10 +18873,8 @@ msgid "Calculation"
msgstr "取消"
#: pretix/control/templates/pretixcontrol/event/tax_edit.html:64
#, fuzzy
#| msgid "Reason:"
msgid "Reason"
msgstr "理由"
msgstr "理由"
#: pretix/control/templates/pretixcontrol/event/tax_edit.html:137
#: pretix/control/templates/pretixcontrol/subevents/bulk.html:251
@@ -19956,11 +19946,8 @@ msgid ""
msgstr "目前不可用,因為已設定此產品的有限時間範圍"
#: pretix/control/templates/pretixcontrol/items/discounts.html:111
#, fuzzy
#| msgctxt "discount"
#| msgid "Condition"
msgid "Condition:"
msgstr "條件"
msgstr "條件:"
#: pretix/control/templates/pretixcontrol/items/discounts.html:126
msgid "Applies to:"
@@ -22022,10 +22009,8 @@ msgid "Channel type"
msgstr "掃描"
#: pretix/control/templates/pretixcontrol/organizers/channel_delete.html:5
#, fuzzy
#| msgid "Sales channel"
msgid "Delete sales channel:"
msgstr "銷售管道"
msgstr "銷售管道:"
#: pretix/control/templates/pretixcontrol/organizers/channel_delete.html:10
#, fuzzy
@@ -22044,10 +22029,8 @@ msgid ""
msgstr "無法刪除此成員資格,因為它已在訂單中使用。將其結束日期更改為過去。"
#: pretix/control/templates/pretixcontrol/organizers/channel_edit.html:6
#, fuzzy
#| msgid "Sales channel"
msgid "Sales channel:"
msgstr "銷售管道"
msgstr "銷售管道:"
#: pretix/control/templates/pretixcontrol/organizers/channels.html:8
msgid ""
@@ -26454,10 +26437,8 @@ msgid "Login from new source detected"
msgstr "未檢測到訂購號"
#: pretix/helpers/security.py:170
#, fuzzy
#| msgid "Unknown country code."
msgid "Unknown country"
msgstr "未知國家代碼."
msgstr "未知國家"
#: pretix/multidomain/models.py:36
#, fuzzy
@@ -29485,7 +29466,7 @@ msgstr ""
#: pretix/plugins/stripe/payment.py:350 pretix/plugins/stripe/payment.py:1552
msgid "Alipay"
msgstr "Alipay"
msgstr "支付寶"
#: pretix/plugins/stripe/payment.py:358 pretix/plugins/stripe/payment.py:1564
msgid "Bancontact"
@@ -30070,16 +30051,12 @@ msgid "Enter the entity number, reference number, and amount."
msgstr ""
#: pretix/plugins/stripe/templates/pretixplugins/stripe/pending.html:25
#, fuzzy
#| msgid "Invoice number"
msgid "Entity number:"
msgstr "發票編號"
msgstr "公司編號"
#: pretix/plugins/stripe/templates/pretixplugins/stripe/pending.html:26
#, fuzzy
#| msgid "Reference code"
msgid "Reference number:"
msgstr "參考代碼"
msgstr "參考代碼:"
#: pretix/plugins/stripe/templates/pretixplugins/stripe/pending.html:35
msgid ""
@@ -31156,10 +31133,9 @@ msgstr "新價格:"
#: pretix/presale/templates/pretixpresale/event/voucher.html:176
#: pretix/presale/templates/pretixpresale/event/voucher.html:329
#: pretix/presale/templates/pretixpresale/event/voucher.html:331
#, fuzzy, python-format
#| msgid "Modify price for %(item)s"
#, python-format
msgid "Modify price for %(item)s, at least %(price)s"
msgstr "修改%(item)s 的價格"
msgstr "修改%(item)s的價格,至少 %(price)s"
#: pretix/presale/templates/pretixpresale/event/fragment_addon_choice.html:153
#: pretix/presale/templates/pretixpresale/event/fragment_addon_choice.html:294
@@ -31263,16 +31239,12 @@ msgid "Enter a voucher code below to buy this product."
msgstr "在下面輸入優惠券代碼以購買此票。"
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:10
#, fuzzy
#| msgid "Not available"
msgid "Not available yet."
msgstr "無法使用"
msgstr "尚不可用。"
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:14
#, fuzzy
#| msgid "Not available"
msgid "Not available any more."
msgstr "無法使用"
msgstr "不再可用。"
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:19
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:85
@@ -32615,7 +32587,7 @@ msgid ""
" "
msgstr ""
"\n"
" from %(start_date)s\n"
" %(start_date)s\n"
" "
#: pretix/presale/templates/pretixpresale/fragment_calendar_nav.html:12
@@ -33132,10 +33104,8 @@ msgid "This feature is only available in test mode."
msgstr "此禮品卡只能在測試模式下使用。"
#: pretix/presale/views/event.py:985
#, fuzzy
#| msgid "This account is disabled."
msgid "Time machine disabled!"
msgstr "此帳戶已禁用"
msgstr "時間機器被禁用"
#: pretix/presale/views/order.py:368 pretix/presale/views/order.py:433
#: pretix/presale/views/order.py:514
@@ -33266,14 +33236,12 @@ msgid ""
msgstr "你不能將自己添加到候補名單中,因為該商品目前有貨。"
#: pretix/presale/views/waiting.py:180
#, fuzzy, python-brace-format
#| msgid ""
#| "We've added you to the waiting list. You will receive an email as soon as "
#| "this product gets available again."
#, python-brace-format
msgid ""
"We've added you to the waiting list. We will send an email to {email} as "
"soon as this product gets available again."
msgstr "我們已將你添加到候補名單一旦該產品再次,您將收到一封電子郵件。"
msgstr "我們已將您列入候補名單。 "
"一旦該產品再次上市,我們將立即向{email}傳送電子郵件。"
#: pretix/presale/views/waiting.py:208
msgid "We could not find you on our waiting list."

View File

@@ -289,7 +289,7 @@ def _render_nup(input_files: List[str], num_pages: int, output_file: BytesIO, op
pass
try:
badges_pdf = PdfReader(input_files.pop())
badges_pdf = PdfReader(input_files.pop(0))
offset = 0
for i, chunk_indices in enumerate(_chunks(range(num_pages), badges_per_page * max_nup_pages)):
chunk = []
@@ -298,7 +298,7 @@ def _render_nup(input_files: List[str], num_pages: int, output_file: BytesIO, op
# file has beforehand
if j - offset >= len(badges_pdf.pages):
offset += len(badges_pdf.pages)
badges_pdf = PdfReader(input_files.pop())
badges_pdf = PdfReader(input_files.pop(0))
chunk.append(badges_pdf.pages[j - offset])
# Reset some internal state from pypdf. This will make it a little slower, but will prevent us from
# running out of memory if we process a really large file.

View File

@@ -37,7 +37,7 @@ class PayPalEnvironment(VendorPayPalEnvironment):
'payer_id': self.merchant_id
},
key=None,
algorithm=None,
algorithm="none",
)
return ""

View File

@@ -63,6 +63,7 @@ from django.views import View
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import TemplateView
from pretix.base.auth import has_event_access_permission
from pretix.base.forms.widgets import SplitDateTimePickerWidget
from pretix.base.models import (
ItemVariation, Quota, SalesChannel, SeatCategoryMapping, Voucher,
@@ -73,9 +74,7 @@ from pretix.base.models.items import (
)
from pretix.base.services.placeholders import PlaceholderContext
from pretix.base.services.quotas import QuotaAvailability
from pretix.base.timemachine import (
has_time_machine_permission, time_machine_now,
)
from pretix.base.timemachine import time_machine_now
from pretix.helpers.compat import date_fromisocalendar
from pretix.helpers.formats.en.formats import (
SHORT_MONTH_DAY_FORMAT, WEEK_FORMAT,
@@ -963,7 +962,7 @@ class EventTimeMachine(EventViewMixin, TemplateView):
def setup(self, request, *args, **kwargs):
super().setup(request, *args, **kwargs)
if not has_time_machine_permission(request, request.event):
if not has_event_access_permission(request):
raise PermissionDenied(_('You are not allowed to access time machine mode.'))
if not request.event.testmode:
raise PermissionDenied(_('This feature is only available in test mode.'))

View File

@@ -60,6 +60,7 @@ from django.utils.translation import gettext, gettext_lazy as _
from django.views.decorators.clickjacking import xframe_options_exempt
from django.views.generic import ListView, TemplateView, View
from pretix.base.auth import has_event_access_permission
from pretix.base.models import (
CachedTicket, Checkin, GiftCard, Invoice, Order, OrderPosition, Quota,
TaxRule,
@@ -205,10 +206,8 @@ class TicketPageMixin:
ctx['download_buttons'] = self.download_buttons
ctx['backend_user'] = (
self.request.user.is_authenticated
and self.request.user.has_event_permission(self.request.organizer, self.request.event, 'can_view_orders', request=self.request)
)
ctx['backend_user'] = has_event_access_permission(self.request, 'can_view_orders')
return ctx
@cached_property

View File

@@ -169,7 +169,7 @@ pre[lang=is], input[lang=is], textarea[lang=is], div[lang=is] { background-image
pre[lang=it], input[lang=it], textarea[lang=it], div[lang=it] { background-image: url(static('pretixbase/img/flags/it.png')); }
pre[lang=jm], input[lang=jm], textarea[lang=jm], div[lang=jm] { background-image: url(static('pretixbase/img/flags/jm.png')); }
pre[lang=jo], input[lang=jo], textarea[lang=jo], div[lang=jo] { background-image: url(static('pretixbase/img/flags/jo.png')); }
pre[lang=jp], input[lang=jp], textarea[lang=jp], div[lang=jp] { background-image: url(static('pretixbase/img/flags/jp.png')); }
pre[lang=ja], input[lang=ja], textarea[lang=ja], div[lang=ja] { background-image: url(static('pretixbase/img/flags/jp.png')); }
pre[lang=ke], input[lang=ke], textarea[lang=ke], div[lang=ke] { background-image: url(static('pretixbase/img/flags/ke.png')); }
pre[lang=kg], input[lang=kg], textarea[lang=kg], div[lang=kg] { background-image: url(static('pretixbase/img/flags/kg.png')); }
pre[lang=kh], input[lang=kh], textarea[lang=kh], div[lang=kh] { background-image: url(static('pretixbase/img/flags/kh.png')); }

View File

@@ -1133,6 +1133,49 @@ def test_order_mark_paid_expired_seat_taken(client, env):
assert o.status == Order.STATUS_EXPIRED
@pytest.mark.django_db
def test_order_mark_paid_expired_blocked(client, env):
with scopes_disabled():
o = Order.objects.get(id=env[2].id)
o.expires = now() - timedelta(days=5)
o.status = Order.STATUS_EXPIRED
o.sales_channel = env[0].organizer.sales_channels.get(identifier="bar")
olddate = o.expires
o.save()
seat_a1 = env[0].seats.create(seat_number="A1", product=env[3], seat_guid="A1", blocked=True)
p = o.positions.first()
p.seat = seat_a1
p.save()
q = Quota.objects.create(event=env[0], size=100)
q.items.add(env[3])
client.login(email='dummy@dummy.dummy', password='dummy')
response = client.post('/control/event/dummy/dummy/orders/FOO/transition', {
'status': 'p',
'payment_date': now().date().isoformat(),
'amount': str(o.pending_sum),
'force': 'on'
}, follow=True)
assert b'alert-danger' in response.content
with scopes_disabled():
o = Order.objects.get(id=env[2].id)
assert o.expires.strftime("%Y-%m-%d %H:%M:%S") == olddate.strftime("%Y-%m-%d %H:%M:%S")
assert o.status == Order.STATUS_EXPIRED
env[0].settings.seating_allow_blocked_seats_for_channel = ["bar"]
response = client.post('/control/event/dummy/dummy/orders/FOO/transition', {
'status': 'p',
'payment_date': now().date().isoformat(),
'amount': str(o.pending_sum),
'force': 'on'
}, follow=True)
assert b'alert-success' in response.content
with scopes_disabled():
o = Order.objects.get(id=env[2].id)
assert o.status == Order.STATUS_PAID
@pytest.mark.django_db
def test_order_go_lowercase(client, env):
client.login(email='dummy@dummy.dummy', password='dummy')