Compare commits

..

1 Commits

Author SHA1 Message Date
Raphael Michel d169958687 Add Transaction.source flag 2022-10-19 12:09:55 +02:00
129 changed files with 14739 additions and 17539 deletions
-3
View File
@@ -117,9 +117,6 @@ Example::
``loglevel``
Set console and file log level (``DEBUG``, ``INFO``, ``WARNING``, ``ERROR`` or ``CRITICAL``). Defaults to ``INFO``.
``request_id_header``
Specifies the name of a header that should be used for logging request IDs. Off by default.
Locale settings
---------------
-2
View File
@@ -19,8 +19,6 @@ max_usages integer The maximum num
redeemed (default: 1).
redeemed integer The number of times this voucher already has been
redeemed.
min_usages integer The minimum number of times this voucher must be
redeemed on first usage (default: 1).
valid_until datetime The voucher expiration date (or ``null``).
block_quota boolean If ``true``, quota is blocked for this voucher.
allow_ignore_quota boolean If ``true``, this voucher can be redeemed even if a
+1 -1
View File
@@ -38,7 +38,7 @@ Frontend
.. automodule:: pretix.presale.signals
:members: order_info, order_info_top, order_meta_from_request
:members: order_info, order_info_top, order_meta_from_request, order_source_from_request
Request flow
""""""""""""
+1 -1
View File
@@ -19,4 +19,4 @@
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
# <https://www.gnu.org/licenses/>.
#
__version__ = "4.14.0"
__version__ = "4.14.1.dev0"
-1
View File
@@ -196,7 +196,6 @@ class PretixPosSecurityProfile(AllowListSecurityProfile):
('POST', 'plugins:pretix_posbackend:posdebuglogentry-bulk-create'),
('GET', 'plugins:pretix_posbackend:poscashier-list'),
('POST', 'plugins:pretix_posbackend:stripeterminal.token'),
('POST', 'plugins:pretix_posbackend:stripeterminal.paymentintent'),
('PUT', 'plugins:pretix_posbackend:file.upload'),
('GET', 'api-v1:revokedsecrets-list'),
('GET', 'api-v1:event.settings'),
-9
View File
@@ -19,17 +19,11 @@
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
# <https://www.gnu.org/licenses/>.
#
import logging
import ujson
from rest_framework import exceptions
from rest_framework.response import Response
from rest_framework.views import exception_handler, status
from pretix.base.services.locking import LockTimeoutException
logger = logging.getLogger(__name__)
def custom_exception_handler(exc, context):
response = exception_handler(exc, context)
@@ -43,7 +37,4 @@ def custom_exception_handler(exc, context):
}
)
if isinstance(exc, exceptions.APIException):
logger.info(f'API Exception [{exc.status_code}]: {ujson.dumps(exc.detail)}')
return response
+1 -1
View File
@@ -411,7 +411,7 @@ class CloneEventSerializer(EventSerializer):
has_subevents = validated_data.pop('has_subevents', None)
tz = validated_data.pop('timezone', None)
sales_channels = validated_data.pop('sales_channels', None)
new_event = super().create({**validated_data, 'plugins': None})
new_event = super().create(validated_data)
event = Event.objects.filter(slug=self.context['event'], organizer=self.context['organizer'].pk).first()
new_event.copy_data_from(event)
-2
View File
@@ -184,8 +184,6 @@ class ItemSerializer(I18nAwareModelSerializer):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['default_price'].allow_null = False
self.fields['default_price'].required = True
if not self.read_only:
self.fields['require_membership_types'].queryset = self.context['event'].organizer.membership_types.all()
self.fields['grant_membership_type'].queryset = self.context['event'].organizer.membership_types.all()
+1 -1
View File
@@ -1378,7 +1378,7 @@ class OrderCreateSerializer(I18nAwareModelSerializer):
state=OrderPayment.PAYMENT_STATE_CREATED
)
order.create_transactions(is_new=True, fees=fees, positions=pos_map.values())
order.create_transactions(is_new=True, fees=fees, positions=pos_map.values(), source=self.context['source'])
return order
+1 -1
View File
@@ -61,7 +61,7 @@ class VoucherSerializer(I18nAwareModelSerializer):
class Meta:
model = Voucher
fields = ('id', 'code', 'max_usages', 'redeemed', 'min_usages', 'valid_until', 'block_quota',
fields = ('id', 'code', 'max_usages', 'redeemed', 'valid_until', 'block_quota',
'allow_ignore_quota', 'price_mode', 'value', 'item', 'variation', 'quota',
'tag', 'comment', 'subevent', 'show_hidden_items', 'seat')
read_only_fields = ('id', 'redeemed')
+14
View File
@@ -0,0 +1,14 @@
from pretix.api.models import OAuthAccessToken
from pretix.base.models import Device, TeamAPIToken
def get_api_source(request):
if isinstance(request.auth, Device):
return "pretix.api", f"device:{request.auth.pk}"
elif isinstance(request.auth, TeamAPIToken):
return "pretix.api", f"token:{request.auth.pk}"
elif isinstance(request.auth, OAuthAccessToken):
return "pretix.api", f"oauth.app:{request.auth.application.pk}"
elif request.user.is_authenticated:
return "pretix.api", f"user:{request.user.pk}"
return "pretix.api", None
-5
View File
@@ -92,11 +92,6 @@ class CartPositionViewSet(CreateModelMixin, DestroyModelMixin, viewsets.ReadOnly
def perform_create(self, serializer):
raise NotImplementedError()
@transaction.atomic()
def perform_destroy(self, instance):
instance.addons.all().delete()
instance.delete()
def _require_locking(self, quota_diff, voucher_use_diff, seat_diff):
if voucher_use_diff or seat_diff:
# If any vouchers or seats are used, we lock to make sure we don't redeem them to often
+2 -10
View File
@@ -241,17 +241,13 @@ class EventViewSet(viewsets.ModelViewSet):
except Event.DoesNotExist:
raise ValidationError('Event to copy from was not found')
# Ensure that .installed() is only called when we NOT clone
plugins = serializer.validated_data.pop('plugins', None)
serializer.validated_data['plugins'] = None
new_event = serializer.save(organizer=self.request.organizer)
if copy_from:
new_event.copy_data_from(copy_from)
if plugins:
new_event.set_active_plugins(plugins)
if 'plugins' in serializer.validated_data:
new_event.set_active_plugins(serializer.validated_data['plugins'])
if 'is_public' in serializer.validated_data:
new_event.is_public = serializer.validated_data['is_public']
if 'testmode' in serializer.validated_data:
@@ -266,10 +262,6 @@ class EventViewSet(viewsets.ModelViewSet):
else:
serializer.instance.set_defaults()
if plugins:
new_event.set_active_plugins(plugins)
new_event.save(update_fields=['plugins'])
serializer.instance.log_action(
'pretix.event.added',
user=self.request.user,
+14 -5
View File
@@ -61,7 +61,7 @@ from pretix.api.serializers.orderchange import (
OrderPositionCreateForExistingOrderSerializer,
OrderPositionInfoPatchSerializer,
)
from pretix.api.views import RichOrderingFilter
from pretix.api.utils import get_api_source
from pretix.base.i18n import language
from pretix.base.models import (
CachedCombinedTicket, CachedTicket, Checkin, Device, EventMetaValue,
@@ -191,6 +191,7 @@ class OrderViewSet(viewsets.ModelViewSet):
ctx['event'] = self.request.event
ctx['pdf_data'] = self.request.query_params.get('pdf_data', 'false') == 'true'
ctx['exclude'] = self.request.query_params.getlist('exclude')
ctx['source'] = get_api_source(self.request)
return ctx
def get_queryset(self):
@@ -391,7 +392,8 @@ class OrderViewSet(viewsets.ModelViewSet):
oauth_application=request.auth.application if isinstance(request.auth, OAuthAccessToken) else None,
send_mail=send_mail,
email_comment=comment,
cancellation_fee=cancellation_fee
cancellation_fee=cancellation_fee,
source=get_api_source(request),
)
except OrderError as e:
return Response(
@@ -415,6 +417,7 @@ class OrderViewSet(viewsets.ModelViewSet):
order,
user=request.user if request.user.is_authenticated else None,
auth=request.auth if isinstance(request.auth, (Device, TeamAPIToken, OAuthAccessToken)) else None,
source=get_api_source(request),
)
except OrderError as e:
return Response(
@@ -434,6 +437,7 @@ class OrderViewSet(viewsets.ModelViewSet):
user=request.user if request.user.is_authenticated else None,
auth=request.auth if isinstance(request.auth, (Device, TeamAPIToken, OAuthAccessToken)) else None,
send_mail=send_mail,
source=get_api_source(request),
)
except Quota.QuotaExceededException as e:
return Response({'detail': str(e)}, status=status.HTTP_400_BAD_REQUEST)
@@ -454,6 +458,7 @@ class OrderViewSet(viewsets.ModelViewSet):
auth=request.auth if isinstance(request.auth, (Device, TeamAPIToken, OAuthAccessToken)) else None,
send_mail=send_mail,
comment=comment,
source=get_api_source(request),
)
except OrderError as e:
return Response({'detail': str(e)}, status=status.HTTP_400_BAD_REQUEST)
@@ -492,6 +497,7 @@ class OrderViewSet(viewsets.ModelViewSet):
order,
user=request.user if request.user.is_authenticated else None,
auth=request.auth,
source=get_api_source(request),
)
return self.retrieve(request, [], **kwargs)
@@ -509,6 +515,7 @@ class OrderViewSet(viewsets.ModelViewSet):
order,
user=request.user if request.user.is_authenticated else None,
auth=(request.auth if isinstance(request.auth, (TeamAPIToken, OAuthAccessToken, Device)) else None),
source=get_api_source(request),
)
return self.retrieve(request, [], **kwargs)
@@ -931,7 +938,7 @@ with scopes_disabled():
class OrderPositionViewSet(viewsets.ModelViewSet):
serializer_class = OrderPositionSerializer
queryset = OrderPosition.all.none()
filter_backends = (DjangoFilterBackend, RichOrderingFilter)
filter_backends = (DjangoFilterBackend, OrderingFilter)
ordering = ('order__datetime', 'positionid')
ordering_fields = ('order__code', 'order__datetime', 'positionid', 'attendee_name', 'order__status',)
filterset_class = OrderPositionFilter
@@ -1485,7 +1492,8 @@ class PaymentViewSet(CreateModelMixin, viewsets.ReadOnlyModelViewSet):
if mark_refunded:
mark_order_refunded(payment.order,
user=self.request.user if self.request.user.is_authenticated else None,
auth=self.request.auth)
auth=self.request.auth,
source=get_api_source(self.request))
else:
payment.order.status = Order.STATUS_PENDING
payment.order.set_expires(
@@ -1558,7 +1566,7 @@ class RefundViewSet(CreateModelMixin, viewsets.ReadOnlyModelViewSet):
mark_refunded = request.data.get('mark_canceled', False)
if mark_refunded:
mark_order_refunded(refund.order, user=self.request.user if self.request.user.is_authenticated else None,
auth=self.request.auth)
auth=self.request.auth, source=get_api_source(self.request))
elif not (refund.order.status == Order.STATUS_PAID and refund.order.pending_sum <= 0):
refund.order.status = Order.STATUS_PENDING
refund.order.set_expires(
@@ -1611,6 +1619,7 @@ class RefundViewSet(CreateModelMixin, viewsets.ReadOnlyModelViewSet):
r.order,
user=request.user if request.user.is_authenticated else None,
auth=(request.auth if request.auth else None),
source=get_api_source(self.request),
)
except OrderError as e:
raise ValidationError(str(e))
@@ -0,0 +1,23 @@
# Generated by Django 3.2.2 on 2022-10-19 09:50
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('pretixbase', '0222_alter_question_unique_together'),
]
operations = [
migrations.AddField(
model_name='transaction',
name='source_identifier',
field=models.CharField(db_index=True, max_length=190, null=True),
),
migrations.AddField(
model_name='transaction',
name='source_type',
field=models.CharField(db_index=True, max_length=190, null=True),
),
]
@@ -1,18 +0,0 @@
# Generated by Django 3.2.12 on 2022-10-12 09:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('pretixbase', '0222_alter_question_unique_together'),
]
operations = [
migrations.AddField(
model_name='voucher',
name='min_usages',
field=models.PositiveIntegerField(default=1),
),
]
-1
View File
@@ -590,7 +590,6 @@ class Event(EventMixin, LoggedModel):
self.settings.event_list_type = 'calendar'
self.settings.invoice_email_attachment = True
self.settings.name_scheme = 'given_family'
self.settings.payment_banktransfer_invoice_immediately = True
@property
def social_image(self):
+24 -8
View File
@@ -1041,10 +1041,13 @@ class Order(LockModel, LoggedModel):
continue
yield op
def create_transactions(self, is_new=False, positions=None, fees=None, dt_now=None, migrated=False,
_backfill_before_cancellation=False, save=True):
def create_transactions(self, *, source=None, is_new=False, positions=None, fees=None,
dt_now=None, migrated=False, _backfill_before_cancellation=False, save=True):
dt_now = dt_now or now()
if source is not None and (not isinstance(source, tuple) or len(source) != 2 or not all(isinstance(a, str) or a is None for a in source)):
return ValueError("source needs to be a 2-tuple of (source_type(str), source_identifier(str))")
# Count the transactions we already have
current_transaction_count = Counter()
if not is_new:
@@ -1089,6 +1092,8 @@ class Order(LockModel, LoggedModel):
tax_value=taxvalue,
fee_type=feetype,
internal_type=internaltype,
source_type=source[0] if source else None,
source_identifier=source[1] if source else None,
))
create.sort(key=lambda t: (0 if t.count < 0 else 1, t.positionid or 0))
if save:
@@ -1573,7 +1578,7 @@ class OrderPayment(models.Model):
return self.order.event.get_payment_providers(cached=True).get(self.provider)
@transaction.atomic()
def _mark_paid_inner(self, force, count_waitinglist, user, auth, ignore_date=False, overpaid=False):
def _mark_paid_inner(self, force, count_waitinglist, user, auth, ignore_date=False, overpaid=False, source=None):
from pretix.base.signals import order_paid
can_be_paid = self.order._can_be_paid(count_waitinglist=count_waitinglist, ignore_date=ignore_date, force=force)
if can_be_paid is not True:
@@ -1596,7 +1601,9 @@ class OrderPayment(models.Model):
self.order.log_action('pretix.event.order.overpaid', {}, user=user, auth=auth)
order_paid.send(self.order.event, order=self.order)
if status_change:
self.order.create_transactions()
self.order.create_transactions(
source=source or ('pretix.payment', None),
)
def fail(self, info=None, user=None, auth=None, log_data=None):
"""
@@ -1630,7 +1637,7 @@ class OrderPayment(models.Model):
}, user=user, auth=auth)
def confirm(self, count_waitinglist=True, send_mail=True, force=False, user=None, auth=None, mail_text='',
ignore_date=False, lock=True, payment_date=None):
ignore_date=False, lock=True, payment_date=None, source=None):
"""
Marks the payment as complete. If possible, this also marks the order as paid if no further
payment is required
@@ -1693,10 +1700,11 @@ class OrderPayment(models.Model):
))
return
self._mark_order_paid(count_waitinglist, send_mail, force, user, auth, mail_text, ignore_date, lock, payment_sum - refund_sum)
self._mark_order_paid(count_waitinglist, send_mail, force, user, auth, mail_text, ignore_date, lock, payment_sum - refund_sum,
source)
def _mark_order_paid(self, count_waitinglist=True, send_mail=True, force=False, user=None, auth=None, mail_text='',
ignore_date=False, lock=True, payment_refund_sum=0):
ignore_date=False, lock=True, payment_refund_sum=0, source=None):
from pretix.base.services.invoices import (
generate_invoice, invoice_qualified,
)
@@ -1710,7 +1718,7 @@ class OrderPayment(models.Model):
with lockfn():
self._mark_paid_inner(force, count_waitinglist, user, auth, overpaid=payment_refund_sum > self.order.total,
ignore_date=ignore_date)
ignore_date=ignore_date, source=source)
invoice = None
if invoice_qualified(self.order):
@@ -2483,6 +2491,8 @@ class Transaction(models.Model):
:param id: ID of the transaction
:param order: Order the transaction belongs to
:param source_type: Functionality that caused the transaction to be created, usually the name of a module or plugin
:param source_identifier: Identifier of the entity that caused the transaction to be created, as defined by the module or plugin noted in ``source_type``.
:param datetime: Date and time of the transaction
:param migrated: Whether this object was reconstructed because the order was created before transactions where introduced
:param positionid: Affected Position ID, in case this transaction represents a change in an order position
@@ -2505,6 +2515,12 @@ class Transaction(models.Model):
related_name='transactions',
on_delete=models.PROTECT
)
source_type = models.CharField(
max_length=190, db_index=True, null=True, blank=True
)
source_identifier = models.CharField(
max_length=190, db_index=True, null=True, blank=True
)
created = models.DateTimeField(
auto_now_add=True,
db_index=True,
+1 -19
View File
@@ -137,8 +137,6 @@ class Voucher(LoggedModel):
:type max_usages: int
:param redeemed: The number of times this voucher already has been redeemed
:type redeemed: int
:param min_usages: The minimum number of times this voucher must be redeemed
:type min_usages: int
:param valid_until: The expiration date of this voucher (optional)
:type valid_until: datetime
:param block_quota: If set to true, this voucher will reserve quota for its holder
@@ -201,14 +199,6 @@ class Voucher(LoggedModel):
verbose_name=_("Redeemed"),
default=0
)
min_usages = models.PositiveIntegerField(
verbose_name=_("Minimum usages"),
help_text=_("If set to more than one, the voucher must be redeemed for this many products when it is used for "
"the first time. On later usages, it can also be used for lower numbers of products. Note that "
"this means that the total number of usages in some cases can be lower than this limit, e.g. in "
"case of cancellations."),
default=1
)
budget = models.DecimalField(
verbose_name=_("Maximum discount budget"),
help_text=_("This is the maximum monetary amount that will be discounted using this voucher across all usages. "
@@ -360,10 +350,6 @@ class Voucher(LoggedModel):
'redeemed': redeemed
}
)
if data.get('max_usages', 1) < data.get('min_usages', 1):
raise ValidationError(
_('The maximum number of usages may not be lower than the minimum number of usages.'),
)
@staticmethod
def clean_subevent(data, event):
@@ -478,7 +464,7 @@ class Voucher(LoggedModel):
if quota:
raise ValidationError(_('You need to choose a specific product if you select a seat.'))
if data.get('max_usages', 1) > 1 or data.get('min_usages', 1) > 1:
if data.get('max_usages', 1) > 1:
raise ValidationError(_('Seat-specific vouchers can only be used once.'))
if item and seat.product != item:
@@ -581,10 +567,6 @@ class Voucher(LoggedModel):
else:
return bool(subevent.seating_plan) if subevent else self.event.seating_plan
@property
def min_usages_remaining(self):
return max(1, self.min_usages - self.redeemed)
@classmethod
def annotate_budget_used_orders(cls, qs):
opq = OrderPosition.objects.filter(
+2 -1
View File
@@ -210,7 +210,8 @@ def cancel_event(self, event: Event, subevent: int, auto_refund: bool,
fee += min(p.price, Decimal(keep_fee_per_ticket))
fee = round_decimal(min(fee, o.payment_refund_sum), event.currency)
_cancel_order(o.pk, user, send_mail=False, cancellation_fee=fee, keep_fees=keep_fee_objects)
_cancel_order(o.pk, user, send_mail=False, cancellation_fee=fee, keep_fees=keep_fee_objects,
source=("pretix.cancelevent", None))
refund_amount = o.payment_refund_sum
try:
-50
View File
@@ -110,11 +110,6 @@ error_messages = {
'positions have been removed from your cart.'),
'price_too_high': _('The entered price is to high.'),
'voucher_invalid': _('This voucher code is not known in our database.'),
'voucher_min_usages': _('The voucher code "%(voucher)s" can only be used if you select at least %(number)s '
'matching products.'),
'voucher_min_usages_removed': _('The voucher code "%(voucher)s" can only be used if you select at least '
'%(number)s matching products. We have therefore removed some positions from '
'your cart that can no longer be purchased like this.'),
'voucher_redeemed': _('This voucher code has already been used the maximum number of times allowed.'),
'voucher_redeemed_cart': _('This voucher code is currently locked since it is already contained in a cart. This '
'might mean that someone else is redeeming this voucher right now, or that you tried '
@@ -529,15 +524,6 @@ class CartManager:
voucher_use_diff[voucher] += 1
ops.append((listed_price - price_after_voucher, self.VoucherOperation(p, voucher, price_after_voucher)))
for voucher, cnt in list(voucher_use_diff.items()):
if 0 < cnt < voucher.min_usages_remaining:
raise CartError(
_(error_messages['voucher_min_usages']) % {
'voucher': voucher.code,
'number': voucher.min_usages_remaining,
}
)
# If there are not enough voucher usages left for the full cart, let's apply them in the order that benefits
# the user the most.
ops.sort(key=lambda k: k[0], reverse=True)
@@ -929,41 +915,6 @@ class CartManager:
)
return err
def _check_min_per_voucher(self):
vouchers = Counter()
for p in self.positions:
vouchers[p.voucher] += 1
for op in self._operations:
if isinstance(op, self.AddOperation):
vouchers[op.voucher] += op.count
elif isinstance(op, self.RemoveOperation):
vouchers[op.position.voucher] -= 1
err = None
for voucher, count in vouchers.items():
if not voucher or count == 0:
continue
if count < voucher.min_usages_remaining:
self._operations = [o for o in self._operations if not (
isinstance(o, self.AddOperation) and o.voucher.pk == voucher.pk
)]
removals = [o.position.pk for o in self._operations if isinstance(o, self.RemoveOperation)]
for p in self.positions:
if p.voucher_id == voucher.pk and p.pk not in removals:
self._operations.append(self.RemoveOperation(position=p))
err = _(error_messages['voucher_min_usages_removed']) % {
'voucher': voucher.code,
'number': voucher.min_usages_remaining,
}
if not err:
raise CartError(
_(error_messages['voucher_min_usages']) % {
'voucher': voucher.code,
'number': voucher.min_usages_remaining,
}
)
return err
def _perform_operations(self):
vouchers_ok = self._get_voucher_availability()
quotas_ok = _get_quota_availability(self._quota_diff, self.now_dt)
@@ -1220,7 +1171,6 @@ class CartManager:
err = self._delete_out_of_timeframe()
err = self.extend_expired_positions() or err
err = err or self._check_min_per_voucher()
lockfn = NoLockManager
if self._require_locking():
+2 -1
View File
@@ -195,7 +195,8 @@ def import_orders(event: Event, fileid: str, settings: dict, locale: str, user)
user=user,
data={'source': 'import'}
)
save_transactions += o.create_transactions(is_new=True, fees=[], positions=o._positions, save=False)
save_transactions += o.create_transactions(is_new=True, fees=[], positions=o._positions, save=False,
source=('pretix.orderimport', None))
Transaction.objects.bulk_create(save_transactions)
for o in orders:
+31 -39
View File
@@ -115,8 +115,6 @@ error_messages = {
'server was too busy. Please try again.'),
'not_started': _('The booking period for this event has not yet started.'),
'ended': _('The booking period has ended.'),
'voucher_min_usages': _('The voucher code "%(voucher)s" can only be used if you select at least %(number)s '
'matching products.'),
'voucher_invalid': _('The voucher code used for one of the items in your cart is not known in our database.'),
'voucher_redeemed': _('The voucher code used for one of the items in your cart has already been used the maximum '
'number of times allowed. We removed this item from your cart.'),
@@ -150,7 +148,7 @@ def mark_order_paid(*args, **kwargs):
raise NotImplementedError("This method is no longer supported since pretix 1.17.")
def reactivate_order(order: Order, force: bool=False, user: User=None, auth=None):
def reactivate_order(order: Order, force: bool=False, user: User=None, auth=None, source=None):
"""
Reactivates a canceled order. If ``force`` is not set to ``True``, this will fail if there is not
enough quota.
@@ -191,7 +189,7 @@ def reactivate_order(order: Order, force: bool=False, user: User=None, auth=None
for m in position.granted_memberships.all():
m.canceled = False
m.save()
order.create_transactions()
order.create_transactions(source=source)
else:
raise OrderError(is_available)
@@ -204,7 +202,7 @@ def reactivate_order(order: Order, force: bool=False, user: User=None, auth=None
generate_invoice(order)
def extend_order(order: Order, new_date: datetime, force: bool=False, user: User=None, auth=None):
def extend_order(order: Order, new_date: datetime, force: bool=False, user: User=None, auth=None, source=None):
"""
Extends the deadline of an order. If the order is already expired, the quota will be checked to
see if this is actually still possible. If ``force`` is set to ``True``, the result of this check
@@ -233,7 +231,7 @@ def extend_order(order: Order, new_date: datetime, force: bool=False, user: User
num_invoices = order.invoices.filter(is_cancellation=False).count()
if num_invoices > 0 and order.invoices.filter(is_cancellation=True).count() >= num_invoices and invoice_qualified(order):
generate_invoice(order)
order.create_transactions()
order.create_transactions(source=source)
if order.status == Order.STATUS_PENDING:
change(was_expired=False)
@@ -247,16 +245,17 @@ def extend_order(order: Order, new_date: datetime, force: bool=False, user: User
@transaction.atomic
def mark_order_refunded(order, user=None, auth=None, api_token=None):
def mark_order_refunded(order, user=None, auth=None, api_token=None, source=None):
oautha = auth.pk if isinstance(auth, OAuthApplication) else None
device = auth.pk if isinstance(auth, Device) else None
api_token = (api_token.pk if api_token else None) or (auth if isinstance(auth, TeamAPIToken) else None)
return _cancel_order(
order.pk, user.pk if user else None, send_mail=False, api_token=api_token, device=device, oauth_application=oautha
order.pk, user.pk if user else None, send_mail=False, api_token=api_token, device=device, oauth_application=oautha,
source=source
)
def mark_order_expired(order, user=None, auth=None):
def mark_order_expired(order, user=None, auth=None, source=None):
"""
Mark this order as expired. This sets the payment status and returns the order object.
:param order: The order to change
@@ -275,13 +274,13 @@ def mark_order_expired(order, user=None, auth=None):
i = order.invoices.filter(is_cancellation=False).last()
if i and not i.refered.exists():
generate_cancellation(i)
order.create_transactions()
order.create_transactions(source=source)
order_expired.send(order.event, order=order)
return order
def approve_order(order, user=None, send_mail: bool=True, auth=None, force=False):
def approve_order(order, user=None, send_mail: bool=True, auth=None, force=False, source=None):
"""
Mark this order as approved
:param order: The order to change
@@ -294,7 +293,7 @@ def approve_order(order, user=None, send_mail: bool=True, auth=None, force=False
order.require_approval = False
order.set_expires(now(), order.event.subevents.filter(id__in=[p.subevent_id for p in order.positions.all()]))
order.save(update_fields=['require_approval', 'expires'])
order.create_transactions()
order.create_transactions(source=source)
order.log_action('pretix.event.order.approved', user=user, auth=auth)
if order.total == Decimal('0.00'):
@@ -343,7 +342,7 @@ def approve_order(order, user=None, send_mail: bool=True, auth=None, force=False
return order.pk
def deny_order(order, comment='', user=None, send_mail: bool=True, auth=None):
def deny_order(order, comment='', user=None, send_mail: bool=True, auth=None, source=None):
"""
Mark this order as canceled
:param order: The order to change
@@ -367,7 +366,7 @@ def deny_order(order, comment='', user=None, send_mail: bool=True, auth=None):
for position in order.positions.all():
if position.voucher:
Voucher.objects.filter(pk=position.voucher.pk).update(redeemed=Greatest(0, F('redeemed') - 1))
order.create_transactions()
order.create_transactions(source=source)
order_denied.send(order.event, order=order)
@@ -388,7 +387,7 @@ def deny_order(order, comment='', user=None, send_mail: bool=True, auth=None):
def _cancel_order(order, user=None, send_mail: bool=True, api_token=None, device=None, oauth_application=None,
cancellation_fee=None, keep_fees=None, cancel_invoice=True, comment=None):
cancellation_fee=None, keep_fees=None, cancel_invoice=True, comment=None, source=None):
"""
Mark this order as canceled
:param order: The order to change
@@ -488,7 +487,7 @@ def _cancel_order(order, user=None, send_mail: bool=True, api_token=None, device
data={'cancellation_fee': cancellation_fee, 'comment': comment})
order.cancellation_requests.all().delete()
order.create_transactions()
order.create_transactions(source=source)
if send_mail:
email_template = order.event.settings.mail_text_order_canceled
@@ -571,7 +570,6 @@ def _check_positions(event: Event, now_dt: datetime, positions: List[CartPositio
products_seen = Counter()
q_avail = Counter()
v_avail = Counter()
v_usages = Counter()
v_budget = {}
deleted_positions = set()
seats_seen = set()
@@ -609,7 +607,6 @@ def _check_positions(event: Event, now_dt: datetime, positions: List[CartPositio
break
if cp.voucher:
v_usages[cp.voucher] += 1
if cp.voucher not in v_avail:
redeemed_in_carts = CartPosition.objects.filter(
Q(voucher=cp.voucher) & Q(event=event) & Q(expires__gte=now_dt)
@@ -721,13 +718,6 @@ def _check_positions(event: Event, now_dt: datetime, positions: List[CartPositio
# Sorry, can't let you keep that!
delete(cp)
for voucher, cnt in v_usages.items():
if 0 < cnt < voucher.min_usages_remaining:
raise OrderError(error_messages['voucher_min_usages'], {
'voucher': voucher.code,
'number': voucher.min_usages_remaining,
})
# Check prices
sorted_positions = [cp for cp in sorted_positions if cp.pk and cp.pk not in deleted_positions]
old_total = sum(cp.price for cp in sorted_positions)
@@ -824,7 +814,7 @@ def _get_fees(positions: List[CartPosition], payment_provider: BasePaymentProvid
def _create_order(event: Event, email: str, positions: List[CartPosition], now_dt: datetime,
payment_provider: BasePaymentProvider, locale: str=None, address: InvoiceAddress=None,
meta_info: dict=None, sales_channel: str='web', gift_cards: list=None, shown_total=None,
customer=None):
customer=None, source=None):
p = None
sales_channel = get_all_sales_channels()[sales_channel]
@@ -926,7 +916,7 @@ def _create_order(event: Event, email: str, positions: List[CartPosition], now_d
)
orderpositions = OrderPosition.transform_cart_positions(positions, order)
order.create_transactions(positions=orderpositions, fees=fees, is_new=True)
order.create_transactions(positions=orderpositions, fees=fees, is_new=True, source=source, dt_now=now_dt)
order.log_action('pretix.event.order.placed')
if order.require_approval:
order.log_action('pretix.event.order.placed.require_approval')
@@ -978,7 +968,7 @@ def _order_placed_email_attendee(event: Event, order: Order, position: OrderPosi
def _perform_order(event: Event, payment_provider: str, position_ids: List[str],
email: str, locale: str, address: int, meta_info: dict=None, sales_channel: str='web',
gift_cards: list=None, shown_total=None, customer=None):
gift_cards: list=None, shown_total=None, customer=None, source=None):
if payment_provider:
pprov = event.get_payment_providers().get(payment_provider)
if not pprov:
@@ -1037,7 +1027,7 @@ def _perform_order(event: Event, payment_provider: str, position_ids: List[str],
_check_positions(event, now_dt, positions, address=addr, sales_channel=sales_channel, customer=customer)
order, payment = _create_order(event, email, positions, now_dt, pprov,
locale=locale, address=addr, meta_info=meta_info, sales_channel=sales_channel,
gift_cards=gift_cards, shown_total=shown_total, customer=customer)
gift_cards=gift_cards, shown_total=shown_total, customer=customer, source=source)
free_order_flow = payment and payment_provider == 'free' and order.pending_sum == Decimal('0.00') and not order.require_approval
if free_order_flow:
@@ -1099,7 +1089,7 @@ def expire_orders(sender, **kwargs):
expire = o.event.settings.get('payment_term_expire_automatically', as_type=bool)
event_id = o.event_id
if expire:
mark_order_expired(o)
mark_order_expired(o, source=("pretix.periodic", None))
@receiver(signal=periodic_task)
@@ -1292,7 +1282,7 @@ class OrderChangeManager:
CancelFeeOperation = namedtuple('CancelFeeOperation', ('fee', 'price_diff'))
RegenerateSecretOperation = namedtuple('RegenerateSecretOperation', ('position',))
def __init__(self, order: Order, user=None, auth=None, notify=True, reissue_invoice=True):
def __init__(self, order: Order, user=None, auth=None, notify=True, reissue_invoice=True, source=None):
self.order = order
self.user = user
self.auth = auth
@@ -1307,6 +1297,7 @@ class OrderChangeManager:
self.notify = notify
self._invoice_dirty = False
self._invoices = []
self.source = source
def change_item(self, position: OrderPosition, item: Item, variation: Optional[ItemVariation]):
if (not variation and item.has_variations) or (variation and variation.item_id != item.pk):
@@ -2342,9 +2333,9 @@ class OrderChangeManager:
self._reissue_invoice()
self._clear_tickets_cache()
self.order.touch()
self.order.create_transactions()
self.order.create_transactions(source=self.source)
if self.split_order:
self.split_order.create_transactions()
self.split_order.create_transactions(source=self.source)
if self.notify:
notify_user_changed_order(
@@ -2379,12 +2370,12 @@ class OrderChangeManager:
@app.task(base=ProfiledEventTask, bind=True, max_retries=5, default_retry_delay=1, throws=(OrderError,))
def perform_order(self, event: Event, payment_provider: str, positions: List[str],
email: str=None, locale: str=None, address: int=None, meta_info: dict=None,
sales_channel: str='web', gift_cards: list=None, shown_total=None, customer=None):
sales_channel: str='web', gift_cards: list=None, shown_total=None, customer=None, source=None):
with language(locale):
try:
try:
return _perform_order(event, payment_provider, positions, email, locale, address, meta_info,
sales_channel, gift_cards, shown_total, customer)
sales_channel, gift_cards, shown_total, customer, source=source)
except LockTimeoutException:
self.retry()
except (MaxRetriesExceededError, LockTimeoutException):
@@ -2514,11 +2505,12 @@ def _try_auto_refund(order, auto_refund=True, manual_refund=False, allow_partial
@scopes_disabled()
def cancel_order(self, order: int, user: int=None, send_mail: bool=True, api_token=None, oauth_application=None,
device=None, cancellation_fee=None, try_auto_refund=False, refund_as_giftcard=False,
email_comment=None, refund_comment=None, cancel_invoice=True):
email_comment=None, refund_comment=None, cancel_invoice=True, source=None):
try:
try:
ret = _cancel_order(order, user, send_mail, api_token, device, oauth_application,
cancellation_fee, cancel_invoice=cancel_invoice, comment=email_comment)
cancellation_fee, cancel_invoice=cancel_invoice, comment=email_comment,
source=source)
if try_auto_refund:
_try_auto_refund(order, refund_as_giftcard=refund_as_giftcard,
comment=refund_comment)
@@ -2530,7 +2522,7 @@ def cancel_order(self, order: int, user: int=None, send_mail: bool=True, api_tok
def change_payment_provider(order: Order, payment_provider, amount=None, new_payment=None, create_log=True,
recreate_invoices=True):
recreate_invoices=True, source=None):
if not get_connection().in_atomic_block:
raise Exception('change_payment_provider should only be called in atomic transaction!')
@@ -2618,7 +2610,7 @@ def change_payment_provider(order: Order, payment_provider, amount=None, new_pay
generate_cancellation(i)
generate_invoice(order)
order.create_transactions()
order.create_transactions(source=source)
return old_fee, new_fee, fee, new_payment
+2 -2
View File
@@ -112,7 +112,7 @@ def dictsum(*dicts) -> dict:
def order_overview(
event: Event, subevent: SubEvent=None, date_filter='', date_from=None, date_until=None, fees=False,
admission_only=False, base_qs=None
admission_only=False
) -> Tuple[List[Tuple[ItemCategory, List[Item]]], Dict[str, Tuple[Decimal, Decimal]]]:
items = event.items.all().select_related(
'category', # for re-grouping
@@ -120,7 +120,7 @@ def order_overview(
'variations'
).order_by('category__position', 'category_id', 'position', 'name')
qs = OrderPosition.all if base_qs is None else base_qs
qs = OrderPosition.all
if isinstance(subevent, (list, QuerySet)):
qs = qs.filter(subevent__in=subevent)
elif subevent:
-4
View File
@@ -64,10 +64,6 @@ class EventPluginSignal(django.dispatch.Signal):
# Send to all events!
return True
# If sentry packed this in a wrapper, unpack that
if "sentry" in receiver.__module__:
receiver = receiver.__wrapped__
# Find the Django application this belongs to
searchpath = receiver.__module__
core_module = any([searchpath.startswith(cm) for cm in settings.CORE_MODULES])
+4
View File
@@ -768,6 +768,10 @@ class ItemAddOnsFormSet(I18nFormSet):
if self._should_delete_form(form):
# This form is going to be deleted so any of its errors
# should not cause the entire formset to be invalid.
try:
categories.remove(form.cleaned_data['addon_category'].pk)
except KeyError:
pass
continue
if 'addon_category' in form.cleaned_data:
+2 -2
View File
@@ -72,7 +72,7 @@ class VoucherForm(I18nModelForm):
localized_fields = '__all__'
fields = [
'code', 'valid_until', 'block_quota', 'allow_ignore_quota', 'value', 'tag',
'comment', 'max_usages', 'min_usages', 'price_mode', 'subevent', 'show_hidden_items', 'budget'
'comment', 'max_usages', 'price_mode', 'subevent', 'show_hidden_items', 'budget'
]
field_classes = {
'valid_until': SplitDateTimeField,
@@ -308,7 +308,7 @@ class VoucherBulkForm(VoucherForm):
localized_fields = '__all__'
fields = [
'valid_until', 'block_quota', 'allow_ignore_quota', 'value', 'tag', 'comment',
'max_usages', 'min_usages', 'price_mode', 'subevent', 'show_hidden_items', 'budget'
'max_usages', 'price_mode', 'subevent', 'show_hidden_items', 'budget'
]
field_classes = {
'valid_until': SplitDateTimeField,
@@ -73,7 +73,6 @@
<legend>{% trans "Advanced settings" %}</legend>
{% bootstrap_field form.block_quota layout="control" %}
{% bootstrap_field form.allow_ignore_quota layout="control" %}
{% bootstrap_field form.min_usages layout="control" %}
{% bootstrap_field form.budget addon_after=request.event.currency layout="control" %}
{% bootstrap_field form.tag layout="control" %}
{% bootstrap_field form.comment layout="control" %}
@@ -85,7 +85,6 @@
<legend>{% trans "Advanced settings" %}</legend>
{% bootstrap_field form.block_quota layout="control" %}
{% bootstrap_field form.allow_ignore_quota layout="control" %}
{% bootstrap_field form.min_usages layout="control" %}
{% bootstrap_field form.budget addon_after=request.event.currency layout="control" %}
{% bootstrap_field form.tag layout="control" %}
{% bootstrap_field form.comment layout="control" %}
+1 -2
View File
@@ -276,8 +276,7 @@ class EventWizard(SafeSessionWizardView):
t.limit_events.add(event)
elif event.organizer.settings.event_team_provisioning:
t = Team.objects.create(
organizer=event.organizer,
name=_('Team {event}').format(event=str(event.name)[:188] + "" if len(str(event.name)) > 190 else str(event.name)),
organizer=event.organizer, name=_('Team {event}').format(event=event.name),
can_change_event_settings=True, can_change_items=True,
can_view_orders=True, can_change_orders=True, can_view_vouchers=True,
can_change_vouchers=True
+10 -7
View File
@@ -557,7 +557,7 @@ class OrderApprove(OrderView):
def post(self, *args, **kwargs):
if self.order.require_approval:
try:
approve_order(self.order, user=self.request.user)
approve_order(self.order, user=self.request.user, source=("pretix.control", f"user:{self.request.user.pk}"))
except OrderError as e:
messages.error(self.request, str(e))
else:
@@ -608,7 +608,8 @@ class OrderDeny(OrderView):
try:
deny_order(self.order, user=self.request.user,
comment=self.request.POST.get('comment'),
send_mail=self.request.POST.get('send_email') == 'on')
send_mail=self.request.POST.get('send_email') == 'on',
source=("pretix.control", f"user:{self.request.user.pk}"))
except OrderError as e:
messages.error(self.request, str(e))
else:
@@ -703,7 +704,7 @@ class OrderRefundProcess(OrderView):
if self.order.status != Order.STATUS_CANCELED and self.order.positions.exists():
if self.request.POST.get("action") == "r":
mark_order_refunded(self.order, user=self.request.user)
mark_order_refunded(self.order, user=self.request.user, source=("pretix.control", f"user:{self.request.user.pk}"))
elif not (self.order.status == Order.STATUS_PAID and self.order.pending_sum <= 0):
self.order.status = Order.STATUS_PENDING
self.order.set_expires(
@@ -1071,7 +1072,7 @@ class OrderRefundView(OrderView):
if any_success:
if self.start_form.cleaned_data.get('action') == 'mark_refunded':
if self.order.cancel_allowed():
mark_order_refunded(self.order, user=self.request.user)
mark_order_refunded(self.order, user=self.request.user, source=("pretix.control", f"user:{self.request.user.pk}"))
elif self.start_form.cleaned_data.get('action') == 'mark_pending':
if not (self.order.status == Order.STATUS_PAID and self.order.pending_sum <= 0):
self.order.status = Order.STATUS_PENDING
@@ -1274,7 +1275,8 @@ class OrderTransition(OrderView):
email_comment=self.mark_canceled_form.cleaned_data['comment'],
send_mail=self.mark_canceled_form.cleaned_data['send_email'],
cancel_invoice=self.mark_canceled_form.cleaned_data.get('cancel_invoice', True),
cancellation_fee=self.mark_canceled_form.cleaned_data.get('cancellation_fee'))
cancellation_fee=self.mark_canceled_form.cleaned_data.get('cancellation_fee'),
source=("pretix.control", f"user:{self.request.user.pk}"))
except OrderError as e:
messages.error(self.request, str(e))
else:
@@ -1297,7 +1299,7 @@ class OrderTransition(OrderView):
else:
return self.get(self.request, *args, **kwargs)
elif self.order.status == Order.STATUS_PENDING and to == 'e':
mark_order_expired(self.order, user=self.request.user)
mark_order_expired(self.order, user=self.request.user, source=("pretix.control", f"user:{self.request.user.pk}"))
messages.success(self.request, _('The order has been marked as expired.'))
return redirect(self.get_order_url())
@@ -1574,7 +1576,8 @@ class OrderReactivate(OrderView):
reactivate_order(
self.order,
user=self.request.user,
force=self.reactivate_form.cleaned_data.get('force', False)
force=self.reactivate_form.cleaned_data.get('force', False),
source=("pretix.control", f"user:{self.request.user.pk}"),
)
messages.success(self.request, _('The order has been reactivated.'))
except OrderError as e:
+18 -1
View File
@@ -23,7 +23,8 @@ import pyuca
from babel.core import Locale
from django.core.cache import cache
from django.utils import translation
from django_countries import Countries
from django.utils.encoding import force_str
from django_countries import Countries, CountryTuple
from django_countries.fields import CountryField
from phonenumbers.data import _COUNTRY_CODE_TO_REGION_CODE
@@ -60,6 +61,22 @@ class CachedCountries(Countries):
cache.set(cache_key, val, 3600 * 24 * 30)
yield from val
def translate_pair(self, code: str, name=None):
# We need to temporarily override this function until
# https://github.com/SmileyChris/django-countries/issues/364
# is fixed
if name is None:
name = self.countries[code]
if isinstance(name, dict):
if "names" in name:
country_name: str = name["names"][0]
else:
country_name = name["name"]
else:
country_name = name
country_name = force_str(country_name)
return CountryTuple(code, country_name)
class FastCountryField(CountryField):
def __init__(self, *args, **kwargs):
-40
View File
@@ -21,49 +21,9 @@
#
import logging
import sentry_sdk
from django.core.signals import request_finished
from django.dispatch import receiver
try:
from asgiref.local import Local
except ImportError:
from threading import local as Local
from django.conf import settings
class AdminExistsFilter(logging.Filter):
def filter(self, record):
return not settings.DEBUG and len(settings.ADMINS) > 0
local = Local()
class RequestIdFilter(logging.Filter):
def filter(self, record):
record.request_id = getattr(local, 'request_id', None)
return True
class RequestIdMiddleware:
def __init__(self, get_response):
self.get_response = get_response
def __call__(self, request):
if settings.REQUEST_ID_HEADER and settings.REQUEST_ID_HEADER in request.headers:
local.request_id = request.request_id = request.headers[settings.REQUEST_ID_HEADER]
if settings.SENTRY_ENABLED:
sentry_sdk.set_tag("request_id", request.request_id)
else:
local.request_id = request.request_id = None
return self.get_response(request)
@receiver(request_finished)
def on_request_finished(sender, **kwargs):
# not part of middleware, since things could be logged after the middleware stack is finished
local.request_id = None
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2021-09-15 11:22+0000\n"
"Last-Translator: Mohamed Tawfiq <mtawfiq@wafyapp.com>\n"
"Language-Team: Arabic <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -643,32 +643,32 @@ msgstr[3] "سيتم حجز العناصر لك في سلة التسوق لعدة
msgstr[4] "سيتم حجز العناصر لك في سلة التسوق لدقائق {num}."
msgstr[5] "سيتم حجز العناصر لك في سلة التسوق لمدة {num}."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "يحصل المنظم على %(currency) %(amount)"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "ستسترد %(currency)%(amount)"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "الرجاء إدخال المبلغ الذي يمكن للمنظم الاحتفاظ به."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "الرجاء إدخال عدد لأحد أنواع التذاكر."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "مطلوب"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "المنطقة الزمنية:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "التوقيت المحلي:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2020-12-19 07:00+0000\n"
"Last-Translator: albert <albert.serra.monner@gmail.com>\n"
"Language-Team: Catalan <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -616,34 +616,34 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "El contingut de la cistella ja no el teniu reservat."
msgstr[1] "El contingut de la cistella ja no el teniu reservat."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Cistella expirada"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2021-12-06 23:00+0000\n"
"Last-Translator: Ondřej Sokol <osokol@treesoft.cz>\n"
"Language-Team: Czech <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -636,32 +636,32 @@ msgstr[1] ""
msgstr[2] ""
"Produkty v nákupním košíku jsou pro vás rezervovány na dalších {num} minut."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "Organizátor si ponechává %(currency)s %(amount)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Dostanete %(currency)s %(amount)s zpět"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Zadejte částku, kterou si organizátor může ponechat."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Zadejte prosím množství pro jeden z typů vstupenek."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "povinný"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Časové pásmo:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Místní čas:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-04-01 13:36+0000\n"
"Last-Translator: Anna-itk <abc@aarhus.dk>\n"
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -665,40 +665,40 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "Varerne i din kurv er reserveret for dig i et minut."
msgstr[1] "Varerne i din kurv er reserveret for dig i {num} minutter."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "fra %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "fra %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Kurv udløbet"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Tidszone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Din lokaltid:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-07-26 08:58+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -638,32 +638,32 @@ msgstr[0] ""
msgstr[1] ""
"Die Produkte in Ihrem Warenkorb sind noch {num} Minuten für Sie reserviert."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "Der Veranstalter behält %(currency)s %(amount)s ein"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Sie erhalten %(currency)s %(amount)s zurück"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Bitte geben Sie den Betrag ein, den der Veranstalter einbehalten darf."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Bitte tragen Sie eine Menge für eines der Produkte ein."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "verpflichtend"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Zeitzone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Deine lokale Zeit:"
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-07-26 08:58+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German (informal) <https://translate.pretix.eu/projects/"
@@ -637,32 +637,32 @@ msgstr[0] ""
msgstr[1] ""
"Die Produkte in deinem Warenkorb sind noch {num} Minuten für dich reserviert."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "Der Veranstalter behält %(currency)s %(amount)s ein"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Du erhältst %(currency)s %(amount)s zurück"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Bitte gib den Betrag ein, den der Veranstalter einbehalten darf."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Bitte trage eine Menge für eines der Produkte ein."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "verpflichtend"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Zeitzone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Deine lokale Zeit:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -611,32 +611,32 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] ""
msgstr[1] ""
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2019-10-03 19:00+0000\n"
"Last-Translator: Chris Spy <chrispiropoulou@hotmail.com>\n"
"Language-Team: Greek <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -677,40 +677,40 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "Τα είδη στο καλάθι θα παραμείνουν δεσμευμένα για ένα λεπτό."
msgstr[1] "Τα είδη στο καλάθι θα παραμείνουν δεσμευμένα για {num} λεπτά."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "απο %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "απο %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Εισαγάγετε μια ποσότητα για έναν από τους τύπους εισιτηρίων."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Το καλάθι έληξε"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2021-11-25 21:00+0000\n"
"Last-Translator: Ismael Menéndez Fernández <ismael.menendez@balidea.com>\n"
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -637,32 +637,32 @@ msgstr[0] ""
msgstr[1] ""
"Los elementos en su carrito de compras se han reservado por {num} minutos."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "El organizador se queda %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Obtienes %(currency)s %(price)s de vuelta"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Por favor, ingrese el monto que el organizador puede quedarse."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Por favor, introduzca un valor para cada tipo de entrada."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "campo requerido"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Zona horaria:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Su hora local:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2021-11-10 05:00+0000\n"
"Last-Translator: Jaakko Rinta-Filppula <jaakko@r-f.fi>\n"
"Language-Team: Finnish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -636,34 +636,34 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "Ostoskorissasi olevat tuotteet eivät ole enää varattu sinulle."
msgstr[1] "Ostoskorissasi olevat tuotteet eivät ole enää varattu sinulle."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Ostoskori on vanhentunut"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Aikavyöhyke:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: French\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-04-07 10:40+0000\n"
"Last-Translator: Eva-Maria Obermann <obermann@rami.io>\n"
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -665,40 +665,40 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "Les articles de votre panier sont réservés pour une minute."
msgstr[1] "Les articles de votre panier sont réservés pendant {num} minutes."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "de %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "de %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "SVP entrez une quantité pour un de vos types de billets."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Panier expiré"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-02-22 22:00+0000\n"
"Last-Translator: Ismael Menéndez Fernández <ismael.menendez@balidea.com>\n"
"Language-Team: Galician <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -634,32 +634,32 @@ msgstr[0] "Os artigos da túa cesta están reservados para ti durante un minuto.
msgstr[1] ""
"Os artigos da túa cesta están reservados para ti durante {num} minutos."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "O organizador queda %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Obtés %(currency)s %(price)s de volta"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Por favor, ingrese a cantidade que pode conservar o organizador."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Por favor, introduza un valor para cada tipo de entrada."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "campo requirido"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Zona horaria:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "A súa hora local:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2021-09-24 13:54+0000\n"
"Last-Translator: ofirtro <ofir.tro@gmail.com>\n"
"Language-Team: Hebrew <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -619,32 +619,32 @@ msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2020-01-24 08:00+0000\n"
"Last-Translator: Prokaj Miklós <mixolid0@gmail.com>\n"
"Language-Team: Hungarian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -665,40 +665,40 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "A kosár tartalma egy percig foglalva van számodra."
msgstr[1] "A kosár tartalma {num} percig foglalva van számodra."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "%(currency) %(price)-tól"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "%(currency) %(price)-tól"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Adjon meg egy mennyiséget az egyik jegytípusból."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "A kosár lejárt"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-05-08 19:00+0000\n"
"Last-Translator: Emanuele Signoretta <signorettae@gmail.com>\n"
"Language-Team: Italian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -632,32 +632,32 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "Gli elementi nel tuo carrello sono riservati per 1 minuto."
msgstr[1] "Gli elementi nel tuo carrello sono riservati per {num} minuti."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "L'organizzatore trattiene %(currency)s %(amount)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Ricevi indietro %(currency)s %(amount)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Inserisci l'importo che l'organizzatore può trattenere."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Inserisci la quantità per una tipologia di biglietto."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "richiesto"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Fuso orario:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Ora locale:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+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-"
@@ -627,32 +627,32 @@ msgid "The items in your cart are reserved for you for one minute."
msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "カート内の商品の予約は {num} 分以内に完了します。"
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "主催者には%(currency)s %(amount)sが与えられます"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "%(currency)s %(amount)s が払い戻されます"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "イベント開催者が受け取る料金を入力してください。"
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "商品の総数を入力してください。"
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "必須"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "タイムゾーン:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "現地時間:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-04-06 03:00+0000\n"
"Last-Translator: Liga V <lerning_by_dreaming@gmx.de>\n"
"Language-Team: Latvian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -638,32 +638,32 @@ msgstr[0] "Preces jūsu grozā ir rezervētas nulle minūtes."
msgstr[1] "Preces jūsu grozā ir rezervētas vienu minūti."
msgstr[2] "Preces jūsu grozā ir rezervētas uz {num} minūtēm."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "Pasākuma organizators patur %(valūta)s %(skaits)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Jūs saņemsiet %(valūta)s %(cena)s atpakaļ"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Lūdzu ievadiet skaitu (summu), ko pasākuma organizators var paturēt."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Lūdzu, ievadiet nepieciešamo daudzumu izvēlētajam biļešu veidam."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "obligāts"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Laika zona:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Vietējais laiks:"
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-06-20 02:00+0000\n"
"Last-Translator: fyksen <fredrik@fyksen.me>\n"
"Language-Team: Norwegian Bokmål <https://translate.pretix.eu/projects/pretix/"
@@ -624,32 +624,32 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "Varene i handlekurven din er reservert for deg i ett minutt."
msgstr[1] "Varene i handlekurven din er reservert for deg i {num} minutter."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "Arrangøren beholder %(currency)s %(beløp)"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Du mottar %(currency)s %(amount)s tilbake"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Vennligst skriv inn beløpet arrangøren kan beholde."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Vennligst skriv inn et antall for en av billetttypene."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "nødvendig"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Tidssone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Din lokale tid:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2021-10-29 02:00+0000\n"
"Last-Translator: Maarten van den Berg <maartenberg1@gmail.com>\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -630,32 +630,32 @@ msgstr[0] "De items in uw winkelwagen zijn nog één minuut voor u gereserveerd.
msgstr[1] ""
"De items in uw winkelwagen zijn nog {num} minuten voor u gereserveerd."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "De organisator houdt %(currency)s %(amount)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "U krijgt %(currency)s %(amount)s terug"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Voer het bedrag in dat de organisator mag houden."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Voer een hoeveelheid voor een van de producten in."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "verplicht"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Tijdzone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Uw lokale tijd:"
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -610,32 +610,32 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] ""
msgstr[1] ""
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2021-08-05 04:00+0000\n"
"Last-Translator: Maarten van den Berg <maartenberg1@gmail.com>\n"
"Language-Team: Dutch (informal) <https://translate.pretix.eu/projects/pretix/"
@@ -640,32 +640,32 @@ msgstr[0] ""
msgstr[1] ""
"De items in je winkelwagen zijn nog {num} minuten voor je gereserveerd."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "De organisator houdt %(currency)s %(amount)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Jij krijgt %(currency)s %(amount)s terug"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Voer het bedrag in dat de organisator mag houden."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Voer een hoeveelheid voor een van de producten in."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "verplicht"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Tijdzone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Je lokale tijd:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2019-09-24 19:00+0000\n"
"Last-Translator: Serge Bazanski <q3k@hackerspace.pl>\n"
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -672,40 +672,40 @@ msgstr[0] "Przedmioty w koszyku są zarezerwowane na jedną minutę."
msgstr[1] "Przedmioty w koszyku są zarezerwowane na {num} minuty."
msgstr[2] "Przedmioty w koszyku są zarezerwowane na {num} minut."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "od %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "od %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Proszę wybrać liczbę dla jednego z typów biletów."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Koszyk wygasł"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -613,32 +613,32 @@ msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -611,32 +611,32 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] ""
msgstr[1] ""
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2019-03-19 09:00+0000\n"
"Last-Translator: Vitor Reis <vitor.reis7@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://translate.pretix.eu/projects/"
@@ -679,40 +679,40 @@ msgstr[0] "Os items em seu carrinho estão reservados para você por 1 minuto."
msgstr[1] ""
"Os items em seu carrinho estão reservados para você por {num} minutos."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "A partir de %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "A partir de %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "O carrinho expirou"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2020-10-27 06:00+0000\n"
"Last-Translator: David Vaz <davidmgvaz@gmail.com>\n"
"Language-Team: Portuguese (Portugal) <https://translate.pretix.eu/projects/"
@@ -656,34 +656,34 @@ msgstr[0] "Os artigos no seu carrinho estão reservados para si por um minuto."
msgstr[1] ""
"Os artigos no seu carrinho estão reservados para si por {num} minutos."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "O organizador mantém %(currency)s %(amount)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Recebes %(currency)s %(amount)s de volta"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Por favor insira o montante com que a organização pode ficar."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Por favor insira a quantidade para um tipo de bilhetes."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Carrinho expirado"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Fuso horário:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Sua hora local:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-04-29 04:00+0000\n"
"Last-Translator: Edd28 <chitu_edy@yahoo.com>\n"
"Language-Team: Romanian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -637,32 +637,32 @@ msgstr[0] "Articolele din coș mai sunt rezervate pentru încă un minut."
msgstr[1] "Articolele din coș mai sunt rezervate pentru încă {num} minute."
msgstr[2] "Articolele din coș mai sunt rezervate pentru încă {num} minute."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "Organizatorul păstrează %(currency)s %(amount)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Primești înapoi %(currency)s %(amount)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Introdu valoarea pe care o poate păstra organizatorul."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Introdu cantitatea pentru unul dintre tipurile de bilete."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "necesar"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Fus orar:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Ora locală:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2021-08-09 13:10+0000\n"
"Last-Translator: Svyatoslav <slava@digitalarthouse.eu>\n"
"Language-Team: Russian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -669,40 +669,40 @@ msgstr[0] "Резервирование позиций в вашей корзи
msgstr[1] "Резервирование позиций в вашей корзине прекращено."
msgstr[2] "Резервирование позиций в вашей корзине прекращено."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "от %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "от %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Пожалуйста, введите количество для одного из типов билетов."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Срок действия корзины истёк"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -610,32 +610,32 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] ""
msgstr[1] ""
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2019-08-27 08:00+0000\n"
"Last-Translator: Bostjan Marusic <bostjan@brokenbones.si>\n"
"Language-Team: Slovenian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -670,40 +670,40 @@ msgstr[1] "Izdelki v vaši košarici bodo rezervirani še dve minuti."
msgstr[2] "Izdelki v vaši košarici bodo rezervirani še nekaj minut."
msgstr[3] "Izdelki v vaši košarici bodo rezervirani še več minut."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "od %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "od %(currency)s %(price)s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Prosimo vnesite količino za eno od vrst vstopnic."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Vsebina košarice je potekla"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-03-03 07:00+0000\n"
"Last-Translator: MaLund13 <mart.lund13@gmail.com>\n"
"Language-Team: Swedish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -628,32 +628,32 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] "Artiklarna i din varukorg är reserverade för dig i en minut."
msgstr[1] "Artiklarna i din varukorg är reserverade för dig i {num} minuter."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "Arrangören behåller %(amount)s %(currency)s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr "Du får %(amount)s %(currency)s tillbaka"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr "Vänligen ange det belopp som arrangören kan behålla."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Vänligen ange en kvantitet för en av biljettyperna."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "obligatorisk"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Tidszon:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Din lokala tid:"
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2018-09-03 06:36+0000\n"
"Last-Translator: Yunus Fırat Pişkin <firat.piskin@idvlabs.com>\n"
"Language-Team: Turkish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -682,40 +682,40 @@ msgstr[1] ""
"Diğer\n"
"Sepetinizdeki ürünler {num} dakikalığına ayrılmıştır."
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr "% (para birimi) s% (fiyat) s"
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
#, fuzzy
#| msgctxt "widget"
#| msgid "from %(currency)s %(price)s"
msgid "You get %(currency)s %(amount)s back"
msgstr "% (para birimi) s% (fiyat) s"
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Sepetinizin süresi doldu"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr ""
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-26 18:57+0000\n"
"POT-Creation-Date: 2022-10-11 09:30+0000\n"
"PO-Revision-Date: 2022-05-10 02:00+0000\n"
"Last-Translator: Iryna N <in380@nyu.edu>\n"
"Language-Team: Ukrainian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -635,32 +635,32 @@ msgid_plural "The items in your cart are reserved for you for {num} minutes."
msgstr[0] ""
msgstr[1] ""
#: pretix/static/pretixpresale/js/ui/main.js:152
#: pretix/static/pretixpresale/js/ui/main.js:144
msgid "The organizer keeps %(currency)s %(amount)s"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:160
#: pretix/static/pretixpresale/js/ui/main.js:152
msgid "You get %(currency)s %(amount)s back"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:176
#: pretix/static/pretixpresale/js/ui/main.js:168
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:380
msgid "Please enter a quantity for one of the ticket types."
msgstr "Будь ласка, введіть кількість для одного типу квитків."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:416
msgid "required"
msgstr "обов'язково"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:519
#: pretix/static/pretixpresale/js/ui/main.js:538
msgid "Time zone:"
msgstr "Часовий пояс:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:529
msgid "Your local time:"
msgstr "Ваш місцевий час:"
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More