Compare commits

..

1 Commits

Author SHA1 Message Date
Raphael Michel
3b4b91c81f Copy ItemVariation.limit_sales_channels when copying items 2025-01-15 15:46:25 +01:00
16 changed files with 232 additions and 368 deletions

View File

@@ -1,23 +0,0 @@
# 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),
),
]

View File

@@ -1718,10 +1718,10 @@ class Question(LoggedModel):
'Question', null=True, blank=True, on_delete=models.SET_NULL, related_name='dependent_questions' 'Question', null=True, blank=True, on_delete=models.SET_NULL, related_name='dependent_questions'
) )
dependency_values = MultiStringField(default=[]) dependency_values = MultiStringField(default=[])
valid_number_min = models.DecimalField(decimal_places=6, max_digits=30, null=True, blank=True, valid_number_min = models.DecimalField(decimal_places=6, max_digits=16, null=True, blank=True,
verbose_name=_('Minimum value'), verbose_name=_('Minimum value'),
help_text=_('Currently not supported in our apps and during check-in')) help_text=_('Currently not supported in our apps and during check-in'))
valid_number_max = models.DecimalField(decimal_places=6, max_digits=30, null=True, blank=True, valid_number_max = models.DecimalField(decimal_places=6, max_digits=16, null=True, blank=True,
verbose_name=_('Maximum value'), verbose_name=_('Maximum value'),
help_text=_('Currently not supported in our apps and during check-in')) help_text=_('Currently not supported in our apps and during check-in'))
valid_date_min = models.DateField(null=True, blank=True, valid_date_min = models.DateField(null=True, blank=True,

View File

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

View File

@@ -185,104 +185,43 @@ 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): class RelativeDateTimeWidget(forms.MultiWidget):
template_name = 'pretixbase/forms/widgets/reldatetime.html' template_name = 'pretixbase/forms/widgets/reldatetime.html'
parts = reldatetimeparts
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.status_choices = kwargs.pop('status_choices') self.status_choices = kwargs.pop('status_choices')
base_choices = kwargs.pop('base_choices') base_choices = kwargs.pop('base_choices')
widgets = reldatetimeparts( widgets = (
status=forms.RadioSelect(choices=self.status_choices), forms.RadioSelect(choices=self.status_choices),
absolute=forms.DateTimeInput( forms.DateTimeInput(
attrs={'class': 'datetimepicker'} attrs={'class': 'datetimepicker'}
), ),
rel_days_number=forms.NumberInput(), forms.NumberInput(),
rel_mins_relationto=forms.Select(choices=base_choices), forms.Select(choices=base_choices),
rel_days_timeofday=forms.TimeInput(attrs={'placeholder': _('Time'), 'class': 'timepickerfield'}), forms.TimeInput(attrs={'placeholder': _('Time'), 'class': 'timepickerfield'}),
rel_mins_number=forms.NumberInput(), forms.NumberInput(),
rel_days_relationto=forms.Select(choices=base_choices), forms.Select(choices=base_choices),
rel_mins_relation=forms.Select(choices=BEFORE_AFTER_CHOICE), forms.Select(choices=BEFORE_AFTER_CHOICE),
rel_days_relation=forms.Select(choices=BEFORE_AFTER_CHOICE), forms.Select(choices=BEFORE_AFTER_CHOICE),
) )
super().__init__(widgets=widgets, *args, **kwargs) super().__init__(widgets=widgets, *args, **kwargs)
def decompress(self, value): def decompress(self, value):
if isinstance(value, str): if isinstance(value, str):
value = RelativeDateWrapper.from_string(value) value = RelativeDateWrapper.from_string(value)
if isinstance(value, reldatetimeparts):
return value
if not value: if not value:
return reldatetimeparts( return ['unset', None, 1, 'date_from', None, 0, "date_from", "before", "before"]
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)): elif isinstance(value.data, (datetime.datetime, datetime.date)):
return reldatetimeparts( return ['absolute', value.data, 1, 'date_from', None, 0, "date_from", "before", "before"]
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: elif value.data.minutes is not None:
return reldatetimeparts( return ['relative_minutes', None, None, value.data.base_date_name, None, value.data.minutes, value.data.base_date_name,
status="relative_minutes", "after" if value.data.is_after else "before", "after" if value.data.is_after else "before"]
absolute=None, return ['relative', None, value.data.days, value.data.base_date_name, value.data.time, 0, value.data.base_date_name,
rel_days_number=None, "after" if value.data.is_after else "before", "after" if value.data.is_after else "before"]
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): def get_context(self, name, value, attrs):
ctx = super().get_context(name, value, attrs) ctx = super().get_context(name, value, attrs)
ctx['required'] = self.status_choices[0][0] == 'unset' 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 return ctx
@@ -300,36 +239,36 @@ class RelativeDateTimeField(forms.MultiValueField):
choices = BASE_CHOICES choices = BASE_CHOICES
if not kwargs.get('required', True): if not kwargs.get('required', True):
status_choices.insert(0, ('unset', _('Not set'))) status_choices.insert(0, ('unset', _('Not set')))
fields = reldatetimeparts( fields = (
status=forms.ChoiceField( forms.ChoiceField(
choices=status_choices, choices=status_choices,
required=True required=True
), ),
absolute=forms.DateTimeField( forms.DateTimeField(
required=False required=False
), ),
rel_days_number=forms.IntegerField( forms.IntegerField(
required=False required=False
), ),
rel_mins_relationto=forms.ChoiceField( forms.ChoiceField(
choices=choices, choices=choices,
required=False required=False
), ),
rel_days_timeofday=forms.TimeField( forms.TimeField(
required=False, required=False,
), ),
rel_mins_number=forms.IntegerField( forms.IntegerField(
required=False required=False
), ),
rel_days_relationto=forms.ChoiceField( forms.ChoiceField(
choices=choices, choices=choices,
required=False required=False
), ),
rel_mins_relation=forms.ChoiceField( forms.ChoiceField(
choices=BEFORE_AFTER_CHOICE, choices=BEFORE_AFTER_CHOICE,
required=False required=False
), ),
rel_days_relation=forms.ChoiceField( forms.ChoiceField(
choices=BEFORE_AFTER_CHOICE, choices=BEFORE_AFTER_CHOICE,
required=False required=False
), ),
@@ -343,36 +282,32 @@ class RelativeDateTimeField(forms.MultiValueField):
) )
def set_event(self, event): def set_event(self, event):
self.widget.widgets[reldatetimeparts.indizes.rel_days_relationto].choices = [ self.widget.widgets[3].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) (k, v) for k, v in BASE_CHOICES if getattr(event, k, None)
] ]
def compress(self, data_list): def compress(self, data_list):
if not data_list: if not data_list:
return None return None
data = reldatetimeparts(*data_list) if data_list[0] == 'absolute':
if data.status == 'absolute': return RelativeDateWrapper(data_list[1])
return RelativeDateWrapper(data.absolute) elif data_list[0] == 'unset':
elif data.status == 'unset':
return None return None
elif data.status == 'relative_minutes': elif data_list[0] == 'relative_minutes':
return RelativeDateWrapper(RelativeDate( return RelativeDateWrapper(RelativeDate(
days=0, days=0,
base_date_name=data.rel_mins_relationto, base_date_name=data_list[3],
time=None, time=None,
minutes=data.rel_mins_number, minutes=data_list[5],
is_after=data.rel_mins_relation == "after", is_after=data_list[7] == "after",
)) ))
else: else:
return RelativeDateWrapper(RelativeDate( return RelativeDateWrapper(RelativeDate(
days=data.rel_days_number, days=data_list[2],
base_date_name=data.rel_days_relationto, base_date_name=data_list[6],
time=data.rel_days_timeofday, time=data_list[4],
minutes=None, minutes=None,
is_after=data.rel_days_relation == "after", is_after=data_list[8] == "after",
)) ))
def has_changed(self, initial, data): def has_changed(self, initial, data):
@@ -381,41 +316,29 @@ class RelativeDateTimeField(forms.MultiValueField):
return super().has_changed(initial, data) return super().has_changed(initial, data)
def clean(self, value): def clean(self, value):
data = reldatetimeparts(*value) if value[0] == 'absolute' and not value[1]:
if data.status == 'absolute' and not data.absolute:
raise ValidationError(self.error_messages['incomplete']) raise ValidationError(self.error_messages['incomplete'])
elif data.status == 'relative' and (data.rel_days_number is None or not data.rel_days_relationto): elif value[0] == 'relative' and (value[2] is None or not value[3]):
raise ValidationError(self.error_messages['incomplete']) raise ValidationError(self.error_messages['incomplete'])
elif data.status == 'relative_minutes' and (data.rel_mins_number is None or not data.rel_mins_relationto): elif value[0] == 'relative_minutes' and (value[5] is None or not value[3]):
raise ValidationError(self.error_messages['incomplete']) raise ValidationError(self.error_messages['incomplete'])
return super().clean(value) 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): class RelativeDateWidget(RelativeDateTimeWidget):
template_name = 'pretixbase/forms/widgets/reldate.html' template_name = 'pretixbase/forms/widgets/reldate.html'
parts = reldateparts
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
self.status_choices = kwargs.pop('status_choices') self.status_choices = kwargs.pop('status_choices')
widgets = reldateparts( widgets = (
status=forms.RadioSelect(choices=self.status_choices), forms.RadioSelect(choices=self.status_choices),
absolute=forms.DateInput( forms.DateInput(
attrs={'class': 'datepickerfield'} attrs={'class': 'datepickerfield'}
), ),
rel_days_number=forms.NumberInput(), forms.NumberInput(),
rel_days_relationto=forms.Select(choices=kwargs.pop('base_choices')), forms.Select(choices=kwargs.pop('base_choices')),
rel_days_relation=forms.Select(choices=BEFORE_AFTER_CHOICE), forms.Select(choices=BEFORE_AFTER_CHOICE),
) )
forms.MultiWidget.__init__(self, widgets=widgets, *args, **kwargs) forms.MultiWidget.__init__(self, widgets=widgets, *args, **kwargs)
@@ -423,30 +346,10 @@ class RelativeDateWidget(RelativeDateTimeWidget):
if isinstance(value, str): if isinstance(value, str):
value = RelativeDateWrapper.from_string(value) value = RelativeDateWrapper.from_string(value)
if not value: if not value:
return reldateparts( return ['unset', None, 1, 'date_from', 'before']
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)): elif isinstance(value.data, (datetime.datetime, datetime.date)):
return reldateparts( return ['absolute', value.data, 1, 'date_from', 'before']
status="absolute", return ['relative', None, value.data.days, value.data.base_date_name, "after" if value.data.is_after else "before"]
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): class RelativeDateField(RelativeDateTimeField):
@@ -458,22 +361,22 @@ class RelativeDateField(RelativeDateTimeField):
] ]
if not kwargs.get('required', True): if not kwargs.get('required', True):
status_choices.insert(0, ('unset', _('Not set'))) status_choices.insert(0, ('unset', _('Not set')))
fields = reldateparts( fields = (
status=forms.ChoiceField( forms.ChoiceField(
choices=status_choices, choices=status_choices,
required=True required=True
), ),
absolute=forms.DateField( forms.DateField(
required=False required=False
), ),
rel_days_number=forms.IntegerField( forms.IntegerField(
required=False required=False
), ),
rel_days_relationto=forms.ChoiceField( forms.ChoiceField(
choices=BASE_CHOICES, choices=BASE_CHOICES,
required=False required=False
), ),
rel_days_relation=forms.ChoiceField( forms.ChoiceField(
choices=BEFORE_AFTER_CHOICE, choices=BEFORE_AFTER_CHOICE,
required=False required=False
), ),
@@ -484,35 +387,28 @@ class RelativeDateField(RelativeDateTimeField):
self, fields=fields, require_all_fields=False, *args, **kwargs 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): def compress(self, data_list):
if not data_list: if not data_list:
return None return None
data = reldateparts(*data_list) if data_list[0] == 'absolute':
if data.status == 'absolute': return RelativeDateWrapper(data_list[1])
return RelativeDateWrapper(data.absolute) elif data_list[0] == 'unset':
elif data.status == 'unset':
return None return None
else: else:
return RelativeDateWrapper(RelativeDate( return RelativeDateWrapper(RelativeDate(
days=data.rel_days_number, days=data_list[2],
base_date_name=data.rel_days_relationto, base_date_name=data_list[3],
time=None, minutes=None, time=None, minutes=None,
is_after=data.rel_days_relation == "after" is_after=data_list[4] == "after"
)) ))
def clean(self, value): def clean(self, value):
data = reldateparts(*value) if value[0] == 'absolute' and not value[1]:
if data.status == 'absolute' and not data.absolute:
raise ValidationError(self.error_messages['incomplete']) raise ValidationError(self.error_messages['incomplete'])
elif data.status == 'relative' and (data.rel_days_number is None or not data.rel_days_relationto): elif value[0] == 'relative' and (value[2] is None or not value[3]):
raise ValidationError(self.error_messages['incomplete']) raise ValidationError(self.error_messages['incomplete'])
return forms.MultiValueField.clean(self, value) return super().clean(value)
class ModelRelativeDateTimeField(models.CharField): class ModelRelativeDateTimeField(models.CharField):

View File

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

View File

@@ -9,11 +9,12 @@
{{ selopt.label }} {{ selopt.label }}
</label> </label>
{% if selopt.value == "absolute" %} {% if selopt.value == "absolute" %}
{{ rendered_subwidgets.absolute }} {% include widget.subwidgets.1.template_name with widget=widget.subwidgets.1 %}
{% elif selopt.value == "relative" %} {% elif selopt.value == "relative" %}
{% blocktrans trimmed with number=rendered_subwidgets.rel_days_number relation=rendered_subwidgets.rel_days_relation relation_to=rendered_subwidgets.rel_days_relationto %} {% include widget.subwidgets.2.template_name with widget=widget.subwidgets.2 %}
{{ number }} days {{ relation }} {{ relation_to }} {% trans "days" %}
{% endblocktrans %} {% include widget.subwidgets.4.template_name with widget=widget.subwidgets.4 %}
{% include widget.subwidgets.3.template_name with widget=widget.subwidgets.3 %}
{% endif %} {% endif %}
</div> </div>
{% endfor %} {% endfor %}

View File

@@ -9,15 +9,19 @@
{{ selopt.label }} {{ selopt.label }}
</label> </label>
{% if selopt.value == "absolute" %} {% if selopt.value == "absolute" %}
{{ rendered_subwidgets.absolute }} {% include widget.subwidgets.1.template_name with widget=widget.subwidgets.1 %}
{% elif selopt.value == "relative_minutes" %} {% elif selopt.value == "relative_minutes" %}
{% blocktrans trimmed with number=rendered_subwidgets.rel_mins_number relation=rendered_subwidgets.rel_mins_relation relation_to=rendered_subwidgets.rel_mins_relationto %} {% include widget.subwidgets.5.template_name with widget=widget.subwidgets.5 %}
{{ number }} minutes {{ relation }} {{ relation_to }} {% trans "minutes" %}
{% endblocktrans %} {% include widget.subwidgets.7.template_name with widget=widget.subwidgets.7 %}
{% include widget.subwidgets.3.template_name with widget=widget.subwidgets.3 %}
{% elif selopt.value == "relative" %} {% elif selopt.value == "relative" %}
{% 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 %} {% include widget.subwidgets.2.template_name with widget=widget.subwidgets.2 %}
{{ number }} days {{ relation }} {{ relation_to }} at {{ time_of_day }} {% trans "days" %}
{% endblocktrans %} {% 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 %}
{% endif %} {% endif %}
</div> </div>
{% endfor %} {% endfor %}

View File

@@ -539,6 +539,8 @@ class ItemCreateForm(I18nModelForm):
v.pk = None v.pk = None
v.item = instance v.item = instance
v.save() v.save()
if not variation.all_sales_channels:
v.limit_sales_channels.set(variation.limit_sales_channels.all())
for mv in variation.meta_values.all(): for mv in variation.meta_values.all():
mv.pk = None mv.pk = None
mv.variation = v mv.variation = v

View File

@@ -4,8 +4,8 @@ msgstr ""
"Project-Id-Version: 1\n" "Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-12-16 14:20+0000\n" "POT-Creation-Date: 2024-12-16 14:20+0000\n"
"PO-Revision-Date: 2025-01-14 09:56+0000\n" "PO-Revision-Date: 2024-11-04 13:44+0000\n"
"Last-Translator: Nikolai <nikolai@lengefeldt.de>\n" "Last-Translator: Katrine Tella <ktl@hjoerring.dk>\n"
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix/da/" "Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix/da/"
">\n" ">\n"
"Language: da\n" "Language: da\n"
@@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.9.2\n" "X-Generator: Weblate 5.8.1\n"
#: pretix/_base_settings.py:79 #: pretix/_base_settings.py:79
msgid "English" msgid "English"
@@ -20841,7 +20841,7 @@ msgstr "Nej, gå tilbage"
#: pretix/control/templates/pretixcontrol/order/approve.html:25 #: pretix/control/templates/pretixcontrol/order/approve.html:25
msgid "Yes, approve order" msgid "Yes, approve order"
msgstr "Ja, godkend bestilling" msgstr "Ja, annullér bestilling"
#: pretix/control/templates/pretixcontrol/order/cancel.html:6 #: pretix/control/templates/pretixcontrol/order/cancel.html:6
#: pretix/control/templates/pretixcontrol/order/cancel.html:10 #: pretix/control/templates/pretixcontrol/order/cancel.html:10

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -673,7 +673,12 @@ class ItemsTest(ItemFormTest):
with scopes_disabled(): with scopes_disabled():
q = Question.objects.create(event=self.event1, question="Size", type="N") q = Question.objects.create(event=self.event1, question="Size", type="N")
q.items.add(self.item2) q.items.add(self.item2)
self.item2.sales_channels = ["web", "bar"] self.item2.limit_sales_channels.set(self.orga1.sales_channels.filter(identifier__in=["web", "bar"]))
self.item2.all_sales_channels = False
self.item2.save()
self.var2.limit_sales_channels.set(self.orga1.sales_channels.filter(identifier__in=["web"]))
self.var2.all_sales_channels = False
self.var2.save()
prop = self.event1.item_meta_properties.create(name="Foo") prop = self.event1.item_meta_properties.create(name="Foo")
self.item2.meta_values.create(property=prop, value="Bar") self.item2.meta_values.create(property=prop, value="Bar")
@@ -690,6 +695,7 @@ class ItemsTest(ItemFormTest):
with scopes_disabled(): with scopes_disabled():
i_old = Item.objects.get(name__icontains='Business') i_old = Item.objects.get(name__icontains='Business')
i_new = Item.objects.get(name__icontains='Intermediate') i_new = Item.objects.get(name__icontains='Intermediate')
v2_new = i_new.variations.get(value__icontains='Gold')
assert i_new.category == i_old.category assert i_new.category == i_old.category
assert i_new.description == i_old.description assert i_new.description == i_old.description
assert i_new.active == i_old.active assert i_new.active == i_old.active
@@ -698,7 +704,8 @@ class ItemsTest(ItemFormTest):
assert i_new.require_voucher == i_old.require_voucher assert i_new.require_voucher == i_old.require_voucher
assert i_new.hide_without_voucher == i_old.hide_without_voucher assert i_new.hide_without_voucher == i_old.hide_without_voucher
assert i_new.allow_cancel == i_old.allow_cancel assert i_new.allow_cancel == i_old.allow_cancel
assert set(i_new.limit_sales_channels.all()) == set(i_old.limit_sales_channels.all()) assert set(i_new.limit_sales_channels.values_list("identifier", flat=True)) == {"web", "bar"}
assert set(v2_new.limit_sales_channels.values_list("identifier", flat=True)) == {"web"}
assert i_new.meta_data == i_old.meta_data == {"Foo": "Bar"} assert i_new.meta_data == i_old.meta_data == {"Foo": "Bar"}
assert set(i_new.questions.all()) == set(i_old.questions.all()) assert set(i_new.questions.all()) == set(i_old.questions.all())
assert set([str(v.value) for v in i_new.variations.all()]) == set([str(v.value) for v in i_old.variations.all()]) assert set([str(v.value) for v in i_new.variations.all()]) == set([str(v.value) for v in i_old.variations.all()])

View File

@@ -1133,49 +1133,6 @@ def test_order_mark_paid_expired_seat_taken(client, env):
assert o.status == Order.STATUS_EXPIRED 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 @pytest.mark.django_db
def test_order_go_lowercase(client, env): def test_order_go_lowercase(client, env):
client.login(email='dummy@dummy.dummy', password='dummy') client.login(email='dummy@dummy.dummy', password='dummy')