mirror of
https://github.com/pretix/pretix.git
synced 2025-12-07 22:42:26 +00:00
Compare commits
75 Commits
invoice-us
...
reldatetim
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2fe2500ba | ||
|
|
13aee2b3bb | ||
|
|
ba9d0823c7 | ||
|
|
87768a2b74 | ||
|
|
ff6b4ae7bf | ||
|
|
6b5fd07535 | ||
|
|
7a423ebead | ||
|
|
62c028d9ac | ||
|
|
57f5eeff82 | ||
|
|
d92e82a133 | ||
|
|
5704142fe1 | ||
|
|
8c5768912c | ||
|
|
934567c811 | ||
|
|
b16f54fad9 | ||
|
|
5dcd1f229b | ||
|
|
40e4f8a05a | ||
|
|
8d9295a628 | ||
|
|
063e1e16a3 | ||
|
|
b5733a433d | ||
|
|
454354f148 | ||
|
|
8480f45997 | ||
|
|
b909b0b4bd | ||
|
|
c4b45b7d95 | ||
|
|
3ce6030122 | ||
|
|
28e26284a6 | ||
|
|
aaf1b7776e | ||
|
|
d545b15d0d | ||
|
|
0a334d1c67 | ||
|
|
1a2fb688de | ||
|
|
c1333d6edb | ||
|
|
e3e432a9e4 | ||
|
|
36ea18970b | ||
|
|
bde2d50828 | ||
|
|
e8334df908 | ||
|
|
c8943785d7 | ||
|
|
41b878b667 | ||
|
|
4f63ba967b | ||
|
|
a56c6ae1e0 | ||
|
|
1efd952a19 | ||
|
|
ddd0db3d98 | ||
|
|
dde724d0be | ||
|
|
9f55187690 | ||
|
|
e572bfb752 | ||
|
|
beccdf8dad | ||
|
|
b141ea4ed5 | ||
|
|
32dd125b65 | ||
|
|
b5794780da | ||
|
|
835c08f1ca | ||
|
|
a79d5fddda | ||
|
|
beb03e07e0 | ||
|
|
dd2e5d09f9 | ||
|
|
5c2456e92e | ||
|
|
3579a7f298 | ||
|
|
5dd20de745 | ||
|
|
5708099fc9 | ||
|
|
2c2e8e7d21 | ||
|
|
5993482f6c | ||
|
|
c905659dfb | ||
|
|
196c131ac9 | ||
|
|
a554433fad | ||
|
|
c552dd876c | ||
|
|
105ae8592d | ||
|
|
ca4540eeb7 | ||
|
|
381366a248 | ||
|
|
816a3ec994 | ||
|
|
88d3d12dbc | ||
|
|
71caa17879 | ||
|
|
2ecdfde756 | ||
|
|
1f753a57c5 | ||
|
|
595c042624 | ||
|
|
5a5a551c21 | ||
|
|
e74793994a | ||
|
|
f1bdd3b7af | ||
|
|
13c40f9bb7 | ||
|
|
3e15e2a887 |
@@ -855,7 +855,7 @@ Generating new secrets
|
||||
|
||||
.. http:post:: /api/v1/organizers/(organizer)/events/(event)/orders/(code)/regenerate_secrets/
|
||||
|
||||
Triggers generation of new ``secret`` attributes for both the order and all order positions.
|
||||
Triggers generation of new ``secret`` and ``ẁeb_secret`` attributes for both the order and all order positions.
|
||||
|
||||
**Example request**:
|
||||
|
||||
@@ -886,7 +886,7 @@ Generating new secrets
|
||||
|
||||
.. http:post:: /api/v1/organizers/(organizer)/events/(event)/orderpositions/(id)/regenerate_secrets/
|
||||
|
||||
Triggers generation of a new ``secret`` attribute for a single order position.
|
||||
Triggers generation of a new ``secret`` and ``web_secret`` attribute for a single order position.
|
||||
|
||||
**Example request**:
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ dependencies = [
|
||||
"bleach==6.2.*",
|
||||
"celery==5.4.*",
|
||||
"chardet==5.2.*",
|
||||
"cryptography>=3.4.2",
|
||||
"cryptography>=44.0.0",
|
||||
"css-inline==0.14.*",
|
||||
"defusedcsv>=1.1.0",
|
||||
"Django[argon2]==4.2.*,>=4.2.15",
|
||||
@@ -72,9 +72,9 @@ dependencies = [
|
||||
"packaging",
|
||||
"paypalrestsdk==1.13.*",
|
||||
"paypal-checkout-serversdk==1.0.*",
|
||||
"PyJWT==2.9.*",
|
||||
"PyJWT==2.10.*",
|
||||
"phonenumberslite==8.13.*",
|
||||
"Pillow==11.0.*",
|
||||
"Pillow==11.1.*",
|
||||
"pretix-plugin-build",
|
||||
"protobuf==5.29.*",
|
||||
"psycopg2-binary",
|
||||
|
||||
@@ -94,6 +94,7 @@ ALL_LANGUAGES = [
|
||||
('el', _('Greek')),
|
||||
('id', _('Indonesian')),
|
||||
('it', _('Italian')),
|
||||
('ja', _('Japanese')),
|
||||
('lv', _('Latvian')),
|
||||
('nb-no', _('Norwegian Bokmål')),
|
||||
('pl', _('Polish')),
|
||||
|
||||
@@ -103,7 +103,7 @@ class SalesChannelMigrationMixin:
|
||||
]
|
||||
})
|
||||
|
||||
if data["sales_channels"] == all_channels:
|
||||
if set(data["sales_channels"]) == all_channels:
|
||||
data["all_sales_channels"] = True
|
||||
data["limit_sales_channels"] = []
|
||||
else:
|
||||
|
||||
@@ -437,7 +437,8 @@ class CloneEventSerializer(EventSerializer):
|
||||
testmode = validated_data.pop('testmode', None)
|
||||
has_subevents = validated_data.pop('has_subevents', None)
|
||||
tz = validated_data.pop('timezone', None)
|
||||
sales_channels = validated_data.pop('sales_channels', None)
|
||||
all_sales_channels = validated_data.pop('all_sales_channels', None)
|
||||
limit_sales_channels = validated_data.pop('limit_sales_channels', None)
|
||||
date_admission = validated_data.pop('date_admission', None)
|
||||
new_event = super().create({**validated_data, 'plugins': None})
|
||||
|
||||
@@ -450,8 +451,9 @@ class CloneEventSerializer(EventSerializer):
|
||||
new_event.is_public = is_public
|
||||
if testmode is not None:
|
||||
new_event.testmode = testmode
|
||||
if sales_channels is not None:
|
||||
new_event.sales_channels = sales_channels
|
||||
if all_sales_channels is not None or limit_sales_channels is not None:
|
||||
new_event.all_sales_channels = all_sales_channels
|
||||
new_event.limit_sales_channels.set(limit_sales_channels)
|
||||
if has_subevents is not None:
|
||||
new_event.has_subevents = has_subevents
|
||||
if has_subevents is not None:
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -647,6 +647,8 @@ class EventOrderViewSet(OrderViewSetMixin, viewsets.ModelViewSet):
|
||||
order = self.get_object()
|
||||
order.secret = generate_secret()
|
||||
for op in order.all_positions.all():
|
||||
op.web_secret = generate_secret()
|
||||
op.save(update_fields=["web_secret"])
|
||||
assign_ticket_secret(
|
||||
request.event, op, force_invalidate=True, save=True
|
||||
)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
# Generated by Django 4.2.17 on 2025-01-13 14:55
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("pretixbase", "0274_tax_codes"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name="question",
|
||||
name="valid_number_max",
|
||||
field=models.DecimalField(decimal_places=6, max_digits=30, null=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name="question",
|
||||
name="valid_number_min",
|
||||
field=models.DecimalField(decimal_places=6, max_digits=30, null=True),
|
||||
),
|
||||
]
|
||||
@@ -1718,10 +1718,10 @@ class Question(LoggedModel):
|
||||
'Question', null=True, blank=True, on_delete=models.SET_NULL, related_name='dependent_questions'
|
||||
)
|
||||
dependency_values = MultiStringField(default=[])
|
||||
valid_number_min = models.DecimalField(decimal_places=6, max_digits=16, null=True, blank=True,
|
||||
valid_number_min = models.DecimalField(decimal_places=6, max_digits=30, null=True, blank=True,
|
||||
verbose_name=_('Minimum value'),
|
||||
help_text=_('Currently not supported in our apps and during check-in'))
|
||||
valid_number_max = models.DecimalField(decimal_places=6, max_digits=16, null=True, blank=True,
|
||||
valid_number_max = models.DecimalField(decimal_places=6, max_digits=30, null=True, blank=True,
|
||||
verbose_name=_('Maximum value'),
|
||||
help_text=_('Currently not supported in our apps and during check-in'))
|
||||
valid_date_min = models.DateField(null=True, blank=True,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -185,43 +185,104 @@ BEFORE_AFTER_CHOICE = (
|
||||
)
|
||||
|
||||
|
||||
reldatetimeparts = namedtuple('reldatetimeparts', (
|
||||
"status", # 0
|
||||
"absolute", # 1
|
||||
"rel_days_number", # 2
|
||||
"rel_mins_relationto", # 3
|
||||
"rel_days_timeofday", # 4
|
||||
"rel_mins_number", # 5
|
||||
"rel_days_relationto", # 6
|
||||
"rel_mins_relation", # 7
|
||||
"rel_days_relation" # 8
|
||||
))
|
||||
reldatetimeparts.indizes = reldatetimeparts(*range(9))
|
||||
|
||||
|
||||
class RelativeDateTimeWidget(forms.MultiWidget):
|
||||
template_name = 'pretixbase/forms/widgets/reldatetime.html'
|
||||
parts = reldatetimeparts
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.status_choices = kwargs.pop('status_choices')
|
||||
base_choices = kwargs.pop('base_choices')
|
||||
widgets = (
|
||||
forms.RadioSelect(choices=self.status_choices),
|
||||
forms.DateTimeInput(
|
||||
widgets = reldatetimeparts(
|
||||
status=forms.RadioSelect(choices=self.status_choices),
|
||||
absolute=forms.DateTimeInput(
|
||||
attrs={'class': 'datetimepicker'}
|
||||
),
|
||||
forms.NumberInput(),
|
||||
forms.Select(choices=base_choices),
|
||||
forms.TimeInput(attrs={'placeholder': _('Time'), 'class': 'timepickerfield'}),
|
||||
forms.NumberInput(),
|
||||
forms.Select(choices=base_choices),
|
||||
forms.Select(choices=BEFORE_AFTER_CHOICE),
|
||||
forms.Select(choices=BEFORE_AFTER_CHOICE),
|
||||
rel_days_number=forms.NumberInput(),
|
||||
rel_mins_relationto=forms.Select(choices=base_choices),
|
||||
rel_days_timeofday=forms.TimeInput(attrs={'placeholder': _('Time'), 'class': 'timepickerfield'}),
|
||||
rel_mins_number=forms.NumberInput(),
|
||||
rel_days_relationto=forms.Select(choices=base_choices),
|
||||
rel_mins_relation=forms.Select(choices=BEFORE_AFTER_CHOICE),
|
||||
rel_days_relation=forms.Select(choices=BEFORE_AFTER_CHOICE),
|
||||
)
|
||||
super().__init__(widgets=widgets, *args, **kwargs)
|
||||
|
||||
def decompress(self, value):
|
||||
if isinstance(value, str):
|
||||
value = RelativeDateWrapper.from_string(value)
|
||||
if isinstance(value, reldatetimeparts):
|
||||
return value
|
||||
if not value:
|
||||
return ['unset', None, 1, 'date_from', None, 0, "date_from", "before", "before"]
|
||||
return reldatetimeparts(
|
||||
status="unset",
|
||||
absolute=None,
|
||||
rel_days_number=1,
|
||||
rel_mins_relationto="date_from",
|
||||
rel_days_timeofday=None,
|
||||
rel_mins_number=0,
|
||||
rel_days_relationto="date_from",
|
||||
rel_mins_relation="before",
|
||||
rel_days_relation="before"
|
||||
)
|
||||
elif isinstance(value.data, (datetime.datetime, datetime.date)):
|
||||
return ['absolute', value.data, 1, 'date_from', None, 0, "date_from", "before", "before"]
|
||||
return reldatetimeparts(
|
||||
status="absolute",
|
||||
absolute=value.data,
|
||||
rel_days_number=1,
|
||||
rel_mins_relationto="date_from",
|
||||
rel_days_timeofday=None,
|
||||
rel_mins_number=0,
|
||||
rel_days_relationto="date_from",
|
||||
rel_mins_relation="before",
|
||||
rel_days_relation="before"
|
||||
)
|
||||
elif value.data.minutes is not None:
|
||||
return ['relative_minutes', None, None, value.data.base_date_name, None, value.data.minutes, value.data.base_date_name,
|
||||
"after" if value.data.is_after else "before", "after" if value.data.is_after else "before"]
|
||||
return ['relative', None, value.data.days, value.data.base_date_name, value.data.time, 0, value.data.base_date_name,
|
||||
"after" if value.data.is_after else "before", "after" if value.data.is_after else "before"]
|
||||
return reldatetimeparts(
|
||||
status="relative_minutes",
|
||||
absolute=None,
|
||||
rel_days_number=None,
|
||||
rel_mins_relationto=value.data.base_date_name,
|
||||
rel_days_timeofday=None,
|
||||
rel_mins_number=value.data.minutes,
|
||||
rel_days_relationto=value.data.base_date_name,
|
||||
rel_mins_relation="after" if value.data.is_after else "before",
|
||||
rel_days_relation="after" if value.data.is_after else "before"
|
||||
)
|
||||
return reldatetimeparts(
|
||||
status="relative",
|
||||
absolute=None,
|
||||
rel_days_number=value.data.days,
|
||||
rel_mins_relationto=value.data.base_date_name,
|
||||
rel_days_timeofday=value.data.time,
|
||||
rel_mins_number=0,
|
||||
rel_days_relationto=value.data.base_date_name,
|
||||
rel_mins_relation="after" if value.data.is_after else "before",
|
||||
rel_days_relation="after" if value.data.is_after else "before"
|
||||
)
|
||||
|
||||
def get_context(self, name, value, attrs):
|
||||
ctx = super().get_context(name, value, attrs)
|
||||
ctx['required'] = self.status_choices[0][0] == 'unset'
|
||||
|
||||
ctx['rendered_subwidgets'] = self.parts(*(
|
||||
self._render(w['template_name'], {**ctx, 'widget': w})
|
||||
for w in ctx['widget']['subwidgets']
|
||||
))._asdict()
|
||||
|
||||
return ctx
|
||||
|
||||
|
||||
@@ -239,36 +300,36 @@ class RelativeDateTimeField(forms.MultiValueField):
|
||||
choices = BASE_CHOICES
|
||||
if not kwargs.get('required', True):
|
||||
status_choices.insert(0, ('unset', _('Not set')))
|
||||
fields = (
|
||||
forms.ChoiceField(
|
||||
fields = reldatetimeparts(
|
||||
status=forms.ChoiceField(
|
||||
choices=status_choices,
|
||||
required=True
|
||||
),
|
||||
forms.DateTimeField(
|
||||
absolute=forms.DateTimeField(
|
||||
required=False
|
||||
),
|
||||
forms.IntegerField(
|
||||
rel_days_number=forms.IntegerField(
|
||||
required=False
|
||||
),
|
||||
forms.ChoiceField(
|
||||
rel_mins_relationto=forms.ChoiceField(
|
||||
choices=choices,
|
||||
required=False
|
||||
),
|
||||
forms.TimeField(
|
||||
rel_days_timeofday=forms.TimeField(
|
||||
required=False,
|
||||
),
|
||||
forms.IntegerField(
|
||||
rel_mins_number=forms.IntegerField(
|
||||
required=False
|
||||
),
|
||||
forms.ChoiceField(
|
||||
rel_days_relationto=forms.ChoiceField(
|
||||
choices=choices,
|
||||
required=False
|
||||
),
|
||||
forms.ChoiceField(
|
||||
rel_mins_relation=forms.ChoiceField(
|
||||
choices=BEFORE_AFTER_CHOICE,
|
||||
required=False
|
||||
),
|
||||
forms.ChoiceField(
|
||||
rel_days_relation=forms.ChoiceField(
|
||||
choices=BEFORE_AFTER_CHOICE,
|
||||
required=False
|
||||
),
|
||||
@@ -282,32 +343,36 @@ class RelativeDateTimeField(forms.MultiValueField):
|
||||
)
|
||||
|
||||
def set_event(self, event):
|
||||
self.widget.widgets[3].choices = [
|
||||
self.widget.widgets[reldatetimeparts.indizes.rel_days_relationto].choices = [
|
||||
(k, v) for k, v in BASE_CHOICES if getattr(event, k, None)
|
||||
]
|
||||
self.widget.widgets[reldatetimeparts.indizes.rel_mins_relationto].choices = [
|
||||
(k, v) for k, v in BASE_CHOICES if getattr(event, k, None)
|
||||
]
|
||||
|
||||
def compress(self, data_list):
|
||||
if not data_list:
|
||||
return None
|
||||
if data_list[0] == 'absolute':
|
||||
return RelativeDateWrapper(data_list[1])
|
||||
elif data_list[0] == 'unset':
|
||||
data = reldatetimeparts(*data_list)
|
||||
if data.status == 'absolute':
|
||||
return RelativeDateWrapper(data.absolute)
|
||||
elif data.status == 'unset':
|
||||
return None
|
||||
elif data_list[0] == 'relative_minutes':
|
||||
elif data.status == 'relative_minutes':
|
||||
return RelativeDateWrapper(RelativeDate(
|
||||
days=0,
|
||||
base_date_name=data_list[3],
|
||||
base_date_name=data.rel_mins_relationto,
|
||||
time=None,
|
||||
minutes=data_list[5],
|
||||
is_after=data_list[7] == "after",
|
||||
minutes=data.rel_mins_number,
|
||||
is_after=data.rel_mins_relation == "after",
|
||||
))
|
||||
else:
|
||||
return RelativeDateWrapper(RelativeDate(
|
||||
days=data_list[2],
|
||||
base_date_name=data_list[6],
|
||||
time=data_list[4],
|
||||
days=data.rel_days_number,
|
||||
base_date_name=data.rel_days_relationto,
|
||||
time=data.rel_days_timeofday,
|
||||
minutes=None,
|
||||
is_after=data_list[8] == "after",
|
||||
is_after=data.rel_days_relation == "after",
|
||||
))
|
||||
|
||||
def has_changed(self, initial, data):
|
||||
@@ -316,29 +381,41 @@ class RelativeDateTimeField(forms.MultiValueField):
|
||||
return super().has_changed(initial, data)
|
||||
|
||||
def clean(self, value):
|
||||
if value[0] == 'absolute' and not value[1]:
|
||||
data = reldatetimeparts(*value)
|
||||
if data.status == 'absolute' and not data.absolute:
|
||||
raise ValidationError(self.error_messages['incomplete'])
|
||||
elif value[0] == 'relative' and (value[2] is None or not value[3]):
|
||||
elif data.status == 'relative' and (data.rel_days_number is None or not data.rel_days_relationto):
|
||||
raise ValidationError(self.error_messages['incomplete'])
|
||||
elif value[0] == 'relative_minutes' and (value[5] is None or not value[3]):
|
||||
elif data.status == 'relative_minutes' and (data.rel_mins_number is None or not data.rel_mins_relationto):
|
||||
raise ValidationError(self.error_messages['incomplete'])
|
||||
|
||||
return super().clean(value)
|
||||
|
||||
|
||||
reldateparts = namedtuple('reldateparts', (
|
||||
"status", # 0
|
||||
"absolute", # 1
|
||||
"rel_days_number", # 2
|
||||
"rel_days_relationto", # 3
|
||||
"rel_days_relation", # 4
|
||||
))
|
||||
reldateparts.indizes = reldateparts(*range(5))
|
||||
|
||||
|
||||
class RelativeDateWidget(RelativeDateTimeWidget):
|
||||
template_name = 'pretixbase/forms/widgets/reldate.html'
|
||||
parts = reldateparts
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.status_choices = kwargs.pop('status_choices')
|
||||
widgets = (
|
||||
forms.RadioSelect(choices=self.status_choices),
|
||||
forms.DateInput(
|
||||
widgets = reldateparts(
|
||||
status=forms.RadioSelect(choices=self.status_choices),
|
||||
absolute=forms.DateInput(
|
||||
attrs={'class': 'datepickerfield'}
|
||||
),
|
||||
forms.NumberInput(),
|
||||
forms.Select(choices=kwargs.pop('base_choices')),
|
||||
forms.Select(choices=BEFORE_AFTER_CHOICE),
|
||||
rel_days_number=forms.NumberInput(),
|
||||
rel_days_relationto=forms.Select(choices=kwargs.pop('base_choices')),
|
||||
rel_days_relation=forms.Select(choices=BEFORE_AFTER_CHOICE),
|
||||
)
|
||||
forms.MultiWidget.__init__(self, widgets=widgets, *args, **kwargs)
|
||||
|
||||
@@ -346,10 +423,30 @@ class RelativeDateWidget(RelativeDateTimeWidget):
|
||||
if isinstance(value, str):
|
||||
value = RelativeDateWrapper.from_string(value)
|
||||
if not value:
|
||||
return ['unset', None, 1, 'date_from', 'before']
|
||||
return reldateparts(
|
||||
status="unset",
|
||||
absolute=None,
|
||||
rel_days_number=1,
|
||||
rel_days_relationto="date_from",
|
||||
rel_days_relation="before"
|
||||
)
|
||||
if isinstance(value, reldateparts):
|
||||
return value
|
||||
elif isinstance(value.data, (datetime.datetime, datetime.date)):
|
||||
return ['absolute', value.data, 1, 'date_from', 'before']
|
||||
return ['relative', None, value.data.days, value.data.base_date_name, "after" if value.data.is_after else "before"]
|
||||
return reldateparts(
|
||||
status="absolute",
|
||||
absolute=value.data,
|
||||
rel_days_number=1,
|
||||
rel_days_relationto="date_from",
|
||||
rel_days_relation="before"
|
||||
)
|
||||
return reldateparts(
|
||||
status="relative",
|
||||
absolute=None,
|
||||
rel_days_number=value.data.days,
|
||||
rel_days_relationto=value.data.base_date_name,
|
||||
rel_days_relation="after" if value.data.is_after else "before"
|
||||
)
|
||||
|
||||
|
||||
class RelativeDateField(RelativeDateTimeField):
|
||||
@@ -361,22 +458,22 @@ class RelativeDateField(RelativeDateTimeField):
|
||||
]
|
||||
if not kwargs.get('required', True):
|
||||
status_choices.insert(0, ('unset', _('Not set')))
|
||||
fields = (
|
||||
forms.ChoiceField(
|
||||
fields = reldateparts(
|
||||
status=forms.ChoiceField(
|
||||
choices=status_choices,
|
||||
required=True
|
||||
),
|
||||
forms.DateField(
|
||||
absolute=forms.DateField(
|
||||
required=False
|
||||
),
|
||||
forms.IntegerField(
|
||||
rel_days_number=forms.IntegerField(
|
||||
required=False
|
||||
),
|
||||
forms.ChoiceField(
|
||||
rel_days_relationto=forms.ChoiceField(
|
||||
choices=BASE_CHOICES,
|
||||
required=False
|
||||
),
|
||||
forms.ChoiceField(
|
||||
rel_days_relation=forms.ChoiceField(
|
||||
choices=BEFORE_AFTER_CHOICE,
|
||||
required=False
|
||||
),
|
||||
@@ -387,28 +484,35 @@ class RelativeDateField(RelativeDateTimeField):
|
||||
self, fields=fields, require_all_fields=False, *args, **kwargs
|
||||
)
|
||||
|
||||
def set_event(self, event):
|
||||
self.widget.widgets[reldateparts.indizes.rel_days_relationto].choices = [
|
||||
(k, v) for k, v in BASE_CHOICES if getattr(event, k, None)
|
||||
]
|
||||
|
||||
def compress(self, data_list):
|
||||
if not data_list:
|
||||
return None
|
||||
if data_list[0] == 'absolute':
|
||||
return RelativeDateWrapper(data_list[1])
|
||||
elif data_list[0] == 'unset':
|
||||
data = reldateparts(*data_list)
|
||||
if data.status == 'absolute':
|
||||
return RelativeDateWrapper(data.absolute)
|
||||
elif data.status == 'unset':
|
||||
return None
|
||||
else:
|
||||
return RelativeDateWrapper(RelativeDate(
|
||||
days=data_list[2],
|
||||
base_date_name=data_list[3],
|
||||
days=data.rel_days_number,
|
||||
base_date_name=data.rel_days_relationto,
|
||||
time=None, minutes=None,
|
||||
is_after=data_list[4] == "after"
|
||||
is_after=data.rel_days_relation == "after"
|
||||
))
|
||||
|
||||
def clean(self, value):
|
||||
if value[0] == 'absolute' and not value[1]:
|
||||
data = reldateparts(*value)
|
||||
if data.status == 'absolute' and not data.absolute:
|
||||
raise ValidationError(self.error_messages['incomplete'])
|
||||
elif value[0] == 'relative' and (value[2] is None or not value[3]):
|
||||
elif data.status == 'relative' and (data.rel_days_number is None or not data.rel_days_relationto):
|
||||
raise ValidationError(self.error_messages['incomplete'])
|
||||
|
||||
return super().clean(value)
|
||||
return forms.MultiValueField.clean(self, value)
|
||||
|
||||
|
||||
class ModelRelativeDateTimeField(models.CharField):
|
||||
|
||||
@@ -2425,6 +2425,8 @@ class OrderChangeManager:
|
||||
elif isinstance(op, self.SplitOperation):
|
||||
split_positions.append(op.position)
|
||||
elif isinstance(op, self.RegenerateSecretOperation):
|
||||
op.position.web_secret = generate_secret()
|
||||
op.position.save(update_fields=["web_secret"])
|
||||
assign_ticket_secret(
|
||||
event=self.event, position=op.position, force_invalidate=True, save=True
|
||||
)
|
||||
@@ -2531,6 +2533,7 @@ class OrderChangeManager:
|
||||
'new_order': split_order.code,
|
||||
})
|
||||
op.order = split_order
|
||||
op.web_secret = generate_secret()
|
||||
assign_ticket_secret(
|
||||
self.event, position=op, force_invalidate=True,
|
||||
)
|
||||
|
||||
@@ -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'),
|
||||
|
||||
@@ -9,12 +9,11 @@
|
||||
{{ selopt.label }}
|
||||
</label>
|
||||
{% if selopt.value == "absolute" %}
|
||||
{% include widget.subwidgets.1.template_name with widget=widget.subwidgets.1 %}
|
||||
{{ rendered_subwidgets.absolute }}
|
||||
{% elif selopt.value == "relative" %}
|
||||
{% include widget.subwidgets.2.template_name with widget=widget.subwidgets.2 %}
|
||||
{% trans "days" %}
|
||||
{% include widget.subwidgets.4.template_name with widget=widget.subwidgets.4 %}
|
||||
{% include widget.subwidgets.3.template_name with widget=widget.subwidgets.3 %}
|
||||
{% blocktrans trimmed with number=rendered_subwidgets.rel_days_number relation=rendered_subwidgets.rel_days_relation relation_to=rendered_subwidgets.rel_days_relationto %}
|
||||
{{ number }} days {{ relation }} {{ relation_to }}
|
||||
{% endblocktrans %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
@@ -9,19 +9,15 @@
|
||||
{{ selopt.label }}
|
||||
</label>
|
||||
{% if selopt.value == "absolute" %}
|
||||
{% include widget.subwidgets.1.template_name with widget=widget.subwidgets.1 %}
|
||||
{{ rendered_subwidgets.absolute }}
|
||||
{% elif selopt.value == "relative_minutes" %}
|
||||
{% include widget.subwidgets.5.template_name with widget=widget.subwidgets.5 %}
|
||||
{% trans "minutes" %}
|
||||
{% include widget.subwidgets.7.template_name with widget=widget.subwidgets.7 %}
|
||||
{% include widget.subwidgets.3.template_name with widget=widget.subwidgets.3 %}
|
||||
{% blocktrans trimmed with number=rendered_subwidgets.rel_mins_number relation=rendered_subwidgets.rel_mins_relation relation_to=rendered_subwidgets.rel_mins_relationto %}
|
||||
{{ number }} minutes {{ relation }} {{ relation_to }}
|
||||
{% endblocktrans %}
|
||||
{% elif selopt.value == "relative" %}
|
||||
{% include widget.subwidgets.2.template_name with widget=widget.subwidgets.2 %}
|
||||
{% trans "days" %}
|
||||
{% include widget.subwidgets.8.template_name with widget=widget.subwidgets.8 %}
|
||||
{% include widget.subwidgets.6.template_name with widget=widget.subwidgets.6 %}
|
||||
{% trans "at" %}
|
||||
{% include widget.subwidgets.4.template_name with widget=widget.subwidgets.4 %}
|
||||
{% blocktrans trimmed with number=rendered_subwidgets.rel_days_number relation=rendered_subwidgets.rel_days_relation relation_to=rendered_subwidgets.rel_days_relationto time_of_day=rendered_subwidgets.rel_days_timeofday %}
|
||||
{{ number }} days {{ relation }} {{ relation_to }} at {{ time_of_day }}
|
||||
{% endblocktrans %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
@@ -490,7 +490,9 @@ class OrderPositionChangeForm(forms.Form):
|
||||
)
|
||||
operation_secret = forms.BooleanField(
|
||||
required=False,
|
||||
label=_('Generate a new secret')
|
||||
label=_('Generate a new secret'),
|
||||
help_text=_('This affects both the ticket secret (often used as a QR code) as well as the link used to '
|
||||
'individually access the ticket.')
|
||||
)
|
||||
operation_cancel = forms.BooleanField(
|
||||
required=False,
|
||||
|
||||
@@ -2241,6 +2241,8 @@ class OrderContactChange(OrderView):
|
||||
changed = True
|
||||
self.order.secret = generate_secret()
|
||||
for op in self.order.all_positions.all():
|
||||
op.web_secret = generate_secret()
|
||||
op.save(update_fields=["web_secret"])
|
||||
assign_ticket_secret(
|
||||
self.request.event, position=op, force_invalidate=True, save=True
|
||||
)
|
||||
|
||||
@@ -4,8 +4,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-11-04 13:44+0000\n"
|
||||
"Last-Translator: Katrine Tella <ktl@hjoerring.dk>\n"
|
||||
"PO-Revision-Date: 2025-01-14 09:56+0000\n"
|
||||
"Last-Translator: Nikolai <nikolai@lengefeldt.de>\n"
|
||||
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix/da/"
|
||||
">\n"
|
||||
"Language: da\n"
|
||||
@@ -13,7 +13,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.1\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: pretix/_base_settings.py:79
|
||||
msgid "English"
|
||||
@@ -20841,7 +20841,7 @@ msgstr "Nej, gå tilbage"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/approve.html:25
|
||||
msgid "Yes, approve order"
|
||||
msgstr "Ja, annullér bestilling"
|
||||
msgstr "Ja, godkend bestilling"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/cancel.html:6
|
||||
#: pretix/control/templates/pretixcontrol/order/cancel.html:10
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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-05-31 15:52+0000\n"
|
||||
"Last-Translator: danijossnet <danijoss@yahoo.com>\n"
|
||||
"Language-Team: Greek <https://translate.pretix.eu/projects/pretix/pretix/el/"
|
||||
">\n"
|
||||
"PO-Revision-Date: 2024-12-22 00:00+0000\n"
|
||||
"Last-Translator: Dimitris Tsimpidis <tsimpidisd@gmail.com>\n"
|
||||
"Language-Team: Greek <https://translate.pretix.eu/projects/pretix/pretix/el/>"
|
||||
"\n"
|
||||
"Language: el\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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.5.5\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: pretix/_base_settings.py:79
|
||||
msgid "English"
|
||||
@@ -36881,8 +36881,8 @@ msgid ""
|
||||
"If you're looking to configure this installation, please <a %(a_attr)s>head "
|
||||
"over here</a>."
|
||||
msgstr ""
|
||||
"Αν θέλετε να διαμορφώσετε αυτήν την εγκατάσταση, παρακαλούμε να "
|
||||
"%(a_attr)sκατευθυνθείτε εδώ</a>."
|
||||
"Αν θέλετε να διαμορφώσετε αυτήν την εγκατάσταση, παρακαλούμε να <a %(a_attr)"
|
||||
"s>κατευθυνθείτε εδώ</a>."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/index.html:24
|
||||
msgid "Enjoy!"
|
||||
|
||||
@@ -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: 2019-10-03 19:00+0000\n"
|
||||
"Last-Translator: Chris Spy <chrispiropoulou@hotmail.com>\n"
|
||||
"PO-Revision-Date: 2024-12-22 00:00+0000\n"
|
||||
"Last-Translator: Dimitris Tsimpidis <tsimpidisd@gmail.com>\n"
|
||||
"Language-Team: Greek <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
||||
"el/>\n"
|
||||
"Language: el\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 3.5.1\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||
@@ -31,7 +31,7 @@ msgstr "Σχόλιο:"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:34
|
||||
msgid "PayPal"
|
||||
msgstr ""
|
||||
msgstr "PayPal"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:35
|
||||
msgid "Venmo"
|
||||
@@ -64,7 +64,7 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:42
|
||||
msgid "SEPA Direct Debit"
|
||||
msgstr ""
|
||||
msgstr "Τραπεζική μεταφορά"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:43
|
||||
msgid "Bancontact"
|
||||
@@ -79,10 +79,8 @@ msgid "SOFORT"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:46
|
||||
#, fuzzy
|
||||
#| msgid "Yes"
|
||||
msgid "eps"
|
||||
msgstr "Ναι"
|
||||
msgstr "EPS"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:47
|
||||
msgid "MyBank"
|
||||
@@ -147,11 +145,11 @@ msgstr "Συνέχεια"
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:317
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:341
|
||||
msgid "Confirming your payment …"
|
||||
msgstr ""
|
||||
msgstr "Επιβεβαίωση πληρωμής…"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:254
|
||||
msgid "Payment method unavailable"
|
||||
msgstr ""
|
||||
msgstr "Μη διαθέσιμος τρόπος πληρωμής"
|
||||
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:15
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:39
|
||||
@@ -176,10 +174,8 @@ msgid "Total"
|
||||
msgstr "Σύνολο"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:291
|
||||
#, fuzzy
|
||||
#| msgid "Contacting Stripe …"
|
||||
msgid "Contacting your bank …"
|
||||
msgstr "Επικοινωνία με το Stripe …"
|
||||
msgstr "Επικοινωνία με την τράπεζα …"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:30
|
||||
msgid "Select a check-in list"
|
||||
|
||||
@@ -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-17 18:00+0000\n"
|
||||
"Last-Translator: CVZ-es <damien.bremont@casadevelazquez.org>\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"
|
||||
"Language: es\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"
|
||||
@@ -121,11 +121,11 @@ msgstr "Ruso"
|
||||
|
||||
#: pretix/_base_settings.py:104
|
||||
msgid "Slovak"
|
||||
msgstr "eslovaco"
|
||||
msgstr "Eslovaco"
|
||||
|
||||
#: pretix/_base_settings.py:105
|
||||
msgid "Swedish"
|
||||
msgstr "sueco"
|
||||
msgstr "Sueco"
|
||||
|
||||
#: pretix/_base_settings.py:106
|
||||
msgid "Spanish"
|
||||
@@ -162,37 +162,38 @@ msgstr "pretixSCAN (solo en línea, sin sincronización de pedidos)"
|
||||
|
||||
#: pretix/api/models.py:39 pretix/base/models/customers.py:402
|
||||
msgid "Application name"
|
||||
msgstr "Nombre de Aplicación"
|
||||
msgstr "Nombre de aplicación"
|
||||
|
||||
#: pretix/api/models.py:42 pretix/base/models/customers.py:421
|
||||
msgid "Redirection URIs"
|
||||
msgstr "URI de Redirección"
|
||||
msgstr "URI de redirección"
|
||||
|
||||
#: pretix/api/models.py:43 pretix/base/models/customers.py:422
|
||||
msgid "Allowed URIs list, space separated"
|
||||
msgstr "Lista de URI permitida, separada por espacio"
|
||||
msgstr "Lista de URIs permitidas, separadas por espacio"
|
||||
|
||||
#: pretix/api/models.py:47
|
||||
msgid "Allowed Post Logout URIs list, space separated"
|
||||
msgstr "Lista de URI permitidas, separadas por espacios"
|
||||
msgstr ""
|
||||
"Lista de URIs después del cierre de sesión permitidas, separadas por espacios"
|
||||
|
||||
#: pretix/api/models.py:51 pretix/base/models/customers.py:406
|
||||
#: pretix/plugins/paypal/payment.py:113 pretix/plugins/paypal2/payment.py:110
|
||||
msgid "Client ID"
|
||||
msgstr "ID Cliente"
|
||||
msgstr "ID de cliente"
|
||||
|
||||
#: pretix/api/models.py:55
|
||||
msgid "Client secret"
|
||||
msgstr "Clave Secreta"
|
||||
msgstr "Secreto de cliente"
|
||||
|
||||
#: pretix/api/models.py:116
|
||||
msgid "Enable webhook"
|
||||
msgstr "Habilitar webhook"
|
||||
msgstr "Habilitar webhooks"
|
||||
|
||||
#: pretix/api/models.py:117
|
||||
#: pretix/control/templates/pretixcontrol/organizers/webhooks.html:36
|
||||
msgid "Target URL"
|
||||
msgstr "URL destino"
|
||||
msgstr "URL de destino"
|
||||
|
||||
#: pretix/api/models.py:118 pretix/base/models/devices.py:122
|
||||
#: pretix/base/models/organizer.py:286
|
||||
@@ -220,7 +221,7 @@ msgstr "Comentario"
|
||||
|
||||
#: pretix/api/serializers/cart.py:168 pretix/api/serializers/order.py:1384
|
||||
msgid "The product \"{}\" is not assigned to a quota."
|
||||
msgstr "El producto \"{}\" no tiene asignada una cuota."
|
||||
msgstr "El producto \"{}\" no está asignado a una cuota."
|
||||
|
||||
#: pretix/api/serializers/checkin.py:65 pretix/base/models/event.py:1667
|
||||
#: pretix/base/models/items.py:1905 pretix/base/models/items.py:2163
|
||||
@@ -265,11 +266,11 @@ msgstr "Plugin restringido: '{name}'."
|
||||
#: pretix/api/serializers/item.py:359
|
||||
#, python-brace-format
|
||||
msgid "Item meta data property '{name}' does not exist."
|
||||
msgstr "Los metadatos de propiedad '{name}' no existe."
|
||||
msgstr "La propiedad '{name}' de metadatos del elemento no existe."
|
||||
|
||||
#: pretix/api/serializers/item.py:207 pretix/control/forms/item.py:1269
|
||||
msgid "The bundled item must not be the same item as the bundling one."
|
||||
msgstr "El artículo en el paquete no debe ser el paquete."
|
||||
msgstr "El artículo agrupado no debe ser el mismo que el del paquete."
|
||||
|
||||
#: pretix/api/serializers/item.py:210 pretix/control/forms/item.py:1271
|
||||
msgid "The bundled item must not have bundles on its own."
|
||||
@@ -280,8 +281,8 @@ msgid ""
|
||||
"Updating add-ons, bundles, or variations via PATCH/PUT is not supported. "
|
||||
"Please use the dedicated nested endpoint."
|
||||
msgstr ""
|
||||
"Actualizando los add-ons, paquetes o variaciones por medio de PATCH/PUT no "
|
||||
"es soportado. Use un punto dedicado para esta finalidad."
|
||||
"Actualizar los add-ons, paquetes o variaciones por medio de PATCH/PUT no "
|
||||
"está soportado. Por favor, use el endpoint dedicado para esta finalidad."
|
||||
|
||||
#: pretix/api/serializers/item.py:306
|
||||
msgid "Only admission products can currently be personalized."
|
||||
@@ -304,12 +305,13 @@ msgid ""
|
||||
"Updating options via PATCH/PUT is not supported. Please use the dedicated "
|
||||
"nested endpoint."
|
||||
msgstr ""
|
||||
"Actualizando las opciones por medio de PATCH/PUT no es soportado. Use un "
|
||||
"punto dedicado para esta finalidad."
|
||||
"Actualizando las opciones por medio de PATCH/PUT no está soportado. Por "
|
||||
"favor, use el endpoint dedicado para esta finalidad."
|
||||
|
||||
#: pretix/api/serializers/item.py:533 pretix/control/forms/item.py:177
|
||||
msgid "Question cannot depend on a question asked during check-in."
|
||||
msgstr "La pregunta no debe depender de otra realizada durante el check-in."
|
||||
msgstr ""
|
||||
"La pregunta no puede depender de otra pregunta realizada durante el check-in."
|
||||
|
||||
#: pretix/api/serializers/item.py:538 pretix/control/forms/item.py:182
|
||||
msgid "Circular dependency between questions detected."
|
||||
@@ -317,7 +319,7 @@ msgstr "Se ha detectado una dependencia circular entre las preguntas."
|
||||
|
||||
#: pretix/api/serializers/item.py:543 pretix/control/forms/item.py:191
|
||||
msgid "This type of question cannot be asked during check-in."
|
||||
msgstr "Este tipo de pregunta no se puede hacer durante el check-in."
|
||||
msgstr "Este tipo de pregunta no se puede preguntar durante el check-in."
|
||||
|
||||
#: pretix/api/serializers/item.py:546 pretix/control/forms/item.py:199
|
||||
msgid "This type of question cannot be shown during check-in."
|
||||
@@ -328,19 +330,19 @@ msgid ""
|
||||
"A medium with the same identifier and type already exists in your organizer "
|
||||
"account."
|
||||
msgstr ""
|
||||
"Ya existe un medio con el mismo identificador en tu cuenta de organizador o "
|
||||
"en otra afiliada."
|
||||
"Un medio con el mismo identificador y tipo ya existe en tu cuenta de "
|
||||
"organizador."
|
||||
|
||||
#: pretix/api/serializers/order.py:78
|
||||
#, python-brace-format
|
||||
msgid "\"{input}\" is not a valid choice."
|
||||
msgstr "\"{input}\" no es una entrada valida."
|
||||
msgstr "\"{input}\" no es una opción valida."
|
||||
|
||||
#: pretix/api/serializers/order.py:1345 pretix/api/views/cart.py:224
|
||||
#: pretix/base/services/orders.py:1530
|
||||
#, python-brace-format
|
||||
msgid "The selected seat \"{seat}\" is not available."
|
||||
msgstr "La butaca seleccionada {seat} no está disponible."
|
||||
msgstr "El asiento seleccionado {seat} no está disponible."
|
||||
|
||||
#: pretix/api/serializers/order.py:1371 pretix/api/serializers/order.py:1378
|
||||
msgid "The product \"{}\" is not available on this date."
|
||||
@@ -351,12 +353,12 @@ msgid ""
|
||||
"There is not enough quota available on quota \"{}\" to perform the operation."
|
||||
msgstr ""
|
||||
"No hay suficiente cuota disponible en la cuota \"{}\" para realizar esta "
|
||||
"operacion."
|
||||
"operación."
|
||||
|
||||
#: pretix/api/serializers/organizer.py:103
|
||||
#: pretix/control/forms/organizer.py:888 pretix/presale/forms/customer.py:445
|
||||
msgid "An account with this email address is already registered."
|
||||
msgstr "Una cuenta con esta dirección de correo ya está registrada."
|
||||
msgstr "Una cuenta con esta dirección de correo electrónico ya está registrada."
|
||||
|
||||
#: pretix/api/serializers/organizer.py:236
|
||||
#: pretix/control/forms/organizer.py:737
|
||||
@@ -364,13 +366,13 @@ msgid ""
|
||||
"A gift card with the same secret already exists in your or an affiliated "
|
||||
"organizer account."
|
||||
msgstr ""
|
||||
"Ya existe una tarjeta regalo con el mismo secreto en tu cuenta de "
|
||||
"Una tarjeta regalo con el mismo secreto ya existe en tu cuenta de "
|
||||
"organizador o en otra afiliada."
|
||||
|
||||
#: pretix/api/serializers/organizer.py:327
|
||||
#: pretix/control/views/organizer.py:769
|
||||
msgid "pretix account invitation"
|
||||
msgstr "invitación a la cuenta pretix"
|
||||
msgstr "Invitación a la cuenta pretix"
|
||||
|
||||
#: pretix/api/serializers/organizer.py:349
|
||||
#: pretix/control/views/organizer.py:868
|
||||
@@ -386,7 +388,7 @@ msgstr "Este usuario ya tiene permisos para este equipo."
|
||||
msgid ""
|
||||
"The specified voucher has already been used the maximum number of times."
|
||||
msgstr ""
|
||||
"El vale de compra empleado ya ha sido utilizado el número máximo de veces "
|
||||
"El vale de compra utilizado ya ha sido utilizado el máximo número de veces "
|
||||
"permitido."
|
||||
|
||||
#: pretix/api/views/checkin.py:610 pretix/api/views/checkin.py:617
|
||||
@@ -405,7 +407,7 @@ msgstr ""
|
||||
#: pretix/api/views/order.py:607 pretix/control/views/orders.py:1588
|
||||
#: pretix/presale/views/order.py:742 pretix/presale/views/order.py:815
|
||||
msgid "You cannot generate an invoice for this order."
|
||||
msgstr "No se puede generar una factura para este pedido."
|
||||
msgstr "No puedes generar una factura para este pedido."
|
||||
|
||||
#: pretix/api/views/order.py:612 pretix/control/views/orders.py:1590
|
||||
#: pretix/presale/views/order.py:744 pretix/presale/views/order.py:817
|
||||
@@ -426,7 +428,7 @@ msgstr ""
|
||||
|
||||
#: pretix/api/webhooks.py:237 pretix/base/notifications.py:233
|
||||
msgid "New order placed"
|
||||
msgstr "Se hizo nuevo pedido"
|
||||
msgstr "Se hizo un nuevo pedido"
|
||||
|
||||
#: pretix/api/webhooks.py:241 pretix/base/notifications.py:239
|
||||
msgid "New order requires approval"
|
||||
@@ -453,7 +455,7 @@ msgstr "Pedido caducado"
|
||||
|
||||
#: pretix/api/webhooks.py:261
|
||||
msgid "Order expiry date changed"
|
||||
msgstr "Se ha modificado la fecha de caducidad del pedido"
|
||||
msgstr "Fecha de caducidad del pedido modificada"
|
||||
|
||||
#: pretix/api/webhooks.py:265 pretix/base/notifications.py:269
|
||||
msgid "Order information changed"
|
||||
@@ -461,16 +463,16 @@ msgstr "Información de pedido modificada"
|
||||
|
||||
#: pretix/api/webhooks.py:269 pretix/base/notifications.py:275
|
||||
msgid "Order contact address changed"
|
||||
msgstr "Cambiar la dirección de contacto del pedido"
|
||||
msgstr "Dirección de contacto del pedido modificada"
|
||||
|
||||
#: pretix/api/webhooks.py:273 pretix/base/notifications.py:281
|
||||
#: pretix/control/templates/pretixcontrol/event/mail.html:102
|
||||
msgid "Order changed"
|
||||
msgstr "Perdido cambiado"
|
||||
msgstr "Pedido cambiado"
|
||||
|
||||
#: pretix/api/webhooks.py:277
|
||||
msgid "Refund of payment created"
|
||||
msgstr "Devolución del pago creado"
|
||||
msgstr "Orden de devolución de pago creada"
|
||||
|
||||
#: pretix/api/webhooks.py:281 pretix/base/notifications.py:293
|
||||
msgid "External refund of payment"
|
||||
@@ -494,23 +496,23 @@ msgstr "Devolución fallida del pago"
|
||||
|
||||
#: pretix/api/webhooks.py:301
|
||||
msgid "Payment confirmed"
|
||||
msgstr "Pago confimado"
|
||||
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"
|
||||
@@ -531,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"
|
||||
@@ -569,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"
|
||||
@@ -610,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
|
||||
@@ -655,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
|
||||
@@ -687,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
|
||||
@@ -701,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
|
||||
@@ -721,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
|
||||
@@ -729,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
|
||||
@@ -738,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
|
||||
@@ -757,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 ""
|
||||
@@ -808,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
|
||||
@@ -891,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."
|
||||
@@ -910,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
|
||||
@@ -1107,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
|
||||
@@ -1202,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
|
||||
@@ -1217,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
|
||||
@@ -1244,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
|
||||
@@ -1270,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
|
||||
@@ -1444,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
|
||||
@@ -1488,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"
|
||||
@@ -3418,7 +3420,7 @@ msgstr "Formato de facturas predeterminado (carta de estilo europeo)"
|
||||
#: pretix/base/invoice.py:947
|
||||
msgctxt "invoice"
|
||||
msgid "(Please quote at all times.)"
|
||||
msgstr "{Por favor, siempre seleccionar quota.}"
|
||||
msgstr "(Por favor cite en todo momento.)"
|
||||
|
||||
#: pretix/base/invoice.py:994
|
||||
msgid "Simplified invoice renderer"
|
||||
@@ -4565,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"
|
||||
@@ -5967,7 +5969,7 @@ msgstr "Tarifa de envío"
|
||||
|
||||
#: pretix/base/models/orders.py:2286
|
||||
msgid "Service fee"
|
||||
msgstr "Tarifa por servicio"
|
||||
msgstr "Gastos de gestión"
|
||||
|
||||
#: pretix/base/models/orders.py:2287
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html:156
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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: 2022-03-15 00:00+0000\n"
|
||||
"Last-Translator: Yuriko Matsunami <y.matsunami@enobyte.com>\n"
|
||||
"Language-Team: Japanese <https://translate.pretix.eu/projects/pretix/pretix-"
|
||||
"js/ja/>\n"
|
||||
"PO-Revision-Date: 2024-12-27 11:45+0000\n"
|
||||
"Last-Translator: Hijiri Umemoto <hijiri@umemoto.org>\n"
|
||||
"Language-Team: Japanese <https://translate.pretix.eu/projects/pretix/"
|
||||
"pretix-js/ja/>\n"
|
||||
"Language: ja\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 4.8\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||
@@ -35,28 +35,28 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:35
|
||||
msgid "Venmo"
|
||||
msgstr ""
|
||||
msgstr "Venmo"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:36
|
||||
#: pretix/static/pretixpresale/js/walletdetection.js:38
|
||||
msgid "Apple Pay"
|
||||
msgstr ""
|
||||
msgstr "Apple Pay"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:37
|
||||
msgid "Itaú"
|
||||
msgstr ""
|
||||
msgstr "Itaú"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:38
|
||||
msgid "PayPal Credit"
|
||||
msgstr ""
|
||||
msgstr "PayPalクレジット"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:39
|
||||
msgid "Credit Card"
|
||||
msgstr ""
|
||||
msgstr "クレジットカード"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:40
|
||||
msgid "PayPal Pay Later"
|
||||
msgstr ""
|
||||
msgstr "PayPal後払い"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:41
|
||||
msgid "iDEAL"
|
||||
@@ -76,17 +76,15 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:45
|
||||
msgid "SOFORT"
|
||||
msgstr ""
|
||||
msgstr "SOFORT"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:46
|
||||
#, fuzzy
|
||||
#| msgid "Yes"
|
||||
msgid "eps"
|
||||
msgstr "はい"
|
||||
msgstr "eps"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:47
|
||||
msgid "MyBank"
|
||||
msgstr ""
|
||||
msgstr "MyBank"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:48
|
||||
msgid "Przelewy24"
|
||||
@@ -94,35 +92,35 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:49
|
||||
msgid "Verkkopankki"
|
||||
msgstr ""
|
||||
msgstr "Verkkopankki"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:50
|
||||
msgid "PayU"
|
||||
msgstr ""
|
||||
msgstr "PayU"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:51
|
||||
msgid "BLIK"
|
||||
msgstr ""
|
||||
msgstr "BLIK"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:52
|
||||
msgid "Trustly"
|
||||
msgstr ""
|
||||
msgstr "Trustly"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:53
|
||||
msgid "Zimpler"
|
||||
msgstr ""
|
||||
msgstr "Zimpler"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:54
|
||||
msgid "Maxima"
|
||||
msgstr ""
|
||||
msgstr "Maxima"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:55
|
||||
msgid "OXXO"
|
||||
msgstr ""
|
||||
msgstr "OXXO"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:56
|
||||
msgid "Boleto"
|
||||
msgstr ""
|
||||
msgstr "Boleto"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:57
|
||||
msgid "WeChat Pay"
|
||||
@@ -130,7 +128,7 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:58
|
||||
msgid "Mercado Pago"
|
||||
msgstr ""
|
||||
msgstr "Mercado Pago"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:167
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:50
|
||||
@@ -144,11 +142,11 @@ msgstr "次へ"
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:317
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:341
|
||||
msgid "Confirming your payment …"
|
||||
msgstr "お支払い内容の確認"
|
||||
msgstr "お支払いの確認中…"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:254
|
||||
msgid "Payment method unavailable"
|
||||
msgstr ""
|
||||
msgstr "支払い方法が利用できません"
|
||||
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:15
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:39
|
||||
@@ -166,7 +164,7 @@ msgstr "売上合計"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:15
|
||||
msgid "Contacting Stripe …"
|
||||
msgstr "お問い合わせはこちら"
|
||||
msgstr "Stripeに接続中…"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:72
|
||||
msgid "Total"
|
||||
@@ -214,11 +212,11 @@ msgstr "入口"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:39
|
||||
msgid "Exit"
|
||||
msgstr "出口"
|
||||
msgstr "退出"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:40
|
||||
msgid "Scan a ticket or search and press return…"
|
||||
msgstr "チケットのスキャンや検索を行い、エンターキーで確定してください"
|
||||
msgstr "チケットのスキャン又は検索を行い、リターンを押す…"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:41
|
||||
msgid "Load more"
|
||||
@@ -239,7 +237,7 @@ msgstr "キャンセル"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:46
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
msgstr "確認済み"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:47
|
||||
msgid "Approval pending"
|
||||
@@ -445,7 +443,7 @@ msgstr "の後"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:40
|
||||
msgid "="
|
||||
msgstr ""
|
||||
msgstr "="
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
|
||||
msgid "Product"
|
||||
@@ -465,11 +463,11 @@ msgstr "現在の日時"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:115
|
||||
msgid "Current day of the week (1 = Monday, 7 = Sunday)"
|
||||
msgstr ""
|
||||
msgstr "現在の曜日 (1 = 月曜日, 7 = 日曜日)"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:119
|
||||
msgid "Current entry status"
|
||||
msgstr ""
|
||||
msgstr "現在の登録ステータス"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:123
|
||||
msgid "Number of previous entries"
|
||||
@@ -480,40 +478,32 @@ msgid "Number of previous entries since midnight"
|
||||
msgstr "0時から現在までの入力件数"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:131
|
||||
#, fuzzy
|
||||
#| msgid "Number of previous entries"
|
||||
msgid "Number of previous entries since"
|
||||
msgstr "これまでの入力件数"
|
||||
msgstr "この時点から今までの入力件数"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:135
|
||||
#, fuzzy
|
||||
#| msgid "Number of previous entries"
|
||||
msgid "Number of previous entries before"
|
||||
msgstr "これまでの入力件数"
|
||||
msgstr "この時点より前に入力された件数"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:139
|
||||
msgid "Number of days with a previous entry"
|
||||
msgstr "これまでの入力日数"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:143
|
||||
#, fuzzy
|
||||
#| msgid "Number of days with a previous entry"
|
||||
msgid "Number of days with a previous entry since"
|
||||
msgstr "これまでの入力日数"
|
||||
msgstr "この時点より後に入力が行われた日数"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:147
|
||||
#, fuzzy
|
||||
#| msgid "Number of days with a previous entry"
|
||||
msgid "Number of days with a previous entry before"
|
||||
msgstr "これまでの入力日数"
|
||||
msgstr "この時点より前に入力が行われた日数"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:151
|
||||
msgid "Minutes since last entry (-1 on first entry)"
|
||||
msgstr ""
|
||||
msgstr "最後の登録からの経過分数(最初の登録は-1)"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:155
|
||||
msgid "Minutes since first entry (-1 on first entry)"
|
||||
msgstr ""
|
||||
msgstr "最初のとうろくからの経過分数(最初の登録は-1)"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:182
|
||||
msgid "All of the conditions below (AND)"
|
||||
@@ -557,17 +547,17 @@ msgstr "分"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:192
|
||||
msgid "Duplicate"
|
||||
msgstr ""
|
||||
msgstr "複製"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:193
|
||||
msgctxt "entry_status"
|
||||
msgid "present"
|
||||
msgstr ""
|
||||
msgstr "出席"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:194
|
||||
msgctxt "entry_status"
|
||||
msgid "absent"
|
||||
msgstr ""
|
||||
msgstr "欠席"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:171
|
||||
msgid "Check-in QR"
|
||||
@@ -582,10 +572,8 @@ msgid "Group of objects"
|
||||
msgstr "オブジェクトグループ"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:899
|
||||
#, fuzzy
|
||||
#| msgid "Text object"
|
||||
msgid "Text object (deprecated)"
|
||||
msgstr "テキストオブジェクト"
|
||||
msgstr "テキストオブジェクト (廃止済)"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:901
|
||||
#, fuzzy
|
||||
@@ -673,11 +661,11 @@ msgstr "選択したもののみ"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:808
|
||||
msgid "Enter page number between 1 and %(max)s."
|
||||
msgstr ""
|
||||
msgstr "1以上%(max)s以下のページ番号を入力。"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:811
|
||||
msgid "Invalid page number."
|
||||
msgstr ""
|
||||
msgstr "無効なページ番号。"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:969
|
||||
msgid "Use a different name internally"
|
||||
@@ -756,49 +744,44 @@ msgstr "現地時間:"
|
||||
|
||||
#: pretix/static/pretixpresale/js/walletdetection.js:39
|
||||
msgid "Google Pay"
|
||||
msgstr ""
|
||||
msgstr "Google Pay"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:16
|
||||
msgctxt "widget"
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
msgstr "数量"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:17
|
||||
msgctxt "widget"
|
||||
msgid "Decrease quantity"
|
||||
msgstr ""
|
||||
msgstr "数量を減らす"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:18
|
||||
msgctxt "widget"
|
||||
msgid "Increase quantity"
|
||||
msgstr ""
|
||||
msgstr "数量を増やす"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:19
|
||||
msgctxt "widget"
|
||||
msgid "Price"
|
||||
msgstr ""
|
||||
msgstr "価格"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:20
|
||||
#, fuzzy
|
||||
#| msgid "Selected only"
|
||||
msgctxt "widget"
|
||||
msgid "Select"
|
||||
msgstr "選択したもののみ"
|
||||
msgstr "選択"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:21
|
||||
#, fuzzy, javascript-format
|
||||
#| msgid "Selected only"
|
||||
#, javascript-format
|
||||
msgctxt "widget"
|
||||
msgid "Select %s"
|
||||
msgstr "選択したもののみ"
|
||||
msgstr "%sを選択"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:22
|
||||
#, fuzzy, javascript-format
|
||||
#| msgctxt "widget"
|
||||
#| msgid "See variations"
|
||||
#, javascript-format
|
||||
msgctxt "widget"
|
||||
msgid "Select variant %s"
|
||||
msgstr "バリエーションを確認する"
|
||||
msgstr "バリアント %sを選択"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:23
|
||||
msgctxt "widget"
|
||||
@@ -862,25 +845,19 @@ msgid "Only available with a voucher"
|
||||
msgstr "クーポンをお持ちの方のみ"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:35
|
||||
#, fuzzy
|
||||
#| msgctxt "widget"
|
||||
#| msgid "currently available: %s"
|
||||
msgctxt "widget"
|
||||
msgid "Not yet available"
|
||||
msgstr "現在%s使用可能"
|
||||
msgstr "提供開始前"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:36
|
||||
msgctxt "widget"
|
||||
msgid "Not available anymore"
|
||||
msgstr ""
|
||||
msgstr "今後の提供不可"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:37
|
||||
#, fuzzy
|
||||
#| msgctxt "widget"
|
||||
#| msgid "currently available: %s"
|
||||
msgctxt "widget"
|
||||
msgid "Currently not available"
|
||||
msgstr "現在%s使用可能"
|
||||
msgstr "現時点で提供不可"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:38
|
||||
#, javascript-format
|
||||
@@ -915,7 +892,7 @@ msgstr "チケットショップを開く"
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:44
|
||||
msgctxt "widget"
|
||||
msgid "The cart could not be created. Please try again later"
|
||||
msgstr "カートの作成に失敗しました。再試行してください。"
|
||||
msgstr "カートが作成できません。後ほど再度お試しください"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:45
|
||||
msgctxt "widget"
|
||||
@@ -929,7 +906,7 @@ msgstr ""
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:47
|
||||
msgctxt "widget"
|
||||
msgid "Waiting list"
|
||||
msgstr "待機リスト"
|
||||
msgstr "空席待ちリスト"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:48
|
||||
msgctxt "widget"
|
||||
@@ -971,20 +948,14 @@ msgid "Continue"
|
||||
msgstr "続ける"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:56
|
||||
#, fuzzy
|
||||
#| msgctxt "widget"
|
||||
#| msgid "See variations"
|
||||
msgctxt "widget"
|
||||
msgid "Show variants"
|
||||
msgstr "バリエーションを確認する"
|
||||
msgstr "バリエーションを表示"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:57
|
||||
#, fuzzy
|
||||
#| msgctxt "widget"
|
||||
#| msgid "See variations"
|
||||
msgctxt "widget"
|
||||
msgid "Hide variants"
|
||||
msgstr "バリエーションを確認する"
|
||||
msgstr "バリエーションを隠す"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:58
|
||||
msgctxt "widget"
|
||||
@@ -1033,6 +1004,9 @@ msgid ""
|
||||
"add yourself to the waiting list. We will then notify if seats are available "
|
||||
"again."
|
||||
msgstr ""
|
||||
"現在、一部またはすべてのカテゴリでチケットが売り切れています。ご希望に応じて"
|
||||
"、ご自身で空席待ちリストに追加することができます。その後、空席が出来次第お知"
|
||||
"らせします。"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:67
|
||||
msgctxt "widget"
|
||||
|
||||
@@ -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: 2023-04-06 02:00+0000\n"
|
||||
"Last-Translator: 전윤수 <jeonyunsoo123@gmail.com>\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"
|
||||
"Language: ko\n"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.16.4\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: pretix/_base_settings.py:79
|
||||
msgid "English"
|
||||
@@ -163,17 +163,15 @@ msgstr "어플리케이션 이름"
|
||||
|
||||
#: pretix/api/models.py:42 pretix/base/models/customers.py:421
|
||||
msgid "Redirection URIs"
|
||||
msgstr "리다이렉션URI"
|
||||
msgstr "리다이렉션 URI"
|
||||
|
||||
#: pretix/api/models.py:43 pretix/base/models/customers.py:422
|
||||
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
|
||||
@@ -201,7 +199,7 @@ msgstr "모든 이벤트 (향후 생성될 이벤트들도 포함)"
|
||||
#: pretix/api/models.py:119 pretix/base/models/devices.py:123
|
||||
#: pretix/base/models/organizer.py:287
|
||||
msgid "Limit to events"
|
||||
msgstr "다음 이벤트로 제한하기"
|
||||
msgstr "이러한 이벤트로 제한하다"
|
||||
|
||||
#: pretix/api/models.py:120 pretix/base/exporters/orderlist.py:284
|
||||
#: pretix/base/exporters/orderlist.py:1077
|
||||
@@ -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
|
||||
@@ -30738,7 +30715,7 @@ msgstr ""
|
||||
|
||||
#: pretix/presale/views/cart.py:546
|
||||
msgid "The products have been successfully added to your cart."
|
||||
msgstr "성공적으로 추가되었습니다."
|
||||
msgstr "제품이 장바구니에 성공적으로 추가되었습니다."
|
||||
|
||||
#: pretix/presale/views/cart.py:570 pretix/presale/views/event.py:537
|
||||
#: pretix/presale/views/widget.py:377
|
||||
|
||||
@@ -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-10-29 21:00+0000\n"
|
||||
"Last-Translator: Anarion Dunedain <anarion80@gmail.com>\n"
|
||||
"PO-Revision-Date: 2024-12-29 22:00+0000\n"
|
||||
"Last-Translator: Wiktor Przybylski <wikprzybylski@gmail.com>\n"
|
||||
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix/pl/"
|
||||
">\n"
|
||||
"Language: pl\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||
"|| n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.8.1\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: pretix/_base_settings.py:79
|
||||
msgid "English"
|
||||
@@ -3077,7 +3077,7 @@ msgstr "Proszę wprowadzić nazwę firmy."
|
||||
|
||||
#: pretix/base/forms/questions.py:1176
|
||||
msgid "You need to provide your name."
|
||||
msgstr "Proszę wprowadzić swoję imie i nazwisko."
|
||||
msgstr "Proszę wprowadzić swoje imię i nazwisko."
|
||||
|
||||
#: pretix/base/forms/user.py:51 pretix/control/forms/users.py:43
|
||||
msgid ""
|
||||
@@ -10866,7 +10866,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Witaj,\n"
|
||||
"\n"
|
||||
"Płatność za {event} się powiodła. Dziękujmy!\n"
|
||||
"Płatność za {event} się powiodła. Dziękujemy!\n"
|
||||
"\n"
|
||||
"{payment_info}\n"
|
||||
"\n"
|
||||
@@ -19747,10 +19747,8 @@ msgid "Calculation"
|
||||
msgstr "Anulowanie"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/tax_edit.html:64
|
||||
#, fuzzy
|
||||
#| msgid "Reason:"
|
||||
msgid "Reason"
|
||||
msgstr "Powód:"
|
||||
msgstr "Powód"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/tax_edit.html:137
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk.html:251
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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-08-02 23:00+0000\n"
|
||||
"Last-Translator: baris gormez <vbgormez@gmail.com>\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"
|
||||
"Language: tr\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.6.2\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: pretix/_base_settings.py:79
|
||||
msgid "English"
|
||||
@@ -465,7 +465,7 @@ msgstr "Siparişin süresi doldu"
|
||||
|
||||
#: pretix/api/webhooks.py:261
|
||||
msgid "Order expiry date changed"
|
||||
msgstr "Siparişin son tarihi değiştirildi."
|
||||
msgstr "Siparişin son kullanma tarihi değiştirildi"
|
||||
|
||||
#: pretix/api/webhooks.py:265 pretix/base/notifications.py:269
|
||||
msgid "Order information changed"
|
||||
@@ -494,11 +494,11 @@ msgstr "Müşteri tarafından iade talep edildi"
|
||||
|
||||
#: pretix/api/webhooks.py:289
|
||||
msgid "Refund of payment completed"
|
||||
msgstr "Ödeme iadesi tamamlandı."
|
||||
msgstr "Ödemenin iadesi tamamlandı"
|
||||
|
||||
#: pretix/api/webhooks.py:293
|
||||
msgid "Refund of payment canceled"
|
||||
msgstr "İade iptal edildi."
|
||||
msgstr "Ödemenin iadesi iptal edildi"
|
||||
|
||||
#: pretix/api/webhooks.py:297
|
||||
msgid "Refund of payment failed"
|
||||
@@ -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
|
||||
@@ -1192,17 +1190,13 @@ msgstr ""
|
||||
"tarihinin her zaman sipariş veya ödeme tarihine uygun olmadığını unutmayın."
|
||||
|
||||
#: pretix/base/exporters/events.py:47
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgid "Event data"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Etkinlik verileri"
|
||||
|
||||
#: pretix/base/exporters/events.py:48
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgctxt "export_category"
|
||||
msgid "Event data"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Etkinlik verileri"
|
||||
|
||||
#: pretix/base/exporters/events.py:49
|
||||
msgid ""
|
||||
@@ -1857,7 +1851,7 @@ msgstr "Bekleme listesi"
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html:171
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html:149
|
||||
msgid "Available from"
|
||||
msgstr "Mevcut"
|
||||
msgstr "Şuradan temin edilebilir"
|
||||
|
||||
#: pretix/base/exporters/items.py:81 pretix/base/models/discount.py:85
|
||||
#: pretix/base/models/items.py:229 pretix/base/models/items.py:285
|
||||
@@ -4379,10 +4373,8 @@ msgid "Profile data (name, addresses)"
|
||||
msgstr "Yeni bir tarih oluştur"
|
||||
|
||||
#: pretix/base/models/customers.py:414
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgid "Client type"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Müşteri türü"
|
||||
|
||||
#: pretix/base/models/customers.py:417
|
||||
#, fuzzy
|
||||
@@ -8227,10 +8219,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/services/cancelevent.py:229
|
||||
#: pretix/base/services/cancelevent.py:287
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgid "Event canceled"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Etkinlik iptal edildi"
|
||||
|
||||
#: pretix/base/services/cart.py:101 pretix/base/services/modelimport.py:194
|
||||
#: pretix/base/services/orders.py:150
|
||||
@@ -9079,6 +9069,9 @@ msgid ""
|
||||
"place at {date}, however you already used the same membership for a "
|
||||
"different ticket at the same time."
|
||||
msgstr ""
|
||||
"{date}'de gerçekleşen bir etkinlik için \"{type}\" türünde bir üyelik "
|
||||
"kullanmaya çalışıyorsunuz, ancak aynı üyeliği aynı anda farklı bir bilet "
|
||||
"için zaten kullandınız."
|
||||
|
||||
#: pretix/base/services/modelimport.py:53
|
||||
#, python-brace-format
|
||||
@@ -10835,7 +10828,7 @@ msgstr "Seçilen ürün aktif değil veya fiyat ayarlı değil."
|
||||
|
||||
#: pretix/base/settings.py:1659
|
||||
msgid "Hide all unavailable dates from calendar or list views"
|
||||
msgstr ""
|
||||
msgstr "Takvim veya liste görünümlerinden tüm uygun olmayan tarihleri gizle"
|
||||
|
||||
#: pretix/base/settings.py:1660 pretix/base/settings.py:1671
|
||||
msgid ""
|
||||
@@ -11292,8 +11285,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Merhaba,\n"
|
||||
"\n"
|
||||
"Bu mesajı size {event} etkinliğine ait siparişiniz ile ilgili bağlantıyı "
|
||||
"göndermemizi istediğiniz için aldınız\n"
|
||||
"Bu mesajı size bağlantıyı göndermemizi istediğiniz için alıyorsunuz\n"
|
||||
"to your order for {event}.\n"
|
||||
"\n"
|
||||
"Bu adresten sipariş ayrıntılarınızı değiştirebilir ve siparişinizin durumunu "
|
||||
"görebilirsiniz\n"
|
||||
@@ -14143,12 +14136,12 @@ msgid "Text (if an incomplete payment was received)"
|
||||
msgstr "Siparişiniz için ödeme alındı: {code}"
|
||||
|
||||
#: pretix/control/forms/event.py:1169
|
||||
#, fuzzy
|
||||
#| msgid "This plugin allows you to receive payments via bank transfer "
|
||||
msgid ""
|
||||
"This email only applies to payment methods that can receive incomplete "
|
||||
"payments, such as bank transfer."
|
||||
msgstr "Bu eklenti banka havalesi yoluyla ödeme almanızı sağlar "
|
||||
msgstr ""
|
||||
"Bu e-posta yalnızca banka havalesi gibi eksik ödemeler alabilen ödeme "
|
||||
"yöntemleri için geçerlidir."
|
||||
|
||||
#: pretix/control/forms/event.py:1237
|
||||
msgid ""
|
||||
@@ -14942,10 +14935,8 @@ msgid "Date filter"
|
||||
msgstr "Tarih geçmişi"
|
||||
|
||||
#: pretix/control/forms/filter.py:2332 pretix/plugins/reports/exporters.py:690
|
||||
#, fuzzy
|
||||
#| msgid "Filter by tag"
|
||||
msgid "Filter by…"
|
||||
msgstr "Etikete göre filtrele"
|
||||
msgstr "Filtrele…"
|
||||
|
||||
#: pretix/control/forms/filter.py:2334 pretix/plugins/reports/exporters.py:692
|
||||
#, fuzzy
|
||||
@@ -16001,6 +15992,10 @@ msgid ""
|
||||
"series is only partially canceled since it consists of tickets for multiple "
|
||||
"dates."
|
||||
msgstr ""
|
||||
"Seçilen ücret türleri iade edilmeyecek, bunun yerine iptal ücretine "
|
||||
"eklenecektir. Bir etkinlik serisindeki bir sipariş, birden fazla tarih için "
|
||||
"biletlerden oluştuğu için yalnızca kısmen iptal edildiğinde ücretler asla "
|
||||
"iade edilmez."
|
||||
|
||||
#: pretix/control/forms/orders.py:905
|
||||
#, fuzzy
|
||||
@@ -16191,11 +16186,9 @@ msgid "This will be attached to every email."
|
||||
msgstr "Bu her e-postaya eklenecektir. Mevcut yer tutucuları: {event}"
|
||||
|
||||
#: pretix/control/forms/organizer.py:681
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgctxt "webhooks"
|
||||
msgid "Event types"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Etkinlik türleri"
|
||||
|
||||
#: pretix/control/forms/organizer.py:713
|
||||
#, fuzzy
|
||||
@@ -16718,9 +16711,9 @@ msgid "Position #{posid} created: {item} ({price})."
|
||||
msgstr "Poziyon #{posid} oluşturuldu: {item} ({price})."
|
||||
|
||||
#: pretix/control/logdisplay.py:162
|
||||
#, python-brace-format
|
||||
#, fuzzy, python-brace-format
|
||||
msgid "A new secret has been generated for position #{posid}."
|
||||
msgstr "Pozisyon #{posid} için yeni bir sır oluşturuldu"
|
||||
msgstr "#{Posid} pozisyonu için yeni bir sır oluşturuldu."
|
||||
|
||||
#: pretix/control/logdisplay.py:166
|
||||
#, fuzzy, python-brace-format
|
||||
@@ -18369,10 +18362,8 @@ msgstr "Soruyu sil"
|
||||
|
||||
#: pretix/control/navigation.py:494
|
||||
#: pretix/control/templates/pretixcontrol/organizers/properties.html:5
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgid "Event metadata"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Olay meta verileri"
|
||||
|
||||
#: pretix/control/navigation.py:515
|
||||
#: pretix/control/templates/pretixcontrol/organizers/webhooks.html:6
|
||||
@@ -19540,10 +19531,8 @@ msgid "Valid check-in"
|
||||
msgstr "Check-in listeleri"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/simulator.html:68
|
||||
#, fuzzy
|
||||
#| msgid "Meta information"
|
||||
msgid "Additional information required"
|
||||
msgstr "Meta bilgisi"
|
||||
msgstr "Ek bilgi gerekli"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/simulator.html:70
|
||||
msgid ""
|
||||
@@ -19720,8 +19709,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Merhaba,\n"
|
||||
"\n"
|
||||
"pretix hesabınızdaki bilgiler değiştiği için bu e-postayı aldınız. Aşağıdaki "
|
||||
"değişiklikler gerçekleşti:\n"
|
||||
"Bu, pretix hesabınızın hesap bilgilerinin\n"
|
||||
"Değişti. Özellikle, aşağıdaki değişiklikler yapılmıştır:\n"
|
||||
"\n"
|
||||
"%(messages)s\n"
|
||||
"\n"
|
||||
@@ -19981,6 +19970,9 @@ msgid ""
|
||||
"event and only retain the financial information such as the number and type "
|
||||
"of tickets sold."
|
||||
msgstr ""
|
||||
"İsimler ve e-posta adresleri gibi kişisel verileri etkinliğinizden "
|
||||
"kaldırabilir ve yalnızca satılan bilet sayısı ve türü gibi finansal "
|
||||
"bilgileri saklayabilirsiniz."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:76
|
||||
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:89
|
||||
@@ -20080,11 +20072,8 @@ msgid "Failed to retrieve geo coordinates"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/fragment_geodata_autoupdate.html:5
|
||||
#, fuzzy
|
||||
#| msgctxt "subevent"
|
||||
#| msgid "No dates"
|
||||
msgid "Retrieving geo coordinates …"
|
||||
msgstr "Tarih yok"
|
||||
msgstr "Coğrafi koordinatlar alınıyor …"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/fragment_geodata_autoupdate.html:6
|
||||
#, fuzzy
|
||||
@@ -20991,6 +20980,10 @@ msgid ""
|
||||
"quota, you might run into situations where people are sent an email from the "
|
||||
"waiting list but still are unable to book a seat."
|
||||
msgstr ""
|
||||
"Bekleme listesi, kullanılabilirliği esas olarak kotalara göre belirler. Bir "
|
||||
"oturma planı kullanıyorsanız ve mevcut koltuk sayınız mevcut kotadan azsa, "
|
||||
"insanlara bekleme listesinden bir e-posta gönderildiği ancak yine de bir "
|
||||
"koltuk ayırtamadıkları durumlarla karşılaşabilirsiniz."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/settings.html:366
|
||||
msgid ""
|
||||
@@ -21011,10 +21004,8 @@ msgid "Manage waiting list"
|
||||
msgstr "Bekleme listesini etkinleştir"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/settings.html:396
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgid "Item metadata"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Öğe meta verileri"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/settings.html:398
|
||||
#, fuzzy
|
||||
@@ -21390,10 +21381,8 @@ msgstr ""
|
||||
"tarih ve saat ayarları ve etkinlik adını içeren metinler."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/create_foundation.html:7
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgid "Event type"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Etkinlik türü"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/create_foundation.html:13
|
||||
msgid "Singular event or non-event shop"
|
||||
@@ -24890,6 +24879,10 @@ msgid ""
|
||||
"data such as event metadata and POS transactions will persist until you "
|
||||
"uninstall or reset the software manually."
|
||||
msgstr ""
|
||||
"Cihaz yazılımı destekliyorsa, siparişler gibi kişisel veriler bir sonraki "
|
||||
"senkronizasyon denemesinde cihazdan silinecektir. Olay meta verileri ve POS "
|
||||
"işlemleri gibi kişisel olmayan veriler, yazılımı manuel olarak kaldırana "
|
||||
"veya sıfırlayana kadar devam edecektir."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html:10
|
||||
msgid ""
|
||||
@@ -25344,10 +25337,10 @@ msgid ""
|
||||
"can later set for your events and re-use in places like ticket layouts. This "
|
||||
"is an useful timesaver if you create lots and lots of events."
|
||||
msgstr ""
|
||||
"Burada daha sonra etkinlikleriniz için ayarlayabileceğiniz ve bilet "
|
||||
"Burada, daha sonra etkinlikleriniz için ayarlayabileceğiniz ve bilet "
|
||||
"düzenleri gibi yerlerde yeniden kullanabileceğiniz bir dizi meta veri "
|
||||
"özelliği (yani değişkenler) tanımlayabilirsiniz. Çok sayıda etkinlik "
|
||||
"oluşturursanız, bu yararlı bir zaman çizelgesidir."
|
||||
"özelliği (yani değişkenler) tanımlayabilirsiniz. Bu, çok sayıda etkinlik "
|
||||
"oluşturursanız yararlı bir zaman tasarrufudur."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/organizers/properties.html:15
|
||||
#: pretix/control/templates/pretixcontrol/organizers/property_edit.html:9
|
||||
@@ -25955,10 +25948,8 @@ msgstr "E-posta içeriği"
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/rule_create.html:20
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/rule_update.html:34
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/send_form.html:29
|
||||
#, fuzzy
|
||||
#| msgid "Bancontact"
|
||||
msgid "Content"
|
||||
msgstr "Bancontact"
|
||||
msgstr "Içerik"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/pdf/index.html:270
|
||||
#: pretix/control/templates/pretixcontrol/pdf/placeholders.html:50
|
||||
@@ -27445,11 +27436,7 @@ msgid "Quota unlimited"
|
||||
msgstr "Kota adı"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html:240
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "\n"
|
||||
#| " Waiting, product %(num)sx available\n"
|
||||
#| " "
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" Waiting, product %(num)sx "
|
||||
@@ -27457,8 +27444,8 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Bekliyor, ürün %(num)sx mevcut\n"
|
||||
" "
|
||||
" Bekliyor, ürün %(num)sx mevcut\n"
|
||||
" "
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html:246
|
||||
msgid "Waiting, product unavailable"
|
||||
@@ -27821,7 +27808,7 @@ msgstr "Yakında"
|
||||
msgid "{num} order"
|
||||
msgid_plural "{num} orders"
|
||||
msgstr[0] "{num} sipariş"
|
||||
msgstr[1] "{num} sipariş"
|
||||
msgstr[1] "{num} siparişler"
|
||||
|
||||
#: pretix/control/views/discounts.py:67 pretix/control/views/discounts.py:109
|
||||
#: pretix/control/views/discounts.py:214
|
||||
@@ -27904,10 +27891,9 @@ msgid "invalid item"
|
||||
msgstr "geçersiz öğe"
|
||||
|
||||
#: pretix/control/views/event.py:802
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Your order: {code}"
|
||||
#, python-format
|
||||
msgid "Your order: %(code)s"
|
||||
msgstr "Siparişiniz: {code}"
|
||||
msgstr "Siparişiniz: %(code)s"
|
||||
|
||||
#: pretix/control/views/event.py:811
|
||||
msgid "Unknown email renderer."
|
||||
@@ -29821,10 +29807,8 @@ msgid "Only include tickets for dates on or after this date."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/badges/exporters.py:472
|
||||
#, fuzzy
|
||||
#| msgid "Event date"
|
||||
msgid "End event date"
|
||||
msgstr "Etkinlik tarihi"
|
||||
msgstr "Etkinlik bitiş tarihi"
|
||||
|
||||
#: pretix/plugins/badges/exporters.py:475
|
||||
#, fuzzy
|
||||
@@ -35584,8 +35568,8 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Bekliyor, ürün %(num)sx mevcut\n"
|
||||
" "
|
||||
" %(Datetime)s için takvim\n"
|
||||
" "
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/index.html:48
|
||||
msgid "Your cart, general information, add products to your cart"
|
||||
@@ -36403,9 +36387,7 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" ……………………………………………"
|
||||
"itibaren %(start_date)s\n"
|
||||
"………………………………………\n"
|
||||
" %(start_date)s'den\n"
|
||||
" "
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar_nav.html:12
|
||||
@@ -36441,22 +36423,15 @@ msgid "to"
|
||||
msgstr "için"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/fragment_day_calendar.html:119
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "\n"
|
||||
#| " from "
|
||||
#| "%(start_date)s\n"
|
||||
#| " "
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" from %(start_date)s\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" ……………………………………………"
|
||||
"itibaren %(start_date)s\n"
|
||||
"………………………………………\n"
|
||||
" "
|
||||
" %(start_date)s'den\n"
|
||||
" "
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/fragment_login_status.html:5
|
||||
#, fuzzy
|
||||
@@ -36539,22 +36514,15 @@ msgid "Save selection"
|
||||
msgstr "Veri seçimi"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html:82
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "\n"
|
||||
#| " from "
|
||||
#| "%(start_date)s\n"
|
||||
#| " "
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" from %(start_date)s\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" ……………………………………………"
|
||||
"itibaren %(start_date)s\n"
|
||||
"………………………………………\n"
|
||||
" "
|
||||
" %(start_date)s'den\n"
|
||||
" "
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/index.html:7
|
||||
msgid "Hello!"
|
||||
@@ -37009,10 +36977,8 @@ msgid "This feature is only available in test mode."
|
||||
msgstr "Bu geri ödeme şu anda işleme alınamaz."
|
||||
|
||||
#: pretix/presale/views/event.py:985
|
||||
#, fuzzy
|
||||
#| msgid "This account is inactive."
|
||||
msgid "Time machine disabled!"
|
||||
msgstr "Bu hesap aktif değildir."
|
||||
msgstr "Zaman makinesi devre dışı!"
|
||||
|
||||
#: pretix/presale/views/order.py:368 pretix/presale/views/order.py:433
|
||||
#: pretix/presale/views/order.py:514
|
||||
|
||||
@@ -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-04-10 23:00+0000\n"
|
||||
"Last-Translator: Shiiko <shiiko@xlclan.com>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://translate.pretix.eu/projects/"
|
||||
"pretix/pretix/zh_Hans/>\n"
|
||||
"PO-Revision-Date: 2024-12-25 23:27+0000\n"
|
||||
"Last-Translator: Aarni Heinonen <vamoosev@gmail.com>\n"
|
||||
"Language-Team: Chinese (Simplified Han script) <https://translate.pretix.eu/"
|
||||
"projects/pretix/pretix/zh_Hans/>\n"
|
||||
"Language: zh_Hans\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.4.3\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)"
|
||||
@@ -99,7 +99,7 @@ msgstr "拉脱维亚语"
|
||||
|
||||
#: pretix/_base_settings.py:98
|
||||
msgid "Norwegian Bokmål"
|
||||
msgstr ""
|
||||
msgstr "挪威语"
|
||||
|
||||
#: pretix/_base_settings.py:99
|
||||
msgid "Polish"
|
||||
@@ -123,11 +123,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"
|
||||
@@ -172,10 +172,8 @@ msgid "Allowed URIs list, space separated"
|
||||
msgstr "允许的 URIs 列表, 用空格分隔"
|
||||
|
||||
#: pretix/api/models.py:47
|
||||
#, fuzzy
|
||||
#| msgid "Allowed URIs list, space separated"
|
||||
msgid "Allowed Post Logout URIs list, space separated"
|
||||
msgstr "允许的 URIs 列表, 用空格分隔"
|
||||
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
|
||||
@@ -247,10 +245,9 @@ msgid "Meta data property '{name}' does not exist."
|
||||
msgstr "元数据属性“{name}”不存在."
|
||||
|
||||
#: pretix/api/serializers/event.py:249 pretix/api/serializers/event.py:552
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Meta data property '{name}' does not exist."
|
||||
#, python-brace-format
|
||||
msgid "Meta data property '{name}' does not allow value '{value}'."
|
||||
msgstr "元数据属性“{name}”不存在."
|
||||
msgstr "元数据属性“{name}”不允许值“{value}”。"
|
||||
|
||||
#: pretix/api/serializers/event.py:293
|
||||
#, python-brace-format
|
||||
|
||||
@@ -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)s)s"
|
||||
|
||||
#: 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 it’s 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."
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -37,7 +37,7 @@ class PayPalEnvironment(VendorPayPalEnvironment):
|
||||
'payer_id': self.merchant_id
|
||||
},
|
||||
key=None,
|
||||
algorithm=None,
|
||||
algorithm="none",
|
||||
)
|
||||
return ""
|
||||
|
||||
|
||||
@@ -743,7 +743,7 @@ class SSOLoginReturnView(RedirectBackMixin, View):
|
||||
popup_origin,
|
||||
)
|
||||
|
||||
nonce, redirect_to = re.split("[%#§]", request.GET['state'], 1) # Allow § and # for backwards-compatibility for a while
|
||||
nonce, redirect_to = re.split("[%#§]", request.GET['state'], maxsplit=1) # Allow § and # for backwards-compatibility for a while
|
||||
|
||||
if nonce != request.session.get(f'pretix_customerauth_{self.provider.pk}_nonce'):
|
||||
return self._fail(
|
||||
|
||||
14
src/pretix/static/npm_dir/package-lock.json
generated
14
src/pretix/static/npm_dir/package-lock.json
generated
@@ -11,7 +11,7 @@
|
||||
"@babel/core": "^7.26.0",
|
||||
"@babel/preset-env": "^7.26.0",
|
||||
"@rollup/plugin-babel": "^6.0.4",
|
||||
"@rollup/plugin-node-resolve": "^15.3.0",
|
||||
"@rollup/plugin-node-resolve": "^16.0.0",
|
||||
"rollup": "^2.79.1",
|
||||
"rollup-plugin-vue": "^5.0.1",
|
||||
"vue": "^2.7.16",
|
||||
@@ -1522,9 +1522,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rollup/plugin-node-resolve": {
|
||||
"version": "15.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.0.tgz",
|
||||
"integrity": "sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==",
|
||||
"version": "16.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.0.tgz",
|
||||
"integrity": "sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==",
|
||||
"dependencies": {
|
||||
"@rollup/pluginutils": "^5.0.1",
|
||||
"@types/resolve": "1.20.2",
|
||||
@@ -4761,9 +4761,9 @@
|
||||
}
|
||||
},
|
||||
"@rollup/plugin-node-resolve": {
|
||||
"version": "15.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.3.0.tgz",
|
||||
"integrity": "sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==",
|
||||
"version": "16.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.0.tgz",
|
||||
"integrity": "sha512-0FPvAeVUT/zdWoO0jnb/V5BlBsUSNfkIOtFHzMO4H9MOklrmQFY6FduVHKucNb/aTFxvnGhj4MNj/T1oNdDfNg==",
|
||||
"requires": {
|
||||
"@rollup/pluginutils": "^5.0.1",
|
||||
"@types/resolve": "1.20.2",
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
"@babel/core": "^7.26.0",
|
||||
"@babel/preset-env": "^7.26.0",
|
||||
"@rollup/plugin-babel": "^6.0.4",
|
||||
"@rollup/plugin-node-resolve": "^15.3.0",
|
||||
"@rollup/plugin-node-resolve": "^16.0.0",
|
||||
"vue": "^2.7.16",
|
||||
"rollup": "^2.79.1",
|
||||
"rollup-plugin-vue": "^5.0.1",
|
||||
|
||||
@@ -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')); }
|
||||
|
||||
@@ -497,6 +497,51 @@ def test_event_create_with_clone(token_client, organizer, event, meta_prop, urls
|
||||
assert cloned_event.plugins == ""
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@pytest.mark.parametrize("urlstyle", [
|
||||
'/api/v1/organizers/{}/events/{}/clone/',
|
||||
'/api/v1/organizers/{}/events/?clone_from={}',
|
||||
])
|
||||
def test_event_create_with_clone_migrate_sales_channels(token_client, organizer, event, meta_prop, urlstyle):
|
||||
with scopes_disabled():
|
||||
all_channels = list(organizer.sales_channels.values_list("identifier", flat=True))
|
||||
resp = token_client.post(
|
||||
urlstyle.format(organizer.slug, event.slug),
|
||||
{
|
||||
"name": {
|
||||
"de": "Demo Konference 2020 Test",
|
||||
"en": "Demo Conference 2020 Test"
|
||||
},
|
||||
"live": False,
|
||||
"testmode": True,
|
||||
"currency": "EUR",
|
||||
"date_from": "2018-12-27T10:00:00Z",
|
||||
"date_to": "2018-12-28T10:00:00Z",
|
||||
"date_admission": "2018-12-27T08:00:00Z",
|
||||
"is_public": False,
|
||||
"presale_start": None,
|
||||
"presale_end": None,
|
||||
"location": None,
|
||||
"slug": "2030",
|
||||
"sales_channels": all_channels,
|
||||
"meta_data": {
|
||||
"type": "Workshop"
|
||||
},
|
||||
"plugins": [
|
||||
"pretix.plugins.ticketoutputpdf"
|
||||
],
|
||||
"timezone": "Europe/Vienna"
|
||||
},
|
||||
format='json'
|
||||
)
|
||||
|
||||
assert resp.status_code == 201
|
||||
with scopes_disabled():
|
||||
cloned_event = Event.objects.get(organizer=organizer.pk, slug='2030')
|
||||
assert cloned_event.all_sales_channels
|
||||
assert not cloned_event.limit_sales_channels.exists()
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_event_create_with_clone_unknown_source(user, user_client, organizer, event):
|
||||
with scopes_disabled():
|
||||
|
||||
@@ -526,6 +526,7 @@ def test_order_regenerate_secrets(token_client, organizer, event, order):
|
||||
s = order.secret
|
||||
with scopes_disabled():
|
||||
ps = order.positions.first().secret
|
||||
psw = order.positions.first().web_secret
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/orders/{}/regenerate_secrets/'.format(
|
||||
organizer.slug, event.slug, order.code
|
||||
@@ -536,6 +537,7 @@ def test_order_regenerate_secrets(token_client, organizer, event, order):
|
||||
assert s != order.secret
|
||||
with scopes_disabled():
|
||||
assert ps != order.positions.first().secret
|
||||
assert psw != order.positions.first().web_secret
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@@ -543,6 +545,7 @@ def test_position_regenerate_secrets(token_client, organizer, event, order):
|
||||
with scopes_disabled():
|
||||
p = order.positions.first()
|
||||
ps = p.secret
|
||||
psw = p.web_secret
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/orderpositions/{}/regenerate_secrets/'.format(
|
||||
organizer.slug, event.slug, p.pk,
|
||||
@@ -552,6 +555,7 @@ def test_position_regenerate_secrets(token_client, organizer, event, order):
|
||||
p.refresh_from_db()
|
||||
with scopes_disabled():
|
||||
assert ps != p.secret
|
||||
assert psw != p.web_secret
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -1604,6 +1604,8 @@ class EventLocaleTest(EventTestMixin, SoupTest):
|
||||
self.event.settings.locales = ['de', 'en']
|
||||
self.event.settings.locale = 'de'
|
||||
self.event.settings.timezone = 'UTC'
|
||||
self.event.date_from = datetime.datetime(2024, 12, 26, 14, 0, tzinfo=datetime.timezone.utc)
|
||||
self.event.save()
|
||||
|
||||
def test_german_by_default(self):
|
||||
response = self.client.get(
|
||||
@@ -1619,7 +1621,7 @@ class EventLocaleTest(EventTestMixin, SoupTest):
|
||||
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
||||
)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertIn('Fri, Dec. 26th,', response.rendered_content)
|
||||
self.assertIn('Thu, Dec. 26th,', response.rendered_content)
|
||||
self.assertIn('14:00', response.rendered_content)
|
||||
|
||||
def test_english_region_US(self):
|
||||
@@ -1629,7 +1631,7 @@ class EventLocaleTest(EventTestMixin, SoupTest):
|
||||
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
||||
)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertIn('Fri, Dec. 26th,', response.rendered_content)
|
||||
self.assertIn('Thu, Dec. 26th,', response.rendered_content)
|
||||
self.assertIn('2 p.m.', response.rendered_content)
|
||||
|
||||
def test_german_region_US(self):
|
||||
@@ -1639,5 +1641,5 @@ class EventLocaleTest(EventTestMixin, SoupTest):
|
||||
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
||||
)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertIn('Fr, 26. Dezember', response.rendered_content)
|
||||
self.assertIn('Do, 26. Dezember', response.rendered_content)
|
||||
self.assertIn('14:00', response.rendered_content)
|
||||
|
||||
Reference in New Issue
Block a user