Compare commits

..

18 Commits

Author SHA1 Message Date
Mira Weller
57da5cbae2 improve 2fa type selection 2026-03-20 11:44:10 +01:00
Ruud Hendrickx
222b453b43 Translations: Update Dutch (Belgium)
Currently translated at 77.4% (4869 of 6283 strings)

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

powered by weblate
2026-03-19 17:54:41 +01:00
Ruud Hendrickx
617a0f5dc7 Translations: Update Dutch (Belgium)
Currently translated at 100.0% (256 of 256 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/nl_BE/

powered by weblate
2026-03-19 17:54:41 +01:00
Ruud Hendrickx
12f53ec2c3 Translations: Update Dutch (Belgium)
Currently translated at 77.3% (4857 of 6283 strings)

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

powered by weblate
2026-03-19 17:54:41 +01:00
Ruud Hendrickx
5449285624 Translations: Update Dutch (informal) (nl_Informal)
Currently translated at 100.0% (256 of 256 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/nl_Informal/

powered by weblate
2026-03-19 17:54:41 +01:00
Ruud Hendrickx
68bf7d44f2 Translations: Update Dutch (informal) (nl_Informal)
Currently translated at 100.0% (6283 of 6283 strings)

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

powered by weblate
2026-03-19 17:54:41 +01:00
CVZ-es
a31db20804 Translations: Update Spanish
Currently translated at 100.0% (256 of 256 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/es/

powered by weblate
2026-03-19 17:54:41 +01:00
CVZ-es
1bd08cf3aa Translations: Update Spanish
Currently translated at 100.0% (6283 of 6283 strings)

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

powered by weblate
2026-03-19 17:54:41 +01:00
CVZ-es
fbea13227f Translations: Update French
Currently translated at 100.0% (256 of 256 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/fr/

powered by weblate
2026-03-19 17:54:41 +01:00
Ruud Hendrickx
b3ff32d345 Translations: Update Dutch
Currently translated at 100.0% (256 of 256 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/nl/

powered by weblate
2026-03-19 17:54:41 +01:00
Ruud Hendrickx
ed0611253e Translations: Update Dutch
Currently translated at 100.0% (6283 of 6283 strings)

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

powered by weblate
2026-03-19 17:54:41 +01:00
CVZ-es
41af5fae17 Translations: Update French
Currently translated at 100.0% (6283 of 6283 strings)

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

powered by weblate
2026-03-19 17:54:41 +01:00
Raphael Michel
42f61d74fa Translations: Update German (informal) (de_Informal)
Currently translated at 100.0% (6283 of 6283 strings)

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

powered by weblate
2026-03-19 17:54:41 +01:00
Raphael Michel
4923e0be31 Translations: Update German
Currently translated at 100.0% (6283 of 6283 strings)

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

powered by weblate
2026-03-19 17:54:41 +01:00
Kara Engelhardt
e63bc09216 Use correct first page number in control pagination
This worked accidentally because page_obj.num_pages does not exists (page_obj.paginator.num_pages does) which made url_replace remove the page parameter
2026-03-19 13:19:10 +01:00
Kara Engelhardt
f8bbb3d3bb Fix crash in CheckinList export (PRETIXEU-D59) 2026-03-19 11:08:11 +01:00
Raphael Michel
58840a5fd6 Hotfix for exporters via API (#6007)
* Hotfix for exporters via API

* Apply suggestion from @raphaelm
2026-03-18 15:50:05 +01:00
Raphael Michel
e1b8e16a34 Permissions: Fix staff session handling for organizer exports (#6005) 2026-03-18 13:23:26 +01:00
41 changed files with 643 additions and 1156 deletions

View File

@@ -24,7 +24,7 @@ jobs:
name: Packaging
strategy:
matrix:
python-version: ["3.13"]
python-version: ["3.11"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}

View File

@@ -24,10 +24,10 @@ jobs:
name: Check gettext syntax
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.13
python-version: 3.11
- uses: actions/cache@v4
with:
path: ~/.cache/pip
@@ -49,10 +49,10 @@ jobs:
name: Spellcheck
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.13
python-version: 3.11
- uses: actions/cache@v4
with:
path: ~/.cache/pip

View File

@@ -24,10 +24,10 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.13
python-version: 3.11
- uses: actions/cache@v4
with:
path: ~/.cache/pip
@@ -44,10 +44,10 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.13
python-version: 3.11
- uses: actions/cache@v4
with:
path: ~/.cache/pip
@@ -64,10 +64,10 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: 3.13
python-version: 3.11
- name: Install Dependencies
run: pip3 install licenseheaders
- name: Run licenseheaders

View File

@@ -23,15 +23,13 @@ jobs:
name: Tests
strategy:
matrix:
python-version: ["3.11", "3.13", "3.14"]
python-version: ["3.10", "3.11", "3.13"]
database: [sqlite, postgres]
exclude:
- database: sqlite
python-version: "3.10"
- database: sqlite
python-version: "3.11"
- database: sqlite
python-version: "3.12"
services:
postgres:
image: postgres:15
@@ -83,4 +81,4 @@ jobs:
file: src/coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: false
if: matrix.database == 'postgres' && matrix.python-version == '3.13'
if: matrix.database == 'postgres' && matrix.python-version == '3.11'

View File

@@ -3,7 +3,7 @@ name = "pretix"
dynamic = ["version"]
description = "Reinventing presales, one ticket at a time"
readme = "README.rst"
requires-python = ">=3.11"
requires-python = ">=3.10"
license = {file = "LICENSE"}
keywords = ["tickets", "web", "shop", "ecommerce"]
authors = [
@@ -19,11 +19,10 @@ classifiers = [
"Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Environment :: Web Environment",
"License :: OSI Approved :: GNU Affero General Public License v3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Framework :: Django :: 5.2",
"Framework :: Django :: 4.2",
]
dependencies = [
@@ -37,7 +36,7 @@ dependencies = [
"css-inline==0.20.*",
"defusedcsv>=1.1.0",
"dnspython==2.*",
"Django[argon2]==5.2.*",
"Django[argon2]==4.2.*,>=4.2.26",
"django-bootstrap3==26.1",
"django-compressor==4.6.0",
"django-countries==8.2.*",

View File

@@ -75,7 +75,8 @@ class JobRunSerializer(serializers.Serializer):
def to_representation(self, instance):
# Translate between events as a list of slugs (API) and list of ints (database)
if self.ex.is_multievent and not isinstance(self.ex, OrganizerLevelExportMixin) and "events" in instance and isinstance(instance["events"], list):
instance["events"] = [e.slug for e in self.ex.events.filter(pk__in=instance["events"]).only("slug")]
instance["events"] = [e for e in self.ex.events.filter(pk__in=instance["events"])]
instance = super().to_representation(instance)
return instance
def to_internal_value(self, data):

View File

@@ -65,8 +65,9 @@ def form_field_to_serializer_field(field):
if isinstance(field, m_from):
return m_to(
required=field.required,
allow_null=not field.required,
allow_null=not field.required and not isinstance(field, forms.BooleanField),
validators=field.validators,
initial=field.initial,
**{kwarg: getattr(field, kwarg, None) for kwarg in m_kwargs}
)

View File

@@ -45,6 +45,7 @@ import pycountry
from django import forms
from django.conf import settings
from django.contrib import messages
from django.contrib.gis.geoip2 import GeoIP2
from django.core.exceptions import ValidationError
from django.core.files.uploadedfile import SimpleUploadedFile
from django.core.validators import (
@@ -101,7 +102,6 @@ from pretix.helpers.countries import (
from pretix.helpers.escapejson import escapejson_attr
from pretix.helpers.http import get_client_ip
from pretix.helpers.i18n import get_format_without_seconds
from pretix.helpers.security import get_geoip
from pretix.presale.signals import question_form_fields
logger = logging.getLogger(__name__)
@@ -393,7 +393,7 @@ class WrappedPhoneNumberPrefixWidget(PhoneNumberPrefixWidget):
def guess_country_from_request(request, event):
if settings.HAS_GEOIP:
g = get_geoip()
g = GeoIP2()
try:
res = g.country(get_client_ip(request))
if res['country_code'] and len(res['country_code']) == 2:

View File

@@ -36,9 +36,8 @@ from django.core.management.commands.makemigrations import Command as Parent
from ._migrations import monkeypatch_migrations
monkeypatch_migrations()
class Command(Parent):
def handle(self, *args, **kwargs):
monkeypatch_migrations()
return super().handle(*args, **kwargs)
pass

View File

@@ -41,20 +41,16 @@ class Migration(migrations.Migration):
name='datetime',
field=models.DateTimeField(),
),
migrations.AddIndex(
'logentry',
models.Index(fields=('datetime', 'id'), name="pretixbase__datetim_b1fe5a_idx"),
migrations.AlterIndexTogether(
name='logentry',
index_together={('datetime', 'id')},
),
migrations.AddIndex(
'order',
models.Index(fields=["datetime", "id"], name="pretixbase__datetim_66aff0_idx"),
migrations.AlterIndexTogether(
name='order',
index_together={('datetime', 'id'), ('last_modified', 'id')},
),
migrations.AddIndex(
'order',
models.Index(fields=["last_modified", "id"], name="pretixbase__last_mo_4ebf8b_idx"),
),
migrations.AddIndex(
'transaction',
models.Index(fields=('datetime', 'id'), name="pretixbase__datetim_b20405_idx"),
migrations.AlterIndexTogether(
name='transaction',
index_together={('datetime', 'id')},
),
]

View File

@@ -61,10 +61,7 @@ class Migration(migrations.Migration):
options={
'ordering': ('identifier', 'type', 'organizer'),
'unique_together': {('identifier', 'type', 'organizer')},
'indexes': [
models.Index(fields=('identifier', 'type', 'organizer'), name='reusable_medium_organizer_index'),
models.Index(fields=('updated', 'id'), name="pretixbase__updated_093277_idx")
],
'index_together': {('identifier', 'type', 'organizer'), ('updated', 'id')},
},
bases=(models.Model, pretix.base.models.base.LoggingMixin),
),

View File

@@ -9,6 +9,31 @@ class Migration(migrations.Migration):
]
operations = [
migrations.RenameIndex(
model_name="logentry",
new_name="pretixbase__datetim_b1fe5a_idx",
old_fields=("datetime", "id"),
),
migrations.RenameIndex(
model_name="order",
new_name="pretixbase__datetim_66aff0_idx",
old_fields=("datetime", "id"),
),
migrations.RenameIndex(
model_name="order",
new_name="pretixbase__last_mo_4ebf8b_idx",
old_fields=("last_modified", "id"),
),
migrations.RenameIndex(
model_name="reusablemedium",
new_name="pretixbase__updated_093277_idx",
old_fields=("updated", "id"),
),
migrations.RenameIndex(
model_name="transaction",
new_name="pretixbase__datetim_b20405_idx",
old_fields=("datetime", "id"),
),
migrations.AlterField(
model_name="attendeeprofile",
name="id",

View File

@@ -1,6 +1,6 @@
# Generated by Django 4.2.10 on 2024-04-02 15:16
from django.db import migrations, models
from django.db import migrations
class Migration(migrations.Migration):
@@ -10,8 +10,8 @@ class Migration(migrations.Migration):
]
operations = [
migrations.RemoveIndex(
"reusablemedium",
'reusable_medium_organizer_index',
migrations.AlterIndexTogether(
name="reusablemedium",
index_together=set(),
),
]

View File

@@ -88,7 +88,7 @@ class LogEntry(models.Model):
class Meta:
ordering = ('-datetime', '-id')
indexes = [models.Index(fields=["datetime", "id"], name="pretixbase__datetim_b1fe5a_idx")]
indexes = [models.Index(fields=["datetime", "id"])]
def display(self):
from pretix.base.logentrytype_registry import log_entry_types

View File

@@ -122,7 +122,7 @@ class ReusableMedium(LoggedModel):
class Meta:
unique_together = (("identifier", "type", "organizer"),)
indexes = [
models.Index(fields=("updated", "id"), name="pretixbase__updated_093277_idx"),
models.Index(fields=("updated", "id")),
]
ordering = "identifier", "type", "organizer"

View File

@@ -336,8 +336,8 @@ class Order(LockModel, LoggedModel):
verbose_name_plural = _("Orders")
ordering = ("-datetime", "-pk")
indexes = [
models.Index(fields=["datetime", "id"], name="pretixbase__datetim_66aff0_idx"),
models.Index(fields=["last_modified", "id"], name="pretixbase__last_mo_4ebf8b_idx"),
models.Index(fields=["datetime", "id"]),
models.Index(fields=["last_modified", "id"]),
]
constraints = [
models.UniqueConstraint(fields=["organizer", "code"], name="order_organizer_code_uniq"),
@@ -3080,7 +3080,7 @@ class Transaction(models.Model):
class Meta:
ordering = 'datetime', 'pk'
indexes = [
models.Index(fields=['datetime', 'id'], name="pretixbase__datetim_b20405_idx")
models.Index(fields=['datetime', 'id'])
]
def save(self, *args, **kwargs):

View File

@@ -257,7 +257,7 @@ def init_organizer_exporters(
if permission_name not in _event_list_cache:
if staff_session:
events = event_qs.all()
events = event_qs.all() if event_qs else organizer.events.all()
elif event_qs is not None:
events = event_qs.filter(
pk__in=perm_holder.get_events_with_permission(
@@ -292,7 +292,7 @@ def init_organizer_exporters(
elif device:
_has_permission_on_any_team_cache[permission_name] = device.has_event_permission(permission_name)
if not _has_permission_on_any_team_cache[permission_name]:
if not _has_permission_on_any_team_cache[permission_name] and not staff_session:
continue
exporter: BaseExporter = response(event=_event_list_cache[permission_name], organizer=organizer, **kwargs)

View File

@@ -32,7 +32,6 @@
# 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.
import logging
import warnings
from typing import Any, Callable, Generic, List, Tuple, TypeVar
@@ -49,8 +48,6 @@ from .plugins import (
PLUGIN_LEVEL_ORGANIZER,
)
logger = logging.getLogger(__name__)
app_cache = {}
T = TypeVar('T')
@@ -63,25 +60,23 @@ def _populate_app_cache():
def get_defining_app(o):
# If sentry packed this in a wrapper, unpack that
module = getattr(o, "__module__", None)
if module and "sentry" in module:
if "sentry" in o.__module__:
o = o.__wrapped__
if hasattr(o, "__mocked_app"):
return o.__mocked_app
# Find the Django application this belongs to
searchpath = module or getattr(o.__class__, "__module__", None) or ""
searchpath = o.__module__
# Core modules are always active
if searchpath and any(searchpath.startswith(cm) for cm in settings.CORE_MODULES):
if any(searchpath.startswith(cm) for cm in settings.CORE_MODULES):
return 'CORE'
if not app_cache:
_populate_app_cache()
app = None
while searchpath:
while True:
app = app_cache.get(searchpath)
if "." not in searchpath or app:
break
@@ -162,7 +157,7 @@ class PluginSignal(Generic[T], django.dispatch.Signal):
if not app_cache:
_populate_app_cache()
for receiver in self._live_receivers(sender)[0]:
for receiver in self._sorted_receivers(sender):
if self._is_receiver_active(sender, receiver):
response = receiver(signal=self, sender=sender, **named)
responses.append((receiver, response))
@@ -184,7 +179,7 @@ class PluginSignal(Generic[T], django.dispatch.Signal):
if not app_cache:
_populate_app_cache()
for receiver in self._live_receivers(sender)[0]:
for receiver in self._sorted_receivers(sender):
if self._is_receiver_active(sender, receiver):
named[chain_kwarg_name] = response
response = receiver(signal=self, sender=sender, **named)
@@ -209,7 +204,7 @@ class PluginSignal(Generic[T], django.dispatch.Signal):
if not app_cache:
_populate_app_cache()
for receiver in self._live_receivers(sender)[0]:
for receiver in self._sorted_receivers(sender):
if self._is_receiver_active(sender, receiver):
try:
response = receiver(signal=self, sender=sender, **named)
@@ -219,35 +214,17 @@ class PluginSignal(Generic[T], django.dispatch.Signal):
responses.append((receiver, response))
return responses
def asend(self, sender: T, **named):
raise NotImplementedError() # NOQA
def asend_robust(self, sender: T, **named):
raise NotImplementedError() # NOQA
def _live_receivers(self, sender):
orig_list, orig_async_list = super()._live_receivers(sender)
if orig_async_list:
logger.error('Async receivers are not supported.')
raise NotImplementedError
def _getattr_fallback_to_class(obj, key):
return getattr(obj, key, getattr(obj.__class__, key))
def _is_core_module(receiver):
m = _getattr_fallback_to_class(receiver, "__module__")
return any(m.startswith(c) for c in settings.CORE_MODULES)
def _sorted_receivers(self, sender):
orig_list = self._live_receivers(sender)
sorted_list = sorted(
orig_list,
key=lambda receiver: (
0 if _is_core_module(receiver) else 1,
_getattr_fallback_to_class(receiver, "__module__"),
_getattr_fallback_to_class(receiver, "__name__"),
0 if any(receiver.__module__.startswith(m) for m in settings.CORE_MODULES) else 1,
receiver.__module__,
receiver.__name__,
)
)
return sorted_list, []
return sorted_list
class EventPluginSignal(PluginSignal[Event]):
@@ -323,41 +300,23 @@ class GlobalSignal(django.dispatch.Signal):
if not self.receivers or self.sender_receivers_cache.get(sender) is NO_RECEIVERS:
return response
for receiver in self._live_receivers(sender)[0]:
for receiver in self._live_receivers(sender):
named[chain_kwarg_name] = response
response = receiver(signal=self, sender=sender, **named)
return response
def asend(self, sender: T, **named):
raise NotImplementedError() # NOQA
def asend_robust(self, sender: T, **named):
raise NotImplementedError() # NOQA
def _live_receivers(self, sender):
# Ensure consistent sorting of receivers
orig_list, orig_async_list = super()._live_receivers(sender)
if orig_async_list:
logger.error('Async receivers are not supported.')
raise NotImplementedError
def _getattr_fallback_to_class(obj, key):
return getattr(obj, key, getattr(obj.__class__, key))
def _is_core_module(receiver):
m = _getattr_fallback_to_class(receiver, "__module__")
return any(m.startswith(c) for c in settings.CORE_MODULES)
orig_list = super()._live_receivers(sender)
sorted_list = sorted(
orig_list,
key=lambda receiver: (
0 if _is_core_module(receiver) else 1,
_getattr_fallback_to_class(receiver, "__module__"),
_getattr_fallback_to_class(receiver, "__name__"),
0 if any(receiver.__module__.startswith(m) for m in settings.CORE_MODULES) else 1,
receiver.__module__,
receiver.__name__,
)
)
return sorted_list, []
return sorted_list
class DeprecatedSignal(GlobalSignal):

View File

@@ -8,7 +8,7 @@
{% if page_obj.has_previous %}
{% if page_obj.previous_page_number > 1 %}
<li>
<a href="?{% url_replace request 'page' page_obj.num_pages %}" title="{% trans "Go to page 1" %}">
<a href="?{% url_replace request 'page' 1 %}" title="{% trans "Go to page 1" %}">
<span class="fa fa-angle-double-left"></span>
</a>
</li>

View File

@@ -8,7 +8,35 @@
{% csrf_token %}
{% bootstrap_form_errors form %}
{% bootstrap_field form.name layout='horizontal' %}
{% bootstrap_field form.devicetype layout='horizontal' %}
<div class="form-group">
<label class="col-md-3 control-label">{% trans "Device type" %}</label>
<div class="col-md-9">
<div class="big-radio radio">
<label>
<input type="radio" value="totp" name="{{ form.devicetype.html_name }}" {% if form.devicetype.value == "totp" %}checked{% endif %}>
<strong>{% trans "Smartphone with the Authenticator application" %}</strong><br>
<div class="help-block">
{% blocktrans trimmed %}
Use your smartphone with any Time-based One-Time-Password app like freeOTP, Google Authenticator or Proton Authenticator.
{% endblocktrans %}
</div>
</label>
</div>
<div class="big-radio radio">
<label>
<input type="radio" value="webauthn" name="{{ form.devicetype.html_name }}" {% if form.devicetype.value == "webauthn" %}checked{% endif %}>
<strong>{% trans "WebAuthn-compatible hardware token" %}</strong><br>
<div class="help-block">
{% blocktrans trimmed %}
Use a hardware token like the Yubikey, or biometric authentication on iOS, macOS and Android.
{% endblocktrans %}
</div>
</label>
</div>
</div>
</div>
<div class="form-group submit-group">
<button type="submit" class="btn btn-primary btn-save">
{% trans "Continue" %}

View File

@@ -2649,7 +2649,10 @@ class OrderGo(EventPermissionRequiredMixin, View):
class ExportMixin:
@cached_property
def exporters(self):
raw_exporters = list(init_event_exporters(self.request.event, user=self.request.user, request=self.request))
raw_exporters = list(init_event_exporters(
self.request.event, user=self.request.user, request=self.request,
staff_session=self.request.user.has_active_staff_session(self.request.session.session_key),
))
return sorted(
raw_exporters,
key=lambda ex: (0 if ex.category else 1, ex.category or "", 0 if ex.featured else 1, str(ex.verbose_name).lower())

View File

@@ -2025,7 +2025,10 @@ class ExportMixin:
@cached_property
def exporters(self):
raw_exporters = list(init_organizer_exporters(self.request.organizer, user=self.request.user, request=self.request))
raw_exporters = list(init_organizer_exporters(
self.request.organizer, user=self.request.user, request=self.request,
staff_session=self.request.user.has_active_staff_session(self.request.session.session_key),
))
return sorted(
raw_exporters,
key=lambda ex: (

View File

@@ -25,7 +25,7 @@ import time
from django.conf import settings
from django.contrib.auth import login as auth_login
from django.contrib.gis import geoip2
from django.contrib.gis.geoip2 import GeoIP2
from django.core.cache import cache
from django.utils.timezone import now
from django.utils.translation import gettext_lazy as _
@@ -63,20 +63,14 @@ def get_user_agent_hash(request):
_geoip = None
def get_geoip() -> geoip2.GeoIP2:
# See https://code.djangoproject.com/ticket/36988#ticket
def _get_country(request):
global _geoip
geoip2.SUPPORTED_DATABASE_TYPES.add("Geoacumen-Country")
if not _geoip:
_geoip = geoip2.GeoIP2()
return _geoip
_geoip = GeoIP2()
def _get_country(request):
try:
res = get_geoip().country(get_client_ip(request))
res = _geoip.country(get_client_ip(request))
except AddressNotFoundError:
return None
return res['country_code']

View File

@@ -5,7 +5,7 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:05+0000\n"
"PO-Revision-Date: 2026-03-17 14:27+0000\n"
"PO-Revision-Date: 2026-03-18 02:00+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German <https://translate.pretix.eu/projects/pretix/pretix/"
"de/>\n"
@@ -8453,7 +8453,7 @@ msgstr "Zahlungseinstellungen"
#: pretix/base/permissions.py:203
#: pretix/control/templates/pretixcontrol/event/tax.html:120
msgid "Tax settings"
msgstr "Steuer-Einstellungen"
msgstr "Steuereinstellungen"
#: pretix/base/permissions.py:209
msgid "Invoicing settings"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:05+0000\n"
"PO-Revision-Date: 2026-03-17 14:34+0000\n"
"PO-Revision-Date: 2026-03-18 02:00+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German (informal) <https://translate.pretix.eu/projects/"
"pretix/pretix/de_Informal/>\n"
@@ -8446,7 +8446,7 @@ msgstr "Zahlungseinstellungen"
#: pretix/base/permissions.py:203
#: pretix/control/templates/pretixcontrol/event/tax.html:120
msgid "Tax settings"
msgstr "Steuer-Einstellungen"
msgstr "Steuereinstellungen"
#: pretix/base/permissions.py:209
msgid "Invoicing settings"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:05+0000\n"
"PO-Revision-Date: 2026-03-03 20:00+0000\n"
"PO-Revision-Date: 2026-03-18 12:23+0000\n"
"Last-Translator: CVZ-es <damien.bremont@casadevelazquez.org>\n"
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix/"
"es/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.16.1\n"
"X-Generator: Weblate 5.16.2\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -408,10 +408,8 @@ msgstr ""
#: pretix/api/serializers/organizer.py:482
#: pretix/control/views/organizer.py:1039
#, fuzzy
#| msgid "Account information"
msgid "Account invitation"
msgstr "Información de la cuenta"
msgstr "Invitación a crear una cuenta"
#: pretix/api/serializers/organizer.py:503
#: pretix/control/views/organizer.py:1138
@@ -3966,10 +3964,9 @@ msgid "Peppol participant ID"
msgstr "Identificador de participante Peppol"
#: pretix/base/invoicing/peppol.py:211
#, fuzzy
#| msgid "The Peppol participant ID is not registered on the Peppol network."
msgid "The Peppol participant ID does not match your VAT ID."
msgstr "El ID de participante de Peppol no está registrado en la red Peppol."
msgstr ""
"El identificador de participante de Peppol no coincide con el número de IVA."
#: pretix/base/invoicing/peppol.py:214
msgctxt "peppol_invoice"
@@ -4991,7 +4988,7 @@ msgstr ""
#: pretix/base/models/event.py:607 pretix/base/models/organizer.py:94
msgid "The slug may only contain letters, numbers, dots and dashes."
msgstr ""
"La URL semántica solo puede contener letras, números, puntos y guiones."
"El nombre de archivo solo puede contener letras, números, puntos y guiones."
#: pretix/base/models/event.py:624 pretix/base/models/event.py:1551
msgid "Show in lists"
@@ -6893,10 +6890,8 @@ msgstr ""
"pocos minutos para activar para todos los usuarios."
#: pretix/base/models/organizer.py:378
#, fuzzy
#| msgid "Event permissions"
msgid "All event permissions"
msgstr "Permisos para eventos"
msgstr "Todos los permisos del evento"
#: pretix/base/models/organizer.py:379
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:34
@@ -6904,10 +6899,8 @@ msgid "Event permissions"
msgstr "Permisos para eventos"
#: pretix/base/models/organizer.py:380
#, fuzzy
#| msgid "Organizer permissions"
msgid "All organizer permissions"
msgstr "Permisos del organizador"
msgstr "Todos los permisos de organizador"
#: pretix/base/models/organizer.py:381
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:25
@@ -8414,36 +8407,32 @@ msgstr "Su archivo de diseño no es un diseño válido. Mensaje de error: {}"
#: pretix/base/permissions.py:314 pretix/base/permissions.py:331
msgctxt "permission_level"
msgid "View"
msgstr ""
msgstr "Ver"
#: pretix/base/permissions.py:164 pretix/base/permissions.py:169
#: pretix/base/permissions.py:174 pretix/base/permissions.py:179
#: pretix/base/permissions.py:286 pretix/base/permissions.py:315
#, fuzzy
#| msgid "Save and check"
msgctxt "permission_level"
msgid "View and change"
msgstr "Guardar y verificar"
msgstr "Ver y modificar"
#: pretix/base/permissions.py:168
#, fuzzy
#| msgid "API tokens"
msgid "API only"
msgstr "Tokens de API"
msgstr "Solo API"
#: pretix/base/permissions.py:173
msgid ""
"Menu item will only show up if the user has permission for general settings."
msgstr ""
"Esta opción del menú solo aparecerá si el usuario tiene permiso para acceder "
"a la configuración general."
#: pretix/base/permissions.py:177 pretix/base/permissions.py:231
#: pretix/base/permissions.py:285 pretix/base/permissions.py:313
#: pretix/base/permissions.py:330
#, fuzzy
#| msgid "Revoke access"
msgctxt "permission_level"
msgid "No access"
msgstr "Revocar el acceso"
msgstr "Sin acceso"
#: pretix/base/permissions.py:188
#: pretix/control/templates/pretixcontrol/event/settings.html:7
@@ -8457,6 +8446,8 @@ msgid ""
"This includes access to all settings not listed explicitly below, including "
"plugin settings."
msgstr ""
"Esto incluye el acceso a todos los ajustes que no se enumeran explícitamente "
"a continuación, incluidos los ajustes de los complementos."
#: pretix/base/permissions.py:197
#: pretix/control/templates/pretixcontrol/event/payment.html:6
@@ -8470,100 +8461,79 @@ msgid "Tax settings"
msgstr "Configuración de impuestos"
#: pretix/base/permissions.py:209
#, fuzzy
#| msgid "Invoice settings"
msgid "Invoicing settings"
msgstr "Configuración de la factura"
msgstr "Configuración de facturación"
#: pretix/base/permissions.py:215
#, fuzzy
#| msgctxt "subevent"
#| msgid "Event series date added"
msgid "Event series dates"
msgstr "Fechas de la serie de eventos añadidas"
msgstr "Fechas de la serie de eventos"
#: pretix/base/permissions.py:221
#, fuzzy
#| msgid "Product name and variation"
msgid "Products, quotas and questions"
msgstr "Nombre del producto y variación"
msgstr "Productos, cuotas y preguntas"
#: pretix/base/permissions.py:224
msgid "Also includes related objects like categories or discounts."
msgstr ""
msgstr "También incluye elementos relacionados, como categorías o descuentos."
#: pretix/base/permissions.py:232
#, fuzzy
#| msgid "All check-ins"
msgctxt "permission_level"
msgid "Only check-in"
msgstr "Todos los check-ins"
msgstr "Solo check-in"
#: pretix/base/permissions.py:233
#, fuzzy
#| msgid "View full log"
msgctxt "permission_level"
msgid "View all"
msgstr "Ver log completo"
msgstr "Ver todo"
#: pretix/base/permissions.py:234
#, fuzzy
#| msgid "Valid check-in"
msgctxt "permission_level"
msgid "View all and check-in"
msgstr "Check-in válido"
msgstr "Ver todo y check-in"
#: pretix/base/permissions.py:235
#, fuzzy
#| msgid "View all upcoming events"
msgctxt "permission_level"
msgid "View all and change"
msgstr "Ver todos los próximos eventos"
msgstr "Ver todo y modificar"
#: pretix/base/permissions.py:236
msgid "Includes the ability to cancel and refund individual orders."
msgstr ""
msgstr "Incluye la posibilidad de cancelar y reembolsar pedidos individuales."
#: pretix/base/permissions.py:238
#, fuzzy
#| msgid "An entry has been added to the waiting list."
msgid "Also includes related objects like the waiting list."
msgstr "Se ha añadido una entrada a la lista de espera."
msgstr "También incluye elementos relacionados, como la lista de espera."
#: pretix/base/permissions.py:248
#, fuzzy
#| msgid "Generate cancellation"
msgid "Full event or date cancellation"
msgstr "Generar cancelación"
msgstr "Cancelación total del evento o de la fecha"
#: pretix/base/permissions.py:252
#, fuzzy
#| msgid "Sale not allowed"
msgctxt "permission_level"
msgid "Not allowed"
msgstr "Venta no permitida"
msgstr "No está permitido"
#: pretix/base/permissions.py:253
#, fuzzy
#| msgid "Allowed titles"
msgctxt "permission_level"
msgid "Allowed"
msgstr "Titulos permitidos"
msgstr "Permitido"
#: pretix/base/permissions.py:268
msgctxt "permission_level"
msgid "Access existing events"
msgstr ""
msgstr "Acceder a los eventos existentes"
#: pretix/base/permissions.py:269
msgctxt "permission_level"
msgid "Access existing and create new events"
msgstr ""
msgstr "Acceder a eventos existentes y crear nuevos eventos"
#: pretix/base/permissions.py:271
msgid ""
"The level of access to events is determined in detail by the settings below."
msgstr ""
"El nivel de acceso a los eventos se determina en detalle mediante los "
"ajustes que se indican a continuación."
#: pretix/base/permissions.py:275 pretix/control/navigation.py:143
#: pretix/control/navigation.py:462 pretix/control/navigation.py:512
@@ -8582,12 +8552,17 @@ msgid ""
"This includes access to all organizer-level functionality not listed "
"explicitly below, including plugin settings."
msgstr ""
"Esto incluye el acceso a todas las funciones de nivel de organizador que no "
"se enumeran explícitamente a continuación, incluida la configuración de los "
"complementos."
#: pretix/base/permissions.py:287
msgid ""
"Includes the ability to give someone (including oneself) additional "
"permissions."
msgstr ""
"Incluye la posibilidad de conceder permisos adicionales a otra persona "
"(incluido uno mismo)."
#: pretix/base/permissions.py:298 pretix/control/navigation.py:608
#: pretix/control/templates/pretixcontrol/organizers/customers.html:6
@@ -8605,12 +8580,12 @@ msgid ""
"Includes the ability to give access to events and data oneself does not have "
"access to."
msgstr ""
"Incluye la posibilidad de conceder acceso a eventos y datos a los que uno "
"mismo no tiene acceso."
#: pretix/base/permissions.py:321
#, fuzzy
#| msgid "Seating plan"
msgid "Seating plans"
msgstr "Plan de asientos"
msgstr "Planes de asientos"
#: pretix/base/permissions.py:327 pretix/control/navigation.py:712
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html:8
@@ -9254,12 +9229,12 @@ msgid "Czech National Bank"
msgstr "Banco Nacional Checo"
#: pretix/base/services/export.py:94 pretix/base/services/export.py:154
#, fuzzy
#| msgid "You do not have sufficient permission to perform this export."
msgid ""
"Export not found or you do not have sufficient permission to perform this "
"export."
msgstr "No tiene permiso suficiente para realizar esta exportación."
msgstr ""
"No se ha encontrado la exportación o no tienes los permisos suficientes para "
"realizarla."
#: pretix/base/services/export.py:107 pretix/base/services/export.py:179
#: pretix/base/services/export.py:357
@@ -13735,25 +13710,7 @@ msgid "Contact"
msgstr "Contacto"
#: pretix/base/templates/pretixbase/email/shred_completed.txt:2
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "we hereby confirm that the following data shredding job has been "
#| "completed:\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "\n"
#| "Event: %(event)s\n"
#| "\n"
#| "Data selection: %(shredders)s\n"
#| "\n"
#| "Start time: %(start_time)s (new data added after this time might not have "
#| "been deleted)\n"
#| "\n"
#| "Best regards,\n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -13788,7 +13745,7 @@ msgstr ""
"\n"
"Atentamente,\n"
"\n"
"Tu equipo de pretix\n"
"El equipo de %(instance)s\n"
#: pretix/base/templates/pretixbase/forms/widgets/checkbox_sales_channel_option.html:16
msgid ""
@@ -14350,16 +14307,12 @@ msgid "This is an event series"
msgstr "Esta es una serie de eventos"
#: pretix/control/forms/event.py:135 pretix/control/forms/event.py:363
#, fuzzy
#| msgid ""
#| "You do not have sufficient permission to enable plugins that need to be "
#| "enabled for the entire organizer account."
msgid ""
"You do not have a sufficient level of access on the event you selected to "
"copy it to the desired organizer."
msgstr ""
"No tienes permisos suficientes para habilitar los plugins que deben "
"habilitarse para toda su cuenta de organizador."
"No tiene los permisos necesarios para copiar el evento que ha seleccionado "
"al organizador deseado."
#: pretix/control/forms/event.py:143
msgid ""
@@ -14439,6 +14392,8 @@ msgid ""
"You cannot choose a team that would give you more access than you have on "
"the event you are copying."
msgstr ""
"No puede elegir un equipo que le otorgue más permisos de los que ya tiene en "
"el evento que está copiando."
#: pretix/control/forms/event.py:344
msgid "Copy configuration from"
@@ -14454,6 +14409,8 @@ msgid ""
"You cannot choose an event on which you have less access than the team you "
"selected in the previous step."
msgstr ""
"No puede elegir un evento al que tenga menos derechos de acceso que el "
"equipo que seleccionó en el paso anterior."
#: pretix/control/forms/event.py:387 pretix/control/forms/item.py:1304
#: pretix/control/forms/subevents.py:411
@@ -16816,7 +16773,7 @@ msgstr "Sólo puede establecer un dominio de organizador."
#: pretix/control/forms/organizer.py:322
msgid "Provided by a plugin"
msgstr ""
msgstr "Proporcionado por un plugin"
#: pretix/control/forms/organizer.py:438
msgid ""
@@ -17708,10 +17665,8 @@ msgid "The order has been denied (comment: \"{comment}\")."
msgstr "El pedido ha sido denegado (comentario: \"{comment}\")."
#: pretix/control/logdisplay.py:521
#, fuzzy
#| msgid "The order has been overpaid."
msgid "The customer VAT ID has been verified."
msgstr "El pedido ha sido pagado de más."
msgstr "Se ha verificado el número de identificación fiscal del cliente."
#: pretix/control/logdisplay.py:522
#, python-brace-format
@@ -18015,10 +17970,9 @@ msgid "{user} has been invited to the team."
msgstr "{user} ha sido invitado al equipo."
#: pretix/control/logdisplay.py:644
#, fuzzy, python-brace-format
#| msgid "Invite for {user} has been resent."
#, python-brace-format
msgid "Invite for {user} has been deleted."
msgstr "La invitación para {user} ha sido reenviada."
msgstr "Se ha eliminado la invitación para {user}."
#: pretix/control/logdisplay.py:645
#, python-brace-format
@@ -20338,21 +20292,7 @@ msgid "Add property"
msgstr "Añadir propiedad"
#: pretix/control/templates/pretixcontrol/email/confirmation_code.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "%(reason)s\n"
#| "\n"
#| " %(code)s\n"
#| "\n"
#| "Please do never give this code to another person. Our support team will "
#| "never ask for this code.\n"
#| "\n"
#| "If this code was not requested by you, please contact us immediately.\n"
#| "\n"
#| "Best regards,\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20381,7 +20321,7 @@ msgstr ""
"inmediato.\n"
"\n"
"Atentamente,\n"
"El equipo de pretix\n"
"El equipo de %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/email_setup.txt:1
#, python-format
@@ -20419,17 +20359,7 @@ msgstr ""
"Tu equipo de %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/forgot.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you requested a new password. Please go to the following page to reset "
#| "your password:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20449,27 +20379,10 @@ msgstr ""
"%(url)s \n"
"\n"
"Saludos, \n"
"El equipo de pretix\n"
"El equipo de %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/invitation.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you have been invited to a team on pretix, a platform to perform event\n"
#| "ticket sales.\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "Team: %(team)s\n"
#| "\n"
#| "If you want to join that team, just click on the following link:\n"
#| "%(url)s\n"
#| "\n"
#| "If you do not want to join, you can safely ignore or delete this email.\n"
#| "\n"
#| "Best regards, \n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20491,7 +20404,8 @@ msgid ""
msgstr ""
"Hola, \n"
"\n"
"usted ha sido invitado a un equipo en pretix, una plataforma para realizar \n"
"usted ha sido invitado a un equipo de %(instance)s, una plataforma para "
"realizar \n"
"ventas de entradas de eventos. \n"
"\n"
"Organizador: %(organizer)s\n"
@@ -20504,7 +20418,7 @@ msgstr ""
"\n"
"Saludos cordiales, \n"
"\n"
"Su equipo Pretix\n"
"El equipo de %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/login_notice.txt:1
#, python-format
@@ -20542,24 +20456,7 @@ msgstr ""
"El equipo de %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/security_notice.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "this is to inform you that the account information of your pretix account "
#| "has been\n"
#| "changed. In particular, the following changes have been performed:\n"
#| "\n"
#| "%(messages)s\n"
#| "\n"
#| "If this change was not performed by you, please contact us immediately.\n"
#| "\n"
#| "You can review and change your account settings here:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20580,8 +20477,8 @@ msgid ""
msgstr ""
"Hola, \n"
"\n"
"esto es para informarle que la información de su cuenta pretix ha sido "
"cambiada . \n"
"esto es para informarle que la información de su cuenta del equipo de %"
"(instance)s ha sido cambiada. \n"
"En particular, se han realizado las siguientes modificaciones: \n"
"\n"
"%(messages)s\n"
@@ -20594,7 +20491,7 @@ msgstr ""
"%(url)s \n"
"\n"
"Saludos cordiales, \n"
"su equipo de Pretix\n"
"El equipo de %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email_setup.html:8
#: pretix/control/templates/pretixcontrol/email_setup_simple.html:8
@@ -20864,10 +20761,8 @@ msgstr ""
"entradas, puede hacerlo a través de esta opción."
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:51
#, fuzzy
#| msgid "Permissions"
msgid "No permission"
msgstr "Permisos"
msgstr "No tiene permiso"
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:59
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:72
@@ -23426,10 +23321,8 @@ msgid "Edit question"
msgstr "Editar pregunta"
#: pretix/control/templates/pretixcontrol/items/question.html:55
#, fuzzy
#| msgid "You do not have permission to view this content."
msgid "No permission to view answers."
msgstr "No tienes permiso para ver este contenido."
msgstr "No tiene permiso para ver las respuestas."
#: pretix/control/templates/pretixcontrol/items/question.html:63
msgid "No matching answers found."
@@ -25078,10 +24971,8 @@ msgstr "No hay próxima ejecución programada"
#: pretix/control/templates/pretixcontrol/orders/export.html:37
#: pretix/control/templates/pretixcontrol/organizers/export.html:37
#, fuzzy
#| msgid "Exporter not found"
msgid "Exporter not found or no permission"
msgstr "Exportador no encontrado"
msgstr "No se ha encontrado el exportador o no se dispone de permiso"
#: pretix/control/templates/pretixcontrol/orders/export.html:42
#: pretix/control/templates/pretixcontrol/organizers/export.html:42
@@ -25124,10 +25015,8 @@ msgstr "Recomendado para nuevos usuarios"
#: pretix/control/templates/pretixcontrol/orders/export.html:120
#: pretix/control/templates/pretixcontrol/organizers/export.html:120
#, fuzzy
#| msgid "There are no add-ons available for this product."
msgid "There are no exporters available for you."
msgstr "No hay complementos disponibles para este producto."
msgstr "No hay exportadores disponibles para usted."
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:4
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:6
@@ -27078,7 +26967,7 @@ msgstr ""
#: pretix/control/templates/pretixcontrol/pdf/index.html:274
#, python-format
msgid "max. %(size)s, smaller is better"
msgstr ""
msgstr "máx. %(size)s; cuanto más pequeño, mejor"
#: pretix/control/templates/pretixcontrol/pdf/index.html:282
msgid "Download current background"
@@ -29861,16 +29750,12 @@ msgstr ""
"los errores."
#: pretix/control/views/orders.py:2798 pretix/control/views/organizer.py:2131
#, fuzzy
#| msgid ""
#| "Your user account does not have sufficient permission to run this report, "
#| "therefore you cannot schedule it."
msgid ""
"Your user account does not have sufficient permission to run this report, "
"therefore you cannot change it."
msgstr ""
"Su cuenta de usuario no tiene permisos suficientes para ejecutar este "
"informe, por lo que no puede programarlo."
"Su cuenta de usuario no tiene los permisos suficientes para ejecutar este "
"informe, por lo que no puede modificarlo."
#: pretix/control/views/orders.py:2807 pretix/control/views/organizer.py:2140
msgid ""
@@ -33945,7 +33830,7 @@ msgstr "iDEAL via Stripe"
#: pretix/plugins/stripe/payment.py:1572
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/stripe/payment.py:1575
msgid ""
@@ -36930,6 +36815,9 @@ msgid ""
"the shop that affect quotas, such as the validity period of carts and "
"vouchers."
msgstr ""
"Tenga en cuenta que la hora modificada no se tiene en cuenta en aquellos "
"aspectos de la tienda que afectan a los límites, como el periodo de validez "
"de los carritos y los vales."
#: pretix/presale/templates/pretixpresale/event/timemachine.html:31
msgid "Enable time machine"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:06+0000\n"
"PO-Revision-Date: 2026-01-27 14:51+0000\n"
"PO-Revision-Date: 2026-03-18 12:23+0000\n"
"Last-Translator: CVZ-es <damien.bremont@casadevelazquez.org>\n"
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix-"
"js/es/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.15.2\n"
"X-Generator: Weblate 5.16.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -60,7 +60,7 @@ msgstr "PayPal Paga Después"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:41
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:42
msgid "SEPA Direct Debit"

View File

@@ -4,16 +4,16 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:05+0000\n"
"PO-Revision-Date: 2026-03-03 20:00+0000\n"
"PO-Revision-Date: 2026-03-18 12:23+0000\n"
"Last-Translator: CVZ-es <damien.bremont@casadevelazquez.org>\n"
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix/fr/"
">\n"
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix/"
"fr/>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.16.1\n"
"X-Generator: Weblate 5.16.2\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -409,10 +409,8 @@ msgstr ""
#: pretix/api/serializers/organizer.py:482
#: pretix/control/views/organizer.py:1039
#, fuzzy
#| msgid "Account information"
msgid "Account invitation"
msgstr "Informations sur le compte"
msgstr "Invitation à créer un compte"
#: pretix/api/serializers/organizer.py:503
#: pretix/control/views/organizer.py:1138
@@ -3971,12 +3969,8 @@ msgid "Peppol participant ID"
msgstr "Identifiant participant Peppol"
#: pretix/base/invoicing/peppol.py:211
#, fuzzy
#| msgid "The Peppol participant ID is not registered on the Peppol network."
msgid "The Peppol participant ID does not match your VAT ID."
msgstr ""
"L'identifiant Peppol du participant n'est pas enregistré sur le réseau "
"Peppol."
msgstr "L'identifiant Peppol ne correspond pas à votre numéro de TVA."
#: pretix/base/invoicing/peppol.py:214
msgctxt "peppol_invoice"
@@ -6929,10 +6923,8 @@ msgstr ""
"les utilisateurs."
#: pretix/base/models/organizer.py:378
#, fuzzy
#| msgid "Event permissions"
msgid "All event permissions"
msgstr "Autorisations de l'événement"
msgstr "Toutes les autorisations relatives aux événements"
#: pretix/base/models/organizer.py:379
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:34
@@ -6940,10 +6932,8 @@ msgid "Event permissions"
msgstr "Autorisations de l'événement"
#: pretix/base/models/organizer.py:380
#, fuzzy
#| msgid "Organizer permissions"
msgid "All organizer permissions"
msgstr "Autorisations de l'organisateur"
msgstr "Toutes les autorisations d'organisateur"
#: pretix/base/models/organizer.py:381
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:25
@@ -8467,36 +8457,32 @@ msgstr ""
#: pretix/base/permissions.py:314 pretix/base/permissions.py:331
msgctxt "permission_level"
msgid "View"
msgstr ""
msgstr "Voir"
#: pretix/base/permissions.py:164 pretix/base/permissions.py:169
#: pretix/base/permissions.py:174 pretix/base/permissions.py:179
#: pretix/base/permissions.py:286 pretix/base/permissions.py:315
#, fuzzy
#| msgid "Save and check"
msgctxt "permission_level"
msgid "View and change"
msgstr "Enregistrer et vérifier"
msgstr "Afficher et modifier"
#: pretix/base/permissions.py:168
#, fuzzy
#| msgid "API tokens"
msgid "API only"
msgstr "Tokens API"
msgstr "API uniquement"
#: pretix/base/permissions.py:173
msgid ""
"Menu item will only show up if the user has permission for general settings."
msgstr ""
"Cet élément de menu n'apparaîtra que si l'utilisateur dispose d'une "
"autorisation pour les paramètres généraux."
#: pretix/base/permissions.py:177 pretix/base/permissions.py:231
#: pretix/base/permissions.py:285 pretix/base/permissions.py:313
#: pretix/base/permissions.py:330
#, fuzzy
#| msgid "Revoke access"
msgctxt "permission_level"
msgid "No access"
msgstr "Révoquer l'accès"
msgstr "Accès impossible"
#: pretix/base/permissions.py:188
#: pretix/control/templates/pretixcontrol/event/settings.html:7
@@ -8510,6 +8496,8 @@ msgid ""
"This includes access to all settings not listed explicitly below, including "
"plugin settings."
msgstr ""
"Cela inclut l'accès à tous les paramètres qui ne sont pas explicitement "
"mentionnés ci-dessous, y compris les paramètres des extensions."
#: pretix/base/permissions.py:197
#: pretix/control/templates/pretixcontrol/event/payment.html:6
@@ -8523,100 +8511,81 @@ msgid "Tax settings"
msgstr "Paramètres relatifs aux taxes"
#: pretix/base/permissions.py:209
#, fuzzy
#| msgid "Invoice settings"
msgid "Invoicing settings"
msgstr "Paramètres de facturation"
#: pretix/base/permissions.py:215
#, fuzzy
#| msgctxt "subevent"
#| msgid "Event series date added"
msgid "Event series dates"
msgstr "Une nouvelle date a été ajouté"
msgstr "Dates de la série d'événements"
#: pretix/base/permissions.py:221
#, fuzzy
#| msgid "Product name and variation"
msgid "Products, quotas and questions"
msgstr "Dénomination et variantes du produit"
msgstr "Produits, quotas et questions"
#: pretix/base/permissions.py:224
msgid "Also includes related objects like categories or discounts."
msgstr ""
"Cela inclut également les éléments associés, tels que les catégories ou les "
"remises."
#: pretix/base/permissions.py:232
#, fuzzy
#| msgid "All check-ins"
msgctxt "permission_level"
msgid "Only check-in"
msgstr "Tous les enregistrements"
msgstr "Enregistrement uniquement"
#: pretix/base/permissions.py:233
#, fuzzy
#| msgid "View full log"
msgctxt "permission_level"
msgid "View all"
msgstr "Voir le journal complet"
msgstr "Tout afficher"
#: pretix/base/permissions.py:234
#, fuzzy
#| msgid "Valid check-in"
msgctxt "permission_level"
msgid "View all and check-in"
msgstr "Enregistrement valide"
msgstr "Tout afficher et les check-in"
#: pretix/base/permissions.py:235
#, fuzzy
#| msgid "View all upcoming events"
msgctxt "permission_level"
msgid "View all and change"
msgstr "Voir tous les événements à venir"
msgstr "Tout afficher et modifier"
#: pretix/base/permissions.py:236
msgid "Includes the ability to cancel and refund individual orders."
msgstr ""
msgstr "Permet d'annuler et de rembourser des commandes individuelles."
#: pretix/base/permissions.py:238
#, fuzzy
#| msgid "An entry has been added to the waiting list."
msgid "Also includes related objects like the waiting list."
msgstr "Une entrée a été ajoutée à la liste d'attente."
msgstr "Comprend également les éléments connexes, tels que la liste d'attente."
#: pretix/base/permissions.py:248
#, fuzzy
#| msgid "Generate cancellation"
msgid "Full event or date cancellation"
msgstr "Générer annulation"
msgstr "Annulation complète de l'événement ou de la date"
#: pretix/base/permissions.py:252
#, fuzzy
#| msgid "Sale not allowed"
msgctxt "permission_level"
msgid "Not allowed"
msgstr "Vente non autorisée"
msgstr "Interdit"
#: pretix/base/permissions.py:253
#, fuzzy
#| msgid "Allowed titles"
msgctxt "permission_level"
msgid "Allowed"
msgstr "Titres autorisés"
msgstr "Autorisé"
#: pretix/base/permissions.py:268
msgctxt "permission_level"
msgid "Access existing events"
msgstr ""
msgstr "Accéder aux événements existants"
#: pretix/base/permissions.py:269
msgctxt "permission_level"
msgid "Access existing and create new events"
msgstr ""
msgstr "Accéder aux événements existants et en créer de nouveaux"
#: pretix/base/permissions.py:271
msgid ""
"The level of access to events is determined in detail by the settings below."
msgstr ""
"Le niveau d'accès aux événements est défini en détail par les paramètres ci-"
"dessous."
#: pretix/base/permissions.py:275 pretix/control/navigation.py:143
#: pretix/control/navigation.py:462 pretix/control/navigation.py:512
@@ -8635,12 +8604,17 @@ msgid ""
"This includes access to all organizer-level functionality not listed "
"explicitly below, including plugin settings."
msgstr ""
"Cela inclut l'accès à toutes les fonctionnalités de niveau organisateur qui "
"ne sont pas explicitement mentionnées ci-dessous, y compris les paramètres "
"des extensions."
#: pretix/base/permissions.py:287
msgid ""
"Includes the ability to give someone (including oneself) additional "
"permissions."
msgstr ""
"Permet d'accorder des autorisations supplémentaires à une autre personne (y "
"compris à soi-même)."
#: pretix/base/permissions.py:298 pretix/control/navigation.py:608
#: pretix/control/templates/pretixcontrol/organizers/customers.html:6
@@ -8658,12 +8632,12 @@ msgid ""
"Includes the ability to give access to events and data oneself does not have "
"access to."
msgstr ""
"Permet de donner accès à des événements et à des données auxquels on n'a pas "
"soi-même accès."
#: pretix/base/permissions.py:321
#, fuzzy
#| msgid "Seating plan"
msgid "Seating plans"
msgstr "Plan de salle"
msgstr "Plans de salle"
#: pretix/base/permissions.py:327 pretix/control/navigation.py:712
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html:8
@@ -9314,14 +9288,12 @@ msgid "Czech National Bank"
msgstr "Banque nationale tchèque"
#: pretix/base/services/export.py:94 pretix/base/services/export.py:154
#, fuzzy
#| msgid "You do not have sufficient permission to perform this export."
msgid ""
"Export not found or you do not have sufficient permission to perform this "
"export."
msgstr ""
"Vous ne disposez pas des autorisations suffisantes pour effectuer cette "
"exportation."
"L'exportation est introuvable ou vous ne disposez pas des autorisations "
"nécessaires pour effectuer cette exportation."
#: pretix/base/services/export.py:107 pretix/base/services/export.py:179
#: pretix/base/services/export.py:357
@@ -13860,25 +13832,7 @@ msgid "Contact"
msgstr "Contact"
#: pretix/base/templates/pretixbase/email/shred_completed.txt:2
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "we hereby confirm that the following data shredding job has been "
#| "completed:\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "\n"
#| "Event: %(event)s\n"
#| "\n"
#| "Data selection: %(shredders)s\n"
#| "\n"
#| "Start time: %(start_time)s (new data added after this time might not have "
#| "been deleted)\n"
#| "\n"
#| "Best regards,\n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -13913,7 +13867,7 @@ msgstr ""
"\n"
"Sinceres salutations\n"
"\n"
"Votre équipe pretix\n"
"Votre équipe pretix%(instance)s\n"
#: pretix/base/templates/pretixbase/forms/widgets/checkbox_sales_channel_option.html:16
msgid ""
@@ -14482,16 +14436,12 @@ msgid "This is an event series"
msgstr "C'est une série d'événements"
#: pretix/control/forms/event.py:135 pretix/control/forms/event.py:363
#, fuzzy
#| msgid ""
#| "You do not have sufficient permission to enable plugins that need to be "
#| "enabled for the entire organizer account."
msgid ""
"You do not have a sufficient level of access on the event you selected to "
"copy it to the desired organizer."
msgstr ""
"Vous ne disposez pas des autorisations suffisantes pour activer les plugins "
"qui doivent être activés pour l'ensemble du compte organisateur."
"Vous ne disposez pas des droits d'accès suffisants pour copier l'événement "
"que vous avez sélectionné vers l'organisateur souhaité."
#: pretix/control/forms/event.py:143
msgid ""
@@ -14574,6 +14524,9 @@ msgid ""
"You cannot choose a team that would give you more access than you have on "
"the event you are copying."
msgstr ""
"Vous ne pouvez pas choisir une équipe qui vous donnerait plus de droits "
"d'accès que ceux dont vous disposez actuellement pour l'événement que vous "
"copiez."
#: pretix/control/forms/event.py:344
msgid "Copy configuration from"
@@ -14589,6 +14542,9 @@ msgid ""
"You cannot choose an event on which you have less access than the team you "
"selected in the previous step."
msgstr ""
"Vous ne pouvez pas sélectionner un événement pour lequel vous disposez de "
"moins de droits d'accès que l'équipe que vous avez choisie à l'étape "
"précédente."
#: pretix/control/forms/event.py:387 pretix/control/forms/item.py:1304
#: pretix/control/forms/subevents.py:411
@@ -15543,7 +15499,7 @@ msgstr "Recherche d'un participant…"
#: pretix/control/forms/filter.py:2039
#: pretix/plugins/checkinlists/exporters.py:106
msgid "Check-in status"
msgstr "Statut d'enregistrement"
msgstr "État de l'enregistrement"
#: pretix/control/forms/filter.py:2041
#: pretix/plugins/checkinlists/exporters.py:108
@@ -15556,7 +15512,7 @@ msgstr "Tous les participants"
#: pretix/plugins/checkinlists/exporters.py:109
#: pretix/plugins/checkinlists/exporters.py:501
msgid "Checked in"
msgstr "Enregistré"
msgstr "Enregistrement effectué"
#: pretix/control/forms/filter.py:2043
#: pretix/plugins/checkinlists/exporters.py:110
@@ -15574,7 +15530,7 @@ msgstr "Enregistré mais laissé"
#: pretix/control/templates/pretixcontrol/checkin/index.html:178
#: pretix/plugins/checkinlists/exporters.py:112
msgid "Not checked in"
msgstr "Non enregistré"
msgstr "Enregistrement non effectué"
#: pretix/control/forms/filter.py:2064
msgctxt "subevent"
@@ -16969,7 +16925,7 @@ msgstr "Vous ne pouvez définir qu'un seul domaine d'organisateur."
#: pretix/control/forms/organizer.py:322
msgid "Provided by a plugin"
msgstr ""
msgstr "Fourni par un plugin"
#: pretix/control/forms/organizer.py:438
msgid ""
@@ -17856,10 +17812,8 @@ msgid "The order has been denied (comment: \"{comment}\")."
msgstr "Lordonnance a été refusée (commentaire : \"{comment}\")."
#: pretix/control/logdisplay.py:521
#, fuzzy
#| msgid "The order has been overpaid."
msgid "The customer VAT ID has been verified."
msgstr "La commande a été payée en trop."
msgstr "Le numéro d'identification TVA du client a été vérifié."
#: pretix/control/logdisplay.py:522
#, python-brace-format
@@ -18160,10 +18114,9 @@ msgid "{user} has been invited to the team."
msgstr "{user} a été invité dans l'équipe."
#: pretix/control/logdisplay.py:644
#, fuzzy, python-brace-format
#| msgid "Invite for {user} has been resent."
#, python-brace-format
msgid "Invite for {user} has been deleted."
msgstr "L'invitation pour {user} a été renvoyée."
msgstr "L'invitation destinée à {user} a été supprimée."
#: pretix/control/logdisplay.py:645
#, python-brace-format
@@ -20484,21 +20437,7 @@ msgid "Add property"
msgstr "Ajouter une propriété"
#: pretix/control/templates/pretixcontrol/email/confirmation_code.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "%(reason)s\n"
#| "\n"
#| " %(code)s\n"
#| "\n"
#| "Please do never give this code to another person. Our support team will "
#| "never ask for this code.\n"
#| "\n"
#| "If this code was not requested by you, please contact us immediately.\n"
#| "\n"
#| "Best regards,\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20527,7 +20466,7 @@ msgstr ""
"immédiatement.\n"
"\n"
"Cordialement,\n"
"Léquipe pretix\n"
"Votre équipe pretix%(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/email_setup.txt:1
#, python-format
@@ -20565,17 +20504,7 @@ msgstr ""
"Votre équipe %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/forgot.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you requested a new password. Please go to the following page to reset "
#| "your password:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20595,27 +20524,10 @@ msgstr ""
"%(url)s\n"
"\n"
"Sincères salutations, \n"
"Votre équipe Pretix\n"
"Votre équipe pretix%(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/invitation.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you have been invited to a team on pretix, a platform to perform event\n"
#| "ticket sales.\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "Team: %(team)s\n"
#| "\n"
#| "If you want to join that team, just click on the following link:\n"
#| "%(url)s\n"
#| "\n"
#| "If you do not want to join, you can safely ignore or delete this email.\n"
#| "\n"
#| "Best regards, \n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20637,8 +20549,8 @@ msgid ""
msgstr ""
"Bonjour,\n"
"\n"
"vous avez été invité à faire partie d'une équipe sur pretix, une plateforme "
"pour réaliser un événement\n"
"vous avez été invité à faire partie de l'équipe pretix%(instance)s, une "
"plateforme pour réaliser un événement\n"
"de vente de billets.\n"
"\n"
"Organisateur: %(organizer)s\n"
@@ -20652,7 +20564,7 @@ msgstr ""
"\n"
"Sincères salutations, \n"
"\n"
"Votre équipe Pretix\n"
"Votre équipe pretix%(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/login_notice.txt:1
#, python-format
@@ -20690,24 +20602,7 @@ msgstr ""
"Votre équipe %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/security_notice.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "this is to inform you that the account information of your pretix account "
#| "has been\n"
#| "changed. In particular, the following changes have been performed:\n"
#| "\n"
#| "%(messages)s\n"
#| "\n"
#| "If this change was not performed by you, please contact us immediately.\n"
#| "\n"
#| "You can review and change your account settings here:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20728,8 +20623,8 @@ msgid ""
msgstr ""
"Bonjour,\n"
"\n"
"Ceci est pour vous informer que les informations de votre compte pretix ont "
"été\n"
"Ceci est pour vous informer que les informations de votre compte %(instance)"
"s ont été\n"
"modifié. Les modifications suivantes ont été apportées:\n"
"\n"
"%(messages)s\n"
@@ -20742,7 +20637,7 @@ msgstr ""
"%(url)s\n"
"\n"
"Sincères salutations, \n"
"Votre équipe Pretix\n"
"Votre équipe pretix%(instance)s\n"
#: pretix/control/templates/pretixcontrol/email_setup.html:8
#: pretix/control/templates/pretixcontrol/email_setup_simple.html:8
@@ -21010,10 +20905,8 @@ msgstr ""
"tous les billets, vous pouvez le faire via cette option."
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:51
#, fuzzy
#| msgid "Permissions"
msgid "No permission"
msgstr "Autorisations"
msgstr "Pas d'autorisation"
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:59
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:72
@@ -23594,10 +23487,8 @@ msgid "Edit question"
msgstr "Modifier la question"
#: pretix/control/templates/pretixcontrol/items/question.html:55
#, fuzzy
#| msgid "You do not have permission to view this content."
msgid "No permission to view answers."
msgstr "Vous n'avez pas l'autorisation de consulter ce contenu."
msgstr "Vous n'êtes pas autorisé à consulter les réponses."
#: pretix/control/templates/pretixcontrol/items/question.html:63
msgid "No matching answers found."
@@ -25263,10 +25154,8 @@ msgstr "Pas de prochaine exécution programmée"
#: pretix/control/templates/pretixcontrol/orders/export.html:37
#: pretix/control/templates/pretixcontrol/organizers/export.html:37
#, fuzzy
#| msgid "Exporter not found"
msgid "Exporter not found or no permission"
msgstr "Exportateur introuvable"
msgstr "Exportateur introuvable ou autorisation refusée"
#: pretix/control/templates/pretixcontrol/orders/export.html:42
#: pretix/control/templates/pretixcontrol/organizers/export.html:42
@@ -25309,10 +25198,8 @@ msgstr "Recommandé pour les nouveaux utilisateurs"
#: pretix/control/templates/pretixcontrol/orders/export.html:120
#: pretix/control/templates/pretixcontrol/organizers/export.html:120
#, fuzzy
#| msgid "There are no add-ons available for this product."
msgid "There are no exporters available for you."
msgstr "Il n' y a pas d'add-ons disponibles pour ce produit."
msgstr "Aucun exportateur n'est disponible pour vous."
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:4
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:6
@@ -27277,7 +27164,7 @@ msgstr ""
#: pretix/control/templates/pretixcontrol/pdf/index.html:274
#, python-format
msgid "max. %(size)s, smaller is better"
msgstr ""
msgstr "max. %(size)s, le plus petit possible"
#: pretix/control/templates/pretixcontrol/pdf/index.html:282
msgid "Download current background"
@@ -30089,16 +29976,12 @@ msgstr ""
"plus de détails sur les erreurs."
#: pretix/control/views/orders.py:2798 pretix/control/views/organizer.py:2131
#, fuzzy
#| msgid ""
#| "Your user account does not have sufficient permission to run this report, "
#| "therefore you cannot schedule it."
msgid ""
"Your user account does not have sufficient permission to run this report, "
"therefore you cannot change it."
msgstr ""
"Votre compte utilisateur ne dispose pas des autorisations suffisantes pour "
"exécuter ce rapport, vous ne pouvez donc pas le planifier."
"Votre compte utilisateur ne dispose pas des autorisations nécessaires pour "
"exécuter ce rapport ; vous ne pouvez donc pas le modifier."
#: pretix/control/views/orders.py:2807 pretix/control/views/organizer.py:2140
msgid ""
@@ -34212,7 +34095,7 @@ msgstr "iDEAL via Stripe"
#: pretix/plugins/stripe/payment.py:1572
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/stripe/payment.py:1575
msgid ""
@@ -37253,6 +37136,9 @@ msgid ""
"the shop that affect quotas, such as the validity period of carts and "
"vouchers."
msgstr ""
"Veuillez noter que la modification de l'heure n'est pas prise en compte pour "
"les aspects de la boutique qui ont une incidence sur les quotas, tels que la "
"durée de validité des paniers et des bons d'achat."
#: pretix/presale/templates/pretixpresale/event/timemachine.html:31
msgid "Enable time machine"

View File

@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: French\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:06+0000\n"
"PO-Revision-Date: 2026-01-27 14:51+0000\n"
"PO-Revision-Date: 2026-03-18 12:23+0000\n"
"Last-Translator: CVZ-es <damien.bremont@casadevelazquez.org>\n"
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix-js/"
"fr/>\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.15.2\n"
"X-Generator: Weblate 5.16.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -59,7 +59,7 @@ msgstr "PayPal Pay Later"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:41
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:42
msgid "SEPA Direct Debit"

View File

@@ -7,10 +7,10 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:05+0000\n"
"PO-Revision-Date: 2026-03-14 22:00+0000\n"
"PO-Revision-Date: 2026-03-18 12:23+0000\n"
"Last-Translator: Ruud Hendrickx <ruud@leckxicon.eu>\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix/nl/"
">\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix/nl/>"
"\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -407,10 +407,8 @@ msgstr ""
#: pretix/api/serializers/organizer.py:482
#: pretix/control/views/organizer.py:1039
#, fuzzy
#| msgid "Account information"
msgid "Account invitation"
msgstr "Accountinformatie"
msgstr "Uitnodiging voor account"
#: pretix/api/serializers/organizer.py:503
#: pretix/control/views/organizer.py:1138
@@ -3948,10 +3946,8 @@ msgid "Peppol participant ID"
msgstr "Peppol-deelnemer-ID"
#: pretix/base/invoicing/peppol.py:211
#, fuzzy
#| msgid "The Peppol participant ID is not registered on the Peppol network."
msgid "The Peppol participant ID does not match your VAT ID."
msgstr "De Peppol-deelnemer-ID is niet geregistreerd op het Peppol-netwerk."
msgstr "Het Peppol-deelnemersnummer komt niet overeen met uw btw-nummer."
#: pretix/base/invoicing/peppol.py:214
msgctxt "peppol_invoice"
@@ -6874,10 +6870,8 @@ msgstr ""
"minuten duren voordat de instelling voor alle gebruikers van kracht wordt."
#: pretix/base/models/organizer.py:378
#, fuzzy
#| msgid "Event permissions"
msgid "All event permissions"
msgstr "Evenementrechten"
msgstr "Alle evenementrechten"
#: pretix/base/models/organizer.py:379
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:34
@@ -6885,10 +6879,8 @@ msgid "Event permissions"
msgstr "Evenementrechten"
#: pretix/base/models/organizer.py:380
#, fuzzy
#| msgid "Organizer permissions"
msgid "All organizer permissions"
msgstr "Organisatorrechten"
msgstr "Alle rechten van de organisator"
#: pretix/base/models/organizer.py:381
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:25
@@ -8393,36 +8385,32 @@ msgstr "Uw lay-outbestand is geen geldige lay-out. Foutmelding: {}"
#: pretix/base/permissions.py:314 pretix/base/permissions.py:331
msgctxt "permission_level"
msgid "View"
msgstr ""
msgstr "Lezen"
#: pretix/base/permissions.py:164 pretix/base/permissions.py:169
#: pretix/base/permissions.py:174 pretix/base/permissions.py:179
#: pretix/base/permissions.py:286 pretix/base/permissions.py:315
#, fuzzy
#| msgid "Save and check"
msgctxt "permission_level"
msgid "View and change"
msgstr "Opslaan en controleren"
msgstr "Bekijken en wijzigen"
#: pretix/base/permissions.py:168
#, fuzzy
#| msgid "API tokens"
msgid "API only"
msgstr "API-tokens"
msgstr "alleen API"
#: pretix/base/permissions.py:173
msgid ""
"Menu item will only show up if the user has permission for general settings."
msgstr ""
"Dit menu-item wordt alleen weergegeven als de gebruiker rechten heeft voor "
"algemene instellingen."
#: pretix/base/permissions.py:177 pretix/base/permissions.py:231
#: pretix/base/permissions.py:285 pretix/base/permissions.py:313
#: pretix/base/permissions.py:330
#, fuzzy
#| msgid "Revoke access"
msgctxt "permission_level"
msgid "No access"
msgstr "Toegang intrekken"
msgstr "Geen toegang"
#: pretix/base/permissions.py:188
#: pretix/control/templates/pretixcontrol/event/settings.html:7
@@ -8436,6 +8424,8 @@ msgid ""
"This includes access to all settings not listed explicitly below, including "
"plugin settings."
msgstr ""
"Dit omvat toegang tot alle instellingen die hieronder niet expliciet worden "
"vermeld, inclusief instellingen voor plug-ins."
#: pretix/base/permissions.py:197
#: pretix/control/templates/pretixcontrol/event/payment.html:6
@@ -8449,100 +8439,81 @@ msgid "Tax settings"
msgstr "Belastinginstellingen"
#: pretix/base/permissions.py:209
#, fuzzy
#| msgid "Invoice settings"
msgid "Invoicing settings"
msgstr "Factuurinstellingen"
#: pretix/base/permissions.py:215
#, fuzzy
#| msgctxt "subevent"
#| msgid "Event series date added"
msgid "Event series dates"
msgstr "Evenementenreeks: datum toegevoegd"
msgstr "Datums van de evenementenreeks"
#: pretix/base/permissions.py:221
#, fuzzy
#| msgid "Product name and variation"
msgid "Products, quotas and questions"
msgstr "Productnaam en variant"
msgstr "Producten, quota en vragen"
#: pretix/base/permissions.py:224
msgid "Also includes related objects like categories or discounts."
msgstr ""
msgstr "Omvat ook gerelateerde objecten zoals categorieën of kortingen."
#: pretix/base/permissions.py:232
#, fuzzy
#| msgid "All check-ins"
msgctxt "permission_level"
msgid "Only check-in"
msgstr "Alle check-ins"
msgstr "Alleen inchecken"
#: pretix/base/permissions.py:233
#, fuzzy
#| msgid "View full log"
msgctxt "permission_level"
msgid "View all"
msgstr "Toon volledige log"
msgstr "Alles bekijken"
#: pretix/base/permissions.py:234
#, fuzzy
#| msgid "Valid check-in"
msgctxt "permission_level"
msgid "View all and check-in"
msgstr "Geldige check-in"
msgstr "Alles bekijken en inchecken"
#: pretix/base/permissions.py:235
#, fuzzy
#| msgid "View all upcoming events"
msgctxt "permission_level"
msgid "View all and change"
msgstr "Bekijk alle aankomende evenementen"
msgstr "Alles bekijken en wijzigen"
#: pretix/base/permissions.py:236
msgid "Includes the ability to cancel and refund individual orders."
msgstr ""
"Biedt de mogelijkheid om afzonderlijke bestellingen te annuleren en terug te "
"betalen."
#: pretix/base/permissions.py:238
#, fuzzy
#| msgid "An entry has been added to the waiting list."
msgid "Also includes related objects like the waiting list."
msgstr "Er is een inschrijving toegevoegd aan de wachtlijst."
msgstr "Bevat ook aanverwante objecten, zoals de wachtlijst."
#: pretix/base/permissions.py:248
#, fuzzy
#| msgid "Generate cancellation"
msgid "Full event or date cancellation"
msgstr "Genereer annulering"
msgstr "Volledige annulering van het evenement of de datum"
#: pretix/base/permissions.py:252
#, fuzzy
#| msgid "Sale not allowed"
msgctxt "permission_level"
msgid "Not allowed"
msgstr "Verkoop niet toegestaan"
msgstr "Niet toegestaan"
#: pretix/base/permissions.py:253
#, fuzzy
#| msgid "Allowed titles"
msgctxt "permission_level"
msgid "Allowed"
msgstr "Toegestane titels"
msgstr "Toegestaan"
#: pretix/base/permissions.py:268
msgctxt "permission_level"
msgid "Access existing events"
msgstr ""
msgstr "Toegang tot bestaande evenementen"
#: pretix/base/permissions.py:269
msgctxt "permission_level"
msgid "Access existing and create new events"
msgstr ""
msgstr "Toegang tot bestaande evenementen en nieuwe evenementen aanmaken"
#: pretix/base/permissions.py:271
msgid ""
"The level of access to events is determined in detail by the settings below."
msgstr ""
"De toegang tot evenementen wordt in detail bepaald door de onderstaande "
"instellingen."
#: pretix/base/permissions.py:275 pretix/control/navigation.py:143
#: pretix/control/navigation.py:462 pretix/control/navigation.py:512
@@ -8561,12 +8532,15 @@ msgid ""
"This includes access to all organizer-level functionality not listed "
"explicitly below, including plugin settings."
msgstr ""
"Dit omvat toegang tot alle functies op organisatieniveau die hieronder niet "
"expliciet worden vermeld, inclusief de instellingen van plug-ins."
#: pretix/base/permissions.py:287
msgid ""
"Includes the ability to give someone (including oneself) additional "
"permissions."
msgstr ""
"Biedt de mogelijkheid om iemand (inclusief uzelf) extra rechten te geven."
#: pretix/base/permissions.py:298 pretix/control/navigation.py:608
#: pretix/control/templates/pretixcontrol/organizers/customers.html:6
@@ -8584,12 +8558,12 @@ msgid ""
"Includes the ability to give access to events and data oneself does not have "
"access to."
msgstr ""
"Biedt de mogelijkheid om toegang te verlenen tot evenementen en gegevens "
"waar men zelf geen toegang toe heeft."
#: pretix/base/permissions.py:321
#, fuzzy
#| msgid "Seating plan"
msgid "Seating plans"
msgstr "Zaalplan"
msgstr "Zaalplannen"
#: pretix/base/permissions.py:327 pretix/control/navigation.py:712
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html:8
@@ -9224,12 +9198,12 @@ msgid "Czech National Bank"
msgstr "Tsjechische Nationale Bank"
#: pretix/base/services/export.py:94 pretix/base/services/export.py:154
#, fuzzy
#| msgid "You do not have sufficient permission to perform this export."
msgid ""
"Export not found or you do not have sufficient permission to perform this "
"export."
msgstr "U bent niet gemachtigd om deze export uit te voeren."
msgstr ""
"De export is niet gevonden of u hebt onvoldoende rechten om deze export uit "
"te voeren."
#: pretix/base/services/export.py:107 pretix/base/services/export.py:179
#: pretix/base/services/export.py:357
@@ -13684,25 +13658,7 @@ msgid "Contact"
msgstr "Contact"
#: pretix/base/templates/pretixbase/email/shred_completed.txt:2
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "we hereby confirm that the following data shredding job has been "
#| "completed:\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "\n"
#| "Event: %(event)s\n"
#| "\n"
#| "Data selection: %(shredders)s\n"
#| "\n"
#| "Start time: %(start_time)s (new data added after this time might not have "
#| "been deleted)\n"
#| "\n"
#| "Best regards,\n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -13737,7 +13693,7 @@ msgstr ""
"\n"
"Met vriendelijke groeten,\n"
"\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/base/templates/pretixbase/forms/widgets/checkbox_sales_channel_option.html:16
msgid ""
@@ -14298,16 +14254,12 @@ msgid "This is an event series"
msgstr "Dit is een evenementenreeks"
#: pretix/control/forms/event.py:135 pretix/control/forms/event.py:363
#, fuzzy
#| msgid ""
#| "You do not have sufficient permission to enable plugins that need to be "
#| "enabled for the entire organizer account."
msgid ""
"You do not have a sufficient level of access on the event you selected to "
"copy it to the desired organizer."
msgstr ""
"U hebt niet voldoende rechten om plug-ins in te schakelen die voor het hele "
"organisatoraccount moeten worden ingeschakeld."
"U hebt onvoldoende rechten voor het evenement dat u hebt geselecteerd om het "
"naar de gewenste organisator te kopiëren."
#: pretix/control/forms/event.py:143
msgid ""
@@ -14386,6 +14338,8 @@ msgid ""
"You cannot choose a team that would give you more access than you have on "
"the event you are copying."
msgstr ""
"U kunt geen team kiezen dat u meer toegangsrechten zou geven dan u nu hebt "
"voor het evenement dat u kopieert."
#: pretix/control/forms/event.py:344
msgid "Copy configuration from"
@@ -14401,6 +14355,8 @@ msgid ""
"You cannot choose an event on which you have less access than the team you "
"selected in the previous step."
msgstr ""
"U kunt geen evenement kiezen waarvoor u minder toegangsrechten hebt dan het "
"team dat u in de vorige stap geselecteerd hebt."
#: pretix/control/forms/event.py:387 pretix/control/forms/item.py:1304
#: pretix/control/forms/subevents.py:411
@@ -15357,7 +15313,7 @@ msgstr "Zoek deelnemer…"
#: pretix/control/forms/filter.py:2039
#: pretix/plugins/checkinlists/exporters.py:106
msgid "Check-in status"
msgstr "Incheckstatus"
msgstr "Check-in-status"
#: pretix/control/forms/filter.py:2041
#: pretix/plugins/checkinlists/exporters.py:108
@@ -16770,7 +16726,7 @@ msgstr "Er kan maximaal 1 organisatordomein gekozen worden."
#: pretix/control/forms/organizer.py:322
msgid "Provided by a plugin"
msgstr ""
msgstr "Beschikbaar gesteld via een plug-in"
#: pretix/control/forms/organizer.py:438
msgid ""
@@ -17646,10 +17602,8 @@ msgid "The order has been denied (comment: \"{comment}\")."
msgstr "De bestelling is geweigerd (commentaar: \"{comment}\")."
#: pretix/control/logdisplay.py:521
#, fuzzy
#| msgid "The order has been overpaid."
msgid "The customer VAT ID has been verified."
msgstr "Er is te veel betaald voor de bestelling."
msgstr "Het btw-nummer van de klant is geverifieerd."
#: pretix/control/logdisplay.py:522
#, python-brace-format
@@ -17951,10 +17905,9 @@ msgid "{user} has been invited to the team."
msgstr "{user} is uitgenodigd voor het team."
#: pretix/control/logdisplay.py:644
#, fuzzy, python-brace-format
#| msgid "Invite for {user} has been resent."
#, python-brace-format
msgid "Invite for {user} has been deleted."
msgstr "De uitnodiging voor {user} is opnieuw verstuurd."
msgstr "De uitnodiging voor {user} is verwijderd."
#: pretix/control/logdisplay.py:645
#, python-brace-format
@@ -20259,21 +20212,7 @@ msgid "Add property"
msgstr "Eigenschap toevoegen"
#: pretix/control/templates/pretixcontrol/email/confirmation_code.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "%(reason)s\n"
#| "\n"
#| " %(code)s\n"
#| "\n"
#| "Please do never give this code to another person. Our support team will "
#| "never ask for this code.\n"
#| "\n"
#| "If this code was not requested by you, please contact us immediately.\n"
#| "\n"
#| "Best regards,\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20302,7 +20241,7 @@ msgstr ""
"op.\n"
"\n"
"Groeten,\n"
"Uw pretix-team\n"
"Uw %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/email_setup.txt:1
#, python-format
@@ -20338,17 +20277,7 @@ msgstr ""
"Uw %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/forgot.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you requested a new password. Please go to the following page to reset "
#| "your password:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20368,27 +20297,10 @@ msgstr ""
"%(url)s\n"
"\n"
"Met vriendelijke groet,\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/invitation.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you have been invited to a team on pretix, a platform to perform event\n"
#| "ticket sales.\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "Team: %(team)s\n"
#| "\n"
#| "If you want to join that team, just click on the following link:\n"
#| "%(url)s\n"
#| "\n"
#| "If you do not want to join, you can safely ignore or delete this email.\n"
#| "\n"
#| "Best regards, \n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20410,7 +20322,7 @@ msgid ""
msgstr ""
"Hallo,\n"
"\n"
"U bent uitgenodigd voor een team op pretix, een platform om tickets\n"
"U bent uitgenodigd voor een team op %(instance)s, een platform om tickets\n"
"te verkopen.\n"
"\n"
"Organisator: %(organizer)s\n"
@@ -20423,7 +20335,7 @@ msgstr ""
"\n"
"Met vriendelijke groet,\n"
"\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/login_notice.txt:1
#, python-format
@@ -20461,24 +20373,7 @@ msgstr ""
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/security_notice.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "this is to inform you that the account information of your pretix account "
#| "has been\n"
#| "changed. In particular, the following changes have been performed:\n"
#| "\n"
#| "%(messages)s\n"
#| "\n"
#| "If this change was not performed by you, please contact us immediately.\n"
#| "\n"
#| "You can review and change your account settings here:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20499,7 +20394,7 @@ msgid ""
msgstr ""
"Hallo,\n"
"\n"
"U ontvangt deze e-mail omdat er wijzigingen zijn gemaakt in uw pretix-"
"U ontvangt deze e-mail omdat er wijzigingen zijn gemaakt in uw %(instance)s-"
"account.\n"
"De volgende wijzigingen zijn gemaakt:\n"
"\n"
@@ -20513,7 +20408,7 @@ msgstr ""
"%(url)s\n"
"\n"
"Met vriendelijke groet,\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email_setup.html:8
#: pretix/control/templates/pretixcontrol/email_setup_simple.html:8
@@ -20780,10 +20675,8 @@ msgstr ""
"kunt u dit via deze optie doen."
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:51
#, fuzzy
#| msgid "Permissions"
msgid "No permission"
msgstr "Machtigingen"
msgstr "Geen toestemming"
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:59
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:72
@@ -23331,10 +23224,8 @@ msgid "Edit question"
msgstr "Vraag bewerken"
#: pretix/control/templates/pretixcontrol/items/question.html:55
#, fuzzy
#| msgid "You do not have permission to view this content."
msgid "No permission to view answers."
msgstr "U hebt geen toestemming om deze inhoud te bekijken."
msgstr "U bent niet gemachtigd om de antwoorden te bekijken."
#: pretix/control/templates/pretixcontrol/items/question.html:63
msgid "No matching answers found."
@@ -24331,8 +24222,9 @@ msgid ""
"this product was part of the discount calculation for a different product in "
"this order."
msgstr ""
"De prijs van dit product is verminderd door een automatische korting, of dit "
"product is deel van een korting voor een ander product op deze bestelling."
"De prijs van dit product is verlaagd vanwege een automatische korting, of "
"dit product is meegenomen in de kortingsberekening voor een ander product in "
"deze bestelling."
#: pretix/control/templates/pretixcontrol/order/index.html:496
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:103
@@ -24986,10 +24878,8 @@ msgstr "Geen volgende uitvoering gepland"
#: pretix/control/templates/pretixcontrol/orders/export.html:37
#: pretix/control/templates/pretixcontrol/organizers/export.html:37
#, fuzzy
#| msgid "Exporter not found"
msgid "Exporter not found or no permission"
msgstr "Exporteerder niet gevonden"
msgstr "Exporteur niet gevonden of geen toestemming"
#: pretix/control/templates/pretixcontrol/orders/export.html:42
#: pretix/control/templates/pretixcontrol/organizers/export.html:42
@@ -25032,10 +24922,8 @@ msgstr "Aangeraden voor nieuwe gebruikers"
#: pretix/control/templates/pretixcontrol/orders/export.html:120
#: pretix/control/templates/pretixcontrol/organizers/export.html:120
#, fuzzy
#| msgid "There are no add-ons available for this product."
msgid "There are no exporters available for you."
msgstr "Er zijn geen add-ons beschikbaar voor dit product."
msgstr "Er zijn geen exporters voor u beschikbaar."
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:4
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:6
@@ -26973,7 +26861,7 @@ msgstr ""
#: pretix/control/templates/pretixcontrol/pdf/index.html:274
#, python-format
msgid "max. %(size)s, smaller is better"
msgstr ""
msgstr "max. %(size)s; hoe kleiner, hoe beter"
#: pretix/control/templates/pretixcontrol/pdf/index.html:282
msgid "Download current background"
@@ -29751,16 +29639,12 @@ msgstr ""
"Er was een probleem met het verwerken van uw invoer. Zie onder voor details."
#: pretix/control/views/orders.py:2798 pretix/control/views/organizer.py:2131
#, fuzzy
#| msgid ""
#| "Your user account does not have sufficient permission to run this report, "
#| "therefore you cannot schedule it."
msgid ""
"Your user account does not have sufficient permission to run this report, "
"therefore you cannot change it."
msgstr ""
"Uw gebruikersaccount heeft onvoldoende rechten om dit rapport uit te voeren. "
"Daarom kunt u het niet plannen."
"Daarom kunt u het niet wijzigen."
#: pretix/control/views/orders.py:2807 pretix/control/views/organizer.py:2140
msgid ""
@@ -33816,7 +33700,7 @@ msgstr "iDEAL via Stripe"
#: pretix/plugins/stripe/payment.py:1572
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/stripe/payment.py:1575
msgid ""
@@ -36802,6 +36686,9 @@ msgid ""
"the shop that affect quotas, such as the validity period of carts and "
"vouchers."
msgstr ""
"Let op: de gewijzigde tijd wordt niet meegenomen bij aspecten van de winkel "
"die van invloed zijn op quota, zoals de geldigheidsduur van winkelwagentjes "
"en kortingsbonnen."
#: pretix/presale/templates/pretixpresale/event/timemachine.html:31
msgid "Enable time machine"

View File

@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:06+0000\n"
"PO-Revision-Date: 2026-02-19 22:00+0000\n"
"PO-Revision-Date: 2026-03-18 12:23+0000\n"
"Last-Translator: Ruud Hendrickx <ruud@leckxicon.eu>\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix-js/"
"nl/>\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.16\n"
"X-Generator: Weblate 5.16.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -59,7 +59,7 @@ msgstr "PayPal - Later betalen"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:41
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:42
msgid "SEPA Direct Debit"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:05+0000\n"
"PO-Revision-Date: 2026-03-16 18:00+0000\n"
"PO-Revision-Date: 2026-03-18 23:00+0000\n"
"Last-Translator: Ruud Hendrickx <ruud@leckxicon.eu>\n"
"Language-Team: Dutch (Belgium) <https://translate.pretix.eu/projects/pretix/"
"pretix/nl_BE/>\n"
@@ -408,10 +408,8 @@ msgstr ""
#: pretix/api/serializers/organizer.py:482
#: pretix/control/views/organizer.py:1039
#, fuzzy
#| msgid "pretix account invitation"
msgid "Account invitation"
msgstr "uitnodiging voor pretix-account"
msgstr "Uitnodiging voor account"
#: pretix/api/serializers/organizer.py:503
#: pretix/control/views/organizer.py:1138
@@ -3949,10 +3947,8 @@ msgid "Peppol participant ID"
msgstr "Peppol-ID"
#: pretix/base/invoicing/peppol.py:211
#, fuzzy
#| msgid "The Peppol participant ID is not registered on the Peppol network."
msgid "The Peppol participant ID does not match your VAT ID."
msgstr "De ID is niet geregistreerd op het Peppol-netwerk."
msgstr "Het Peppol-deelnemersnummer komt niet overeen met uw btw-nummer."
#: pretix/base/invoicing/peppol.py:214
msgctxt "peppol_invoice"
@@ -6865,10 +6861,8 @@ msgstr ""
"voordat de instelling voor alle gebruikers van kracht wordt."
#: pretix/base/models/organizer.py:378
#, fuzzy
#| msgid "Event permissions"
msgid "All event permissions"
msgstr "Evenementrechten"
msgstr "Alle evenementrechten"
#: pretix/base/models/organizer.py:379
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:34
@@ -6876,10 +6870,8 @@ msgid "Event permissions"
msgstr "Evenementrechten"
#: pretix/base/models/organizer.py:380
#, fuzzy
#| msgid "Organizer permissions"
msgid "All organizer permissions"
msgstr "Organisatorrechten"
msgstr "Alle organisatorrechten"
#: pretix/base/models/organizer.py:381
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:25
@@ -8388,36 +8380,32 @@ msgstr "Uw lay-outbestand is geen geldige lay-out. Foutmelding: {}"
#: pretix/base/permissions.py:314 pretix/base/permissions.py:331
msgctxt "permission_level"
msgid "View"
msgstr ""
msgstr "Lezen"
#: pretix/base/permissions.py:164 pretix/base/permissions.py:169
#: pretix/base/permissions.py:174 pretix/base/permissions.py:179
#: pretix/base/permissions.py:286 pretix/base/permissions.py:315
#, fuzzy
#| msgid "Save and check"
msgctxt "permission_level"
msgid "View and change"
msgstr "Opslaan en controleren"
msgstr "Bekijken en wijzigen"
#: pretix/base/permissions.py:168
#, fuzzy
#| msgid "API tokens"
msgid "API only"
msgstr "API-tokens"
msgstr "alleen API"
#: pretix/base/permissions.py:173
msgid ""
"Menu item will only show up if the user has permission for general settings."
msgstr ""
"Dit menu-item wordt alleen weergegeven als de gebruiker rechten heeft voor "
"algemene instellingen."
#: pretix/base/permissions.py:177 pretix/base/permissions.py:231
#: pretix/base/permissions.py:285 pretix/base/permissions.py:313
#: pretix/base/permissions.py:330
#, fuzzy
#| msgid "Revoke access"
msgctxt "permission_level"
msgid "No access"
msgstr "Toegang intrekken"
msgstr "Geen toegang"
#: pretix/base/permissions.py:188
#: pretix/control/templates/pretixcontrol/event/settings.html:7
@@ -8431,6 +8419,8 @@ msgid ""
"This includes access to all settings not listed explicitly below, including "
"plugin settings."
msgstr ""
"Dit omvat toegang tot alle instellingen die hieronder niet expliciet worden "
"vermeld, inclusief instellingen voor plug-ins."
#: pretix/base/permissions.py:197
#: pretix/control/templates/pretixcontrol/event/payment.html:6
@@ -8444,100 +8434,81 @@ msgid "Tax settings"
msgstr "Belastinginstellingen"
#: pretix/base/permissions.py:209
#, fuzzy
#| msgid "Invoice settings"
msgid "Invoicing settings"
msgstr "Factuurinstellingen"
msgstr "Facturatie-instellingen"
#: pretix/base/permissions.py:215
#, fuzzy
#| msgctxt "subevent"
#| msgid "Event series date added"
msgid "Event series dates"
msgstr "Evenementenreeks: datum toegevoegd"
msgstr "Datums van de evenementenreeks"
#: pretix/base/permissions.py:221
#, fuzzy
#| msgid "Product name and variation"
msgid "Products, quotas and questions"
msgstr "Productnaam en variant"
msgstr "Producten, quota en vragen"
#: pretix/base/permissions.py:224
msgid "Also includes related objects like categories or discounts."
msgstr ""
msgstr "Omvat ook gerelateerde objecten zoals categorieën of kortingen."
#: pretix/base/permissions.py:232
#, fuzzy
#| msgid "All check-ins"
msgctxt "permission_level"
msgid "Only check-in"
msgstr "Alle check-ins"
msgstr "Alleen inchecken"
#: pretix/base/permissions.py:233
#, fuzzy
#| msgid "View full log"
msgctxt "permission_level"
msgid "View all"
msgstr "Alles weergeven"
msgstr "Alles bekijken"
#: pretix/base/permissions.py:234
#, fuzzy
#| msgid "Valid check-in"
msgctxt "permission_level"
msgid "View all and check-in"
msgstr "Geldige check-in"
msgstr "Alles bekijken en inchecken"
#: pretix/base/permissions.py:235
#, fuzzy
#| msgid "View all upcoming events"
msgctxt "permission_level"
msgid "View all and change"
msgstr "Alle komende evenementen weergeven"
msgstr "Alles bekijken en wijzigen"
#: pretix/base/permissions.py:236
msgid "Includes the ability to cancel and refund individual orders."
msgstr ""
"Biedt de mogelijkheid om afzonderlijke bestellingen te annuleren en terug te "
"betalen."
#: pretix/base/permissions.py:238
#, fuzzy
#| msgid "An entry has been added to the waiting list."
msgid "Also includes related objects like the waiting list."
msgstr "Er is een inschrijving toegevoegd aan de wachtlijst."
msgstr "Bevat ook aanverwante objecten, zoals de wachtlijst."
#: pretix/base/permissions.py:248
#, fuzzy
#| msgid "Generate cancellation"
msgid "Full event or date cancellation"
msgstr "Annulatiebewijs aanmaken"
msgstr "Volledige annulatie van het evenement of de datum"
#: pretix/base/permissions.py:252
#, fuzzy
#| msgid "Sale not allowed"
msgctxt "permission_level"
msgid "Not allowed"
msgstr "Verkoop niet toegestaan"
msgstr "Niet toegestaan"
#: pretix/base/permissions.py:253
#, fuzzy
#| msgid "Allowed titles"
msgctxt "permission_level"
msgid "Allowed"
msgstr "Toegestane titels"
msgstr "Toegestaan"
#: pretix/base/permissions.py:268
msgctxt "permission_level"
msgid "Access existing events"
msgstr ""
msgstr "Toegang tot bestaande evenementen"
#: pretix/base/permissions.py:269
msgctxt "permission_level"
msgid "Access existing and create new events"
msgstr ""
msgstr "Toegang tot bestaande evenementen en nieuwe evenementen aanmaken"
#: pretix/base/permissions.py:271
msgid ""
"The level of access to events is determined in detail by the settings below."
msgstr ""
"De toegang tot evenementen wordt in detail bepaald door de onderstaande "
"instellingen."
#: pretix/base/permissions.py:275 pretix/control/navigation.py:143
#: pretix/control/navigation.py:462 pretix/control/navigation.py:512
@@ -8556,12 +8527,15 @@ msgid ""
"This includes access to all organizer-level functionality not listed "
"explicitly below, including plugin settings."
msgstr ""
"Dit omvat toegang tot alle functies op organisatieniveau die hieronder niet "
"expliciet worden vermeld, inclusief de instellingen van plug-ins."
#: pretix/base/permissions.py:287
msgid ""
"Includes the ability to give someone (including oneself) additional "
"permissions."
msgstr ""
"Biedt de mogelijkheid om iemand (inclusief uzelf) extra rechten te geven."
#: pretix/base/permissions.py:298 pretix/control/navigation.py:608
#: pretix/control/templates/pretixcontrol/organizers/customers.html:6
@@ -8579,12 +8553,12 @@ msgid ""
"Includes the ability to give access to events and data oneself does not have "
"access to."
msgstr ""
"Biedt de mogelijkheid om toegang te verlenen tot evenementen en gegevens "
"waar u zelf geen toegang toe hebt."
#: pretix/base/permissions.py:321
#, fuzzy
#| msgid "Seating plan"
msgid "Seating plans"
msgstr "Zaalplan"
msgstr "Zaalplannen"
#: pretix/base/permissions.py:327 pretix/control/navigation.py:712
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html:8
@@ -9220,12 +9194,12 @@ msgid "Czech National Bank"
msgstr "Tsjechische Nationale Bank"
#: pretix/base/services/export.py:94 pretix/base/services/export.py:154
#, fuzzy
#| msgid "You do not have sufficient permission to perform this export."
msgid ""
"Export not found or you do not have sufficient permission to perform this "
"export."
msgstr "U bent niet gemachtigd om deze export uit te voeren."
msgstr ""
"De export is niet gevonden of u hebt onvoldoende rechten om deze export uit "
"te voeren."
#: pretix/base/services/export.py:107 pretix/base/services/export.py:179
#: pretix/base/services/export.py:357
@@ -13492,7 +13466,7 @@ msgstr ""
#: pretix/base/templates/403.html:4 pretix/base/templates/403.html:8
msgid "Permission denied"
msgstr "Geen toestemming"
msgstr "Toestemming geweigerd"
#: pretix/base/templates/403.html:9
msgid "You do not have access to this page."
@@ -13679,25 +13653,7 @@ msgid "Contact"
msgstr "Contact"
#: pretix/base/templates/pretixbase/email/shred_completed.txt:2
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "we hereby confirm that the following data shredding job has been "
#| "completed:\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "\n"
#| "Event: %(event)s\n"
#| "\n"
#| "Data selection: %(shredders)s\n"
#| "\n"
#| "Start time: %(start_time)s (new data added after this time might not have "
#| "been deleted)\n"
#| "\n"
#| "Best regards,\n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -13732,7 +13688,7 @@ msgstr ""
"\n"
"Met vriendelijke groeten,\n"
"\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/base/templates/pretixbase/forms/widgets/checkbox_sales_channel_option.html:16
msgid ""
@@ -14293,16 +14249,12 @@ msgid "This is an event series"
msgstr "Dit is een evenementenreeks"
#: pretix/control/forms/event.py:135 pretix/control/forms/event.py:363
#, fuzzy
#| msgid ""
#| "You do not have sufficient permission to enable plugins that need to be "
#| "enabled for the entire organizer account."
msgid ""
"You do not have a sufficient level of access on the event you selected to "
"copy it to the desired organizer."
msgstr ""
"U beschikt niet over voldoende rechten om plug-ins te activeren die voor het "
"hele organisatorenaccount ingeschakeld moeten zijn."
"U hebt onvoldoende rechten voor het evenement dat u hebt geselecteerd om het "
"naar de gewenste organisator te kopiëren."
#: pretix/control/forms/event.py:143
msgid ""
@@ -14381,6 +14333,8 @@ msgid ""
"You cannot choose a team that would give you more access than you have on "
"the event you are copying."
msgstr ""
"U kunt geen team kiezen dat u meer toegangsrechten zou geven dan u nu hebt "
"voor het evenement dat u kopieert."
#: pretix/control/forms/event.py:344
msgid "Copy configuration from"
@@ -14396,6 +14350,8 @@ msgid ""
"You cannot choose an event on which you have less access than the team you "
"selected in the previous step."
msgstr ""
"U kunt geen evenement kiezen waarvoor u minder toegangsrechten hebt dan het "
"team dat u in de vorige stap geselecteerd hebt."
#: pretix/control/forms/event.py:387 pretix/control/forms/item.py:1304
#: pretix/control/forms/subevents.py:411
@@ -16763,7 +16719,7 @@ msgstr "Er kan maximaal één organisatordomein gekozen worden."
#: pretix/control/forms/organizer.py:322
msgid "Provided by a plugin"
msgstr ""
msgstr "Beschikbaar gesteld via een plug-in"
#: pretix/control/forms/organizer.py:438
msgid ""
@@ -17638,10 +17594,8 @@ msgid "The order has been denied (comment: \"{comment}\")."
msgstr "De bestelling is geweigerd (commentaar: \"{comment}\")."
#: pretix/control/logdisplay.py:521
#, fuzzy
#| msgid "The order has been overpaid."
msgid "The customer VAT ID has been verified."
msgstr "Er is te veel betaald voor de bestelling."
msgstr "Het btw-nummer van de klant is geverifieerd."
#: pretix/control/logdisplay.py:522
#, python-brace-format
@@ -17943,10 +17897,9 @@ msgid "{user} has been invited to the team."
msgstr "{user} is uitgenodigd voor het team."
#: pretix/control/logdisplay.py:644
#, fuzzy, python-brace-format
#| msgid "Invite for {user} has been resent."
#, python-brace-format
msgid "Invite for {user} has been deleted."
msgstr "De uitnodiging voor {user} is opnieuw verstuurd."
msgstr "De uitnodiging voor {user} is verwijderd."
#: pretix/control/logdisplay.py:645
#, python-brace-format
@@ -20255,21 +20208,7 @@ msgid "Add property"
msgstr "Eigenschap toevoegen"
#: pretix/control/templates/pretixcontrol/email/confirmation_code.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "%(reason)s\n"
#| "\n"
#| " %(code)s\n"
#| "\n"
#| "Please do never give this code to another person. Our support team will "
#| "never ask for this code.\n"
#| "\n"
#| "If this code was not requested by you, please contact us immediately.\n"
#| "\n"
#| "Best regards,\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20298,7 +20237,7 @@ msgstr ""
"op.\n"
"\n"
"Vriendelijke groet,\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/email_setup.txt:1
#, python-format
@@ -20334,17 +20273,7 @@ msgstr ""
"Uw %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/forgot.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you requested a new password. Please go to the following page to reset "
#| "your password:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20364,27 +20293,10 @@ msgstr ""
"%(url)s\n"
"\n"
"Vriendelijke groet,\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/invitation.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you have been invited to a team on pretix, a platform to perform event\n"
#| "ticket sales.\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "Team: %(team)s\n"
#| "\n"
#| "If you want to join that team, just click on the following link:\n"
#| "%(url)s\n"
#| "\n"
#| "If you do not want to join, you can safely ignore or delete this email.\n"
#| "\n"
#| "Best regards, \n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20406,7 +20318,7 @@ msgid ""
msgstr ""
"Hallo,\n"
"\n"
"U bent uitgenodigd voor een team op pretix, een platform om tickets\n"
"U bent uitgenodigd voor een team op %(instance)s, een platform om tickets\n"
"te verkopen.\n"
"\n"
"Organisator: %(organizer)s\n"
@@ -20419,7 +20331,7 @@ msgstr ""
"\n"
"Met vriendelijke groet,\n"
"\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/login_notice.txt:1
#, python-format
@@ -20457,24 +20369,7 @@ msgstr ""
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/security_notice.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "this is to inform you that the account information of your pretix account "
#| "has been\n"
#| "changed. In particular, the following changes have been performed:\n"
#| "\n"
#| "%(messages)s\n"
#| "\n"
#| "If this change was not performed by you, please contact us immediately.\n"
#| "\n"
#| "You can review and change your account settings here:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20495,7 +20390,7 @@ msgid ""
msgstr ""
"Hallo,\n"
"\n"
"U ontvangt deze e-mail omdat er wijzigingen zijn gemaakt in uw pretix-"
"U ontvangt deze e-mail omdat er wijzigingen zijn gemaakt in uw %(instance)s-"
"account.\n"
"De volgende wijzigingen zijn gemaakt:\n"
"\n"
@@ -20509,7 +20404,7 @@ msgstr ""
"%(url)s\n"
"\n"
"Met vriendelijke groet,\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email_setup.html:8
#: pretix/control/templates/pretixcontrol/email_setup_simple.html:8
@@ -20776,10 +20671,8 @@ msgstr ""
"kunt u dit via deze optie doen."
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:51
#, fuzzy
#| msgid "Permissions"
msgid "No permission"
msgstr "Machtigingen"
msgstr "Geen toestemming"
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:59
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:72
@@ -23326,10 +23219,8 @@ msgid "Edit question"
msgstr "Vraag bewerken"
#: pretix/control/templates/pretixcontrol/items/question.html:55
#, fuzzy
#| msgid "You do not have permission to view this content."
msgid "No permission to view answers."
msgstr "U bent niet gemachtigd om deze inhoud te bekijken."
msgstr "U bent niet gemachtigd om de antwoorden te bekijken."
#: pretix/control/templates/pretixcontrol/items/question.html:63
msgid "No matching answers found."
@@ -24982,10 +24873,8 @@ msgstr "Geen volgende uitvoering gepland"
#: pretix/control/templates/pretixcontrol/orders/export.html:37
#: pretix/control/templates/pretixcontrol/organizers/export.html:37
#, fuzzy
#| msgid "Exporter not found"
msgid "Exporter not found or no permission"
msgstr "Exporteerder niet gevonden"
msgstr "Exporteur niet gevonden of geen toestemming"
#: pretix/control/templates/pretixcontrol/orders/export.html:42
#: pretix/control/templates/pretixcontrol/organizers/export.html:42
@@ -25029,7 +24918,7 @@ msgstr "Aanbevolen voor nieuwe gebruikers"
#: pretix/control/templates/pretixcontrol/orders/export.html:120
#: pretix/control/templates/pretixcontrol/organizers/export.html:120
msgid "There are no exporters available for you."
msgstr ""
msgstr "Er zijn geen exporters voor u beschikbaar."
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:4
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:6
@@ -26960,7 +26849,7 @@ msgstr ""
#: pretix/control/templates/pretixcontrol/pdf/index.html:274
#, python-format
msgid "max. %(size)s, smaller is better"
msgstr ""
msgstr "max. %(size)s; hoe kleiner, hoe beter"
#: pretix/control/templates/pretixcontrol/pdf/index.html:282
msgid "Download current background"
@@ -29121,64 +29010,68 @@ msgstr "De geselecteerde vraag is verwijderd."
#: pretix/control/views/item.py:690
msgid "File uploaded"
msgstr ""
msgstr "Bestand geüpload"
#: pretix/control/views/item.py:824
msgid "The new question has been created."
msgstr ""
msgstr "De nieuwe vraag is aangemaakt."
#: pretix/control/views/item.py:903
msgid "The new quota has been created."
msgstr ""
msgstr "Het nieuwe quotum is aangemaakt."
#: pretix/control/views/item.py:966
msgid "Exit scans"
msgstr ""
msgstr "Scans bij vertrek"
#: pretix/control/views/item.py:973
msgid "Vouchers and waiting list reservations"
msgstr ""
msgstr "Vouchers en wachtlijstreserveringen"
#: pretix/control/views/item.py:988
msgid "Available quota"
msgstr ""
msgstr "Beschikbaar quotum"
#: pretix/control/views/item.py:994
msgid "Waiting list (pending)"
msgstr ""
msgstr "Wachtlijst (openstaand)"
#: pretix/control/views/item.py:1001
msgid "Currently for sale"
msgstr ""
msgstr "Momenteel te koop"
#: pretix/control/views/item.py:1055 pretix/control/views/item.py:1101
#: pretix/control/views/item.py:1155
msgid "The requested quota does not exist."
msgstr ""
msgstr "Het gevraagde quotum bestaat niet."
#: pretix/control/views/item.py:1076
msgid "The quota has been re-opened and will not close again."
msgstr ""
msgstr "Het quotum is heropend en zal niet automatisch opnieuw sluiten."
#: pretix/control/views/item.py:1169
msgid "The selected quota has been deleted."
msgstr ""
msgstr "Het geselecteerde quotum is verwijderd."
#: pretix/control/views/item.py:1192
msgid "The requested item does not exist."
msgstr ""
msgstr "Het gevraagde item bestaat niet."
#: pretix/control/views/item.py:1364
msgid ""
"You cannot add add-ons to a product that is only available as an add-on "
"itself."
msgstr ""
"U kunt geen add-ons toevoegen aan een product dat zelf alleen beschikbaar is "
"als add-on."
#: pretix/control/views/item.py:1374
msgid ""
"You cannot add bundles to a product that is only available as an add-on "
"itself."
msgstr ""
"U kunt geen bundels toevoegen aan een product dat zelf alleen beschikbaar is "
"als bundel."
#: pretix/control/views/item.py:1517
msgid ""
@@ -29186,6 +29079,9 @@ msgid ""
"participants won't be able to buy the bundle unless you remove this item "
"from it."
msgstr ""
"U hebt dit item uitgeschakeld, maar het maakt nog steeds deel uit van een "
"productbundel. Uw deelnemers kunnen de bundel niet kopen, tenzij u dit item "
"uit de bundel verwijdert."
#: pretix/control/views/item.py:1626
msgid ""
@@ -29193,28 +29089,33 @@ msgid ""
"plug-ins) did not allow it. Deleting it could break reporting or other "
"functionality, so the product has been disabled instead."
msgstr ""
"Het product kon niet worden verwijderd omdat bepaalde beperkingen "
"(bijvoorbeeld gegevens die door plug-ins aangemaakt zijn) dit niet "
"toelieten. Het verwijderen ervan zou de rapportage of andere "
"functionaliteiten kunnen verstoren. Daarom is het product in plaats daarvan "
"uitgeschakeld."
#: pretix/control/views/item.py:1630
msgid "The selected product has been deleted."
msgstr ""
msgstr "Het gekozen product is verwijderd."
#: pretix/control/views/item.py:1639
msgid "The selected product has been deactivated."
msgstr ""
msgstr "Het gekozen product is uitgeschakeld."
#: pretix/control/views/mail.py:161
#, python-brace-format
msgid "A retry of one email was scheduled."
msgid_plural "A retry of {num} emails was scheduled."
msgstr[0] ""
msgstr[1] ""
msgstr[0] "Er is een nieuwe verzendpoging voor één e-mail gepland."
msgstr[1] "Er is een nieuwe verzendpoging voor {num} e-mails gepland."
#: pretix/control/views/mail.py:185
#, python-brace-format
msgid "One email was aborted and will not be sent."
msgid_plural "{num} emails were aborted and will not be sent."
msgstr[0] ""
msgstr[1] ""
msgstr[0] "Eén e-mail is afgebroken en niet verzonden."
msgstr[1] "{num} e-mails zijn afgebroken en niet verzonden."
#: pretix/control/views/mailsetup.py:200
msgid ""
@@ -29224,6 +29125,11 @@ msgid ""
"the domain. You can do so through the DNS settings at the provider you "
"registered your domain with."
msgstr ""
"We konden geen SPF-record vinden voor het domein dat u wilt gebruiken. Dat "
"betekent dat de kans zeer groot is dat de meeste e-mails worden geweigerd of "
"als spam worden gemarkeerd. We raden u ten zeerste aan om een SPF-record in "
"te stellen voor het domein. U kunt dit doen via de DNS-instellingen bij de "
"provider waar u uw domein geregistreerd hebt."
#: pretix/control/views/mailsetup.py:207
msgid ""
@@ -29233,19 +29139,24 @@ msgid ""
"update the DNS settings of your domain to include this system in the SPF "
"record."
msgstr ""
"We hebben een SPF-record gevonden voor het domein dat u wilt gebruiken, maar "
"het bevat niet de e-mailserver van dit systeem. Dat betekent dat de kans "
"zeer groot is dat de meeste e-mails geweigerd of als spam gemarkeerd worden. "
"U moet de DNS-instellingen van uw domein bijwerken om dit systeem op te "
"nemen in het SPF-record."
#: pretix/control/views/mailsetup.py:216
msgid "The verification code was incorrect, please try again."
msgstr ""
msgstr "De verificatiecode was niet correct, probeer het opnieuw."
#: pretix/control/views/mailsetup.py:221
msgid "Sender address verification"
msgstr ""
msgstr "Verificatie van het adres van de afzender"
#: pretix/control/views/mailsetup.py:277
#, python-format
msgid "An error occurred while contacting the SMTP server: %s"
msgstr ""
msgstr "Er is een fout opgetreden tijdens het verbinden met de SMTP-server: %s"
#: pretix/control/views/mailsetup.py:288
msgid ""
@@ -29255,29 +29166,36 @@ msgid ""
"all of your emails since they impose a maximum number of emails per time "
"period."
msgstr ""
"We raden u aan Google Mail niet te gebruiken voor transactionele e-mails. "
"Als u in korte tijd veel e-mails probeert te verzenden, bijvoorbeeld als u "
"informatie naar al uw ticketkopers verzendt, is de kans groot dat Google de "
"e-mails niet aflevert, omdat Google een maximumaantal e-mails per periode "
"instelt."
#: pretix/control/views/main.py:221
msgid "You do not have permission to clone this event."
msgstr ""
msgstr "U hebt geen toestemming om dit evenement te klonen."
#: pretix/control/views/main.py:317
#, python-brace-format
msgid "Team {event}"
msgstr ""
msgstr "Team {event}"
#: pretix/control/views/modelimport.py:77
msgid "Please only upload CSV files."
msgstr ""
msgstr "Upload alleen CSV-bestanden."
#: pretix/control/views/modelimport.py:80
msgid "Please do not upload files larger than 10 MB."
msgstr ""
msgstr "Upload geen bestanden groter dan 10 MB."
#: pretix/control/views/modelimport.py:159
msgid ""
"We could not identify the character encoding of the CSV file. Some "
"characters were replaced with a placeholder."
msgstr ""
"We konden de codering van het CSV-bestand niet detecteren. Sommige tekens "
"zijn vervangen door een vervangingsteken."
#: pretix/control/views/modelimport.py:168
msgid ""
@@ -29285,14 +29203,17 @@ msgid ""
"automatically. We recommend that you rename these in your source file to "
"avoid problems during import."
msgstr ""
"Meerdere kolommen van het CSV-bestand hebben dezelfde naam en zijn "
"automatisch hernoemd. We raden u aan deze in uw bronbestand te hernoemen om "
"problemen tijdens het importeren te voorkomen."
#: pretix/control/views/modelimport.py:188
msgid "The import was successful."
msgstr ""
msgstr "De import is gelukt."
#: pretix/control/views/modelimport.py:200
msgid "We've been unable to parse the uploaded file as a CSV file."
msgstr ""
msgstr "We konden het geüploade bestand niet openen als een CSV-bestand."
#: pretix/control/views/oauth.py:69
#, python-brace-format
@@ -29301,6 +29222,8 @@ msgid ""
"generated. Please copy and save it right now as it will not be shown again: "
"{secret}"
msgstr ""
"Uw aanvraag is aangemaakt en er is een geheime code gegenereerd. Kopieer en "
"bewaar deze nu meteen, want ze wordt niet nogmaals getoond: {secret}"
#: pretix/control/views/oauth.py:107
#, python-brace-format
@@ -29308,84 +29231,94 @@ msgid ""
"A new client secret has been generated. Please copy and save it right now as "
"it will not be shown again: {secret}"
msgstr ""
"De nieuwe client is aangemaakt. Kopieer en bewaar de volgende client-secret, "
"aangezien deze niet opnieuw wordt weergegeven: {secret}"
#: pretix/control/views/oauth.py:169
msgid "Access for the selected application has been revoked."
msgstr ""
msgstr "De toegang voor de gekozen applicatie is ingetrokken."
#: pretix/control/views/orders.py:196
msgid "We could not process your input. See below for details."
msgstr ""
msgstr "Uw input kon niet worden verwerkt. Zie hieronder voor meer informatie."
#: pretix/control/views/orders.py:269
#, python-brace-format
msgid ""
"Successfully executed the action \"{label}\" on {success} of {total} orders."
msgstr ""
"De actie \"{label}\" is succesvol uitgevoerd voor {success} van {total} "
"bestellingen."
#: pretix/control/views/orders.py:686 pretix/presale/views/order.py:114
#: pretix/presale/views/order.py:382 pretix/presale/views/order.py:1006
#: pretix/presale/views/order.py:1186 pretix/presale/views/order.py:1797
msgid "Unknown order code or not authorized to access this order."
msgstr ""
msgstr "Ongeldig bestelnummer of geen toegang tot deze bestelling."
#: pretix/control/views/orders.py:688 pretix/presale/views/order.py:1191
msgid "Ticket download is not enabled for this product."
msgstr ""
msgstr "Tickets downloaden is niet ingeschakeld voor dit product."
#: pretix/control/views/orders.py:813
msgid "The order has been deleted."
msgstr ""
msgstr "De bestelling is verwijderd."
#: pretix/control/views/orders.py:820
msgid ""
"The order could not be deleted as some constraints (e.g. data created by "
"plug-ins) do not allow it."
msgstr ""
"De bestelling kon niet verwijderd worden omdat sommige beperkingen (bijv. "
"data aangemaakt door plug-ins) het niet toestaan."
#: pretix/control/views/orders.py:828
msgid "Only orders created in test mode can be deleted."
msgstr ""
"Alleen bestellingen die in de testmodus zijn aangemaakt, kunnen verwijderd "
"worden."
#: pretix/control/views/orders.py:849
msgid "The order has been denied and is therefore now canceled."
msgstr ""
msgstr "De bestelling is geweigerd en is daarom nu geannuleerd."
#: pretix/control/views/orders.py:889
msgid "This payment has been canceled."
msgstr ""
msgstr "Deze betaling is geannuleerd."
#: pretix/control/views/orders.py:891
msgid "This payment can not be canceled at the moment."
msgstr ""
msgstr "Deze betaling kan momenteel niet geannuleerd worden."
#: pretix/control/views/orders.py:917
msgid "The refund has been canceled."
msgstr ""
msgstr "De terugbetaling is geannuleerd."
#: pretix/control/views/orders.py:919
msgid "This refund can not be canceled at the moment."
msgstr ""
msgstr "Deze terugbetaling kan momenteel niet worden geannuleerd."
#: pretix/control/views/orders.py:953
msgid "The refund has been processed."
msgstr ""
msgstr "De terugbetaling is verwerkt."
#: pretix/control/views/orders.py:955 pretix/control/views/orders.py:981
msgid "This refund can not be processed at the moment."
msgstr ""
msgstr "Deze terugbetaling kan momenteel niet verwerkt worden."
#: pretix/control/views/orders.py:979
msgid "The refund has been marked as done."
msgstr ""
msgstr "De terugbetaling is gemarkeerd als uitgevoerd."
#: pretix/control/views/orders.py:1005
msgid "The request has been removed. If you want, you can now inform the user."
msgstr ""
"Het verzoek is verwijderd. Als u dit wilt, kunt u de gebruiker hier nu over "
"informeren."
#: pretix/control/views/orders.py:1012
msgid "Your cancellation request"
msgstr ""
msgstr "Uw annulatieverzoek"
#: pretix/control/views/orders.py:1013
#, python-brace-format
@@ -29668,12 +29601,12 @@ msgid "There was a problem processing your input. See below for error details."
msgstr ""
#: pretix/control/views/orders.py:2798 pretix/control/views/organizer.py:2131
#, fuzzy
#| msgid "You do not have sufficient permission to perform this export."
msgid ""
"Your user account does not have sufficient permission to run this report, "
"therefore you cannot change it."
msgstr "U bent niet gemachtigd om deze export uit te voeren."
msgstr ""
"Uw gebruikersaccount heeft onvoldoende rechten om dit rapport uit te voeren. "
"Daarom kunt u het niet wijzigen."
#: pretix/control/views/orders.py:2807 pretix/control/views/organizer.py:2140
msgid ""
@@ -33309,7 +33242,7 @@ msgstr ""
#: pretix/plugins/stripe/payment.py:1572
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/stripe/payment.py:1575
msgid ""

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:06+0000\n"
"PO-Revision-Date: 2026-02-21 03:00+0000\n"
"PO-Revision-Date: 2026-03-18 14:50+0000\n"
"Last-Translator: Ruud Hendrickx <ruud@leckxicon.eu>\n"
"Language-Team: Dutch (Belgium) <https://translate.pretix.eu/projects/pretix/"
"pretix-js/nl_BE/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.16\n"
"X-Generator: Weblate 5.16.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -60,7 +60,7 @@ msgstr "PayPal - Later betalen"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:41
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:42
msgid "SEPA Direct Debit"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:05+0000\n"
"PO-Revision-Date: 2026-03-14 22:00+0000\n"
"PO-Revision-Date: 2026-03-18 14:50+0000\n"
"Last-Translator: Ruud Hendrickx <ruud@leckxicon.eu>\n"
"Language-Team: Dutch (informal) <https://translate.pretix.eu/projects/pretix/"
"pretix/nl_Informal/>\n"
@@ -410,10 +410,8 @@ msgstr ""
#: pretix/api/serializers/organizer.py:482
#: pretix/control/views/organizer.py:1039
#, fuzzy
#| msgid "Account information"
msgid "Account invitation"
msgstr "Accountinformatie"
msgstr "Uitnodiging voor account"
#: pretix/api/serializers/organizer.py:503
#: pretix/control/views/organizer.py:1138
@@ -3956,10 +3954,8 @@ msgid "Peppol participant ID"
msgstr "Peppol-deelnemers-ID"
#: pretix/base/invoicing/peppol.py:211
#, fuzzy
#| msgid "The Peppol participant ID is not registered on the Peppol network."
msgid "The Peppol participant ID does not match your VAT ID."
msgstr "De Peppol-deelnemers-ID is niet geregistreerd op het Peppol-netwerk."
msgstr "Het Peppol-deelnemersnummer komt niet overeen met je btw-nummer."
#: pretix/base/invoicing/peppol.py:214
msgctxt "peppol_invoice"
@@ -6886,10 +6882,8 @@ msgstr ""
"voordat de instelling voor alle gebruikers van kracht wordt."
#: pretix/base/models/organizer.py:378
#, fuzzy
#| msgid "Event permissions"
msgid "All event permissions"
msgstr "Evenementspermissies"
msgstr "Alle evenementrechten"
#: pretix/base/models/organizer.py:379
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:34
@@ -6897,10 +6891,8 @@ msgid "Event permissions"
msgstr "Evenementspermissies"
#: pretix/base/models/organizer.py:380
#, fuzzy
#| msgid "Organizer permissions"
msgid "All organizer permissions"
msgstr "Organisatorpermissies"
msgstr "Alle organisatorrechten"
#: pretix/base/models/organizer.py:381
#: pretix/control/templates/pretixcontrol/organizers/team_edit.html:25
@@ -8401,36 +8393,32 @@ msgstr "Uw lay-outbestand is geen geldige lay-out. Foutmelding: {}"
#: pretix/base/permissions.py:314 pretix/base/permissions.py:331
msgctxt "permission_level"
msgid "View"
msgstr ""
msgstr "Lezen"
#: pretix/base/permissions.py:164 pretix/base/permissions.py:169
#: pretix/base/permissions.py:174 pretix/base/permissions.py:179
#: pretix/base/permissions.py:286 pretix/base/permissions.py:315
#, fuzzy
#| msgid "Save and check"
msgctxt "permission_level"
msgid "View and change"
msgstr "Opslaan en controleren"
msgstr "Bekijken en wijzigen"
#: pretix/base/permissions.py:168
#, fuzzy
#| msgid "API tokens"
msgid "API only"
msgstr "API-tokens"
msgstr "alleen API"
#: pretix/base/permissions.py:173
msgid ""
"Menu item will only show up if the user has permission for general settings."
msgstr ""
"Dit menu-item wordt alleen weergegeven als de gebruiker rechten heeft voor "
"algemene instellingen."
#: pretix/base/permissions.py:177 pretix/base/permissions.py:231
#: pretix/base/permissions.py:285 pretix/base/permissions.py:313
#: pretix/base/permissions.py:330
#, fuzzy
#| msgid "Revoke access"
msgctxt "permission_level"
msgid "No access"
msgstr "Toegang intrekken"
msgstr "Geen toegang"
#: pretix/base/permissions.py:188
#: pretix/control/templates/pretixcontrol/event/settings.html:7
@@ -8444,6 +8432,8 @@ msgid ""
"This includes access to all settings not listed explicitly below, including "
"plugin settings."
msgstr ""
"Dit omvat toegang tot alle instellingen die hieronder niet expliciet worden "
"vermeld, inclusief instellingen voor plug-ins."
#: pretix/base/permissions.py:197
#: pretix/control/templates/pretixcontrol/event/payment.html:6
@@ -8457,100 +8447,81 @@ msgid "Tax settings"
msgstr "Belastinginstellingen"
#: pretix/base/permissions.py:209
#, fuzzy
#| msgid "Invoice settings"
msgid "Invoicing settings"
msgstr "Factuurinstellingen"
msgstr "Factureringsinstellingen"
#: pretix/base/permissions.py:215
#, fuzzy
#| msgctxt "subevent"
#| msgid "Event series date added"
msgid "Event series dates"
msgstr "Evenementenreeks: datum toegevoegd"
msgstr "Datums van de evenementenreeks"
#: pretix/base/permissions.py:221
#, fuzzy
#| msgid "Product name and variation"
msgid "Products, quotas and questions"
msgstr "Productnaam en variant"
msgstr "Producten, quota en vragen"
#: pretix/base/permissions.py:224
msgid "Also includes related objects like categories or discounts."
msgstr ""
msgstr "Omvat ook gerelateerde objecten zoals categorieën of kortingen."
#: pretix/base/permissions.py:232
#, fuzzy
#| msgid "All check-ins"
msgctxt "permission_level"
msgid "Only check-in"
msgstr "Alle check-ins"
msgstr "Alleen inchecken"
#: pretix/base/permissions.py:233
#, fuzzy
#| msgid "View full log"
msgctxt "permission_level"
msgid "View all"
msgstr "Toon volledige log"
msgstr "Alles bekijken"
#: pretix/base/permissions.py:234
#, fuzzy
#| msgid "Valid check-in"
msgctxt "permission_level"
msgid "View all and check-in"
msgstr "Geldige check-in"
msgstr "Alles bekijken en inchecken"
#: pretix/base/permissions.py:235
#, fuzzy
#| msgid "View all upcoming events"
msgctxt "permission_level"
msgid "View all and change"
msgstr "Bekijk alle aankomende evenementen"
msgstr "Alles bekijken en wijzigen"
#: pretix/base/permissions.py:236
msgid "Includes the ability to cancel and refund individual orders."
msgstr ""
"Biedt de mogelijkheid om afzonderlijke bestellingen te annuleren en terug te "
"betalen."
#: pretix/base/permissions.py:238
#, fuzzy
#| msgid "An entry has been added to the waiting list."
msgid "Also includes related objects like the waiting list."
msgstr "Een inschrijving is toegevoegd aan de wachtlijst."
msgstr "Bevat ook aanverwante objecten, zoals de wachtlijst."
#: pretix/base/permissions.py:248
#, fuzzy
#| msgid "Generate cancellation"
msgid "Full event or date cancellation"
msgstr "Genereer annulering"
msgstr "Volledige annulering van het evenement of de datum"
#: pretix/base/permissions.py:252
#, fuzzy
#| msgid "Sale not allowed"
msgctxt "permission_level"
msgid "Not allowed"
msgstr "Verkoop niet toegestaan"
msgstr "Niet toegestaan"
#: pretix/base/permissions.py:253
#, fuzzy
#| msgid "Allowed titles"
msgctxt "permission_level"
msgid "Allowed"
msgstr "Te kiezen titels"
msgstr "Toegestaan"
#: pretix/base/permissions.py:268
msgctxt "permission_level"
msgid "Access existing events"
msgstr ""
msgstr "Toegang tot bestaande evenementen"
#: pretix/base/permissions.py:269
msgctxt "permission_level"
msgid "Access existing and create new events"
msgstr ""
msgstr "Toegang tot bestaande evenementen en nieuwe evenementen aanmaken"
#: pretix/base/permissions.py:271
msgid ""
"The level of access to events is determined in detail by the settings below."
msgstr ""
"De toegang tot evenementen wordt in detail bepaald door de onderstaande "
"instellingen."
#: pretix/base/permissions.py:275 pretix/control/navigation.py:143
#: pretix/control/navigation.py:462 pretix/control/navigation.py:512
@@ -8569,12 +8540,15 @@ msgid ""
"This includes access to all organizer-level functionality not listed "
"explicitly below, including plugin settings."
msgstr ""
"Dit omvat toegang tot alle functies op organisatieniveau die hieronder niet "
"expliciet worden vermeld, inclusief de instellingen van plug-ins."
#: pretix/base/permissions.py:287
msgid ""
"Includes the ability to give someone (including oneself) additional "
"permissions."
msgstr ""
"Biedt de mogelijkheid om iemand (inclusief jezelf) extra rechten te geven."
#: pretix/base/permissions.py:298 pretix/control/navigation.py:608
#: pretix/control/templates/pretixcontrol/organizers/customers.html:6
@@ -8592,12 +8566,12 @@ msgid ""
"Includes the ability to give access to events and data oneself does not have "
"access to."
msgstr ""
"Biedt de mogelijkheid om toegang te verlenen tot evenementen en gegevens "
"waar je zelf geen toegang toe hebt."
#: pretix/base/permissions.py:321
#, fuzzy
#| msgid "Seating plan"
msgid "Seating plans"
msgstr "Zitplan"
msgstr "Zaalplannen"
#: pretix/base/permissions.py:327 pretix/control/navigation.py:712
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html:8
@@ -9233,12 +9207,12 @@ msgid "Czech National Bank"
msgstr "Tsjechische Nationale Bank"
#: pretix/base/services/export.py:94 pretix/base/services/export.py:154
#, fuzzy
#| msgid "You do not have sufficient permission to perform this export."
msgid ""
"Export not found or you do not have sufficient permission to perform this "
"export."
msgstr "Je hebt te weinig rechten om deze export uit te voeren."
msgstr ""
"De export is niet gevonden of je hebt onvoldoende rechten om deze export uit "
"te voeren."
#: pretix/base/services/export.py:107 pretix/base/services/export.py:179
#: pretix/base/services/export.py:357
@@ -13528,7 +13502,7 @@ msgstr ""
#: pretix/base/templates/403.html:4 pretix/base/templates/403.html:8
msgid "Permission denied"
msgstr "Geen toestemming"
msgstr "Toestemming geweigerd"
#: pretix/base/templates/403.html:9
msgid "You do not have access to this page."
@@ -13717,25 +13691,7 @@ msgid "Contact"
msgstr "Contact"
#: pretix/base/templates/pretixbase/email/shred_completed.txt:2
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "we hereby confirm that the following data shredding job has been "
#| "completed:\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "\n"
#| "Event: %(event)s\n"
#| "\n"
#| "Data selection: %(shredders)s\n"
#| "\n"
#| "Start time: %(start_time)s (new data added after this time might not have "
#| "been deleted)\n"
#| "\n"
#| "Best regards,\n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -13769,7 +13725,7 @@ msgstr ""
"\n"
"Met vriendelijke groet,\n"
"\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/base/templates/pretixbase/forms/widgets/checkbox_sales_channel_option.html:16
msgid ""
@@ -14332,16 +14288,12 @@ msgid "This is an event series"
msgstr "Dit is een evenementenreeks"
#: pretix/control/forms/event.py:135 pretix/control/forms/event.py:363
#, fuzzy
#| msgid ""
#| "You do not have sufficient permission to enable plugins that need to be "
#| "enabled for the entire organizer account."
msgid ""
"You do not have a sufficient level of access on the event you selected to "
"copy it to the desired organizer."
msgstr ""
"Je hebt niet voldoende rechten om plug-ins in te schakelen die voor het hele "
"account van de organisator moeten worden ingeschakeld."
"Je hebt onvoldoende rechten voor het evenement dat je hebt geselecteerd om "
"het naar de gewenste organisator te kopiëren."
#: pretix/control/forms/event.py:143
msgid ""
@@ -14420,6 +14372,8 @@ msgid ""
"You cannot choose a team that would give you more access than you have on "
"the event you are copying."
msgstr ""
"Je kunt geen team selecteren dat je meer toegangsrechten zou geven dan het "
"evenement dat je kopieert."
#: pretix/control/forms/event.py:344
msgid "Copy configuration from"
@@ -14435,6 +14389,8 @@ msgid ""
"You cannot choose an event on which you have less access than the team you "
"selected in the previous step."
msgstr ""
"Je kunt geen evenement selecteren waarvoor je minder toegangsrechten hebt "
"dan het team dat je in de vorige stap geselecteerd hebt."
#: pretix/control/forms/event.py:387 pretix/control/forms/item.py:1304
#: pretix/control/forms/subevents.py:411
@@ -15390,7 +15346,7 @@ msgstr "Zoek gast…"
#: pretix/control/forms/filter.py:2039
#: pretix/plugins/checkinlists/exporters.py:106
msgid "Check-in status"
msgstr "Incheckstatus"
msgstr "Check-in-status"
#: pretix/control/forms/filter.py:2041
#: pretix/plugins/checkinlists/exporters.py:108
@@ -16799,7 +16755,7 @@ msgstr "Je kunt slechts één organisatiedomein instellen."
#: pretix/control/forms/organizer.py:322
msgid "Provided by a plugin"
msgstr ""
msgstr "Beschikbaar gesteld via een plug-in"
#: pretix/control/forms/organizer.py:438
msgid ""
@@ -17678,10 +17634,8 @@ msgid "The order has been denied (comment: \"{comment}\")."
msgstr "De bestelling is geweigerd (opmerking: \"{comment}\")."
#: pretix/control/logdisplay.py:521
#, fuzzy
#| msgid "The order has been overpaid."
msgid "The customer VAT ID has been verified."
msgstr "De bestelling is overbetaald."
msgstr "Het btw-nummer van de klant is geverifieerd."
#: pretix/control/logdisplay.py:522
#, python-brace-format
@@ -17983,10 +17937,9 @@ msgid "{user} has been invited to the team."
msgstr "{user} is uitgenodigd voor het team."
#: pretix/control/logdisplay.py:644
#, fuzzy, python-brace-format
#| msgid "Invite for {user} has been resent."
#, python-brace-format
msgid "Invite for {user} has been deleted."
msgstr "De uitnodiging voor {user} is opnieuw verstuurd."
msgstr "De uitnodiging voor {user} is verwijderd."
#: pretix/control/logdisplay.py:645
#, python-brace-format
@@ -20295,21 +20248,7 @@ msgid "Add property"
msgstr "Eigenschap toevoegen"
#: pretix/control/templates/pretixcontrol/email/confirmation_code.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "%(reason)s\n"
#| "\n"
#| " %(code)s\n"
#| "\n"
#| "Please do never give this code to another person. Our support team will "
#| "never ask for this code.\n"
#| "\n"
#| "If this code was not requested by you, please contact us immediately.\n"
#| "\n"
#| "Best regards,\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20338,7 +20277,7 @@ msgstr ""
"contact op.\n"
"\n"
"Met vriendelijke groet,\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/email_setup.txt:1
#, python-format
@@ -20375,17 +20314,7 @@ msgstr ""
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/forgot.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you requested a new password. Please go to the following page to reset "
#| "your password:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20400,33 +20329,15 @@ msgstr ""
"Hallo,\n"
"\n"
"Je hebt een nieuw wachtwoord aangevraagd. Klik op de volgende link om je "
"wachtwoord opnieuw\n"
"in te stellen:\n"
"wachtwoord opnieuw in te stellen:\n"
"\n"
"%(url)s\n"
"\n"
"Met vriendelijke groet,\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/invitation.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "you have been invited to a team on pretix, a platform to perform event\n"
#| "ticket sales.\n"
#| "\n"
#| "Organizer: %(organizer)s\n"
#| "Team: %(team)s\n"
#| "\n"
#| "If you want to join that team, just click on the following link:\n"
#| "%(url)s\n"
#| "\n"
#| "If you do not want to join, you can safely ignore or delete this email.\n"
#| "\n"
#| "Best regards, \n"
#| "\n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20448,7 +20359,7 @@ msgid ""
msgstr ""
"Hallo,\n"
"\n"
"Je bent uitgenodigd voor een team op pretix, een platform om kaartjes\n"
"Je bent uitgenodigd voor een team op %(instance)s, een platform om kaartjes\n"
"te verkopen.\n"
"\n"
"Organisator: %(organizer)s\n"
@@ -20461,7 +20372,7 @@ msgstr ""
"\n"
"Met vriendelijke groet,\n"
"\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email/login_notice.txt:1
#, python-format
@@ -20498,24 +20409,7 @@ msgstr ""
"Het team van %(instance)s\n"
#: pretix/control/templates/pretixcontrol/email/security_notice.txt:1
#, fuzzy, python-format
#| msgid ""
#| "Hello,\n"
#| "\n"
#| "this is to inform you that the account information of your pretix account "
#| "has been\n"
#| "changed. In particular, the following changes have been performed:\n"
#| "\n"
#| "%(messages)s\n"
#| "\n"
#| "If this change was not performed by you, please contact us immediately.\n"
#| "\n"
#| "You can review and change your account settings here:\n"
#| "\n"
#| "%(url)s\n"
#| "\n"
#| "Best regards, \n"
#| "Your pretix team\n"
#, python-format
msgid ""
"Hello,\n"
"\n"
@@ -20536,7 +20430,7 @@ msgid ""
msgstr ""
"Hallo,\n"
"\n"
"Je ontvangt deze e-mail omdat er wijzigingen zijn gemaakt in je pretix-"
"Je ontvangt deze e-mail omdat er wijzigingen zijn gemaakt in je %(instance)s-"
"account.\n"
"De volgende wijzigingen zijn gemaakt:\n"
"\n"
@@ -20550,7 +20444,7 @@ msgstr ""
"%(url)s\n"
"\n"
"Met vriendelijke groet,\n"
"Het pretix-team\n"
"Het %(instance)s-team\n"
#: pretix/control/templates/pretixcontrol/email_setup.html:8
#: pretix/control/templates/pretixcontrol/email_setup_simple.html:8
@@ -20821,10 +20715,8 @@ msgstr ""
"dat met deze optie doen."
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:51
#, fuzzy
#| msgid "Permissions"
msgid "No permission"
msgstr "Permissies"
msgstr "Geen toestemming"
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:59
#: pretix/control/templates/pretixcontrol/event/dangerzone.html:72
@@ -23375,10 +23267,8 @@ msgid "Edit question"
msgstr "Vraag bewerken"
#: pretix/control/templates/pretixcontrol/items/question.html:55
#, fuzzy
#| msgid "You do not have permission to view this content."
msgid "No permission to view answers."
msgstr "Je hebt geen toestemming om deze inhoud te bekijken."
msgstr "Je bent niet gemachtigd om de antwoorden te bekijken."
#: pretix/control/templates/pretixcontrol/items/question.html:63
msgid "No matching answers found."
@@ -24377,8 +24267,8 @@ msgid ""
"this order."
msgstr ""
"De prijs van dit product is verlaagd vanwege een automatische korting, of "
"dit product maakte deel uit van de kortingsberekening voor een ander product "
"in deze bestelling."
"dit product is meegenomen in de kortingsberekening voor een ander product in "
"deze bestelling."
#: pretix/control/templates/pretixcontrol/order/index.html:496
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:103
@@ -25034,10 +24924,8 @@ msgstr "Geen volgende run gepland"
#: pretix/control/templates/pretixcontrol/orders/export.html:37
#: pretix/control/templates/pretixcontrol/organizers/export.html:37
#, fuzzy
#| msgid "Exporter not found"
msgid "Exporter not found or no permission"
msgstr "Exporteerder niet gevonden"
msgstr "Exporteur niet gevonden of geen toestemming"
#: pretix/control/templates/pretixcontrol/orders/export.html:42
#: pretix/control/templates/pretixcontrol/organizers/export.html:42
@@ -25080,10 +24968,8 @@ msgstr "Aanbevolen voor nieuwe gebruikers"
#: pretix/control/templates/pretixcontrol/orders/export.html:120
#: pretix/control/templates/pretixcontrol/organizers/export.html:120
#, fuzzy
#| msgid "There are no add-ons available for this product."
msgid "There are no exporters available for you."
msgstr "Er zijn geen add-ons beschikbaar voor dit product."
msgstr "Er zijn geen exporters voor jou beschikbaar."
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:4
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:6
@@ -27029,7 +26915,7 @@ msgstr ""
#: pretix/control/templates/pretixcontrol/pdf/index.html:274
#, python-format
msgid "max. %(size)s, smaller is better"
msgstr ""
msgstr "max. %(size)s; hoe kleiner, hoe beter"
#: pretix/control/templates/pretixcontrol/pdf/index.html:282
msgid "Download current background"
@@ -29812,16 +29698,12 @@ msgstr ""
"Er was een probleem met het verwerken van je invoer. Zie onder voor details."
#: pretix/control/views/orders.py:2798 pretix/control/views/organizer.py:2131
#, fuzzy
#| msgid ""
#| "Your user account does not have sufficient permission to run this report, "
#| "therefore you cannot schedule it."
msgid ""
"Your user account does not have sufficient permission to run this report, "
"therefore you cannot change it."
msgstr ""
"Je gebruikersaccount heeft onvoldoende rechten om dit rapport uit te voeren, "
"daarom kun je het niet plannen."
"Je gebruikersaccount heeft onvoldoende rechten om dit rapport uit te voeren. "
"Daarom kun je het niet wijzigen."
#: pretix/control/views/orders.py:2807 pretix/control/views/organizer.py:2140
msgid ""
@@ -33872,7 +33754,7 @@ msgstr "iDEAL via Stripe"
#: pretix/plugins/stripe/payment.py:1572
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/stripe/payment.py:1575
msgid ""
@@ -36858,6 +36740,9 @@ msgid ""
"the shop that affect quotas, such as the validity period of carts and "
"vouchers."
msgstr ""
"Let op: de gewijzigde tijd wordt niet meegenomen bij aspecten van de winkel "
"die van invloed zijn op quota, zoals de geldigheidsduur van winkelwagentjes "
"en kortingsbonnen."
#: pretix/presale/templates/pretixpresale/event/timemachine.html:31
msgid "Enable time machine"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-03-17 14:06+0000\n"
"PO-Revision-Date: 2026-01-29 19:43+0000\n"
"PO-Revision-Date: 2026-03-18 14:50+0000\n"
"Last-Translator: Ruud Hendrickx <ruud@leckxicon.eu>\n"
"Language-Team: Dutch (informal) <https://translate.pretix.eu/projects/pretix/"
"pretix-js/nl_Informal/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.15.2\n"
"X-Generator: Weblate 5.16.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -60,7 +60,7 @@ msgstr "PayPal Later betalen"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:41
msgid "iDEAL | Wero"
msgstr ""
msgstr "iDEAL | Wero"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:42
msgid "SEPA Direct Debit"

View File

@@ -503,7 +503,7 @@ class CSVCheckinList(CheckInListMixin, ListExporter):
if cl.include_pending:
headers.append(_('Paid'))
if form_data['secrets']:
if form_data.get('secrets', False):
headers.append(_('Secret'))
headers.append(_('Email'))
@@ -603,7 +603,7 @@ class CSVCheckinList(CheckInListMixin, ListExporter):
]
if cl.include_pending:
row.append(_('Yes') if op.order.status == Order.STATUS_PAID else _('No'))
if form_data['secrets']:
if form_data.get('secrets', False):
row.append(op.secret)
row.append(op.attendee_email or (op.addon_to.attendee_email if op.addon_to else '') or op.order.email or '')
row.append(str(op.order.phone) if op.order.phone else '')

View File

@@ -49,7 +49,7 @@ from django.views.decorators.cache import cache_page
from django.views.decorators.gzip import gzip_page
from django.views.decorators.http import condition
from django.views.i18n import (
JavaScriptCatalog, builtin_template_path, get_formats,
JavaScriptCatalog, get_formats, js_catalog_template,
)
from lxml import html
@@ -170,8 +170,7 @@ def generate_widget_js(version, lang):
'September', 'October', 'November', 'December'
)
catalog = dict((k, v) for k, v in catalog.items() if k.startswith('widget\u0004') or k in str_wl)
with builtin_template_path("i18n_catalog.js").open(encoding="utf-8") as fh:
template = Engine().from_string(fh.read())
template = Engine().from_string(js_catalog_template)
context = Context({
'catalog_str': indent(json.dumps(
catalog, sort_keys=True, indent=2)) if catalog else None,

View File

@@ -534,7 +534,6 @@ X_FRAME_OPTIONS = 'DENY'
# URL settings
ROOT_URLCONF = 'pretix.multidomain.maindomain_urlconf'
FORMS_URLFIELD_ASSUME_HTTPS = True # transitional for django 6.0
WSGI_APPLICATION = 'pretix.wsgi.application'

View File

@@ -23,7 +23,9 @@ filterwarnings =
error
ignore:.*invalid escape sequence.*:
ignore:The 'warn' method is deprecated:DeprecationWarning
ignore::django.utils.deprecation.RemovedInDjango60Warning:
ignore::django.utils.deprecation.RemovedInDjango51Warning:django.core.files.storage
ignore:.*index_together.*:django.utils.deprecation.RemovedInDjango51Warning:
ignore:.*get_storage_class.*:django.utils.deprecation.RemovedInDjango51Warning:compressor
ignore:.*This signal will soon be only available for plugins that declare to be organizer-level.*:DeprecationWarning:
ignore::DeprecationWarning:mt940
ignore::DeprecationWarning:cbor2

View File

@@ -493,6 +493,7 @@ def org_scheduled_export(organizer, user):
@pytest.mark.django_db
def test_org_scheduled_export_list_token(token_client, organizer, user, team, org_scheduled_export):
res = dict(TEST_SCHEDULED_EXPORT_RES)
res["export_form_data"]["event_date_range"] = None
res["id"] = org_scheduled_export.pk
res["schedule_next_run"] = org_scheduled_export.schedule_next_run.astimezone(zoneinfo.ZoneInfo("UTC")). \
isoformat().replace("+00:00", "Z")
@@ -518,6 +519,7 @@ def test_org_scheduled_export_list_user(user_client, organizer, user, team, org_
team.members.add(user2)
res = dict(TEST_SCHEDULED_EXPORT_RES)
res["export_form_data"]["event_date_range"] = None
res["id"] = org_scheduled_export.pk
res["schedule_next_run"] = org_scheduled_export.schedule_next_run.astimezone(zoneinfo.ZoneInfo("UTC")). \
isoformat().replace("+00:00", "Z")
@@ -545,6 +547,7 @@ def test_org_scheduled_export_list_user(user_client, organizer, user, team, org_
@pytest.mark.django_db
def test_org_scheduled_export_detail(token_client, organizer, user, org_scheduled_export):
res = dict(TEST_SCHEDULED_EXPORT_RES)
res["export_form_data"]["event_date_range"] = None
res["id"] = org_scheduled_export.pk
res["schedule_next_run"] = org_scheduled_export.schedule_next_run.astimezone(zoneinfo.ZoneInfo("UTC")). \
isoformat().replace("+00:00", "Z")
@@ -959,6 +962,7 @@ def test_organizer_edit_restrictions(client, event, organizer, user, team):
organizer=organizer,
owner=user2,
export_identifier="giftcardlist",
export_form_data={"_format": "xlsx"},
mail_subject="Test",
mail_template="Test",
locale="en",

View File

@@ -19,13 +19,14 @@
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
# <https://www.gnu.org/licenses/>.
#
from datetime import datetime, timedelta, timezone
from datetime import datetime, timedelta
import aiohttp
import pytest
import pytest_asyncio
from django.utils.timezone import now
from django_scopes import scopes_disabled
from pytz import UTC
from pretix.base.models import (
Device, Event, Item, Organizer, Quota, SeatingPlan,
@@ -52,7 +53,7 @@ def organizer():
def event(organizer):
e = Event.objects.create(
organizer=organizer, name='Dummy', slug='dummy',
date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=timezone.utc),
date_from=datetime(2017, 12, 27, 10, 0, 0, tzinfo=UTC),
presale_end=now() + timedelta(days=300),
plugins='pretix.plugins.banktransfer,pretix.plugins.ticketoutputpdf',
is_public=True, live=True
@@ -108,8 +109,8 @@ def customer(event, membership_type):
def membership(event, membership_type, customer):
return customer.memberships.create(
membership_type=membership_type,
date_start=datetime(2017, 1, 1, 0, 0, tzinfo=timezone.utc),
date_end=datetime(2099, 1, 1, 0, 0, tzinfo=timezone.utc),
date_start=datetime(2017, 1, 1, 0, 0, tzinfo=UTC),
date_end=datetime(2099, 1, 1, 0, 0, tzinfo=UTC),
)