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