Compare commits

...

38 Commits

Author SHA1 Message Date
Raphael Michel
3cdb992134 Bump dnspython to 2.2.* 2022-12-20 11:55:52 +01:00
Raphael Michel
9b0b8e2061 GitHub Actions: Set FORCE_COLOR = 1 2022-12-19 15:31:08 +01:00
Raphael Michel
b6e65e7356 PPv2: Fix CSP issue in 3D secure verification 2022-12-19 14:53:46 +01:00
Raphael Michel
5d82305e18 CSP: Deduplicate identical values 2022-12-19 14:53:32 +01:00
Raphael Michel
c8983ca863 CSP: Do not set nonce if unsafe-inline is set 2022-12-19 14:52:58 +01:00
Raphael Michel
52f6b7c971 GitHub: Try to use a better dependabot strategy 2022-12-19 14:03:48 +01:00
Raphael Michel
809177397a Update celery to 5.2 (#2983) 2022-12-19 13:56:16 +01:00
Raphael Michel
b83cb7d8c4 Bump PyPDF2 to 2.12.* 2022-12-19 13:55:20 +01:00
Raphael Michel
bfd980fc30 Bump isort to 5.11.* 2022-12-19 13:54:18 +01:00
Raphael Michel
5bc3503d04 Bump django-debug-toolbar to 3.8.* 2022-12-19 13:53:54 +01:00
Raphael Michel
a582db3280 Set stacklevel=2 on DeprecationWarning 2022-12-19 13:53:44 +01:00
Raphael Michel
bd4ea5d8f8 Reduce number of rows in invoice preview 2022-12-19 13:00:53 +01:00
Raphael Michel
5dec94606b Do not require new plugins to sett default=True on their AppConfig 2022-12-19 12:34:49 +01:00
Raphael Michel
ab97082c85 Remove all RemovedInDjango40Warning exceptions 2022-12-19 12:30:48 +01:00
Raphael Michel
0723ff92ee Stricter deprecation warnings 2022-12-19 12:30:24 +01:00
Raphael Michel
15272cc3e6 Bump django-oauth-toolkit to 2.2.* (#2985) 2022-12-19 12:26:45 +01:00
Raphael Michel
60554dad9a Remove usage of deprecated Django APIs 2022-12-17 16:26:24 +01:00
Raphael Michel
b288ea1e96 Docs: Add procedure after debian updates (#2984) 2022-12-16 19:28:24 +01:00
Raphael Michel
6a4b792501 API: Fix using invoice address attributes in "include" 2022-12-16 15:23:35 +01:00
ser8phin
8dd83e5a35 Add lifetime spending to customer details (#2934)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2022-12-16 15:20:22 +01:00
Raphael Michel
bd5c9a4cb5 Order search: Further query-specific fine tuning 2022-12-15 16:27:42 +01:00
Raphael Michel
0cd8bbf9a9 Order search: Fix missing field in only() call 2022-12-15 16:27:42 +01:00
Raphael Michel
d46989473b Customer accounts: Show event date in order list 2022-12-15 16:27:42 +01:00
Richard Schreiber
b31b2d34c0 Editor: fix sample text when key missing (#2980) 2022-12-15 16:20:11 +01:00
Richard Schreiber
5e963d87d9 Presale: Improve visibiltity of edit links on order confirm/details page (Z#23108817) 2022-12-15 11:22:28 +01:00
Raphael Michel
a8e0eea69a Docs: Fix very old API compatibility statement 2022-12-15 10:35:23 +01:00
Raphael Michel
efa9f6dfe5 Order search: Fix missing field in only() call 2022-12-14 18:19:44 +01:00
Raphael Michel
857377d16c Work around performance issue in get_all_payment_providers 2022-12-14 18:14:01 +01:00
Raphael Michel
229b6fed4a Translations: Update German (informal) (de_Informal)
Currently translated at 100.0% (4934 of 4934 strings)

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

powered by weblate
2022-12-14 16:44:53 +01:00
Raphael Michel
b2e4fb6db3 Translations: Update German
Currently translated at 100.0% (4934 of 4934 strings)

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

powered by weblate
2022-12-14 16:44:53 +01:00
Raphael Michel
16b15057fd Translations: Add XXX, XXXX, XXXXX to wordlist 2022-12-14 16:33:36 +01:00
Raphael Michel
e4168ff06a Translations: Add XXX, XXXX, XXXXX to wordlist 2022-12-14 16:29:48 +01:00
Raphael Michel
b208db32c7 Fix wrong version number 2022-12-14 14:13:40 +01:00
Raphael Michel
ce177227c7 Update po files
[CI skip]

Signed-off-by: Raphael Michel <michel@rami.io>
2022-12-14 14:09:36 +01:00
Raphael Michel
2cd70ef434 Bump redis to 4.4.* 2022-12-14 14:08:52 +01:00
Raphael Michel
633755ab13 Bump django-countries to 7.5.* 2022-12-14 14:08:52 +01:00
Raphael Michel
6ade32d7cb Bump pycryptodome to 3.16.* 2022-12-14 14:08:52 +01:00
Raphael Michel
cea6c340be Bank transfer: Allow to send the invoice direclty to the accounting department (#2975) 2022-12-14 14:08:50 +01:00
136 changed files with 35401 additions and 30986 deletions

View File

@@ -9,6 +9,7 @@ updates:
directory: "/src"
schedule:
interval: "daily"
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/src/pretix/static/npm_dir"
schedule:

View File

@@ -17,6 +17,9 @@ on:
permissions:
contents: read # to fetch code (actions/checkout)
env:
FORCE_COLOR: 1
jobs:
spelling:
name: Spellcheck

View File

@@ -15,6 +15,9 @@ on:
permissions:
contents: read # to fetch code (actions/checkout)
env:
FORCE_COLOR: 1
jobs:
compile:
runs-on: ubuntu-22.04

View File

@@ -15,6 +15,9 @@ on:
permissions:
contents: read # to fetch code (actions/checkout)
env:
FORCE_COLOR: 1
jobs:
isort:
name: isort

View File

@@ -15,6 +15,9 @@ on:
permissions:
contents: read # to fetch code (actions/checkout)
env:
FORCE_COLOR: 1
jobs:
test:
runs-on: ubuntu-22.04

View File

@@ -318,6 +318,27 @@ example::
(venv)$ python -m pretix rebuild
# systemctl restart pretix-web pretix-worker
System updates
--------------
After system updates, such as updates to a new Ubuntu or Debian release, you might be using a new Python version.
That's great, but requires some adjustments. First, adjust any old version paths in your nginx configuration file.
Then, re-create your Python environment::
$ source /var/pretix/venv/bin/activate
(venv)$ pip3 freeze > /tmp/pip-backup.txt
$ rm -rf /var/pretix/venv
$ python3 -m venv /var/pretix/venv
$ source /var/pretix/venv/bin/activate
(venv)$ pip3 install -U pip wheel setuptools
(venv)$ pip3 install -r /tmp/pip-backup.txt
Then, proceed like after any plugin installation::
(venv)$ python -m pretix migrate
(venv)$ python -m pretix rebuild
(venv)$ python -m pretix updatestyles
# systemctl restart pretix-web pretix-worker
.. _Postfix: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-as-a-send-only-smtp-server-on-ubuntu-16-04
.. _nginx: https://botleg.com/stories/https-with-lets-encrypt-and-nginx/

View File

@@ -48,10 +48,11 @@ Possible permissions are:
Compatibility
-------------
We currently see pretix' API as a beta-stage feature. We therefore do not give any guarantees
for compatibility between feature releases of pretix (such as 1.5 and 1.6). However, as always,
we try not to break things when we don't need to. Any backwards-incompatible changes will be
prominently noted in the release notes.
We try to avoid any breaking changes to our API to avoid hassle on your end. If possible, we'll
build new features in a way that keeps all pre-existing API usage unchanged. In some cases,
this might not be possible or only possible with restrictions. In these case, any
backwards-incompatible changes will be prominently noted in the "Changes to the REST API"
section of our release notes. If possible, we will announce them multiple releases in advance.
We treat the following types of changes as *backwards-compatible* so we ask you to make sure
that your clients can deal with them properly:
@@ -60,6 +61,7 @@ that your clients can deal with them properly:
* Support of new HTTP methods for a given API endpoint
* Support of new query parameters for a given API endpoint
* New fields contained in API responses
* New possible values of enumeration-like fields
* Response body structure or message texts on failed requests (``4xx``, ``5xx`` response codes)
We treat the following types of changes as *backwards-incompatible*:

View File

@@ -0,0 +1,77 @@
# Generated by Django 3.2.16 on 2022-12-17 18:47
import uuid
import django.db.models.deletion
import oauth2_provider.generators
import oauth2_provider.models
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('pretixbase', '0226_itemvariationmetavalue'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('pretixapi', '0008_webhookcallretry'),
]
run_before = [
('oauth2_provider', '0002_auto_20190406_1805'),
]
operations = [
migrations.AddField(
model_name='oauthapplication',
name='algorithm',
field=models.CharField(default='', max_length=5),
),
migrations.AddField(
model_name='oauthgrant',
name='claims',
field=models.TextField(default=''),
preserve_default=False,
),
migrations.AddField(
model_name='oauthgrant',
name='code_challenge',
field=models.CharField(default='', max_length=128),
),
migrations.AddField(
model_name='oauthgrant',
name='code_challenge_method',
field=models.CharField(default='', max_length=10),
),
migrations.AddField(
model_name='oauthgrant',
name='nonce',
field=models.CharField(default='', max_length=255),
),
migrations.AlterField(
model_name='oauthapplication',
name='client_secret',
field=oauth2_provider.models.ClientSecretField(db_index=True, default=oauth2_provider.generators.generate_client_secret, max_length=255),
),
migrations.CreateModel(
name='OAuthIDToken',
fields=[
('id', models.BigAutoField(primary_key=True, serialize=False)),
('jti', models.UUIDField(default=uuid.uuid4, unique=True)),
('expires', models.DateTimeField()),
('scope', models.TextField()),
('created', models.DateTimeField(auto_now_add=True)),
('updated', models.DateTimeField(auto_now=True)),
('application', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL)),
('organizers', models.ManyToManyField(to='pretixbase.Organizer')),
('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='pretixapi_oauthidtoken', to=settings.AUTH_USER_MODEL)),
],
options={
'abstract': False,
},
),
migrations.AddField(
model_name='oauthaccesstoken',
name='id_token',
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='access_token', to='pretixapi.oauthidtoken'),
),
]

View File

@@ -29,8 +29,8 @@ from oauth2_provider.generators import (
generate_client_id, generate_client_secret,
)
from oauth2_provider.models import (
AbstractAccessToken, AbstractApplication, AbstractGrant,
AbstractRefreshToken,
AbstractAccessToken, AbstractApplication, AbstractGrant, AbstractIDToken,
AbstractRefreshToken, ClientSecretField,
)
from oauth2_provider.validators import URIValidator
@@ -46,7 +46,7 @@ class OAuthApplication(AbstractApplication):
verbose_name=_("Client ID"),
max_length=100, unique=True, default=generate_client_id, db_index=True
)
client_secret = models.CharField(
client_secret = ClientSecretField(
verbose_name=_("Client secret"),
max_length=255, blank=False, default=generate_client_secret, db_index=True
)
@@ -67,12 +67,26 @@ class OAuthGrant(AbstractGrant):
redirect_uri = models.CharField(max_length=2500) # Only 255 in AbstractGrant, which caused problems
class OAuthIDToken(AbstractIDToken):
application = models.ForeignKey(
OAuthApplication, on_delete=models.CASCADE,
)
organizers = models.ManyToManyField('pretixbase.Organizer')
class OAuthAccessToken(AbstractAccessToken):
source_refresh_token = models.OneToOneField(
# unique=True implied by the OneToOneField
'OAuthRefreshToken', on_delete=models.SET_NULL, blank=True, null=True,
related_name="refreshed_access_token"
)
id_token = models.OneToOneField(
OAuthIDToken,
on_delete=models.CASCADE,
blank=True,
null=True,
related_name="access_token",
)
application = models.ForeignKey(
OAuthApplication, on_delete=models.CASCADE, blank=True, null=True,
)

View File

@@ -636,7 +636,7 @@ class OrderSerializer(I18nAwareModelSerializer):
for fname, field in list(self.fields.items()):
if fname in includes:
continue
elif hasattr(field, 'child'):
elif hasattr(field, 'child'): # Nested list serializers
found_any = False
for childfname, childfield in list(field.child.fields.items()):
if f'{fname}.{childfname}' not in includes:
@@ -645,6 +645,15 @@ class OrderSerializer(I18nAwareModelSerializer):
found_any = True
if not found_any:
self.fields.pop(fname)
elif isinstance(field, serializers.Serializer): # Nested serializers
found_any = False
for childfname, childfield in list(field.fields.items()):
if f'{fname}.{childfname}' not in includes:
field.fields.pop(childfname)
else:
found_any = True
if not found_any:
self.fields.pop(fname)
else:
self.fields.pop(fname)

View File

@@ -35,7 +35,8 @@
import importlib
from django.apps import apps
from django.conf.urls import include, re_path
from django.conf.urls import re_path
from django.urls import include
from rest_framework import routers
from pretix.api.views import cart

View File

@@ -381,6 +381,14 @@ def base_placeholders(sender, **kwargs):
SimpleFunctionalMailTextPlaceholder(
'currency', ['event'], lambda event: event.currency, lambda event: event.currency
),
SimpleFunctionalMailTextPlaceholder(
'order_email', ['order'], lambda order: order.email, 'john@example.org'
),
SimpleFunctionalMailTextPlaceholder(
'invoice_number', ['invoice'],
lambda invoice: invoice.full_invoice_no,
f'{sender.settings.invoice_numbers_prefix or (sender.slug.upper() + "-")}00000'
),
SimpleFunctionalMailTextPlaceholder(
'refund_amount', ['event_or_subevent', 'refund_amount'],
lambda event_or_subevent, refund_amount: LazyCurrencyNumber(refund_amount, event_or_subevent.currency),

View File

@@ -224,6 +224,11 @@ def _merge_csp(a, b):
if k not in a:
a[k] = b[k]
for k, v in a.items():
if "'unsafe-inline'" in v:
# If we need unsafe-inline, drop any hashes or nonce as they will be ignored otherwise
a[k] = [i for i in v if not i.startswith("'nonce-") and not i.startswith("'sha-")]
class SecurityMiddleware(MiddlewareMixin):
CSP_EXEMPT = (
@@ -301,7 +306,7 @@ class SecurityMiddleware(MiddlewareMixin):
resp['Content-Security-Policy'] = _render_csp(h).format(static=staticdomain, dynamic=dynamicdomain,
media=mediadomain)
for k, v in h.items():
h[k] = ' '.join(v).format(static=staticdomain, dynamic=dynamicdomain, media=mediadomain).split(' ')
h[k] = sorted(set(' '.join(v).format(static=staticdomain, dynamic=dynamicdomain, media=mediadomain).split(' ')))
resp['Content-Security-Policy'] = _render_csp(h)
elif 'Content-Security-Policy' in resp:
del resp['Content-Security-Policy']

View File

@@ -325,16 +325,6 @@ class BasePaymentProvider:
help_text=_('Users will not be able to choose this payment provider after the given date.'),
required=False,
)),
('_invoice_text',
I18nFormField(
label=_('Text on invoices'),
help_text=_('Will be printed just below the payment figures and above the closing text on invoices. '
'This will only be used if the invoice is generated before the order is paid. If the '
'invoice is generated later, it will show a text stating that it has already been paid.'),
required=False,
widget=I18nTextarea,
widget_kwargs={'attrs': {'rows': '2'}}
)),
('_total_min',
forms.DecimalField(
label=_('Minimum order total'),
@@ -382,6 +372,16 @@ class BasePaymentProvider:
'above!').format(docs_url='https://docs.pretix.eu/en/latest/user/payments/fees.html'),
required=False
)),
('_invoice_text',
I18nFormField(
label=_('Text on invoices'),
help_text=_('Will be printed just below the payment figures and above the closing text on invoices. '
'This will only be used if the invoice is generated before the order is paid. If the '
'invoice is generated later, it will show a text stating that it has already been paid.'),
required=False,
widget=I18nTextarea,
widget_kwargs={'attrs': {'rows': '2'}}
)),
('_restricted_countries',
forms.MultipleChoiceField(
label=_('Restrict to countries'),

View File

@@ -65,7 +65,14 @@ def get_all_plugins(event=None) -> List[type]:
)
class PluginConfig(AppConfig):
class PluginConfigMeta(type):
def __getattribute__(cls, item):
if item == "default" and cls is PluginConfig:
return False
return super().__getattribute__(item)
class PluginConfig(AppConfig, metaclass=PluginConfigMeta):
IGNORE = False
def __init__(self, *args, **kwargs):

View File

@@ -452,7 +452,7 @@ def build_preview_invoice_pdf(event):
if event.tax_rules.exists():
for i, tr in enumerate(event.tax_rules.all()):
for j in range(150):
for j in range(5):
tax = tr.tax(Decimal('100.00'), base_price_is='gross')
InvoiceLine.objects.create(
invoice=invoice, description=_("Sample product {}").format(i + 1),
@@ -460,7 +460,7 @@ def build_preview_invoice_pdf(event):
tax_rate=tax.rate
)
else:
for i in range(150):
for i in range(5):
InvoiceLine.objects.create(
invoice=invoice, description=_("Sample product A"),
gross_value=100, tax_value=0, tax_rate=0

View File

@@ -86,7 +86,6 @@ INVALID_ADDRESS = 'invalid-pretix-mail-address'
class TolerantDict(dict):
# kept for backwards compatibility with plugins
def __missing__(self, key):
return key
@@ -100,7 +99,8 @@ def mail(email: Union[str, Sequence[str]], subject: str, template: Union[str, La
context: Dict[str, Any] = None, event: Event = None, locale: str = None, order: Order = None,
position: OrderPosition = None, *, headers: dict = None, sender: str = None, organizer: Organizer = None,
customer: Customer = None, invoices: Sequence = None, attach_tickets=False, auto_email=True, user=None,
attach_ical=False, attach_cached_files: Sequence = None, attach_other_files: list=None):
attach_ical=False, attach_cached_files: Sequence = None, attach_other_files: list=None,
plain_text_only=False, no_order_links=False):
"""
Sends out an email to a user. The mail will be sent synchronously or asynchronously depending on the installation.
@@ -150,12 +150,21 @@ def mail(email: Union[str, Sequence[str]], subject: str, template: Union[str, La
:param attach_other_files: A list of file paths on our storage to attach.
:param plain_text_only: If set to ``True``, rendering a HTML version will be skipped.
:param no_order_links: If set to ``True``, no link to the order confirmation page will be auto-appended. Currently
only allowed to use together with ``plain_text_only`` since HTML renderers add their own
links.
:raises MailOrderException: on obvious, immediate failures. Not raising an exception does not necessarily mean
that the email has been sent, just that it has been queued by the email backend.
"""
if email == INVALID_ADDRESS:
return
if no_order_links and not plain_text_only:
raise ValueError('If you set no_order_links, you also need to set plain_text_only.')
headers = headers or {}
if auto_email:
headers['X-Auto-Response-Suppress'] = 'OOF, NRN, AutoReply, RN'
@@ -179,7 +188,7 @@ def mail(email: Union[str, Sequence[str]], subject: str, template: Union[str, La
})
renderer = ClassicMailRenderer(None, organizer)
content_plain = body_plain = render_mail(template, context)
subject = format_map(str(subject), context)
subject = str(subject).format_map(TolerantDict(context))
sender = (
sender or
(event.settings.get('mail_from') if event else None) or
@@ -244,7 +253,7 @@ def mail(email: Union[str, Sequence[str]], subject: str, template: Union[str, La
if order and order.testmode:
subject = "[TESTMODE] " + subject
if order and position:
if order and position and not no_order_links:
body_plain += _(
"You are receiving this email because someone placed an order for {event} for you."
).format(event=event.name)
@@ -260,7 +269,7 @@ def mail(email: Union[str, Sequence[str]], subject: str, template: Union[str, La
}
)
)
elif order:
elif order and not no_order_links:
body_plain += _(
"You are receiving this email because you placed an order for {event}."
).format(event=event.name)
@@ -280,7 +289,9 @@ def mail(email: Union[str, Sequence[str]], subject: str, template: Union[str, La
with override(timezone):
try:
if 'position' in inspect.signature(renderer.render).parameters:
if plain_text_only:
body_html = None
elif 'position' in inspect.signature(renderer.render).parameters:
body_html = renderer.render(content_plain, signature, raw_subject, order, position)
else:
# Backwards compatibility

View File

@@ -28,7 +28,7 @@ from django.urls import reverse
def _is_samesite_referer(request):
referer = request.META.get('HTTP_REFERER')
referer = request.headers.get('referer')
if referer is None:
return False

View File

@@ -77,6 +77,31 @@ def get_all_payment_providers():
if PAYMENT_PROVIDERS:
return PAYMENT_PROVIDERS
class FakeSettings:
def __init__(self, orig_settings):
self.orig_settings = orig_settings
def set(self, *args, **kwargs):
pass
def __getattr__(self, item):
return getattr(self.orig_settings, item)
class FakeEvent:
def __init__(self, orig_event):
self.orig_event = orig_event
@property
def settings(self):
return FakeSettings(self.orig_event.settings)
def __getattr__(self, item):
return getattr(self.orig_event, item)
@property
def __class__(self): # hackhack
return Event
with rolledback_transaction():
event = Event.objects.create(
plugins=",".join([app.name for app in apps.get_app_configs()]),
@@ -84,6 +109,7 @@ def get_all_payment_providers():
date_from=now(),
organizer=Organizer.objects.create(name="INTERNAL")
)
event = FakeEvent(event)
provs = register_payment_providers.send(
sender=event
)
@@ -766,6 +792,12 @@ class OrderSearchFilterForm(OrderFilterForm):
)
)
def use_query_hack(self):
return (
self.cleaned_data.get('query') or
self.cleaned_data.get('status') in ('overpaid', 'partially_paid', 'underpaid', 'pendingpaid')
)
def filter_qs(self, qs):
fdata = self.cleaned_data
qs = super().filter_qs(qs)

View File

@@ -22,54 +22,72 @@
</h3>
</div>
<div class="panel-body">
<form action="" method="post">
<form action="" method="post" class="row">
{% csrf_token %}
<dl class="dl-horizontal">
<dt>{% trans "Customer ID" %}</dt>
<dd>#{{ customer.identifier }}</dd>
{% if customer.provider %}
<dt>{% trans "SSO provider" %}</dt>
<dd>{{ customer.provider.name }}</dd>
{% endif %}
{% if customer.external_identifier %}
<dt>{% trans "External identifier" %}</dt>
<dd>{{ customer.external_identifier }}</dd>
{% endif %}
<dt>{% trans "Status" %}</dt>
<dd>
{% if not customer.is_active %}
{% trans "disabled" %}
{% elif not customer.is_verified %}
{% trans "not yet activated" %}
{% else %}
{% trans "active" %}
<dl class="dl-horizontal col-lg-6 col-sm-12">
<dt>{% trans "Customer ID" %}</dt>
<dd>#{{ customer.identifier }}</dd>
{% if customer.provider %}
<dt>{% trans "SSO provider" %}</dt>
<dd>{{ customer.provider.name }}</dd>
{% endif %}
</dd>
<dt>{% trans "E-mail" %}</dt>
<dd>
{{ customer.email|default_if_none:"" }}
{% if customer.email and not customer.provider %}
<button type="submit" name="action" value="pwreset" class="btn btn-xs btn-default">
{% trans "Send password reset link" %}
</button>
{% if customer.external_identifier %}
<dt>{% trans "External identifier" %}</dt>
<dd>{{ customer.external_identifier }}</dd>
{% endif %}
</dd>
<dt>{% trans "Name" %}</dt>
<dd>{{ customer.name }}</dd>
{% if customer.phone %}
<dt>{% trans "Phone" %}</dt>
<dd>{{ customer.phone }}</dd>
{% endif %}
<dt>{% trans "Locale" %}</dt>
<dd>{{ display_locale }}</dd>
<dt>{% trans "Registration date" %}</dt>
<dd>{{ customer.date_joined|date:"SHORT_DATETIME_FORMAT" }}</dd>
<dt>{% trans "Last login" %}</dt>
<dd>{% if customer.last_login %}{{ customer.last_login|date:"SHORT_DATETIME_FORMAT" }}{% else %}
{% endif %}</dd>
{% if customer.notes %}
<dt>{% trans "Notes" %}</dt>
<dd>{{ customer.notes|linebreaks }}</dd>
<dt>{% trans "Status" %}</dt>
<dd>
{% if not customer.is_active %}
{% trans "disabled" %}
{% elif not customer.is_verified %}
{% trans "not yet activated" %}
{% else %}
{% trans "active" %}
{% endif %}
</dd>
<dt>{% trans "E-mail" %}</dt>
<dd>
{{ customer.email|default_if_none:"" }}
{% if customer.email and not customer.provider %}
<button type="submit" name="action" value="pwreset" class="btn btn-xs btn-default">
{% trans "Send password reset link" %}
</button>
{% endif %}
</dd>
<dt>{% trans "Name" %}</dt>
<dd>{{ customer.name }}</dd>
{% if customer.phone %}
<dt>{% trans "Phone" %}</dt>
<dd>{{ customer.phone }}</dd>
{% endif %}
<dt>{% trans "Locale" %}</dt>
<dd>{{ display_locale }}</dd>
<dt>{% trans "Registration date" %}</dt>
<dd>{{ customer.date_joined|date:"SHORT_DATETIME_FORMAT" }}</dd>
<dt>{% trans "Last login" %}</dt>
<dd>{% if customer.last_login %}{{ customer.last_login|date:"SHORT_DATETIME_FORMAT" }}{% else %}
{% endif %}</dd>
{% if customer.notes %}
<dt>{% trans "Notes" %}</dt>
<dd>{{ customer.notes|linebreaks }}</dd>
{% endif %}
</dl>
<dl class="col-lg-6 col-sm-12 text-right">
<dt class="text-muted"
data-toggle="tooltip"
title="{% trans "This includes all paid orders by this customer across all your events." %}">
{% trans "Lifetime spending" %}
</dt>
{% if lifetime_spending %}
{% for s in lifetime_spending %}
{% if s.spending >= 0 %}
<dd class="text-success text-h3">{{ s.spending|money:s.currency }}</dd>
{% elif s.spending < 0 %}
<dd class="text-error text-h3">{{ s.spending|money:s.currency }}</dd>
{% endif %}
{% endfor %}
{% else %}
<dd class="text-muted text-h3">{{ 0|floatformat:2 }}</dd>
{% endif %}
</dl>
</form>

View File

@@ -33,7 +33,8 @@
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under the License.
from django.conf.urls import include, re_path
from django.conf.urls import re_path
from django.urls import include
from django.views.generic.base import RedirectView
from pretix.control.views import (

View File

@@ -51,7 +51,7 @@ from django.utils import formats
from django.utils.formats import date_format
from django.utils.html import escape
from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _, pgettext, ungettext
from django.utils.translation import gettext_lazy as _, ngettext, pgettext
from pretix.base.decimal import round_decimal
from pretix.base.models import (
@@ -555,7 +555,7 @@ def widgets_for_event_qs(request, qs, user, nmax, lazy=False):
'event': event.slug,
'organizer': event.organizer.slug
}),
orders_text=ungettext('{num} order', '{num} orders', event.order_count or 0).format(
orders_text=ngettext('{num} order', '{num} orders', event.order_count or 0).format(
num=event.order_count or 0
)
) if user.has_active_staff_session(request.session.session_key) or event.pk in events_with_orders else ''

View File

@@ -65,6 +65,10 @@ class OAuthApplicationRegistrationView(ApplicationRegistration):
def form_valid(self, form):
form.instance.client_type = 'confidential'
form.instance.authorization_grant_type = 'authorization-code'
secret = generate_client_secret()
messages.success(self.request, _('Your application has been created and an application secret has been generated. '
'Please copy and save it right now as it will not be shown again: {secret}').format(secret=secret))
form.instance.client_secret = secret
oauth_application_registered.send(
sender=self.request, user=self.request.user, application=form.instance
)
@@ -74,18 +78,14 @@ class OAuthApplicationRegistrationView(ApplicationRegistration):
class ApplicationUpdateForm(forms.ModelForm):
class Meta:
model = OAuthApplication
fields = ("name", "client_id", "client_secret", "redirect_uris")
fields = ("name", "client_id", "redirect_uris")
def clean_client_id(self):
return self.instance.client_id
def clean_client_secret(self):
return self.instance.client_secret
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['client_id'].widget.attrs['readonly'] = True
self.fields['client_secret'].widget.attrs['readonly'] = True
class OAuthApplicationUpdateView(ApplicationUpdate):
@@ -103,8 +103,10 @@ class OAuthApplicationRollView(ApplicationDetail):
def post(self, request, *args, **kwargs):
self.object = self.get_object()
messages.success(request, _('A new client secret has been generated and is now effective.'))
self.object.client_secret = generate_client_secret()
secret = generate_client_secret()
messages.success(request, _('A new client secret has been generated. Please copy and save it right now as '
'it will not be shown again: {secret}').format(secret=secret))
self.object.client_secret = secret
self.object.save()
return HttpResponseRedirect(self.object.get_absolute_url())

View File

@@ -62,7 +62,7 @@ from django.urls import reverse
from django.utils import formats
from django.utils.formats import date_format, get_format
from django.utils.functional import cached_property
from django.utils.http import is_safe_url
from django.utils.http import url_has_allowed_host_and_scheme
from django.utils.timezone import make_aware, now
from django.utils.translation import gettext, gettext_lazy as _, ngettext
from django.views.generic import (
@@ -680,7 +680,7 @@ class OrderRefundCancel(OrderView):
messages.success(self.request, _('The refund has been canceled.'))
else:
messages.error(self.request, _('This refund can not be canceled at the moment.'))
if "next" in self.request.GET and is_safe_url(self.request.GET.get("next"), allowed_hosts=None):
if "next" in self.request.GET and url_has_allowed_host_and_scheme(self.request.GET.get("next"), allowed_hosts=None):
return redirect(self.request.GET.get("next"))
return redirect(self.get_order_url())
@@ -716,7 +716,7 @@ class OrderRefundProcess(OrderView):
messages.success(self.request, _('The refund has been processed.'))
else:
messages.error(self.request, _('This refund can not be processed at the moment.'))
if "next" in self.request.GET and is_safe_url(self.request.GET.get("next"), allowed_hosts=None):
if "next" in self.request.GET and url_has_allowed_host_and_scheme(self.request.GET.get("next"), allowed_hosts=None):
return redirect(self.request.GET.get("next"))
return redirect(self.get_order_url())
@@ -742,7 +742,7 @@ class OrderRefundDone(OrderView):
messages.success(self.request, _('The refund has been marked as done.'))
else:
messages.error(self.request, _('This refund can not be processed at the moment.'))
if "next" in self.request.GET and is_safe_url(self.request.GET.get("next"), allowed_hosts=None):
if "next" in self.request.GET and url_has_allowed_host_and_scheme(self.request.GET.get("next"), allowed_hosts=None):
return redirect(self.request.GET.get("next"))
return redirect(self.get_order_url())

View File

@@ -45,8 +45,8 @@ from django.core.exceptions import PermissionDenied, ValidationError
from django.core.files import File
from django.db import connections, transaction
from django.db.models import (
Count, Exists, IntegerField, Max, Min, OuterRef, Prefetch, ProtectedError,
Q, Subquery, Sum,
Count, Exists, F, IntegerField, Max, Min, OuterRef, Prefetch,
ProtectedError, Q, Subquery, Sum,
)
from django.db.models.functions import Coalesce, Greatest
from django.forms import DecimalField
@@ -2312,6 +2312,14 @@ class CustomerDetailView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMi
o.icnt = annotated.get(o.pk)['icnt']
o.sales_channel_obj = scs[o.sales_channel]
ctx["lifetime_spending"] = (
self.get_queryset()
.filter(status=Order.STATUS_PAID)
.values(currency=F("event__currency"))
.order_by("currency")
.annotate(spending=Sum("total"))
)
return ctx

View File

@@ -49,7 +49,7 @@ class OrderSearch(PaginationMixin, ListView):
self.filter_form[k] for k in self.filter_form.fields if k.startswith('meta_')
]
# Only compute this annotations for this page (query optimization)
# Only compute these annotations for this page (query optimization)
s = OrderPosition.objects.filter(
order=OuterRef('pk')
).order_by().values('order').annotate(k=Count('id')).values('k')
@@ -91,7 +91,7 @@ class OrderSearch(PaginationMixin, ListView):
if self.filter_form.is_valid():
qs = self.filter_form.filter_qs(qs)
if self.filter_form.cleaned_data.get('query'):
if self.filter_form.use_query_hack():
"""
We need to work around a bug in PostgreSQL's (and likely MySQL's) query plan optimizer here.
The database lacks statistical data to predict how common our search filter is and therefore
@@ -100,8 +100,14 @@ class OrderSearch(PaginationMixin, ListView):
look for something rare (such as an email address used once within hundreds of thousands of
orders, this ends up to be pathologically slow.
Generally, PostgreSQL tries to make these decisions on statistical data and generally, they *can*
only be made on statistical data, so it's a little bit of a stretch that we try to do it better
than PostgreSQL here. However, experience suggests applying this tricks works specifically in the
cases where the WHERE part of the statement is very hard to compute, e.g. uses a complicated
condition that can't utilize indices well.
For some search queries on pretix.eu, we see search times of >30s, just due to the ORDER BY and
LIMIT clause. Without them. the query runs in roughly 0.6s. This heuristical approach tries to
LIMIT clause. Without them. the query runs in roughly 0.6s. This heuristic approach tries to
detect these cases and rewrite the query as a nested subquery that strongly suggests sorting
before filtering. However, since even that fails in some cases because PostgreSQL thinks it knows
better, we literally force it by evaluating the subquery explicitly. We only do this for n<=200,
@@ -111,15 +117,8 @@ class OrderSearch(PaginationMixin, ListView):
Phew.
"""
page = self.kwargs.get(self.page_kwarg) or self.request.GET.get(self.page_kwarg) or 1
limit = self.get_paginate_by(None)
try:
offset = (int(page) - 1) * limit
except ValueError:
offset = 0
resultids = list(qs.order_by().values_list('id', flat=True)[:201])
if len(resultids) <= 200 and len(resultids) <= offset + limit:
if len(resultids) <= 200:
qs = Order.objects.using(settings.DATABASE_REPLICA).filter(
id__in=resultids
)
@@ -134,7 +133,7 @@ class OrderSearch(PaginationMixin, ListView):
"""
return qs.only(
'id', 'invoice_address__name_cached', 'invoice_address__name_parts', 'code', 'event', 'email',
'datetime', 'total', 'status', 'require_approval', 'testmode'
'datetime', 'total', 'status', 'require_approval', 'testmode', 'custom_followup_at', 'expires'
).prefetch_related(
'event', 'event__organizer'
).select_related('invoice_address')

View File

@@ -43,7 +43,7 @@ from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse
from django.utils.functional import cached_property
from django.utils.http import is_safe_url
from django.utils.http import url_has_allowed_host_and_scheme
from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _, pgettext
from django.views import View
@@ -144,7 +144,7 @@ class WaitingListActionView(EventPermissionRequiredMixin, WaitingListQuerySetMix
permission = 'can_change_orders'
def _redirect_back(self):
if "next" in self.request.GET and is_safe_url(self.request.GET.get("next"), allowed_hosts=None):
if "next" in self.request.GET and url_has_allowed_host_and_scheme(self.request.GET.get("next"), allowed_hosts=None):
return redirect(self.request.GET.get("next"))
return redirect(reverse('control:event.orders.waitinglist', kwargs={
'event': self.request.event.slug,
@@ -360,7 +360,7 @@ class EntryDelete(EventPermissionRequiredMixin, DeleteView):
self.object.log_action('pretix.event.orders.waitinglist.deleted', user=self.request.user)
self.object.delete()
messages.success(self.request, _('The selected entry has been deleted.'))
if "next" in self.request.GET and is_safe_url(self.request.GET.get("next"), allowed_hosts=None):
if "next" in self.request.GET and url_has_allowed_host_and_scheme(self.request.GET.get("next"), allowed_hosts=None):
return redirect(self.request.GET.get("next"))
return HttpResponseRedirect(success_url)

View File

@@ -38,7 +38,7 @@ class ChunkBasedFileResponse(StreamingHttpResponse):
def get_client_ip(request):
ip = request.META.get('REMOTE_ADDR')
if settings.TRUST_X_FORWARDED_FOR:
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
x_forwarded_for = request.headers.get('x-forwarded-for')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
return ip

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2021-09-15 11:22+0000\n"
"Last-Translator: Mohamed Tawfiq <mtawfiq@wafyapp.com>\n"
"Language-Team: Arabic <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -573,15 +573,15 @@ msgstr "البحث في الاستفسارات"
msgid "Selected only"
msgstr "المختارة فقط"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "قم باستخدم اسم مختلف داخليا"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "اضغط لاغلاق الصفحة"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "لم تقم بحفظ التعديلات!"
@@ -655,20 +655,20 @@ msgstr "ستسترد %(currency)%(amount)"
msgid "Please enter the amount the organizer can keep."
msgstr "الرجاء إدخال المبلغ الذي يمكن للمنظم الاحتفاظ به."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "الرجاء إدخال عدد لأحد أنواع التذاكر."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "مطلوب"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "المنطقة الزمنية:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "التوقيت المحلي:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2020-12-19 07:00+0000\n"
"Last-Translator: albert <albert.serra.monner@gmail.com>\n"
"Language-Team: Catalan <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -556,15 +556,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -628,22 +628,22 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Cistella expirada"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2021-12-06 23:00+0000\n"
"Last-Translator: Ondřej Sokol <osokol@treesoft.cz>\n"
"Language-Team: Czech <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -573,15 +573,15 @@ msgstr "Hledaný výraz"
msgid "Selected only"
msgstr "Pouze vybrané"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Interně používat jiný název"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Kliknutím zavřete"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Máte neuložené změny!"
@@ -648,20 +648,20 @@ msgstr "Dostanete %(currency)s %(amount)s zpět"
msgid "Please enter the amount the organizer can keep."
msgstr "Zadejte částku, kterou si organizátor může ponechat."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Zadejte prosím množství pro jeden z typů vstupenek."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "povinný"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Časové pásmo:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Místní čas:"

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-12-01 17:00+0000\n"
"Last-Translator: Mie Frydensbjerg <mif@aarhus.dk>\n"
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -591,15 +591,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Klik for at lukke"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Du har ændringer, der ikke er gemt!"
@@ -673,22 +673,22 @@ msgstr "fra %(currency)s %(price)s"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Kurv udløbet"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Tidszone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Din lokaltid:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-07-26 08:58+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -577,15 +577,15 @@ msgstr "Suchbegriff"
msgid "Selected only"
msgstr "Nur ausgewählte"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Intern einen anderen Namen verwenden"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Klicken zum Schließen"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Sie haben ungespeicherte Änderungen!"
@@ -650,20 +650,20 @@ msgstr "Sie erhalten %(currency)s %(amount)s zurück"
msgid "Please enter the amount the organizer can keep."
msgstr "Bitte geben Sie den Betrag ein, den der Veranstalter einbehalten darf."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Bitte tragen Sie eine Menge für eines der Produkte ein."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "verpflichtend"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Zeitzone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Deine lokale Zeit:"

View File

@@ -337,6 +337,9 @@ WeChat
WhatsApp
Widget
xlsx
XXX
XXXX
XXXXX
Yubikey
Zahlungs
Zahlungsbestätigungs

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-07-26 08:58+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German (informal) <https://translate.pretix.eu/projects/"
@@ -576,15 +576,15 @@ msgstr "Suchbegriff"
msgid "Selected only"
msgstr "Nur ausgewählte"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Intern einen anderen Namen verwenden"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Klicken zum Schließen"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Du hast ungespeicherte Änderungen!"
@@ -649,20 +649,20 @@ msgstr "Du erhältst %(currency)s %(amount)s zurück"
msgid "Please enter the amount the organizer can keep."
msgstr "Bitte gib den Betrag ein, den der Veranstalter einbehalten darf."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Bitte trage eine Menge für eines der Produkte ein."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "verpflichtend"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Zeitzone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Deine lokale Zeit:"

View File

@@ -337,6 +337,9 @@ WeChat
WhatsApp
Widget
xlsx
XXX
XXXX
XXXXX
Yubikey
Zahlungs
Zahlungsbestätigungs

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -555,15 +555,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -623,20 +623,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2019-10-03 19:00+0000\n"
"Last-Translator: Chris Spy <chrispiropoulou@hotmail.com>\n"
"Language-Team: Greek <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -615,15 +615,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Χρησιμοποιήστε διαφορετικό όνομα εσωτερικά"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Κάντε κλικ για να κλείσετε"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -695,22 +695,22 @@ msgstr "απο %(currency)s %(price)s"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Εισαγάγετε μια ποσότητα για έναν από τους τύπους εισιτηρίων."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Το καλάθι έληξε"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2021-11-25 21:00+0000\n"
"Last-Translator: Ismael Menéndez Fernández <ismael.menendez@balidea.com>\n"
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -577,15 +577,15 @@ msgstr "Consultar búsqueda"
msgid "Selected only"
msgstr "Solamente seleccionados"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Usar un nombre diferente internamente"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Click para cerrar"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "¡Tienes cambios sin guardar!"
@@ -649,20 +649,20 @@ msgstr "Obtienes %(currency)s %(price)s de vuelta"
msgid "Please enter the amount the organizer can keep."
msgstr "Por favor, ingrese el monto que el organizador puede quedarse."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Por favor, introduzca un valor para cada tipo de entrada."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "campo requerido"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Zona horaria:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Su hora local:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2021-11-10 05:00+0000\n"
"Last-Translator: Jaakko Rinta-Filppula <jaakko@r-f.fi>\n"
"Language-Team: Finnish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -576,15 +576,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Käytä toista nimeä sisäisesti"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Sulje klikkaamalla"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Sinulla on tallentamattomia muutoksia!"
@@ -648,22 +648,22 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Ostoskori on vanhentunut"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Aikavyöhyke:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: French\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-04-07 10:40+0000\n"
"Last-Translator: Eva-Maria Obermann <obermann@rami.io>\n"
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -607,15 +607,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Utiliser un nom différent en interne"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Cliquez pour fermer"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Vous avez des modifications non sauvegardées !"
@@ -683,22 +683,22 @@ msgstr "de %(currency)s %(price)s"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "SVP entrez une quantité pour un de vos types de billets."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Panier expiré"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-02-22 22:00+0000\n"
"Last-Translator: Ismael Menéndez Fernández <ismael.menendez@balidea.com>\n"
"Language-Team: Galician <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -575,15 +575,15 @@ msgstr "Consultar unha procura"
msgid "Selected only"
msgstr "Soamente seleccionados"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Usar un nome diferente internamente"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Click para cerrar"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Tes cambios sen gardar!"
@@ -646,20 +646,20 @@ msgstr "Obtés %(currency)s %(price)s de volta"
msgid "Please enter the amount the organizer can keep."
msgstr "Por favor, ingrese a cantidade que pode conservar o organizador."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Por favor, introduza un valor para cada tipo de entrada."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "campo requirido"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Zona horaria:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "A súa hora local:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2021-09-24 13:54+0000\n"
"Last-Translator: ofirtro <ofir.tro@gmail.com>\n"
"Language-Team: Hebrew <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -559,15 +559,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -631,20 +631,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -555,15 +555,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -623,20 +623,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2020-01-24 08:00+0000\n"
"Last-Translator: Prokaj Miklós <mixolid0@gmail.com>\n"
"Language-Team: Hungarian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -603,15 +603,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Használj másik nevet"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Bezárásért kattints"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Mentetlen változtatások!"
@@ -683,22 +683,22 @@ msgstr "%(currency) %(price)-tól"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Adjon meg egy mennyiséget az egyik jegytípusból."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "A kosár lejárt"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-05-08 19:00+0000\n"
"Last-Translator: Emanuele Signoretta <signorettae@gmail.com>\n"
"Language-Team: Italian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -574,15 +574,15 @@ msgstr "Chiave di ricerca"
msgid "Selected only"
msgstr "Solo i selezionati"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Utilizza un nome diverso internamente"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Clicca per chiudere"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Hai cambiamenti non salvati!"
@@ -644,20 +644,20 @@ msgstr "Ricevi indietro %(currency)s %(amount)s"
msgid "Please enter the amount the organizer can keep."
msgstr "Inserisci l'importo che l'organizzatore può trattenere."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Inserisci la quantità per una tipologia di biglietto."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "richiesto"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Fuso orario:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Ora locale:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-03-15 00:00+0000\n"
"Last-Translator: Yuriko Matsunami <y.matsunami@enobyte.com>\n"
"Language-Team: Japanese <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -571,15 +571,15 @@ msgstr "検索ワード"
msgid "Selected only"
msgstr "選択したもののみ"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "内部で別の名前を使用してください"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "クリックして閉じる"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "保存されていない変更があります!"
@@ -639,20 +639,20 @@ msgstr "%(currency)s %(amount)s が払い戻されます"
msgid "Please enter the amount the organizer can keep."
msgstr "イベント開催者が受け取る料金を入力してください。"
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "商品の総数を入力してください。"
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "必須"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "タイムゾーン:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "現地時間:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-04-06 03:00+0000\n"
"Last-Translator: Liga V <lerning_by_dreaming@gmx.de>\n"
"Language-Team: Latvian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -578,15 +578,15 @@ msgstr "Meklēšanas pieprasījums"
msgid "Selected only"
msgstr "Tikai atzīmētos"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Izmantojiet citu nosaukumu iekšēji"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Noklikšķiniet, lai aizvērtu"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Jums ir nesaglabātas izmaiņas!"
@@ -650,20 +650,20 @@ msgstr "Jūs saņemsiet %(valūta)s %(cena)s atpakaļ"
msgid "Please enter the amount the organizer can keep."
msgstr "Lūdzu ievadiet skaitu (summu), ko pasākuma organizators var paturēt."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Lūdzu, ievadiet nepieciešamo daudzumu izvēlētajam biļešu veidam."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "obligāts"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Laika zona:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Vietējais laiks:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-06-20 02:00+0000\n"
"Last-Translator: fyksen <fredrik@fyksen.me>\n"
"Language-Team: Norwegian Bokmål <https://translate.pretix.eu/projects/pretix/"
@@ -566,15 +566,15 @@ msgstr "Søkeord"
msgid "Selected only"
msgstr "Kun valgte"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Bruk et annet navn internt"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Klikk for å lukke"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Du har ikke-lagrede endringer!"
@@ -636,20 +636,20 @@ msgstr "Du mottar %(currency)s %(amount)s tilbake"
msgid "Please enter the amount the organizer can keep."
msgstr "Vennligst skriv inn beløpet arrangøren kan beholde."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Vennligst skriv inn et antall for en av billetttypene."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "nødvendig"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Tidssone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Din lokale tid:"

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2021-10-29 02:00+0000\n"
"Last-Translator: Maarten van den Berg <maartenberg1@gmail.com>\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -571,15 +571,15 @@ msgstr "Zoekopdracht"
msgid "Selected only"
msgstr "Alleen geselecteerde"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Gebruik intern een andere naam"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Klik om te sluiten"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "U heeft nog niet opgeslagen wijzigingen!"
@@ -642,20 +642,20 @@ msgstr "U krijgt %(currency)s %(amount)s terug"
msgid "Please enter the amount the organizer can keep."
msgstr "Voer het bedrag in dat de organisator mag houden."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Voer een hoeveelheid voor een van de producten in."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "verplicht"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Tijdzone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Uw lokale tijd:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -554,15 +554,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -622,20 +622,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2021-08-05 04:00+0000\n"
"Last-Translator: Maarten van den Berg <maartenberg1@gmail.com>\n"
"Language-Team: Dutch (informal) <https://translate.pretix.eu/projects/pretix/"
@@ -576,15 +576,15 @@ msgstr "Zoekopdracht"
msgid "Selected only"
msgstr "Alleen geselecteerde"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Gebruik intern een andere naam"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Klik om te sluiten"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Je hebt nog niet opgeslagen wijzigingen!"
@@ -652,20 +652,20 @@ msgstr "Jij krijgt %(currency)s %(amount)s terug"
msgid "Please enter the amount the organizer can keep."
msgstr "Voer het bedrag in dat de organisator mag houden."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Voer een hoeveelheid voor een van de producten in."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "verplicht"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Tijdzone:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Je lokale tijd:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2019-09-24 19:00+0000\n"
"Last-Translator: Serge Bazanski <q3k@hackerspace.pl>\n"
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -608,15 +608,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Użyj innej nazwy wewnętrznie"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Zamknij"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -690,22 +690,22 @@ msgstr "od %(currency)s %(price)s"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Proszę wybrać liczbę dla jednego z typów biletów."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Koszyk wygasł"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -555,15 +555,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -625,20 +625,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -555,15 +555,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -623,20 +623,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2019-03-19 09:00+0000\n"
"Last-Translator: Vitor Reis <vitor.reis7@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://translate.pretix.eu/projects/"
@@ -612,15 +612,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Use um nome diferente internamente"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Clique para fechar"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -697,22 +697,22 @@ msgstr "A partir de %(currency)s %(price)s"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "O carrinho expirou"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-11-16 16:12+0000\n"
"Last-Translator: David Vaz <davidmgvaz@gmail.com>\n"
"Language-Team: Portuguese (Portugal) <https://translate.pretix.eu/projects/"
@@ -593,15 +593,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Use um nome interno diferente"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Clique para fechar"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Tem alterações por guardar!"
@@ -665,22 +665,22 @@ msgstr "Recebes %(currency)s %(amount)s de volta"
msgid "Please enter the amount the organizer can keep."
msgstr "Por favor insira o montante com que a organização pode ficar."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Por favor insira a quantidade para um tipo de bilhetes."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Carrinho expirado"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Fuso horário:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Sua hora local:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-04-29 04:00+0000\n"
"Last-Translator: Edd28 <chitu_edy@yahoo.com>\n"
"Language-Team: Romanian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -577,15 +577,15 @@ msgstr "Caută sintaxa"
msgid "Selected only"
msgstr "Doar selecția"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Folosește un nume intern diferit"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Click pentru a închide"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Ai modificări nesalvate!"
@@ -649,20 +649,20 @@ msgstr "Primești înapoi %(currency)s %(amount)s"
msgid "Please enter the amount the organizer can keep."
msgstr "Introdu valoarea pe care o poate păstra organizatorul."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Introdu cantitatea pentru unul dintre tipurile de bilete."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "necesar"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Fus orar:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Ora locală:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2021-08-09 13:10+0000\n"
"Last-Translator: Svyatoslav <slava@digitalarthouse.eu>\n"
"Language-Team: Russian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -607,15 +607,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Используйте другое внутреннее имя"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Нажмите, чтобы закрыть"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -687,22 +687,22 @@ msgstr "от %(currency)s %(price)s"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Пожалуйста, введите количество для одного из типов билетов."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Срок действия корзины истёк"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -554,15 +554,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -622,20 +622,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2019-08-27 08:00+0000\n"
"Last-Translator: Bostjan Marusic <bostjan@brokenbones.si>\n"
"Language-Team: Slovenian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -604,15 +604,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Uporabite drugo interno ime"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Kliknite za zapiranje"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -688,22 +688,22 @@ msgstr "od %(currency)s %(price)s"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Prosimo vnesite količino za eno od vrst vstopnic."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Vsebina košarice je potekla"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-03-03 07:00+0000\n"
"Last-Translator: MaLund13 <mart.lund13@gmail.com>\n"
"Language-Team: Swedish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -570,15 +570,15 @@ msgstr "Sökterm"
msgid "Selected only"
msgstr "Endast valda"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Använd ett annat namn internt"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Klicka för att stänga"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "Du har osparade ändringar!"
@@ -640,20 +640,20 @@ msgstr "Du får %(amount)s %(currency)s tillbaka"
msgid "Please enter the amount the organizer can keep."
msgstr "Vänligen ange det belopp som arrangören kan behålla."
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Vänligen ange en kvantitet för en av biljettyperna."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "obligatorisk"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Tidszon:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Din lokala tid:"

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2018-09-03 06:36+0000\n"
"Last-Translator: Yunus Fırat Pişkin <firat.piskin@idvlabs.com>\n"
"Language-Team: Turkish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -608,15 +608,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr "Dahili olarak farklı bir ad kullan"
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -700,22 +700,22 @@ msgstr "% (para birimi) s% (fiyat) s"
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
#, fuzzy
#| msgid "Cart expired"
msgid "required"
msgstr "Sepetinizin süresi doldu"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: 2022-05-10 02:00+0000\n"
"Last-Translator: Iryna N <in380@nyu.edu>\n"
"Language-Team: Ukrainian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -577,15 +577,15 @@ msgstr "Пошуковий запит"
msgid "Selected only"
msgstr "Тільки вибрані"
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr "Натисніть, щоб закрити"
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr "У вас є незбережені зміни!"
@@ -647,20 +647,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr "Будь ласка, введіть кількість для одного типу квитків."
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr "обов'язково"
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr "Часовий пояс:"
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr "Ваш місцевий час:"

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-29 20:31+0000\n"
"POT-Creation-Date: 2022-12-14 13:09+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -555,15 +555,15 @@ msgstr ""
msgid "Selected only"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:858
#: pretix/static/pretixcontrol/js/ui/main.js:862
msgid "Use a different name internally"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:894
#: pretix/static/pretixcontrol/js/ui/main.js:898
msgid "Click to close"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/main.js:966
#: pretix/static/pretixcontrol/js/ui/main.js:970
msgid "You have unsaved changes!"
msgstr ""
@@ -623,20 +623,20 @@ msgstr ""
msgid "Please enter the amount the organizer can keep."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:388
#: pretix/static/pretixpresale/js/ui/main.js:393
msgid "Please enter a quantity for one of the ticket types."
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:424
#: pretix/static/pretixpresale/js/ui/main.js:429
msgid "required"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:527
#: pretix/static/pretixpresale/js/ui/main.js:546
#: pretix/static/pretixpresale/js/ui/main.js:532
#: pretix/static/pretixpresale/js/ui/main.js:551
msgid "Time zone:"
msgstr ""
#: pretix/static/pretixpresale/js/ui/main.js:537
#: pretix/static/pretixpresale/js/ui/main.js:542
msgid "Your local time:"
msgstr ""

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