forked from CGM_Public/pretix_original
Compare commits
47 Commits
release/20
...
remove-sub
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c70596bace | ||
|
|
39caadb335 | ||
|
|
dd6ebd7a48 | ||
|
|
ab576bb643 | ||
|
|
8bc16af36e | ||
|
|
537044bdc8 | ||
|
|
1ac7d03bb8 | ||
|
|
b939fad1c0 | ||
|
|
fb3a608c54 | ||
|
|
ebda10542e | ||
|
|
93dd6bf34d | ||
|
|
52148ebb7a | ||
|
|
82b4fe2733 | ||
|
|
79750e4f4b | ||
|
|
dbabbf7aab | ||
|
|
6158a1f2a4 | ||
|
|
68f6f921b5 | ||
|
|
d0e672435a | ||
|
|
5bc622bcfe | ||
|
|
d0184c1f48 | ||
|
|
e28bbb7ea0 | ||
|
|
fe54a42fc7 | ||
|
|
7365f165ad | ||
|
|
90ce802a33 | ||
|
|
d463878514 | ||
|
|
dd7ee84d29 | ||
|
|
f1e2d1f44c | ||
|
|
87a6a58f32 | ||
|
|
b2dd56bd41 | ||
|
|
f0ceab2305 | ||
|
|
14e3316dd9 | ||
|
|
eb28fdcba9 | ||
|
|
49e4a0faa0 | ||
|
|
e486089590 | ||
|
|
4bb02d4ad9 | ||
|
|
8ad852d9cb | ||
|
|
868fcfc471 | ||
|
|
d847c9a095 | ||
|
|
d1c6b22624 | ||
|
|
842987f48e | ||
|
|
58fc13ed91 | ||
|
|
8010d2e6bb | ||
|
|
1566f54764 | ||
|
|
9d380557e1 | ||
|
|
5758e0dd68 | ||
|
|
b4629e24a5 | ||
|
|
27f5121211 |
@@ -1,29 +1,30 @@
|
||||
before_script:
|
||||
tests:
|
||||
image:
|
||||
name: pretix/ci-image
|
||||
stage: test
|
||||
before_script:
|
||||
- pip install -U pip uv
|
||||
- uv pip install --system -U wheel setuptools
|
||||
script:
|
||||
- virtualenv env
|
||||
- source env/bin/activate
|
||||
- pip install -U pip wheel setuptools
|
||||
- XDG_CACHE_HOME=/cache pip3 install -e ".[dev]"
|
||||
- uv pip install --system -e ".[dev]"
|
||||
- cd src
|
||||
- python manage.py check
|
||||
- make all compress
|
||||
- py.test --reruns 3 -n 3 tests
|
||||
tags:
|
||||
- python3
|
||||
- PRETIX_CONFIG_FILE=tests/travis_sqlite.cfg py.test --reruns 3 -n 3 tests --maxfail=100
|
||||
except:
|
||||
- pypi
|
||||
pypi:
|
||||
stage: release
|
||||
image:
|
||||
name: pretix/ci-image
|
||||
before_script:
|
||||
- cat $PYPIRC > ~/.pypirc
|
||||
- pip install -U pip uv
|
||||
- uv pip install --system -U wheel setuptools twine build pretix-plugin-build check-manifest
|
||||
script:
|
||||
- cp /keys/.pypirc ~/.pypirc
|
||||
- virtualenv env
|
||||
- source env/bin/activate
|
||||
- pip install -U pip wheel setuptools check-manifest twine
|
||||
- XDG_CACHE_HOME=/cache pip3 install -e ".[dev]"
|
||||
- uv pip install --system -e ".[dev]"
|
||||
- python setup.py sdist
|
||||
- pip install dist/pretix-*.tar.gz
|
||||
- uv pip install --system dist/pretix-*.tar.gz
|
||||
- python -m pretix migrate
|
||||
- python -m pretix check
|
||||
- cd src
|
||||
@@ -33,13 +34,12 @@ pypi:
|
||||
- python -m build
|
||||
- twine check dist/*
|
||||
- twine upload dist/*
|
||||
tags:
|
||||
- python3
|
||||
only:
|
||||
- pypi
|
||||
artifacts:
|
||||
paths:
|
||||
- src/dist/
|
||||
|
||||
stages:
|
||||
- test
|
||||
- build
|
||||
|
||||
@@ -103,10 +103,10 @@ pretix_celery_tasks_queued_count
|
||||
pretix_celery_tasks_queued_age_seconds
|
||||
The age of the longest-waiting in the worker queue in seconds, labeled with ``queue``.
|
||||
|
||||
pretix_successful_logins
|
||||
pretix_logins_successful
|
||||
Counter. The number of successful backend logins.
|
||||
|
||||
pretix_failed_logins
|
||||
pretix_logins_failed
|
||||
Counter. The number of failed backend logins, labeled with ``reason``.
|
||||
|
||||
.. _metric types: https://prometheus.io/docs/concepts/metric_types/
|
||||
|
||||
@@ -44,7 +44,7 @@ dependencies = [
|
||||
"django-formset-js-improved==0.5.0.3",
|
||||
"django-formtools==2.5.1",
|
||||
"django-hierarkey==1.2.*",
|
||||
"django-hijack==3.4.*",
|
||||
"django-hijack==3.5.*",
|
||||
"django-i18nfield==1.9.*,>=1.9.4",
|
||||
"django-libsass==0.9",
|
||||
"django-localflavor==4.0",
|
||||
@@ -91,8 +91,8 @@ dependencies = [
|
||||
"qrcode==7.4.*",
|
||||
"redis==5.0.*",
|
||||
"reportlab==4.2.*",
|
||||
"requests==2.32.*",
|
||||
"sentry-sdk==1.45.*",
|
||||
"requests==2.31.*",
|
||||
"sentry-sdk==2.5.*",
|
||||
"sepaxml==2.6.*",
|
||||
"slimit",
|
||||
"static3==0.7.*",
|
||||
|
||||
@@ -19,4 +19,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
__version__ = "2024.5.0"
|
||||
__version__ = "2024.6.0.dev0"
|
||||
|
||||
@@ -564,6 +564,8 @@ class CheckinListOrderPositionSerializer(OrderPositionSerializer):
|
||||
attendee_name = AttendeeNameField(source='*')
|
||||
attendee_name_parts = AttendeeNamePartsField(source='*')
|
||||
order__status = serializers.SlugRelatedField(read_only=True, slug_field='status', source='order')
|
||||
order__valid_if_pending = serializers.SlugRelatedField(read_only=True, slug_field='valid_if_pending', source='order')
|
||||
order__require_approval = serializers.SlugRelatedField(read_only=True, slug_field='require_approval', source='order')
|
||||
|
||||
class Meta:
|
||||
model = OrderPosition
|
||||
@@ -571,7 +573,8 @@ class CheckinListOrderPositionSerializer(OrderPositionSerializer):
|
||||
'company', 'street', 'zipcode', 'city', 'country', 'state',
|
||||
'attendee_email', 'voucher', 'tax_rate', 'tax_value', 'secret', 'addon_to', 'subevent', 'checkins',
|
||||
'downloads', 'answers', 'tax_rule', 'pseudonymization_id', 'pdf_data', 'seat', 'require_attention',
|
||||
'order__status', 'valid_from', 'valid_until', 'blocked')
|
||||
'order__status', 'order__valid_if_pending', 'order__require_approval', 'valid_from', 'valid_until',
|
||||
'blocked')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
@@ -32,13 +32,13 @@
|
||||
# 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 re
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.core.validators import BaseValidator
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from i18nfield.strings import LazyI18nString
|
||||
|
||||
from pretix.helpers.format import format_map
|
||||
|
||||
|
||||
class PlaceholderValidator(BaseValidator):
|
||||
"""
|
||||
@@ -47,6 +47,12 @@ class PlaceholderValidator(BaseValidator):
|
||||
which are not presented in taken list.
|
||||
"""
|
||||
|
||||
error_message = _(
|
||||
'There is an error with your placeholder syntax. Please check that the opening "{" and closing "}" curly '
|
||||
'brackets on your placeholders match up. '
|
||||
'Please note: to use literal "{" or "}", you need to double them as "{{" and "}}".'
|
||||
)
|
||||
|
||||
def __init__(self, limit_value):
|
||||
super().__init__(limit_value)
|
||||
self.limit_value = limit_value
|
||||
@@ -57,22 +63,15 @@ class PlaceholderValidator(BaseValidator):
|
||||
self.__call__(v)
|
||||
return
|
||||
|
||||
if value.count('{') != value.count('}'):
|
||||
try:
|
||||
format_map(value, {key.strip('{}'): "" for key in self.limit_value}, raise_on_missing=True)
|
||||
except ValueError:
|
||||
raise ValidationError(self.error_message, code='invalid_placeholder_syntax')
|
||||
except KeyError as e:
|
||||
raise ValidationError(
|
||||
_('Invalid placeholder syntax: You used a different number of "{" than of "}".'),
|
||||
code='invalid_placeholder_syntax',
|
||||
)
|
||||
|
||||
data_placeholders = list(re.findall(r'({[^}]*})', value, re.X))
|
||||
invalid_placeholders = []
|
||||
for placeholder in data_placeholders:
|
||||
if placeholder not in self.limit_value:
|
||||
invalid_placeholders.append(placeholder)
|
||||
if invalid_placeholders:
|
||||
raise ValidationError(
|
||||
_('Invalid placeholder(s): %(value)s'),
|
||||
_('Invalid placeholder: {%(value)s}'),
|
||||
code='invalid_placeholders',
|
||||
params={'value': ", ".join(invalid_placeholders,)})
|
||||
params={'value': e.args[0]})
|
||||
|
||||
def clean(self, x):
|
||||
return x
|
||||
|
||||
@@ -1468,8 +1468,6 @@ class SubEvent(EventMixin, LoggedModel):
|
||||
seating_plan = models.ForeignKey('SeatingPlan', on_delete=models.PROTECT, null=True, blank=True,
|
||||
related_name='subevents', verbose_name=_('Seating plan'))
|
||||
|
||||
items = models.ManyToManyField('Item', through='SubEventItem')
|
||||
variations = models.ManyToManyField('ItemVariation', through='SubEventItemVariation')
|
||||
comment = models.TextField(
|
||||
verbose_name=_("Internal comment"),
|
||||
null=True, blank=True
|
||||
|
||||
@@ -444,7 +444,8 @@ class Item(LoggedModel):
|
||||
free_price_suggestion = models.DecimalField(
|
||||
verbose_name=_("Suggested price"),
|
||||
help_text=_("This price will be used as the default value of the input field. The user can choose a lower "
|
||||
"value, but not lower than the price this product would have without the free price option."),
|
||||
"value, but not lower than the price this product would have without the free price option. This "
|
||||
"will be ignored if a voucher is used that lowers the price."),
|
||||
max_digits=13, decimal_places=2, null=True, blank=True,
|
||||
)
|
||||
tax_rule = models.ForeignKey(
|
||||
@@ -1086,7 +1087,8 @@ class ItemVariation(models.Model):
|
||||
free_price_suggestion = models.DecimalField(
|
||||
verbose_name=_("Suggested price"),
|
||||
help_text=_("This price will be used as the default value of the input field. The user can choose a lower "
|
||||
"value, but not lower than the price this product would have without the free price option."),
|
||||
"value, but not lower than the price this product would have without the free price option. This "
|
||||
"will be ignored if a voucher is used that lowers the price."),
|
||||
max_digits=13, decimal_places=2, null=True, blank=True,
|
||||
)
|
||||
require_approval = models.BooleanField(
|
||||
|
||||
@@ -62,7 +62,10 @@ class VATIDTemporaryError(VATIDError):
|
||||
|
||||
def _validate_vat_id_NO(vat_id, country_code):
|
||||
# Inspired by vat_moss library
|
||||
vat_id = vat_moss.id.normalize(vat_id)
|
||||
try:
|
||||
vat_id = vat_moss.id.normalize(vat_id)
|
||||
except ValueError:
|
||||
raise VATIDFinalError(error_messages['invalid'])
|
||||
|
||||
if not vat_id or len(vat_id) < 3 or not re.match('^\\d{9}MVA$', vat_id[2:]):
|
||||
raise VATIDFinalError(error_messages['invalid'])
|
||||
|
||||
@@ -698,6 +698,14 @@ class ItemUpdateForm(I18nModelForm):
|
||||
'tax_rule',
|
||||
_("Gift card products should use a tax rule with a rate of 0 percent since sales tax will be applied when the gift card is redeemed.")
|
||||
)
|
||||
if d.get('validity_mode'):
|
||||
self.add_error(
|
||||
'validity_mode',
|
||||
_(
|
||||
"Do not set a specific validity for gift card products as it will not restrict the validity "
|
||||
"of the gift card. A validity of gift cards can be set in your organizer settings."
|
||||
)
|
||||
)
|
||||
if d.get('admission'):
|
||||
self.add_error(
|
||||
'admission',
|
||||
|
||||
@@ -373,7 +373,7 @@ class VoucherBulkForm(VoucherForm):
|
||||
res.append(self.Recipient(
|
||||
name=row.get('name', ''),
|
||||
email=row['email'].strip(),
|
||||
number=int(row.get('number', 1)),
|
||||
number=int(row.get('number', 1) or ""),
|
||||
tag=row.get('tag', None)
|
||||
))
|
||||
except ValueError as err:
|
||||
|
||||
@@ -327,8 +327,7 @@
|
||||
{% endblocktrans %}
|
||||
{% blocktrans trimmed %}
|
||||
Internet Explorer is an old browser that does not support lots of recent web-based
|
||||
technologies. While some features might already not work properly, we plan on no longer
|
||||
supporting Internet Explorer in our administrative backend in the next months.
|
||||
technologies and is no longer supported by this website.
|
||||
{% endblocktrans %}
|
||||
{% blocktrans trimmed %}
|
||||
We kindly ask you to move to one of our supported browsers, such as Microsoft Edge,
|
||||
|
||||
@@ -73,6 +73,7 @@ from i18nfield.utils import I18nJSONEncoder
|
||||
|
||||
from pretix.base.channels import get_all_sales_channels
|
||||
from pretix.base.email import get_available_placeholders
|
||||
from pretix.base.forms import PlaceholderValidator
|
||||
from pretix.base.models import Event, LogEntry, Order, TaxRule, Voucher
|
||||
from pretix.base.models.event import EventMetaValue
|
||||
from pretix.base.services import tickets
|
||||
@@ -713,11 +714,6 @@ class MailSettingsSetup(EventPermissionRequiredMixin, MailSettingsSetupView):
|
||||
class MailSettingsPreview(EventPermissionRequiredMixin, View):
|
||||
permission = 'can_change_event_settings'
|
||||
|
||||
# return the origin text if key is missing in dict
|
||||
class SafeDict(dict):
|
||||
def __missing__(self, key):
|
||||
return '{' + key + '}'
|
||||
|
||||
# create index-language mapping
|
||||
@cached_property
|
||||
def supported_locale(self):
|
||||
@@ -742,7 +738,7 @@ class MailSettingsPreview(EventPermissionRequiredMixin, View):
|
||||
_('This value will be replaced based on dynamic parameters.'),
|
||||
s
|
||||
)
|
||||
return self.SafeDict(ctx)
|
||||
return ctx
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
preview_item = request.POST.get('item', '')
|
||||
@@ -758,12 +754,21 @@ class MailSettingsPreview(EventPermissionRequiredMixin, View):
|
||||
idx = matched.group('idx')
|
||||
if idx in self.supported_locale:
|
||||
with language(self.supported_locale[idx], self.request.event.settings.region):
|
||||
if k.startswith('mail_subject_'):
|
||||
msgs[self.supported_locale[idx]] = format_map(bleach.clean(v), self.placeholders(preview_item))
|
||||
else:
|
||||
msgs[self.supported_locale[idx]] = markdown_compile_email(
|
||||
format_map(v, self.placeholders(preview_item))
|
||||
)
|
||||
try:
|
||||
if k.startswith('mail_subject_'):
|
||||
msgs[self.supported_locale[idx]] = format_map(
|
||||
bleach.clean(v), self.placeholders(preview_item), raise_on_missing=True
|
||||
)
|
||||
else:
|
||||
msgs[self.supported_locale[idx]] = markdown_compile_email(
|
||||
format_map(v, self.placeholders(preview_item), raise_on_missing=True)
|
||||
)
|
||||
except ValueError:
|
||||
msgs[self.supported_locale[idx]] = '<div class="alert alert-danger">{}</div>'.format(
|
||||
PlaceholderValidator.error_message)
|
||||
except KeyError as e:
|
||||
msgs[self.supported_locale[idx]] = '<div class="alert alert-danger">{}</div>'.format(
|
||||
_('Invalid placeholder: {%(value)s}') % {'value': e.args[0]})
|
||||
|
||||
return JsonResponse({
|
||||
'item': preview_item,
|
||||
|
||||
@@ -30,17 +30,15 @@ class SafeFormatter(Formatter):
|
||||
Customized version of ``str.format`` that (a) behaves just like ``str.format_map`` and
|
||||
(b) does not allow any unwanted shenanigans like attribute access or format specifiers.
|
||||
"""
|
||||
def __init__(self, context):
|
||||
def __init__(self, context, raise_on_missing=False):
|
||||
self.context = context
|
||||
self.raise_on_missing = raise_on_missing
|
||||
|
||||
def get_field(self, field_name, args, kwargs):
|
||||
if '.' in field_name or '[' in field_name:
|
||||
logger.warning(f'Ignored invalid field name "{field_name}"')
|
||||
return ('{' + str(field_name) + '}', field_name)
|
||||
return super().get_field(field_name, args, kwargs)
|
||||
return self.get_value(field_name, args, kwargs), field_name
|
||||
|
||||
def get_value(self, key, args, kwargs):
|
||||
if key not in self.context:
|
||||
if not self.raise_on_missing and key not in self.context:
|
||||
return '{' + str(key) + '}'
|
||||
return self.context[key]
|
||||
|
||||
@@ -49,7 +47,7 @@ class SafeFormatter(Formatter):
|
||||
return super().format_field(value, '')
|
||||
|
||||
|
||||
def format_map(template, context):
|
||||
def format_map(template, context, raise_on_missing=False):
|
||||
if not isinstance(template, str):
|
||||
template = str(template)
|
||||
return SafeFormatter(context).format(template)
|
||||
return SafeFormatter(context, raise_on_missing).format(template)
|
||||
|
||||
@@ -72,9 +72,13 @@ def remove_invalid_excel_chars(val):
|
||||
return val
|
||||
|
||||
|
||||
def SafeCell(*args, value=None, **kwargs):
|
||||
def SafeCell(worksheet, row=None, column=None, value=None, **kwargs):
|
||||
value = remove_invalid_excel_chars(value)
|
||||
c = Cell(*args, value=value, **kwargs)
|
||||
if not column:
|
||||
column = 1
|
||||
if not row:
|
||||
row = 1
|
||||
c = Cell(worksheet, row=row, column=column, value=value, **kwargs)
|
||||
if c.data_type == TYPE_FORMULA:
|
||||
c.data_type = TYPE_STRING
|
||||
return c
|
||||
|
||||
@@ -180,7 +180,11 @@ def create_thumbnail(source, size, formats=None):
|
||||
except:
|
||||
raise ThumbnailError('Could not load image')
|
||||
|
||||
frames = [resize_image(frame, size) for frame in ImageSequence.Iterator(image)]
|
||||
frames = []
|
||||
durations = []
|
||||
for f in ImageSequence.Iterator(image):
|
||||
durations.append(f.info.get("duration", 1000))
|
||||
frames.append(resize_image(f, size))
|
||||
image_out = frames[0]
|
||||
save_kwargs = {}
|
||||
source_ext = os.path.splitext(source_name)[1].lower()
|
||||
@@ -198,6 +202,8 @@ def create_thumbnail(source, size, formats=None):
|
||||
'loop': image.info.get('loop', 0),
|
||||
'save_all': True,
|
||||
}
|
||||
if len(frames) > 1 and 'duration' in image.info:
|
||||
save_kwargs['duration'] = durations
|
||||
else:
|
||||
target_ext = 'png'
|
||||
quality = None
|
||||
|
||||
@@ -4,7 +4,7 @@ msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2024-05-01 01:00+0000\n"
|
||||
"PO-Revision-Date: 2024-05-30 17:00+0000\n"
|
||||
"Last-Translator: Nikolai <nikolai@lengefeldt.de>\n"
|
||||
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix/da/"
|
||||
">\n"
|
||||
@@ -13,7 +13,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.4.3\n"
|
||||
"X-Generator: Weblate 5.5.5\n"
|
||||
|
||||
#: pretix/_base_settings.py:78
|
||||
msgid "English"
|
||||
@@ -844,7 +844,7 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_profile.html:20
|
||||
#, fuzzy
|
||||
msgid "Customer ID"
|
||||
msgstr "Kundehandlinger"
|
||||
msgstr "Kunde ID"
|
||||
|
||||
#: pretix/base/exporters/customers.py:65
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html:31
|
||||
@@ -2816,7 +2816,7 @@ msgstr "Udløbsdato"
|
||||
#: pretix/presale/templates/pretixpresale/event/checkout_confirm.html:136
|
||||
#, fuzzy
|
||||
msgid "Customer account"
|
||||
msgstr "Kundehandlinger"
|
||||
msgstr "Kundekonto"
|
||||
|
||||
#: pretix/base/exporters/reusablemedia.py:51 pretix/base/models/media.py:97
|
||||
#, fuzzy
|
||||
@@ -8316,7 +8316,7 @@ msgstr "Produkterne er lagt i kurven."
|
||||
|
||||
#: pretix/base/services/placeholders.py:525
|
||||
msgid "Please transfer money to this bank account: 9999-9999-9999-9999"
|
||||
msgstr ""
|
||||
msgstr "Overfør venligst beløbet til denne bankkonto: 9999-9999-9999-9999"
|
||||
|
||||
#: pretix/base/services/seating.py:61 pretix/base/services/seating.py:128
|
||||
#, python-format
|
||||
@@ -11791,7 +11791,6 @@ msgid "All time"
|
||||
msgstr "Alle"
|
||||
|
||||
#: pretix/base/timeline.py:60
|
||||
#, fuzzy
|
||||
msgctxt "timeline"
|
||||
msgid "Your event starts"
|
||||
msgstr "Arrangements starttidspunkt"
|
||||
@@ -11814,7 +11813,6 @@ msgid "Start of ticket sales"
|
||||
msgstr "Start af forsalg"
|
||||
|
||||
#: pretix/base/timeline.py:95
|
||||
#, fuzzy
|
||||
msgctxt "timeline"
|
||||
msgid "End of ticket sales"
|
||||
msgstr "Slut af forsalg"
|
||||
@@ -12830,9 +12828,8 @@ msgstr "Forsalg slut"
|
||||
#: pretix/control/forms/filter.py:1629 pretix/control/forms/filter.py:1632
|
||||
#: pretix/control/forms/filter.py:2265
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html:84
|
||||
#, fuzzy
|
||||
msgid "Date from"
|
||||
msgstr "Dato"
|
||||
msgstr "Dato fra"
|
||||
|
||||
#: pretix/control/forms/filter.py:1137 pretix/control/forms/filter.py:1140
|
||||
#: pretix/control/forms/filter.py:1636 pretix/control/forms/filter.py:1639
|
||||
@@ -15981,9 +15978,8 @@ msgid "Payments"
|
||||
msgstr "Betaling"
|
||||
|
||||
#: pretix/control/navigation.py:374
|
||||
#, fuzzy
|
||||
msgid "User settings"
|
||||
msgstr "Basisindstillinger"
|
||||
msgstr "Brugerindstillinger"
|
||||
|
||||
#: pretix/control/navigation.py:385
|
||||
#: pretix/control/templates/pretixcontrol/user/settings.html:16
|
||||
@@ -15995,9 +15991,8 @@ msgid "2FA"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py:395
|
||||
#, fuzzy
|
||||
msgid "Authorized apps"
|
||||
msgstr "Kundehandlinger"
|
||||
msgstr "Autoriserede apps"
|
||||
|
||||
#: pretix/control/navigation.py:400
|
||||
#: pretix/control/templates/pretixcontrol/user/history.html:4
|
||||
@@ -17116,7 +17111,7 @@ msgstr "Gå til arrangement"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/dashboard.html:15
|
||||
msgid "Your upcoming events"
|
||||
msgstr ""
|
||||
msgstr "Dine kommende arrangementer"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/dashboard.html:20
|
||||
#: pretix/control/templates/pretixcontrol/events/create_base.html:4
|
||||
@@ -17130,15 +17125,15 @@ msgstr "Opret arrangement"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/dashboard.html:39
|
||||
msgid "View all upcoming events"
|
||||
msgstr ""
|
||||
msgstr "Vis alle kommende arrangementer"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/dashboard.html:44
|
||||
msgid "Your most recent events"
|
||||
msgstr ""
|
||||
msgstr "Dine fornylig afsluttede arrangementer"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/dashboard.html:60
|
||||
msgid "View all recent events"
|
||||
msgstr ""
|
||||
msgstr "Vis alle afsluttede arrangementer"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/dashboard.html:65
|
||||
msgid "Your event series"
|
||||
@@ -18716,8 +18711,8 @@ msgid ""
|
||||
"The list below shows all events you have administrative access to. Click on "
|
||||
"the event name to access event details."
|
||||
msgstr ""
|
||||
"Listen vises alle arrangementer som du har administratoradgang til. Klik på "
|
||||
"navnet for at se detaljer."
|
||||
"I listen vises alle arrangementer, som du har administratoradgang til. Klik "
|
||||
"på navnet for at se flere informationer."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html:12
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html:18
|
||||
@@ -19823,13 +19818,12 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/oauth/authorized.html:4
|
||||
#: pretix/control/templates/pretixcontrol/oauth/authorized.html:6
|
||||
#: pretix/control/templates/pretixcontrol/user/settings.html:61
|
||||
#, fuzzy
|
||||
msgid "Authorized applications"
|
||||
msgstr "Kundehandlinger"
|
||||
msgstr "Autoriserede applikationer"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/oauth/authorized.html:9
|
||||
msgid "Manage your own apps"
|
||||
msgstr ""
|
||||
msgstr "Styr dine egne apps"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/oauth/authorized.html:18
|
||||
msgid "Permissions"
|
||||
@@ -19837,7 +19831,7 @@ msgstr "Tilladelser"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/oauth/authorized.html:59
|
||||
msgid "No applications have access to your pretix account."
|
||||
msgstr ""
|
||||
msgstr "Der er ingen applikationer, der har adgang til din Pretix-konto."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/approve.html:4
|
||||
#: pretix/control/templates/pretixcontrol/order/approve.html:8
|
||||
@@ -23496,9 +23490,8 @@ msgid "Change two-factor settings"
|
||||
msgstr "Ændr tofaktor-indstillinger"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/user/settings.html:65
|
||||
#, fuzzy
|
||||
msgid "Show applications"
|
||||
msgstr "Vis information"
|
||||
msgstr "Vis applikationer"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/user/settings.html:74
|
||||
msgid "Show account history"
|
||||
@@ -29407,7 +29400,6 @@ msgid "Step"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/presale/checkoutflow.py:248
|
||||
#, fuzzy
|
||||
msgctxt "checkoutflow"
|
||||
msgid "Customer account"
|
||||
msgstr "Kundekonto"
|
||||
@@ -29546,8 +29538,9 @@ msgid "Save address in my customer account for future purchases"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/presale/forms/checkout.py:158
|
||||
#, fuzzy
|
||||
msgid "Save answers to my customer profiles for future purchases"
|
||||
msgstr ""
|
||||
msgstr "Gem mine svar i min kundekonto, for at genbruge dem i fremtiden."
|
||||
|
||||
#: pretix/presale/forms/checkout.py:165
|
||||
#, fuzzy
|
||||
@@ -29861,9 +29854,8 @@ msgid "Cart expired"
|
||||
msgstr "Kurv udløbet"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/checkout_base.html:36
|
||||
#, fuzzy
|
||||
msgid "Show full cart"
|
||||
msgstr "Vis information"
|
||||
msgstr "Vis hele indkøbskurven"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/checkout_base.html:48
|
||||
#: pretix/presale/templates/pretixpresale/event/index.html:78
|
||||
@@ -31242,7 +31234,6 @@ msgid "Request invoice"
|
||||
msgstr "Anmod om faktura"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:286
|
||||
#, fuzzy
|
||||
msgid "Your information"
|
||||
msgstr "Dine oplysninger"
|
||||
|
||||
@@ -31266,7 +31257,6 @@ msgid "Change your order"
|
||||
msgstr "Ret din ordre"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:353
|
||||
#, fuzzy
|
||||
msgctxt "action"
|
||||
msgid "Cancel your order"
|
||||
msgstr "Annuller bestilling"
|
||||
@@ -31903,7 +31893,7 @@ msgstr "Er du sikker på at du vil slette gruppen?"
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_profile.html:15
|
||||
#, fuzzy
|
||||
msgid "Account information"
|
||||
msgstr "Kontoindstillinger ændret"
|
||||
msgstr "Kontoinformationer"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_info.html:11
|
||||
#, fuzzy
|
||||
@@ -31945,7 +31935,7 @@ msgstr "Angiv ny adgangskode"
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_profile.html:10
|
||||
#, fuzzy
|
||||
msgid "Your account"
|
||||
msgstr "Din kurv"
|
||||
msgstr "Din konto"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_profile.html:23
|
||||
#, fuzzy
|
||||
|
||||
@@ -7,8 +7,8 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-08 13:19+0000\n"
|
||||
"PO-Revision-Date: 2022-12-01 17:00+0000\n"
|
||||
"Last-Translator: Mie Frydensbjerg <mif@aarhus.dk>\n"
|
||||
"PO-Revision-Date: 2024-05-30 17:00+0000\n"
|
||||
"Last-Translator: Nikolai <nikolai@lengefeldt.de>\n"
|
||||
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
||||
"da/>\n"
|
||||
"Language: da\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 4.14.2\n"
|
||||
"X-Generator: Weblate 5.5.5\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||
@@ -724,10 +724,6 @@ msgid "Cart expired"
|
||||
msgstr "Kurv udløbet"
|
||||
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:50
|
||||
#, fuzzy
|
||||
#| msgid "The items in your cart are reserved for you for one minute."
|
||||
#| msgid_plural ""
|
||||
#| "The items in your cart are reserved for you for {num} minutes."
|
||||
msgid "The items in your cart are reserved for you for one minute."
|
||||
msgid_plural "The items in your cart are reserved for you for {num} minutes."
|
||||
msgstr[0] "Varerne i din kurv er reserveret for dig i et minut."
|
||||
|
||||
@@ -5,8 +5,8 @@ msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2024-05-24 08:53+0000\n"
|
||||
"Last-Translator: Raphael Michel <michel@rami.io>\n"
|
||||
"PO-Revision-Date: 2024-06-06 19:00+0000\n"
|
||||
"Last-Translator: Mira <weller@rami.io>\n"
|
||||
"Language-Team: German <https://translate.pretix.eu/projects/pretix/pretix/de/"
|
||||
">\n"
|
||||
"Language: de\n"
|
||||
@@ -14050,7 +14050,7 @@ msgid ""
|
||||
"people over 65. This ticket includes access to all parts of the event, "
|
||||
"except the VIP area."
|
||||
msgstr ""
|
||||
"z.B. Dieses reduzierte Ticket ist erhältlich für Vollzeitstudenten, "
|
||||
"z.B. Dieses reduzierte Ticket ist erhältlich für Vollzeitstudent*innen, "
|
||||
"Arbeitslose und Menschen über 65. Das Ticket enthält Zugang zu allen Teilen "
|
||||
"der Veranstaltung außer des VIP-Bereiches."
|
||||
|
||||
@@ -28810,7 +28810,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"Please click the \"Pay with PayPal\" button below to start your payment."
|
||||
msgstr ""
|
||||
"Bitte klicken Sie auf den \"Mit PayPal bezahlen\" Knopf um mit der Zahlung "
|
||||
"Bitte klicken Sie auf den \"Mit PayPal bezahlen\" Knopf, um mit der Zahlung "
|
||||
"zu beginnen."
|
||||
|
||||
#: pretix/plugins/paypal2/templates/pretixplugins/paypal2/checkout_payment_form.html:13
|
||||
|
||||
@@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2024-05-24 08:53+0000\n"
|
||||
"Last-Translator: Raphael Michel <michel@rami.io>\n"
|
||||
"PO-Revision-Date: 2024-06-06 19:00+0000\n"
|
||||
"Last-Translator: Mira <weller@rami.io>\n"
|
||||
"Language-Team: German (informal) <https://translate.pretix.eu/projects/"
|
||||
"pretix/pretix/de_Informal/>\n"
|
||||
"Language: de_Informal\n"
|
||||
@@ -14025,7 +14025,7 @@ msgid ""
|
||||
"people over 65. This ticket includes access to all parts of the event, "
|
||||
"except the VIP area."
|
||||
msgstr ""
|
||||
"z.B. Dieses reduzierte Ticket ist erhältlich für Vollzeitstudenten, "
|
||||
"z.B. Dieses reduzierte Ticket ist erhältlich für Vollzeitstudent*innen, "
|
||||
"Arbeitslose und Menschen über 65. Das Ticket enthält Zugang zu allen Teilen "
|
||||
"der Veranstaltung außer des VIP-Bereiches."
|
||||
|
||||
@@ -28759,7 +28759,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"Please click the \"Pay with PayPal\" button below to start your payment."
|
||||
msgstr ""
|
||||
"Bitte klicke auf den \"Mit PayPal bezahlen\" Knopf um mit der Zahlung zu "
|
||||
"Bitte klicke auf den \"Mit PayPal bezahlen\" Knopf, um mit der Zahlung zu "
|
||||
"beginnen."
|
||||
|
||||
#: pretix/plugins/paypal2/templates/pretixplugins/paypal2/checkout_payment_form.html:13
|
||||
|
||||
@@ -8,16 +8,16 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2023-07-11 11:38+0000\n"
|
||||
"Last-Translator: hara metaxa <metaxahara@gmail.com>\n"
|
||||
"Language-Team: Greek <https://translate.pretix.eu/projects/pretix/pretix/el/"
|
||||
">\n"
|
||||
"PO-Revision-Date: 2024-05-31 15:52+0000\n"
|
||||
"Last-Translator: danijossnet <danijoss@yahoo.com>\n"
|
||||
"Language-Team: Greek <https://translate.pretix.eu/projects/pretix/pretix/el/>"
|
||||
"\n"
|
||||
"Language: el\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 4.17\n"
|
||||
"X-Generator: Weblate 5.5.5\n"
|
||||
|
||||
#: pretix/_base_settings.py:78
|
||||
msgid "English"
|
||||
@@ -34388,7 +34388,7 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_event_info.html:20
|
||||
#, python-format
|
||||
msgid "Begin: %(time)s"
|
||||
msgstr "Ξεκινήστε: %(time)s"
|
||||
msgstr "Έναρξη: %(time)s"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_event_info.html:29
|
||||
#, python-format
|
||||
|
||||
@@ -4,8 +4,8 @@ msgstr ""
|
||||
"Project-Id-Version: 1\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2024-05-23 14:03+0000\n"
|
||||
"Last-Translator: Raphael Michel <michel@rami.io>\n"
|
||||
"PO-Revision-Date: 2024-06-08 18:00+0000\n"
|
||||
"Last-Translator: alemairebe <adrien@alemaire.be>\n"
|
||||
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix/fr/"
|
||||
">\n"
|
||||
"Language: fr\n"
|
||||
@@ -28861,8 +28861,8 @@ msgstr "Le processus de paiement a commencé dans une nouvelle fenêtre."
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/redirect.html:20
|
||||
msgid "The window to enter your payment data was not opened or was closed?"
|
||||
msgstr ""
|
||||
"La fenêtre de saisie de vos données de paiement n’a pas été ouverte ou a été "
|
||||
"fermée ?"
|
||||
"La fenêtre de saisie de vos données de paiement a-t-elle été fermée ou ne "
|
||||
"s'est pas ouverte ?"
|
||||
|
||||
#: pretix/plugins/paypal/templates/pretixplugins/paypal/redirect.html:25
|
||||
#: pretix/plugins/paypal2/templates/pretixplugins/paypal2/redirect.html:25
|
||||
|
||||
@@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2024-02-27 02:00+0000\n"
|
||||
"Last-Translator: Adriano Lima <adrianocardoso1991@gmail.com>\n"
|
||||
"PO-Revision-Date: 2024-05-27 21:00+0000\n"
|
||||
"Last-Translator: mathbrito <mathbrito@users.noreply.translate.pretix.eu>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://translate.pretix.eu/projects/"
|
||||
"pretix/pretix/pt_BR/>\n"
|
||||
"Language: pt_BR\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.4\n"
|
||||
"X-Generator: Weblate 5.5.5\n"
|
||||
|
||||
#: pretix/_base_settings.py:78
|
||||
msgid "English"
|
||||
@@ -9152,18 +9152,20 @@ msgid ""
|
||||
"The part of your invoice number after your prefix will be filled up with "
|
||||
"leading zeros up to this length, e.g. INV-001 or INV-00001."
|
||||
msgstr ""
|
||||
"A parte do seu número de fatura após o seu prefixo será preenchido com zeros "
|
||||
"até este comprimento, p.ex. INV-001 ou INV-00001."
|
||||
|
||||
#: pretix/base/settings.py:661
|
||||
msgid "Generate invoices with consecutive numbers"
|
||||
msgstr ""
|
||||
msgstr "Gerar faturas com números consecutivos"
|
||||
|
||||
#: pretix/base/settings.py:662
|
||||
msgid "If deactivated, the order code will be used in the invoice number."
|
||||
msgstr ""
|
||||
msgstr "Se desativado, o número de pedido será usado como número de fatura."
|
||||
|
||||
#: pretix/base/settings.py:671
|
||||
msgid "Invoice number prefix"
|
||||
msgstr ""
|
||||
msgstr "Prefixo do número de fatura"
|
||||
|
||||
#: pretix/base/settings.py:672
|
||||
msgid ""
|
||||
@@ -24633,19 +24635,19 @@ msgstr ""
|
||||
#: pretix/plugins/sendmail/views.py:674 pretix/plugins/stripe/views.py:679
|
||||
#: pretix/plugins/ticketoutputpdf/views.py:132
|
||||
msgid "We could not save your changes. See below for details."
|
||||
msgstr ""
|
||||
msgstr "Não conseguimos salvar suas alterações. Veja detalhes abaixo."
|
||||
|
||||
#: pretix/control/views/checkin.py:416 pretix/control/views/checkin.py:453
|
||||
msgid "The requested list does not exist."
|
||||
msgstr ""
|
||||
msgstr "A lista solicitada não existe."
|
||||
|
||||
#: pretix/control/views/checkin.py:462
|
||||
msgid "The selected list has been deleted."
|
||||
msgstr ""
|
||||
msgstr "A lista selecionada foi apagada."
|
||||
|
||||
#: pretix/control/views/dashboards.py:114
|
||||
msgid "Attendees (ordered)"
|
||||
msgstr ""
|
||||
msgstr "Participantes (com pedidos)"
|
||||
|
||||
#: pretix/control/views/dashboards.py:124
|
||||
msgid "Attendees (paid)"
|
||||
|
||||
@@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2023-04-24 19:00+0000\n"
|
||||
"Last-Translator: Vasco Baleia <vb2003.12@gmail.com>\n"
|
||||
"PO-Revision-Date: 2024-06-08 18:00+0000\n"
|
||||
"Last-Translator: David Vaz <davidmgvaz@gmail.com>\n"
|
||||
"Language-Team: Portuguese (Portugal) <https://translate.pretix.eu/projects/"
|
||||
"pretix/pretix/pt_PT/>\n"
|
||||
"Language: pt_PT\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 4.16.4\n"
|
||||
"X-Generator: Weblate 5.5.5\n"
|
||||
|
||||
#: pretix/_base_settings.py:78
|
||||
msgid "English"
|
||||
@@ -41,7 +41,7 @@ msgstr "Chinês (simplificado)"
|
||||
|
||||
#: pretix/_base_settings.py:83
|
||||
msgid "Chinese (traditional)"
|
||||
msgstr ""
|
||||
msgstr "Chinês (tradicional)"
|
||||
|
||||
#: pretix/_base_settings.py:84
|
||||
msgid "Czech"
|
||||
@@ -77,7 +77,7 @@ msgstr "Grego"
|
||||
|
||||
#: pretix/_base_settings.py:92
|
||||
msgid "Indonesian"
|
||||
msgstr ""
|
||||
msgstr "Indonésia"
|
||||
|
||||
#: pretix/_base_settings.py:93
|
||||
msgid "Italian"
|
||||
@@ -89,7 +89,7 @@ msgstr "Letão"
|
||||
|
||||
#: pretix/_base_settings.py:95
|
||||
msgid "Norwegian Bokmål"
|
||||
msgstr ""
|
||||
msgstr "Norueguês Bokmål"
|
||||
|
||||
#: pretix/_base_settings.py:96
|
||||
msgid "Polish"
|
||||
@@ -160,10 +160,8 @@ msgid "Allowed URIs list, space separated"
|
||||
msgstr "Lista de URIs permitidos, separados por espaço"
|
||||
|
||||
#: pretix/api/models.py:47
|
||||
#, fuzzy
|
||||
#| msgid "Allowed URIs list, space separated"
|
||||
msgid "Allowed Post Logout URIs list, space separated"
|
||||
msgstr "Lista de URIs permitidos, separados por espaço"
|
||||
msgstr "Lista de URIs pós-logout permitidos, separados por espaço"
|
||||
|
||||
#: pretix/api/models.py:51 pretix/base/models/customers.py:395
|
||||
#: pretix/plugins/paypal/payment.py:113 pretix/plugins/paypal2/payment.py:108
|
||||
@@ -310,21 +308,16 @@ msgid "This type of question cannot be asked during check-in."
|
||||
msgstr "Este tipo de pergunta não pode ser efetuado durante o check-in."
|
||||
|
||||
#: pretix/api/serializers/item.py:493 pretix/control/forms/item.py:143
|
||||
#, fuzzy
|
||||
#| msgid "This type of question cannot be asked during check-in."
|
||||
msgid "This type of question cannot be shown during check-in."
|
||||
msgstr "Este tipo de pergunta não pode ser efetuado durante o check-in."
|
||||
msgstr "Este tipo de pergunta não pode ser apresentado durante o check-in."
|
||||
|
||||
#: pretix/api/serializers/media.py:108
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "A gift card with the same secret already exists in your or an affiliated "
|
||||
#| "organizer account."
|
||||
msgid ""
|
||||
"A medium with the same identifier and type already exists in your organizer "
|
||||
"account."
|
||||
msgstr ""
|
||||
"Um identificador com o mesmo ID e tipo já existe nesta conta de organizador."
|
||||
"Já existe um meio com o mesmo identificador e tipo nesta conta de "
|
||||
"organizador."
|
||||
|
||||
#: pretix/api/serializers/order.py:79
|
||||
#, python-brace-format
|
||||
@@ -384,7 +377,7 @@ msgstr ""
|
||||
|
||||
#: pretix/api/views/checkin.py:604 pretix/api/views/checkin.py:611
|
||||
msgid "Medium connected to other event"
|
||||
msgstr ""
|
||||
msgstr "Meio ligado a outro evento"
|
||||
|
||||
#: pretix/api/views/oauth.py:107 pretix/control/logdisplay.py:472
|
||||
#, python-brace-format
|
||||
@@ -396,7 +389,7 @@ msgstr "A aplicação \"{application_name}\" foi autorizada a aceder sua conta."
|
||||
#: pretix/api/views/order.py:589 pretix/control/views/orders.py:1588
|
||||
#: pretix/presale/views/order.py:741 pretix/presale/views/order.py:814
|
||||
msgid "You cannot generate an invoice for this order."
|
||||
msgstr "Não pode gerar uma factura para este pedido"
|
||||
msgstr "Não é possível gerar uma fatura para esta encomenda."
|
||||
|
||||
#: pretix/api/views/order.py:594 pretix/control/views/orders.py:1590
|
||||
#: pretix/presale/views/order.py:743 pretix/presale/views/order.py:816
|
||||
@@ -554,46 +547,32 @@ msgid "Test-Mode of shop has been deactivated"
|
||||
msgstr "O modo de teste da loja foi desativado"
|
||||
|
||||
#: pretix/api/webhooks.py:355
|
||||
#, fuzzy
|
||||
#| msgid "Waiting list entry"
|
||||
msgid "Waiting list entry added"
|
||||
msgstr "Entrada em fila de espera"
|
||||
msgstr "Entrada em fila de espera adicionada"
|
||||
|
||||
#: pretix/api/webhooks.py:359
|
||||
#, fuzzy
|
||||
#| msgid "Waiting list entry"
|
||||
msgid "Waiting list entry changed"
|
||||
msgstr "Entrada em fila de espera"
|
||||
msgstr "Entrada em fila de espera alterada"
|
||||
|
||||
#: pretix/api/webhooks.py:363
|
||||
#, fuzzy
|
||||
#| msgid "Waiting list entry"
|
||||
msgid "Waiting list entry deleted"
|
||||
msgstr "Entrada em fila de espera"
|
||||
msgstr "Entrada em fila de espera removida"
|
||||
|
||||
#: pretix/api/webhooks.py:367
|
||||
#, fuzzy
|
||||
#| msgid "Waiting list entries"
|
||||
msgid "Waiting list entry received voucher"
|
||||
msgstr "Entradas em fila de espera"
|
||||
msgstr "Entrada em fila de espera recebeu voucher"
|
||||
|
||||
#: pretix/api/webhooks.py:371
|
||||
#, fuzzy
|
||||
#| msgid "Customer account"
|
||||
msgid "Customer account created"
|
||||
msgstr "Conta de cliente"
|
||||
msgstr "Conta de cliente criada"
|
||||
|
||||
#: pretix/api/webhooks.py:375
|
||||
#, fuzzy
|
||||
#| msgid "Customer account email change"
|
||||
msgid "Customer account changed"
|
||||
msgstr "Alteração de e -mail da conta do cliente"
|
||||
msgstr "Conta do cliente alterada"
|
||||
|
||||
#: pretix/api/webhooks.py:379
|
||||
#, fuzzy
|
||||
#| msgid "The customer account has been anonymized."
|
||||
msgid "Customer account anonymized"
|
||||
msgstr "A conta do cliente foi anonimizada."
|
||||
msgstr "Conta do cliente anonimizada"
|
||||
|
||||
#: pretix/base/addressvalidation.py:100 pretix/base/addressvalidation.py:103
|
||||
#: pretix/base/addressvalidation.py:108 pretix/base/forms/questions.py:953
|
||||
@@ -769,11 +748,9 @@ msgstr "Carregamento de Ficheiros de Resposta às Perguntas"
|
||||
#: pretix/base/exporters/orderlist.py:1213
|
||||
#: pretix/plugins/reports/exporters.py:478
|
||||
#: pretix/plugins/reports/exporters.py:651
|
||||
#, fuzzy
|
||||
#| msgid "Order data"
|
||||
msgctxt "export_category"
|
||||
msgid "Order data"
|
||||
msgstr "Dados das encomendas"
|
||||
msgstr "Dados da encomenda"
|
||||
|
||||
#: pretix/base/exporters/answers.py:56
|
||||
msgid ""
|
||||
@@ -1087,8 +1064,6 @@ msgid "Event data"
|
||||
msgstr "Dados do evento"
|
||||
|
||||
#: pretix/base/exporters/events.py:48
|
||||
#, fuzzy
|
||||
#| msgid "Event data"
|
||||
msgctxt "export_category"
|
||||
msgid "Event data"
|
||||
msgstr "Dados do evento"
|
||||
@@ -1753,10 +1728,8 @@ msgstr "Requer atenção especial"
|
||||
#: pretix/base/exporters/items.py:91 pretix/base/exporters/orderlist.py:282
|
||||
#: pretix/base/models/items.py:590 pretix/base/models/items.py:1155
|
||||
#: pretix/base/models/orders.py:288
|
||||
#, fuzzy
|
||||
#| msgid "Check-in list"
|
||||
msgid "Check-in text"
|
||||
msgstr "Lista de check-in"
|
||||
msgstr "Texto de check-in"
|
||||
|
||||
#: pretix/base/exporters/items.py:92 pretix/base/models/items.py:595
|
||||
#: pretix/base/models/items.py:1080
|
||||
@@ -2291,10 +2264,8 @@ msgid "Invoice address state"
|
||||
msgstr "Endereço de fatura: estado"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:794
|
||||
#, fuzzy
|
||||
#| msgid "Server Transaction Code"
|
||||
msgid "Order transaction data"
|
||||
msgstr "Código Transaction Servidor"
|
||||
msgstr "Dados de transação de pedidos"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:796
|
||||
msgid ""
|
||||
@@ -2302,12 +2273,14 @@ msgid ""
|
||||
"changes to products, prices or tax rates. The information is only accurate "
|
||||
"for changes made with pretix versions released after October 2021."
|
||||
msgstr ""
|
||||
"Descarregue uma folha de cálculo de todas as alterações substanciais às "
|
||||
"encomendas, ou seja, todas as alterações aos produtos, preços ou taxas de "
|
||||
"imposto. As informações são precisas apenas para alterações feitas com "
|
||||
"versões pretix lançadas após outubro de 2021."
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:812
|
||||
#, fuzzy
|
||||
#| msgid "Only include orders created within this date range."
|
||||
msgid "Only include transactions created within this date range."
|
||||
msgstr "Apenas incluir pedidos criados a partir deste intervalo de datas."
|
||||
msgstr "Apenas incluir pedidos criados neste intervalo de datas."
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:847 pretix/base/models/event.py:640
|
||||
#: pretix/base/models/items.py:401 pretix/base/models/items.py:1937
|
||||
@@ -2339,22 +2312,16 @@ msgid "Currency"
|
||||
msgstr "Moeda"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:855
|
||||
#, fuzzy
|
||||
#| msgid "Transaction Code"
|
||||
msgid "Transaction date"
|
||||
msgstr "Código de transação"
|
||||
msgstr "Data da transação"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:856
|
||||
#, fuzzy
|
||||
#| msgid "Transaction Code"
|
||||
msgid "Transaction time"
|
||||
msgstr "Código de transação"
|
||||
msgstr "Hora de transação"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:857
|
||||
#, fuzzy
|
||||
#| msgid "Order data"
|
||||
msgid "Old data"
|
||||
msgstr "Dados dos pedidos"
|
||||
msgstr "Dados antigos"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:860 pretix/base/models/items.py:1460
|
||||
#: pretix/control/templates/pretixcontrol/order/transactions.html:22
|
||||
@@ -2362,48 +2329,39 @@ msgid "Quantity"
|
||||
msgstr "Quantidade"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:867
|
||||
#, fuzzy
|
||||
#| msgid "Internal reference"
|
||||
msgid "Internal fee type"
|
||||
msgstr "Referência interna"
|
||||
msgstr "Tipo de taxa interna"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:869
|
||||
#, fuzzy
|
||||
#| msgid "Date"
|
||||
msgctxt "subevent"
|
||||
msgid "Date ID"
|
||||
msgstr "Data"
|
||||
msgstr "ID de data"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:874
|
||||
#, fuzzy
|
||||
#| msgid "Tax rule"
|
||||
msgid "Tax rule ID"
|
||||
msgstr "Regra fiscal"
|
||||
msgstr "ID de regra de Tributação"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:877
|
||||
#: pretix/plugins/reports/accountingreport.py:319
|
||||
#, fuzzy
|
||||
#| msgctxt "invoice"
|
||||
#| msgid "Gross value"
|
||||
msgid "Gross total"
|
||||
msgstr "Valor bruto"
|
||||
msgstr "Total bruto"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:878
|
||||
#: pretix/plugins/reports/accountingreport.py:318
|
||||
#, fuzzy
|
||||
#| msgid "Total"
|
||||
msgid "Tax total"
|
||||
msgstr "Total"
|
||||
msgstr "Total de impostos"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:888
|
||||
msgid ""
|
||||
"This value is supplied for informational purposes, it is not part of the "
|
||||
"original transaction data and might have changed since the transaction."
|
||||
msgstr ""
|
||||
"Este valor é fornecido para fins informativos, não faz parte dos dados "
|
||||
"originais da transação e pode ter sido alterado desde a transação."
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:911
|
||||
msgid "Converted from legacy version"
|
||||
msgstr ""
|
||||
msgstr "Convertido de versão antiga"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:973
|
||||
msgid "Payments and refunds"
|
||||
@@ -2681,9 +2639,8 @@ msgid "Show value at"
|
||||
msgstr "Mostrar valor em"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:1271
|
||||
#, fuzzy
|
||||
msgid "Defaults to the time of report."
|
||||
msgstr "Predefine para o tempo do relatório."
|
||||
msgstr "Predefinido para o tempo do relatório."
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:1276
|
||||
#: pretix/base/exporters/orderlist.py:1286 pretix/control/forms/filter.py:517
|
||||
@@ -2774,39 +2731,29 @@ msgstr "Data da última fatura do pedido"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html:6
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html:9
|
||||
msgid "Reusable media"
|
||||
msgstr ""
|
||||
msgstr "Media reutilizável"
|
||||
|
||||
#: pretix/base/exporters/reusablemedia.py:35
|
||||
#, fuzzy
|
||||
#| msgid "Reusable media type"
|
||||
msgctxt "export_category"
|
||||
msgid "Reusable media"
|
||||
msgstr "Tipo de identificador reutilizável"
|
||||
msgstr "Média reutilizável"
|
||||
|
||||
#: pretix/base/exporters/reusablemedia.py:36
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Download a spreadsheet with information on all events in this organizer "
|
||||
#| "account."
|
||||
msgid ""
|
||||
"Download a spread sheet with the data of all reusable medias on your account."
|
||||
msgstr ""
|
||||
"Descarregar uma folha de cálculo com informação de todos os eventos nesta "
|
||||
"conta de organizador."
|
||||
"Descarregue uma folha de cálculo com os dados de todos os suportes "
|
||||
"reutilizáveis da sua conta."
|
||||
|
||||
#: pretix/base/exporters/reusablemedia.py:46 pretix/base/models/media.py:67
|
||||
#, fuzzy
|
||||
#| msgid "Fee type"
|
||||
msgctxt "reusable_medium"
|
||||
msgid "Media type"
|
||||
msgstr "Tipo de taxa"
|
||||
msgstr "Tipo de suporte"
|
||||
|
||||
#: pretix/base/exporters/reusablemedia.py:47 pretix/base/models/media.py:73
|
||||
#, fuzzy
|
||||
#| msgid "Internal identifier"
|
||||
msgctxt "reusable_medium"
|
||||
msgid "Identifier"
|
||||
msgstr "Identificador interno"
|
||||
msgstr "Identificador"
|
||||
|
||||
#: pretix/base/exporters/reusablemedia.py:49 pretix/base/models/media.py:81
|
||||
#: pretix/base/models/orders.py:264 pretix/base/models/orders.py:3007
|
||||
@@ -2822,16 +2769,12 @@ msgid "Customer account"
|
||||
msgstr "Conta de cliente"
|
||||
|
||||
#: pretix/base/exporters/reusablemedia.py:51 pretix/base/models/media.py:97
|
||||
#, fuzzy
|
||||
#| msgid "Link text"
|
||||
msgid "Linked ticket"
|
||||
msgstr "Texto do link"
|
||||
msgstr "Bilhete associado"
|
||||
|
||||
#: pretix/base/exporters/reusablemedia.py:52 pretix/base/models/media.py:104
|
||||
#, fuzzy
|
||||
#| msgid "Issued gift cards"
|
||||
msgid "Linked gift card"
|
||||
msgstr "Cartões-presente emitidos"
|
||||
msgstr "Cartão-presente associado"
|
||||
|
||||
#: pretix/base/exporters/waitinglist.py:42
|
||||
msgctxt "export_category"
|
||||
@@ -2913,7 +2856,7 @@ msgstr "Código do voucher"
|
||||
#: pretix/base/forms/__init__.py:118
|
||||
#, python-brace-format
|
||||
msgid "You can use {markup_name} in this field."
|
||||
msgstr ""
|
||||
msgstr "Pode utilizar {markup_name} neste campo."
|
||||
|
||||
#: pretix/base/forms/__init__.py:178
|
||||
#, python-format
|
||||
@@ -3136,10 +3079,9 @@ msgid "Invalid placeholder(s): %(value)s"
|
||||
msgstr "Placeholder(s) inválido(s): %(value)s"
|
||||
|
||||
#: pretix/base/forms/widgets.py:67
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Sample city"
|
||||
#, python-format
|
||||
msgid "Sample: %s"
|
||||
msgstr "Exemplo de cidade"
|
||||
msgstr "Exemplo: %s"
|
||||
|
||||
#: pretix/base/forms/widgets.py:70
|
||||
#, python-brace-format
|
||||
@@ -3380,25 +3322,22 @@ msgstr ""
|
||||
|
||||
#: pretix/base/invoice.py:858
|
||||
msgid "Default invoice renderer (European-style letter)"
|
||||
msgstr ""
|
||||
msgstr "Renderizador de facturas por defeito (Carta estilo europeu)"
|
||||
|
||||
#: pretix/base/invoice.py:947
|
||||
#, fuzzy
|
||||
#| msgid "Please enter a valid state."
|
||||
msgctxt "invoice"
|
||||
msgid "(Please quote at all times.)"
|
||||
msgstr "Por favor, indique um estado válido."
|
||||
msgstr "(Por favor, cite sempre.)"
|
||||
|
||||
#: pretix/base/invoice.py:994
|
||||
msgid "Simplified invoice renderer"
|
||||
msgstr ""
|
||||
msgstr "Renderizador de facturas simplificado"
|
||||
|
||||
#: pretix/base/invoice.py:1013
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "Event date range"
|
||||
#, python-brace-format
|
||||
msgctxt "invoice"
|
||||
msgid "Event date: {date_range}"
|
||||
msgstr "Datas limite do evento"
|
||||
msgstr "Data do evento: {date_range}"
|
||||
|
||||
#: pretix/base/media.py:61
|
||||
msgid "Barcode / QR-Code"
|
||||
@@ -3406,7 +3345,6 @@ msgstr "Código de Barras / Código QR"
|
||||
|
||||
#: pretix/base/media.py:77
|
||||
#: pretix/control/templates/pretixcontrol/organizers/edit.html:237
|
||||
#, fuzzy
|
||||
msgid "NFC UID-based"
|
||||
msgstr "NFC Baseado em UID"
|
||||
|
||||
@@ -3427,12 +3365,12 @@ msgstr "Definição inválida para a coluna \"{header}\"."
|
||||
#: pretix/base/modelimport.py:199
|
||||
#, python-brace-format
|
||||
msgid "Could not parse {value} as a yes/no value."
|
||||
msgstr ""
|
||||
msgstr "Não foi possível analisar {value} como um valor sim/não."
|
||||
|
||||
#: pretix/base/modelimport.py:216
|
||||
#, python-brace-format
|
||||
msgid "Could not parse {value} as a date and time."
|
||||
msgstr ""
|
||||
msgstr "Não foi possível analisar {value} como uma data e hora."
|
||||
|
||||
#: pretix/base/modelimport.py:226 pretix/control/views/orders.py:1162
|
||||
#: pretix/control/views/orders.py:1191 pretix/control/views/orders.py:1235
|
||||
@@ -3607,10 +3545,8 @@ msgid "Customer"
|
||||
msgstr "Comprador"
|
||||
|
||||
#: pretix/base/modelimport_orders.py:685
|
||||
#, fuzzy
|
||||
#| msgid "No matching seat was found."
|
||||
msgid "No matching customer was found."
|
||||
msgstr "Nenhum lugar correspondente foi encontrado."
|
||||
msgstr "Não foi encontrado nenhum cliente correspondente."
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py:50 pretix/base/models/vouchers.py:488
|
||||
msgid "A voucher with this code already exists."
|
||||
@@ -3623,10 +3559,8 @@ msgid "Maximum usages"
|
||||
msgstr "Usos máximos"
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py:79
|
||||
#, fuzzy
|
||||
#| msgid "Maximum number of items per order"
|
||||
msgid "The maximum number of usages must be set."
|
||||
msgstr "Número máximo de itens por pedido"
|
||||
msgstr "O número máximo de utilizações deve ser definido."
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py:88 pretix/base/models/vouchers.py:205
|
||||
msgid "Minimum usages"
|
||||
@@ -3653,6 +3587,8 @@ msgstr "Modo de preço"
|
||||
#, python-brace-format
|
||||
msgid "Could not parse {value} as a price mode, use one of {options}."
|
||||
msgstr ""
|
||||
"Não foi possível analisar {value} como um modo de preço, utilizar uma das "
|
||||
"{options}."
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py:160 pretix/base/models/vouchers.py:245
|
||||
msgid "Voucher value"
|
||||
@@ -4551,10 +4487,8 @@ msgstr "Nenhum valor pode conter o caracter delimitador."
|
||||
|
||||
#: pretix/base/models/giftcards.py:81
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html:50
|
||||
#, fuzzy
|
||||
#| msgid "Download your ticket here:"
|
||||
msgid "Owned by ticket holder"
|
||||
msgstr "Descarregue o seu bilhete aqui:"
|
||||
msgstr "Propriedade do titular do bilhete"
|
||||
|
||||
#: pretix/base/models/giftcards.py:93
|
||||
msgid "The gift card code may only contain letters, numbers, dots and dashes."
|
||||
@@ -6014,10 +5948,10 @@ msgid "Team members"
|
||||
msgstr "Membros da equipa"
|
||||
|
||||
#: pretix/base/models/organizer.py:267
|
||||
#, fuzzy
|
||||
#| msgid "Do you really want to disable two-factor authentication?"
|
||||
msgid "Require all members of this team to use two-factor authentication"
|
||||
msgstr "Quer mesmo desativar a autenticação de dois fatores?"
|
||||
msgstr ""
|
||||
"Exigir que todos os membros desta equipa utilizem autenticação de dois "
|
||||
"fatores"
|
||||
|
||||
#: pretix/base/models/organizer.py:268
|
||||
msgid ""
|
||||
@@ -6589,7 +6523,7 @@ msgstr "Pedido {order.code} foi pago em excesso."
|
||||
#: pretix/base/notifications.py:294
|
||||
#, python-brace-format
|
||||
msgid "An external refund for {order.code} has occurred."
|
||||
msgstr "Foi efetuado um reembolso externo para o pedido {order.code}"
|
||||
msgstr "Foi efetuado um reembolso externo para o pedido {order.code}."
|
||||
|
||||
#: pretix/base/notifications.py:299
|
||||
msgid "Refund requested"
|
||||
@@ -7513,29 +7447,24 @@ msgstr ""
|
||||
"quantidade selecionada. Por favor, veja abaixo para mais detalhes."
|
||||
|
||||
#: pretix/base/services/cart.py:118
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "Some of the products you selected are no longer available in the quantity "
|
||||
#| "you selected. Please see below for details."
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Some of the products you selected are no longer available. The following "
|
||||
"products are affected and have not been added to your cart: %s"
|
||||
msgstr ""
|
||||
"Alguns dos produtos que você selecionou não estão mais disponíveis na "
|
||||
"quantidade selecionada. Por favor, veja abaixo para mais detalhes."
|
||||
"Alguns dos produtos que selecionou já não estão disponíveis. Os seguintes "
|
||||
"produtos foram afetados e não foram adicionados ao seu carrinho: %s"
|
||||
|
||||
#: pretix/base/services/cart.py:122
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "Some of the products you selected are no longer available in the quantity "
|
||||
#| "you selected. Please see below for details."
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Some of the products you selected are no longer available in the quantity "
|
||||
"you selected. The following products are affected and have not been added to "
|
||||
"your cart: %s"
|
||||
msgstr ""
|
||||
"Alguns dos produtos que você selecionou não estão mais disponíveis na "
|
||||
"quantidade selecionada. Por favor, veja abaixo para mais detalhes."
|
||||
"Alguns dos produtos que selecionou já não estão disponíveis na quantidade "
|
||||
"que selecionou. Os seguintes produtos foram afetados e não foram adicionados "
|
||||
"ao seu carrinho: %s"
|
||||
|
||||
#: pretix/base/services/cart.py:127
|
||||
#, fuzzy, python-format
|
||||
@@ -8476,15 +8405,12 @@ msgstr ""
|
||||
"do seu carrinho."
|
||||
|
||||
#: pretix/base/services/orders.py:202
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "You cannot delete the product <strong>%(item)s</strong> because it "
|
||||
#| "already has been ordered."
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot remove the position %(addon)s since it has already been checked "
|
||||
"in."
|
||||
msgstr ""
|
||||
"Não pode excluir o produto <strong>%(item)s</strong> porque já foi pedido."
|
||||
"Não é possível remover a posição %(addon)s uma vez que já foi feito check-in."
|
||||
|
||||
#: pretix/base/services/orders.py:203
|
||||
#, fuzzy
|
||||
@@ -10830,13 +10756,12 @@ msgstr ""
|
||||
"Olá,\n"
|
||||
"\n"
|
||||
"Ainda não recebemos o pagamento total para o seu pedido {event}.\n"
|
||||
"Tenha em mente que só garantimos o pedido se recebermos\n"
|
||||
"o seu pagamento antes de {expire_date}.\n"
|
||||
"Tenha em atenção que tem de pagar antes de {expire_date}.\n"
|
||||
"\n"
|
||||
"Pode visualizar as informações de pagamento e o estado do pedido em\n"
|
||||
"Pode ver as informações de pagamento e o estado da sua encomenda em\n"
|
||||
"{url}\n"
|
||||
"\n"
|
||||
"Cumprimentos,\n"
|
||||
"Com os melhores cumprimentos\n"
|
||||
"A sua equipa {event}"
|
||||
|
||||
#: pretix/base/settings.py:2409
|
||||
@@ -12145,21 +12070,16 @@ msgid "Your export failed."
|
||||
msgstr "Criar novo ficheiro de exportação"
|
||||
|
||||
#: pretix/base/templates/pretixbase/email/export_failed.txt:4
|
||||
#, fuzzy
|
||||
#| msgid "Refund reason"
|
||||
msgid "Reason:"
|
||||
msgstr "Motivo do reembolso"
|
||||
msgstr "Razão:"
|
||||
|
||||
#: pretix/base/templates/pretixbase/email/export_failed.txt:7
|
||||
msgid "If your export fails five times in a row, it will no longer be sent."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/templates/pretixbase/email/export_failed.txt:10
|
||||
#, fuzzy
|
||||
#| msgctxt "order state"
|
||||
#| msgid "Confirmation pending"
|
||||
msgid "Configuration link:"
|
||||
msgstr "Confirmação pendente"
|
||||
msgstr "Link de Configuração:"
|
||||
|
||||
#: pretix/base/templates/pretixbase/email/notification.html:55
|
||||
#: pretix/base/templates/pretixbase/email/notification.txt:14
|
||||
@@ -12398,11 +12318,9 @@ msgid "Next week"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/timeframes.py:148
|
||||
#, fuzzy
|
||||
#| msgid "Current:"
|
||||
msgctxt "reporting_timeframe"
|
||||
msgid "Current month"
|
||||
msgstr "Corrente:"
|
||||
msgstr "Mês Corrente"
|
||||
|
||||
#: pretix/base/timeframes.py:152 pretix/base/timeframes.py:161
|
||||
#: pretix/base/timeframes.py:170 pretix/base/timeframes.py:179
|
||||
@@ -12727,22 +12645,17 @@ msgid "Community translations"
|
||||
msgstr "Tradução não oficial"
|
||||
|
||||
#: pretix/control/forms/__init__.py:332
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "This translation is not maintained by the pretix team. We cannot vouch "
|
||||
#| "for its correctness and new or recently changed features might not be "
|
||||
#| "translated and will show in English instead. You can help translating at "
|
||||
#| "translate.pretix.eu."
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"These translations are not maintained by the pretix team. We cannot vouch "
|
||||
"for their correctness and new or recently changed features might not be "
|
||||
"translated and will show in English instead. You can <a "
|
||||
"href=\"{translate_url}\" target=\"_blank\">help translating</a>."
|
||||
msgstr ""
|
||||
"Esta tradução não é mantida pela equipa pretix. Não podemos atestar sua "
|
||||
"veracidade e recursos novos ou recentemente alterados podem não ser "
|
||||
"traduzido e vão aparecer em Inglês em alternativa. Pode ajudar a traduzir em "
|
||||
"translate.pretix.eu."
|
||||
"Esta tradução não é mantida pela equipa pretix. Não podemos garantir a sua "
|
||||
"exatidão e funcionalidades novas ou recentemente alteradas podem não ser "
|
||||
"traduzidas e vão aparecer em Inglês em alternativa. Pode <a href=\""
|
||||
"{translate_url}\" target=\"_blank\">ajudar na tradução </a>."
|
||||
|
||||
#: pretix/control/forms/__init__.py:343
|
||||
msgid "Development only"
|
||||
@@ -15189,21 +15102,7 @@ msgid "Your voucher for {event}"
|
||||
msgstr "Seu voucher para {event}"
|
||||
|
||||
#: pretix/control/forms/vouchers.py:278
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid ""
|
||||
#| "Hello,\n"
|
||||
#| "\n"
|
||||
#| "with this email, we're sending you one or more vouchers for {event}:\n"
|
||||
#| "\n"
|
||||
#| "{voucher_list}\n"
|
||||
#| "\n"
|
||||
#| "You can redeem them here in our ticket shop:\n"
|
||||
#| "\n"
|
||||
#| "{url}\n"
|
||||
#| "\n"
|
||||
#| "Best regards, \n"
|
||||
#| "\n"
|
||||
#| "Your {event} team"
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Hello,\n"
|
||||
"\n"
|
||||
@@ -15220,16 +15119,15 @@ msgid ""
|
||||
msgstr ""
|
||||
"Olá,\n"
|
||||
"\n"
|
||||
"com este e-mail, estamos enviando-lhe um ou mais vouchers para {event}:\n"
|
||||
"com este e-mail, estamos a enviar-lhe um ou mais vouchers para {event}:\n"
|
||||
"\n"
|
||||
"{voucher_list}\n"
|
||||
"\n"
|
||||
"Pode trocá-los aqui em nossa bilheteira:\n"
|
||||
"Pode trocá-los aqui na nossa bilheteira:\n"
|
||||
"\n"
|
||||
"{url}\n"
|
||||
"\n"
|
||||
"Cumprimentos,\n"
|
||||
"\n"
|
||||
"A sua equipa {event}"
|
||||
|
||||
#: pretix/control/forms/vouchers.py:284
|
||||
@@ -17979,10 +17877,8 @@ msgid "Valid check-in"
|
||||
msgstr "Todos os check-ins"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/simulator.html:68
|
||||
#, fuzzy
|
||||
#| msgid "Additional information"
|
||||
msgid "Additional information required"
|
||||
msgstr "Informação adicional"
|
||||
msgstr "Informação adicional necessária"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/simulator.html:70
|
||||
msgid ""
|
||||
@@ -19881,11 +19777,10 @@ msgid "Currently available: %(num)s"
|
||||
msgstr "Actualmente disponíveis: %(num)s"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/giftcards/checkout_confirm.html:4
|
||||
#, fuzzy, python-format
|
||||
#, python-format
|
||||
msgid "Your gift card %(card)s will be used to pay for this order."
|
||||
msgstr ""
|
||||
"O cartão-presente pode ser usado para comprar bilhetes para todos os eventos "
|
||||
"deste organizador."
|
||||
"O seu cartão presente %(card)s será utilizado para pagar esta encomenda."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/global_license.html:8
|
||||
msgid ""
|
||||
@@ -22073,10 +21968,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/bulk_action.html:71
|
||||
#, fuzzy
|
||||
#| msgid "You will not be able to continue."
|
||||
msgid "Do you want to continue?"
|
||||
msgstr "Você não poderá continuar."
|
||||
msgstr "Quer continuar?"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/bulk_action.html:77
|
||||
#, fuzzy
|
||||
@@ -22252,13 +22145,13 @@ msgstr "Apagar seleção"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/export_delete.html:9
|
||||
#: pretix/control/templates/pretixcontrol/organizers/export_delete.html:9
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "Are you sure you want to delete the quota <strong>%(quota)s</strong>?"
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Are you sure you want to delete the scheduled export <strong>%(export)s</"
|
||||
"strong>?"
|
||||
msgstr "Tem certeza de que deseja excluir a quota <strong>%(quota)s</strong>?"
|
||||
msgstr ""
|
||||
"Tem certeza de que deseja excluir a exportação agendada "
|
||||
"<strong>%(export)s</strong>?"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/export_form.html:26
|
||||
#: pretix/control/templates/pretixcontrol/organizers/export_form.html:27
|
||||
@@ -22297,10 +22190,9 @@ msgid "Repetition schedule"
|
||||
msgstr "Regra de repetição"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_export_schedule_form.html:46
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Repeat every %(interval)s %(freq)s, starting at %(start)s."
|
||||
#, python-format
|
||||
msgid "Repeat every %(interval)s %(freq)s"
|
||||
msgstr "Repetir a cada %(interval)s %(freq)s, a partir de %(start)s."
|
||||
msgstr "Repetir a cada %(interval)s %(freq)s"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_export_schedule_form.html:54
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk.html:89
|
||||
@@ -22354,10 +22246,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_export_schedule_form.html:111
|
||||
#, fuzzy
|
||||
#| msgid "Please confirm the following payment details."
|
||||
msgid "Please note the following limitations:"
|
||||
msgstr "Por favor, confirme os seguintes detalhes de pagamento."
|
||||
msgstr "Tenha em atenção as seguintes limitações:"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_export_schedule_form.html:114
|
||||
msgid ""
|
||||
@@ -25339,11 +25229,7 @@ msgid "Quota unlimited"
|
||||
msgstr "Nome da quota"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html:229
|
||||
#, fuzzy, python-format
|
||||
#| msgid ""
|
||||
#| "\n"
|
||||
#| " Waiting, product %(num)sx available\n"
|
||||
#| " "
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
" Waiting, product %(num)sx "
|
||||
@@ -25351,8 +25237,9 @@ msgid ""
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" Esperando, produto %(num)sx disponíveis\n"
|
||||
" "
|
||||
" Em espera, produto %(num)sx "
|
||||
"disponível\n"
|
||||
" "
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html:235
|
||||
msgid "Waiting, product unavailable"
|
||||
@@ -27069,10 +26956,8 @@ msgstr ""
|
||||
"verifique se a data e hora do seu telefone está configurado corretamente."
|
||||
|
||||
#: pretix/control/views/user.py:583
|
||||
#, fuzzy
|
||||
#| msgid "Do you really want to enable two-factor authentication?"
|
||||
msgid "You have left all teams that require two-factor authentication."
|
||||
msgstr "Deseja mesmo ativar a autenticação de dois fatores?"
|
||||
msgstr "Deixou todas as equipas que requerem autenticação de dois factores."
|
||||
|
||||
#: pretix/control/views/user.py:597
|
||||
msgid ""
|
||||
@@ -27727,10 +27612,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/banktransfer/payment.py:334
|
||||
#, fuzzy
|
||||
#| msgid "Invoice recipient:"
|
||||
msgid "Invoice recipient e-mail"
|
||||
msgstr "destinatário da factura:"
|
||||
msgstr "E-mail do destinatário da fatura"
|
||||
|
||||
#: pretix/plugins/banktransfer/payment.py:336
|
||||
msgid ""
|
||||
@@ -27891,16 +27774,12 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_confirm.html:36
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html:36
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "After completing your purchase, we will ask you to transfer the money to "
|
||||
#| "the following bank account, using a personal reference code:"
|
||||
msgid ""
|
||||
"After completing your purchase, we will ask you to transfer the money to our "
|
||||
"bank account, using a personal reference code."
|
||||
msgstr ""
|
||||
"Após a conclusão da sua compra, pediremos-lhe que transfira o dinheiro para "
|
||||
"a seguinte conta bancária, utilizando um código de referência pessoal:"
|
||||
"Após concluir a sua compra, iremos pedir-lhe para transferir o dinheiro para "
|
||||
"a nossa conta bancária, usando um código de referência pessoal."
|
||||
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_confirm.html:43
|
||||
#, python-format
|
||||
@@ -28132,10 +28011,8 @@ msgid ""
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html:132
|
||||
#, fuzzy
|
||||
#| msgid "Invoice recipient:"
|
||||
msgid "Invoice recipient email"
|
||||
msgstr "destinatário da factura:"
|
||||
msgstr "E-mail do destinatário da fatura"
|
||||
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html:139
|
||||
#, fuzzy
|
||||
@@ -28461,8 +28338,6 @@ msgstr "Lista de check-in (PDF)"
|
||||
#: pretix/plugins/checkinlists/exporters.py:461
|
||||
#: pretix/plugins/checkinlists/exporters.py:661
|
||||
#: pretix/plugins/checkinlists/exporters.py:731
|
||||
#, fuzzy
|
||||
#| msgid "Check-in"
|
||||
msgctxt "export_category"
|
||||
msgid "Check-in"
|
||||
msgstr "Check-in"
|
||||
@@ -31745,7 +31620,7 @@ msgstr ""
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/checkout_payment.html:12
|
||||
msgid "You already selected the following payment methods:"
|
||||
msgstr "Por favor, confirme os seguintes detalhes de pagamento."
|
||||
msgstr "Já seleccionou os seguintes métodos de pagamento:"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/checkout_payment.html:26
|
||||
msgid "Remove payment"
|
||||
@@ -31761,7 +31636,7 @@ msgstr "Por favor, selecione um método de pagamento."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/checkout_payment.html:52
|
||||
msgid "Please select how you want to pay the remaining balance:"
|
||||
msgstr "Por favor, selecione como deseja pagar."
|
||||
msgstr "Seleccione como pretende pagar o saldo remanescente:"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/checkout_payment.html:95
|
||||
msgid "This sales channel does not provide support for test mode."
|
||||
@@ -31964,10 +31839,9 @@ msgstr "Novo preço:"
|
||||
#: pretix/presale/templates/pretixpresale/event/voucher.html:176
|
||||
#: pretix/presale/templates/pretixpresale/event/voucher.html:328
|
||||
#: pretix/presale/templates/pretixpresale/event/voucher.html:330
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Modify price for %(item)s"
|
||||
#, python-format
|
||||
msgid "Modify price for %(item)s, at least %(price)s"
|
||||
msgstr "Modificar preço para %(item)s"
|
||||
msgstr "Modificar preço para %(item)s, pelo menos %(price)s"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_addon_choice.html:152
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_addon_choice.html:291
|
||||
@@ -32242,10 +32116,8 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:377
|
||||
#: pretix/presale/templates/pretixpresale/event/order_giftcard.html:20
|
||||
#: pretix/presale/templates/pretixpresale/event/position_giftcard.html:20
|
||||
#, fuzzy
|
||||
#| msgid "Current value"
|
||||
msgid "Current value:"
|
||||
msgstr "Valor atual"
|
||||
msgstr "Valor atual:"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:451
|
||||
#, python-format
|
||||
@@ -32332,10 +32204,9 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_change_confirm.html:56
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_change_confirm.html:81
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_change_confirm.html:106
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Add-On to position #%(posid)s"
|
||||
#, python-format
|
||||
msgid "Add-on product to position #%(positionid)s"
|
||||
msgstr "Add-On para a posição %(posid)s"
|
||||
msgstr "Add-On para a posição # %(positionid)s"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_change_confirm.html:40
|
||||
#, python-format
|
||||
@@ -32587,19 +32458,17 @@ msgstr "Mostrar imagem em tamanho original do %(item)s"
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:329
|
||||
#: pretix/presale/templates/pretixpresale/event/voucher.html:204
|
||||
#: pretix/presale/templates/pretixpresale/event/voucher.html:358
|
||||
#, fuzzy, python-format
|
||||
#| msgid "(incl. taxes)"
|
||||
#, python-format
|
||||
msgid "%(value)s incl. taxes"
|
||||
msgstr "(incl. impostos)"
|
||||
msgstr "%(value)s incl. impostos"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:183
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:335
|
||||
#: pretix/presale/templates/pretixpresale/event/voucher.html:210
|
||||
#: pretix/presale/templates/pretixpresale/event/voucher.html:364
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Total value (without taxes)"
|
||||
#, python-format
|
||||
msgid "%(value)s without taxes"
|
||||
msgstr "Valor total (sem impostos)"
|
||||
msgstr "%(value)s sem impostos"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:290
|
||||
#: pretix/presale/templates/pretixpresale/event/voucher.html:321
|
||||
@@ -32849,7 +32718,7 @@ msgstr "Obrigado!"
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:14
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:32
|
||||
msgid "Your order has been placed successfully. See below for details."
|
||||
msgstr "O seu pedido foi feito com sucesso. Vê abaixo os detalhes!"
|
||||
msgstr "A sua encomenda foi efectuada com sucesso. Veja abaixo os detalhes."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:16
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:48
|
||||
@@ -33211,10 +33080,9 @@ msgstr "Confirme as seguintes alterações em seu pedido."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/order_giftcard.html:10
|
||||
#: pretix/presale/templates/pretixpresale/event/position_giftcard.html:10
|
||||
#, fuzzy, python-format
|
||||
#| msgid "Gift card: %(card)s"
|
||||
#, python-format
|
||||
msgid "Gift card: %(code)s"
|
||||
msgstr "Cartão-presente: %(card)s"
|
||||
msgstr "Cartão-presente: %(code)s"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/order_modify.html:5
|
||||
msgid "Modify order"
|
||||
@@ -34008,10 +33876,8 @@ msgid "This feature is only available in test mode."
|
||||
msgstr "Este cartão-presente só pode ser usado em modo de teste."
|
||||
|
||||
#: pretix/presale/views/event.py:969
|
||||
#, fuzzy
|
||||
#| msgid "This account is disabled."
|
||||
msgid "Time machine disabled!"
|
||||
msgstr "Esta conta está desativada."
|
||||
msgstr "Máquina do tempo desactivada!"
|
||||
|
||||
#: pretix/presale/views/order.py:368 pretix/presale/views/order.py:433
|
||||
#: pretix/presale/views/order.py:514
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-08 13:19+0000\n"
|
||||
"PO-Revision-Date: 2022-11-16 16:12+0000\n"
|
||||
"PO-Revision-Date: 2024-06-08 18:00+0000\n"
|
||||
"Last-Translator: David Vaz <davidmgvaz@gmail.com>\n"
|
||||
"Language-Team: Portuguese (Portugal) <https://translate.pretix.eu/projects/"
|
||||
"pretix/pretix-js/pt_PT/>\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 4.14.1\n"
|
||||
"X-Generator: Weblate 5.5.5\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||
@@ -265,7 +265,7 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:51
|
||||
msgid "Additional information required"
|
||||
msgstr ""
|
||||
msgstr "Informação adicional necessária"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:52
|
||||
msgid "Valid ticket"
|
||||
|
||||
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2024-05-23 14:03+0000\n"
|
||||
"PO-Revision-Date: 2024-06-05 15:00+0000\n"
|
||||
"Last-Translator: Charlie Lundberg <charlieblundberg@gmail.com>\n"
|
||||
"Language-Team: Swedish <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||
"sv/>\n"
|
||||
@@ -4346,12 +4346,16 @@ msgid ""
|
||||
"You need to either set a minimum number of matching products or a minimum "
|
||||
"value."
|
||||
msgstr ""
|
||||
"Du kan antingen ställa in ett minsta antal matchande produkter eller ett "
|
||||
"lägsta värde, inte båda."
|
||||
|
||||
#: pretix/base/models/discount.py:206
|
||||
msgid ""
|
||||
"You cannot apply the discount only to some of the matched products if you "
|
||||
"are matching on a minimum value."
|
||||
msgstr ""
|
||||
"Du kan inte tillämpa rabatten endast på vissa av de matchade produkterna om "
|
||||
"du matchar på ett minimivärde."
|
||||
|
||||
#: pretix/base/models/discount.py:212
|
||||
msgid ""
|
||||
@@ -4608,7 +4612,7 @@ msgstr "Fullständigt namn"
|
||||
#: pretix/base/models/event.py:1690
|
||||
#: pretix/control/templates/pretixcontrol/organizers/properties.html:40
|
||||
msgid "Can be used for filtering"
|
||||
msgstr ""
|
||||
msgstr "Kan användas för filtrering"
|
||||
|
||||
#: pretix/base/models/event.py:1691
|
||||
msgid ""
|
||||
@@ -4616,6 +4620,9 @@ msgid ""
|
||||
"can also be used for hidden filter parameters in the frontend (e.g. using "
|
||||
"the widget)."
|
||||
msgstr ""
|
||||
"Det här fältet kommer att visas för att filtrera händelser eller rapporter i "
|
||||
"backend, och det kan också användas för dolda filterparametrar i frontend ("
|
||||
"t.ex. med hjälp av widgeten)."
|
||||
|
||||
#: pretix/base/models/event.py:1701
|
||||
msgid "A property can either be required or have a default value, not both."
|
||||
@@ -4630,7 +4637,7 @@ msgstr "Text (flera rader)"
|
||||
|
||||
#: pretix/base/models/event.py:1784 pretix/base/models/organizer.py:497
|
||||
msgid "Link URL"
|
||||
msgstr ""
|
||||
msgstr "Länk-URL"
|
||||
|
||||
#: pretix/base/models/exports.py:42 pretix/control/navigation.py:227
|
||||
#: pretix/control/navigation.py:636
|
||||
@@ -4677,7 +4684,7 @@ msgstr ""
|
||||
#: pretix/plugins/sendmail/forms.py:58 pretix/plugins/sendmail/forms.py:78
|
||||
#: pretix/plugins/sendmail/models.py:233
|
||||
msgid "Message"
|
||||
msgstr ""
|
||||
msgstr "Meddelande"
|
||||
|
||||
#: pretix/base/models/exports.py:85
|
||||
#, fuzzy
|
||||
@@ -4687,7 +4694,7 @@ msgstr "events start tid"
|
||||
|
||||
#: pretix/base/models/exports.py:86
|
||||
msgid "The actual start time might be delayed depending on system load."
|
||||
msgstr ""
|
||||
msgstr "Den faktiska starttiden kan vara försenad beroende på systembelastning."
|
||||
|
||||
#: pretix/base/models/fields.py:33
|
||||
msgid "No value can contain the delimiter character."
|
||||
@@ -4713,7 +4720,7 @@ msgstr "Speciella villkor"
|
||||
|
||||
#: pretix/base/models/giftcards.py:219 pretix/base/models/giftcards.py:223
|
||||
msgid "Manual transaction"
|
||||
msgstr ""
|
||||
msgstr "Manuell transaktion"
|
||||
|
||||
#: pretix/base/models/invoices.py:185
|
||||
#, python-format
|
||||
@@ -4796,7 +4803,7 @@ msgstr "Kund"
|
||||
|
||||
#: pretix/base/models/items.py:375
|
||||
msgid "Dynamic validity"
|
||||
msgstr ""
|
||||
msgstr "Dynamisk giltighet"
|
||||
|
||||
#: pretix/base/models/items.py:381 pretix/control/forms/item.py:605
|
||||
#: pretix/control/templates/pretixcontrol/subevents/fragment_unavail_mode_indicator.html:3
|
||||
@@ -4808,7 +4815,7 @@ msgstr "Denna produkt är just nu inte tillgänglig."
|
||||
#: pretix/base/models/items.py:382
|
||||
#: pretix/control/templates/pretixcontrol/subevents/fragment_unavail_mode_indicator.html:5
|
||||
msgid "Show info text if unavailable"
|
||||
msgstr ""
|
||||
msgstr "Visa infotext om den inte är tillgänglig"
|
||||
|
||||
#: pretix/base/models/items.py:389 pretix/base/models/items.py:703
|
||||
msgid "Don't use re-usable media, use regular one-off tickets"
|
||||
@@ -4816,15 +4823,15 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/items.py:390
|
||||
msgid "Require an existing medium to be re-used"
|
||||
msgstr ""
|
||||
msgstr "Kräv att ett befintligt medium återanvänds"
|
||||
|
||||
#: pretix/base/models/items.py:391
|
||||
msgid "Require a previously unknown medium to be newly added"
|
||||
msgstr ""
|
||||
msgstr "Kräv att ett tidigare okänt medium läggs till nyligen"
|
||||
|
||||
#: pretix/base/models/items.py:392
|
||||
msgid "Require either an existing or a new medium to be used"
|
||||
msgstr ""
|
||||
msgstr "Kräv att antingen ett befintligt eller ett nytt medium ska användas"
|
||||
|
||||
#: pretix/base/models/items.py:408 pretix/base/models/items.py:1363
|
||||
#: pretix/control/templates/pretixcontrol/items/index.html:40
|
||||
@@ -4878,6 +4885,9 @@ msgid ""
|
||||
"can choose a lower value, but not lower than the price this product would "
|
||||
"have without the free price option."
|
||||
msgstr ""
|
||||
"Detta pris kommer att användas som standardvärde för inmatningsfältet. "
|
||||
"Användaren kan välja ett lägre värde, men inte lägre än det pris som denna "
|
||||
"produkt skulle ha utan det fria prisalternativet."
|
||||
|
||||
#: pretix/base/models/items.py:459
|
||||
#, fuzzy
|
||||
@@ -5055,6 +5065,8 @@ msgid ""
|
||||
"This text will be shown by the check-in app if a ticket of this type is "
|
||||
"scanned."
|
||||
msgstr ""
|
||||
"Denna text kommer att visas av incheckningsappen om en biljett av denna typ "
|
||||
"skannas."
|
||||
|
||||
#: pretix/base/models/items.py:598 pretix/base/models/items.py:1083
|
||||
msgid ""
|
||||
@@ -5124,6 +5136,15 @@ msgid ""
|
||||
"change the settings here later, existing tickets will not be affected by the "
|
||||
"change but keep their current validity."
|
||||
msgstr ""
|
||||
"När du ställer in en vanlig händelse, eller en händelseserie med tidsluckor, "
|
||||
"behöver du vanligtvis INTE ändra detta värde. Standardinställningen innebär "
|
||||
"att giltighetstiden för biljetter inte bestäms av produkten, utan av "
|
||||
"evenemanget och incheckningskonfigurationen. Använd bara de andra "
|
||||
"alternativen om du behöver dem för att realisera t.ex. en bokning av en "
|
||||
"årsbiljett med ett dynamiskt startdatum. Observera att giltigheten kommer "
|
||||
"att lagras med biljetten, så om du ändrar inställningarna här senare kommer "
|
||||
"befintliga biljetter inte att påverkas av ändringen utan behålla sin "
|
||||
"nuvarande giltighet."
|
||||
|
||||
#: pretix/base/models/items.py:660 pretix/control/forms/item.py:668
|
||||
#, fuzzy
|
||||
@@ -5145,23 +5166,23 @@ msgstr "minuter"
|
||||
|
||||
#: pretix/base/models/items.py:668
|
||||
msgid "Hours"
|
||||
msgstr ""
|
||||
msgstr "Timmar"
|
||||
|
||||
#: pretix/base/models/items.py:672
|
||||
msgid "Days"
|
||||
msgstr ""
|
||||
msgstr "Dagar"
|
||||
|
||||
#: pretix/base/models/items.py:676
|
||||
msgid "Months"
|
||||
msgstr ""
|
||||
msgstr "Månader"
|
||||
|
||||
#: pretix/base/models/items.py:679
|
||||
msgid "Customers can select the validity start date"
|
||||
msgstr ""
|
||||
msgstr "Kunder kan välja startdatum för giltigheten"
|
||||
|
||||
#: pretix/base/models/items.py:680
|
||||
msgid "If not selected, the validity always starts at the time of purchase."
|
||||
msgstr ""
|
||||
msgstr "Om ej valt börjar giltigheten alltid vid köptillfället."
|
||||
|
||||
#: pretix/base/models/items.py:685
|
||||
#, fuzzy
|
||||
@@ -5171,11 +5192,11 @@ msgstr "Maximalt antal"
|
||||
|
||||
#: pretix/base/models/items.py:686
|
||||
msgid "The selected start date may only be this many days in the future."
|
||||
msgstr ""
|
||||
msgstr "Det valda startdatumet kan bara vara så här många dagar i framtiden."
|
||||
|
||||
#: pretix/base/models/items.py:692
|
||||
msgid "Reusable media policy"
|
||||
msgstr ""
|
||||
msgstr "Återanvändbar mediepolicy"
|
||||
|
||||
#: pretix/base/models/items.py:694
|
||||
msgid ""
|
||||
@@ -5186,6 +5207,12 @@ msgid ""
|
||||
"feature that also requires specific configuration of ticketing and printing "
|
||||
"settings."
|
||||
msgstr ""
|
||||
"Om denna produkt ska lagras på ett återanvändbart fysiskt medium kan du "
|
||||
"bifoga en policy för fysiskt media. Detta krävs inte för vanliga biljetter, "
|
||||
"som bara använder en engångs-streckkod, utan endast för produkter som "
|
||||
"förnybara säsongsbiljetter eller laddningsbara presentkort-armband. Detta är "
|
||||
"en avancerad funktion som också kräver specifik konfiguration av biljett- "
|
||||
"och utskriftsinställningar."
|
||||
|
||||
#: pretix/base/models/items.py:704
|
||||
msgid "Reusable media type"
|
||||
@@ -6712,7 +6739,7 @@ msgstr ""
|
||||
#: pretix/base/notifications.py:288
|
||||
#, python-brace-format
|
||||
msgid "Order {order.code} has been overpaid."
|
||||
msgstr ""
|
||||
msgstr "Order {order.code} har blivit överbetald."
|
||||
|
||||
#: pretix/base/notifications.py:294
|
||||
#, python-brace-format
|
||||
@@ -6721,36 +6748,39 @@ msgstr ""
|
||||
|
||||
#: pretix/base/notifications.py:299
|
||||
msgid "Refund requested"
|
||||
msgstr ""
|
||||
msgstr "Återbetalning begärd"
|
||||
|
||||
#: pretix/base/notifications.py:300
|
||||
#, python-brace-format
|
||||
msgid "You have been requested to issue a refund for {order.code}."
|
||||
msgstr ""
|
||||
msgstr "Du har blivit ombedd att utfärda en återbetalning för {order.code}."
|
||||
|
||||
#: pretix/base/payment.py:87
|
||||
msgctxt "payment"
|
||||
msgid "Apple Pay"
|
||||
msgstr ""
|
||||
msgstr "Apple Pay"
|
||||
|
||||
#: pretix/base/payment.py:88
|
||||
#, fuzzy
|
||||
msgctxt "payment"
|
||||
msgid "Google Pay"
|
||||
msgstr ""
|
||||
msgstr "Google Pay"
|
||||
|
||||
#: pretix/base/payment.py:257
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:115
|
||||
msgid "Pay now"
|
||||
msgstr ""
|
||||
msgstr "Betala nu"
|
||||
|
||||
#: pretix/base/payment.py:331
|
||||
msgid "Enable payment method"
|
||||
msgstr ""
|
||||
msgstr "Aktivera betalningsmetod"
|
||||
|
||||
#: pretix/base/payment.py:337
|
||||
msgid ""
|
||||
"Users will not be able to choose this payment provider after the given date."
|
||||
msgstr ""
|
||||
"Användare kommer inte att kunna välja denna betalningsleverantör efter det "
|
||||
"angivna datumet."
|
||||
|
||||
#: pretix/base/payment.py:343
|
||||
#, fuzzy
|
||||
@@ -6761,7 +6791,7 @@ msgstr "Den här produkten kommer inte säljas innan angivet datum."
|
||||
|
||||
#: pretix/base/payment.py:348
|
||||
msgid "Minimum order total"
|
||||
msgstr ""
|
||||
msgstr "Minsta ordersumma"
|
||||
|
||||
#: pretix/base/payment.py:349
|
||||
msgid ""
|
||||
@@ -6769,10 +6799,14 @@ msgid ""
|
||||
"exceeds the given value. The order total for this purpose may be computed "
|
||||
"without taking the fees imposed by this payment method into account."
|
||||
msgstr ""
|
||||
"Denna betalning kommer endast att vara tillgänglig om ordersumman är lika "
|
||||
"med eller överstiger det angivna värdet. Ordersumman för detta ändamål kan "
|
||||
"komma att beräknas utan att ta hänsyn till de avgifter som tas ut av denna "
|
||||
"betalningsmetod."
|
||||
|
||||
#: pretix/base/payment.py:359
|
||||
msgid "Maximum order total"
|
||||
msgstr ""
|
||||
msgstr "Maximal ordersumma"
|
||||
|
||||
#: pretix/base/payment.py:360
|
||||
msgid ""
|
||||
@@ -6780,22 +6814,26 @@ msgid ""
|
||||
"the given value. The order total for this purpose may be computed without "
|
||||
"taking the fees imposed by this payment method into account."
|
||||
msgstr ""
|
||||
"Denna betalning kommer endast att vara tillgänglig om ordersumman är lika "
|
||||
"med eller under det angivna värdet. Ordersumman för detta ändamål kan komma "
|
||||
"att beräknas utan att ta hänsyn till de avgifter som tas ut av denna "
|
||||
"betalningsmetod."
|
||||
|
||||
#: pretix/base/payment.py:370 pretix/base/payment.py:379
|
||||
msgid "Additional fee"
|
||||
msgstr ""
|
||||
msgstr "Extra avgift"
|
||||
|
||||
#: pretix/base/payment.py:371
|
||||
msgid "Absolute value"
|
||||
msgstr ""
|
||||
msgstr "Absolutvärde"
|
||||
|
||||
#: pretix/base/payment.py:380
|
||||
msgid "Percentage of the order total."
|
||||
msgstr ""
|
||||
msgstr "Andel av ordersumman."
|
||||
|
||||
#: pretix/base/payment.py:386
|
||||
msgid "Calculate the fee from the total value including the fee."
|
||||
msgstr ""
|
||||
msgstr "Beräkna avgiften från det totala värdet inklusive avgiften."
|
||||
|
||||
#: pretix/base/payment.py:387
|
||||
#, python-brace-format
|
||||
@@ -6805,10 +6843,14 @@ msgid ""
|
||||
"rel=\"noopener\">Click here for detailed information on what this does.</a> "
|
||||
"Don't forget to set the correct fees above!"
|
||||
msgstr ""
|
||||
"Vi rekommenderar att du aktiverar detta om du vill att dina användare ska "
|
||||
"betala betalningsavgifterna från din betalningsleverantör. <a href=\""
|
||||
"{docs_url}\" target=\"_blank\" rel=\"noopener\">Klicka här för detaljerad "
|
||||
"information om vad detta gör.</a> Glöm inte att ange rätt avgifter ovan!"
|
||||
|
||||
#: pretix/base/payment.py:395
|
||||
msgid "Text on invoices"
|
||||
msgstr ""
|
||||
msgstr "Text på fakturor"
|
||||
|
||||
#: pretix/base/payment.py:396
|
||||
msgid ""
|
||||
@@ -6817,10 +6859,14 @@ msgid ""
|
||||
"order is paid. If the invoice is generated later, it will show a text "
|
||||
"stating that it has already been paid."
|
||||
msgstr ""
|
||||
"Kommer att skrivas ut precis under betalningssiffrorna och ovanför "
|
||||
"sluttexten på fakturor. Detta kommer endast att användas om fakturan "
|
||||
"genereras innan beställningen betalas. Om fakturan genereras senare kommer "
|
||||
"den att visa en text om att den redan är betald."
|
||||
|
||||
#: pretix/base/payment.py:405
|
||||
msgid "Restrict to countries"
|
||||
msgstr ""
|
||||
msgstr "Begränsa till länder"
|
||||
|
||||
#: pretix/base/payment.py:407
|
||||
msgid ""
|
||||
@@ -6940,6 +6986,10 @@ msgid ""
|
||||
"It should instruct the user on how to proceed with the payment. You can use "
|
||||
"the placeholders {order}, {amount}, {currency} and {amount_with_currency}."
|
||||
msgstr ""
|
||||
"Denna text kommer att visas på orderbekräftelsesidan för väntande "
|
||||
"beställningar. Den bör instruera användaren om hur man går vidare med "
|
||||
"betalningen. Du kan använda platshållarna {order}, {amount}, {currency} och "
|
||||
"{amount_with_currency}."
|
||||
|
||||
#: pretix/base/payment.py:1209 pretix/plugins/banktransfer/payment.py:151
|
||||
msgid ""
|
||||
@@ -6949,16 +6999,16 @@ msgstr ""
|
||||
|
||||
#: pretix/base/payment.py:1260
|
||||
msgid "Offsetting"
|
||||
msgstr ""
|
||||
msgstr "Förskjutning"
|
||||
|
||||
#: pretix/base/payment.py:1274 pretix/control/views/orders.py:1244
|
||||
msgid "You entered an order that could not be found."
|
||||
msgstr ""
|
||||
msgstr "Du angav en beställning som inte kunde hittas."
|
||||
|
||||
#: pretix/base/payment.py:1303
|
||||
#, python-format
|
||||
msgid "Balanced against orders: %s"
|
||||
msgstr ""
|
||||
msgstr "Balanserat mot order: %s"
|
||||
|
||||
#: pretix/base/payment.py:1329
|
||||
#, fuzzy
|
||||
@@ -6968,27 +7018,27 @@ msgstr "Betalnings metod"
|
||||
|
||||
#: pretix/base/payment.py:1346
|
||||
msgid "In test mode, only test cards will work."
|
||||
msgstr ""
|
||||
msgstr "I testläge fungerar endast testkort."
|
||||
|
||||
#: pretix/base/payment.py:1428 pretix/base/payment.py:1479
|
||||
#: pretix/base/payment.py:1522
|
||||
msgid "You cannot pay with gift cards when buying a gift card."
|
||||
msgstr ""
|
||||
msgstr "Du kan inte betala med presentkort vid köp av presentkort."
|
||||
|
||||
#: pretix/base/payment.py:1437 pretix/base/payment.py:1487
|
||||
#: pretix/base/payment.py:1532 pretix/base/payment.py:1534
|
||||
msgid "This gift card does not support this currency."
|
||||
msgstr ""
|
||||
msgstr "Detta presentkort stöder inte denna valuta."
|
||||
|
||||
#: pretix/base/payment.py:1440 pretix/base/payment.py:1490
|
||||
#: pretix/base/payment.py:1540
|
||||
msgid "This gift card can only be used in test mode."
|
||||
msgstr ""
|
||||
msgstr "Detta presentkort kan endast användas i testläge."
|
||||
|
||||
#: pretix/base/payment.py:1443 pretix/base/payment.py:1493
|
||||
#: pretix/base/payment.py:1542
|
||||
msgid "Only test gift cards can be used in test mode."
|
||||
msgstr ""
|
||||
msgstr "Endast testpresentkort kan användas i testläge."
|
||||
|
||||
#: pretix/base/payment.py:1446 pretix/base/payment.py:1496
|
||||
#: pretix/base/payment.py:1544
|
||||
@@ -6999,31 +7049,35 @@ msgstr "Dina ändringar har sparats."
|
||||
|
||||
#: pretix/base/payment.py:1449 pretix/base/payment.py:1499
|
||||
msgid "All credit on this gift card has been used."
|
||||
msgstr ""
|
||||
msgstr "All kredit på detta presentkort har använts."
|
||||
|
||||
#: pretix/base/payment.py:1454
|
||||
msgid "This gift card is already used for your payment."
|
||||
msgstr ""
|
||||
msgstr "Detta presentkort används redan för din betalning."
|
||||
|
||||
#: pretix/base/payment.py:1469 pretix/base/payment.py:1512
|
||||
msgid ""
|
||||
"You entered a voucher instead of a gift card. Vouchers can only be entered "
|
||||
"on the first page of the shop below the product selection."
|
||||
msgstr ""
|
||||
"Du angav en kupong istället för ett presentkort. Kuponger kan endast anges "
|
||||
"på första sidan i butiken under produkturvalet."
|
||||
|
||||
#: pretix/base/payment.py:1472 pretix/base/payment.py:1515
|
||||
msgid "This gift card is not known."
|
||||
msgstr ""
|
||||
msgstr "Detta presentkort är inte känt."
|
||||
|
||||
#: pretix/base/payment.py:1474 pretix/base/payment.py:1517
|
||||
msgid ""
|
||||
"This gift card can not be redeemed since its code is not unique. Please "
|
||||
"contact the organizer of this event."
|
||||
msgstr ""
|
||||
"Detta presentkort kan inte lösas in eftersom dess kod inte är unik. Kontakta "
|
||||
"arrangören av detta evenemang."
|
||||
|
||||
#: pretix/base/payment.py:1536
|
||||
msgid "This gift card is not accepted by this event organizer."
|
||||
msgstr ""
|
||||
msgstr "Detta presentkort accepteras inte av denna arrangör."
|
||||
|
||||
#: pretix/base/payment.py:1538
|
||||
#, fuzzy
|
||||
@@ -7036,11 +7090,11 @@ msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py:96
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
msgstr "Biljettkod (streckkodsinnehåll)"
|
||||
|
||||
#: pretix/base/pdf.py:108
|
||||
msgid "Order position number"
|
||||
msgstr ""
|
||||
msgstr "Orderpositionsnummer"
|
||||
|
||||
#: pretix/base/pdf.py:116
|
||||
#, fuzzy
|
||||
@@ -7051,11 +7105,11 @@ msgstr "Beställningsrad"
|
||||
#: pretix/base/pdf.py:122 pretix/base/services/tickets.py:100
|
||||
#: pretix/control/views/event.py:795 pretix/control/views/pdf.py:94
|
||||
msgid "Sample product"
|
||||
msgstr ""
|
||||
msgstr "Exempelprodukt"
|
||||
|
||||
#: pretix/base/pdf.py:126
|
||||
msgid "Variation name"
|
||||
msgstr ""
|
||||
msgstr "Variationsnamn"
|
||||
|
||||
#: pretix/base/pdf.py:127
|
||||
msgid "Sample variation"
|
||||
@@ -7209,16 +7263,18 @@ msgstr ""
|
||||
#: pretix/base/pdf.py:253 pretix/base/pdf.py:279 pretix/base/pdf.py:388
|
||||
#: pretix/base/pdf.py:412 pretix/base/pdf.py:436 pretix/base/pdf.py:460
|
||||
#: pretix/base/pdf.py:517 pretix/base/pdf.py:522
|
||||
#, fuzzy
|
||||
msgid "2017-05-31"
|
||||
msgstr ""
|
||||
msgstr "2017-05-31"
|
||||
|
||||
#: pretix/base/pdf.py:260
|
||||
msgid "Event begin time"
|
||||
msgstr ""
|
||||
msgstr "Eventets starttid"
|
||||
|
||||
#: pretix/base/pdf.py:261
|
||||
#, fuzzy
|
||||
msgid "20:00"
|
||||
msgstr ""
|
||||
msgstr "20:00"
|
||||
|
||||
#: pretix/base/pdf.py:265
|
||||
#, fuzzy
|
||||
@@ -7229,19 +7285,20 @@ msgstr "Evenemangets slutdatum"
|
||||
#: pretix/base/pdf.py:266 pretix/base/pdf.py:295
|
||||
#: pretix/base/services/checkin.py:362 pretix/control/forms/filter.py:1160
|
||||
msgid "Friday"
|
||||
msgstr ""
|
||||
msgstr "Fredag"
|
||||
|
||||
#: pretix/base/pdf.py:270
|
||||
msgid "Event end date and time"
|
||||
msgstr ""
|
||||
msgstr "Eventets slutdatum och tid"
|
||||
|
||||
#: pretix/base/pdf.py:271
|
||||
msgid "2017-05-31 22:00"
|
||||
msgstr ""
|
||||
msgstr "2017-05-31 22:00"
|
||||
|
||||
#: pretix/base/pdf.py:287
|
||||
#, fuzzy
|
||||
msgid "22:00"
|
||||
msgstr ""
|
||||
msgstr "22:00"
|
||||
|
||||
#: pretix/base/pdf.py:294
|
||||
#, fuzzy
|
||||
@@ -7251,45 +7308,49 @@ msgstr "Evenemangets slutdatum"
|
||||
|
||||
#: pretix/base/pdf.py:299
|
||||
msgid "Event admission date and time"
|
||||
msgstr ""
|
||||
msgstr "Datum och tid för tillträde till evenemanget"
|
||||
|
||||
#: pretix/base/pdf.py:300 pretix/base/pdf.py:396 pretix/base/pdf.py:420
|
||||
#: pretix/base/pdf.py:444 pretix/base/pdf.py:468 pretix/base/pdf.py:511
|
||||
#, fuzzy
|
||||
msgid "2017-05-31 19:00"
|
||||
msgstr ""
|
||||
msgstr "2017-05-31 19:00"
|
||||
|
||||
#: pretix/base/pdf.py:307
|
||||
msgid "Event admission time"
|
||||
msgstr ""
|
||||
msgstr "Tillträdestid för evenemang"
|
||||
|
||||
#: pretix/base/pdf.py:308 pretix/base/pdf.py:404 pretix/base/pdf.py:428
|
||||
#: pretix/base/pdf.py:452 pretix/base/pdf.py:476
|
||||
#, fuzzy
|
||||
msgid "19:00"
|
||||
msgstr ""
|
||||
msgstr "19:00"
|
||||
|
||||
#: pretix/base/pdf.py:315
|
||||
msgid "Event location"
|
||||
msgstr ""
|
||||
msgstr "Eventplats"
|
||||
|
||||
#: pretix/base/pdf.py:316 pretix/base/settings.py:1118
|
||||
msgid "Random City"
|
||||
msgstr ""
|
||||
msgstr "Slumpmässig stad"
|
||||
|
||||
#: pretix/base/pdf.py:335
|
||||
msgid "Invoice address company"
|
||||
msgstr ""
|
||||
msgstr "Fakturaadress företag"
|
||||
|
||||
#: pretix/base/pdf.py:341
|
||||
#, fuzzy
|
||||
msgid "Sesame Street 42"
|
||||
msgstr ""
|
||||
msgstr "Sesame Street 42"
|
||||
|
||||
#: pretix/base/pdf.py:346
|
||||
#, fuzzy
|
||||
msgid "12345"
|
||||
msgstr ""
|
||||
msgstr "12345"
|
||||
|
||||
#: pretix/base/pdf.py:351 pretix/base/services/invoices.py:473
|
||||
msgid "Sample city"
|
||||
msgstr ""
|
||||
msgstr "Teststad"
|
||||
|
||||
#: pretix/base/pdf.py:355
|
||||
#, fuzzy
|
||||
@@ -7305,18 +7366,21 @@ msgid "Sample State"
|
||||
msgstr "Välj region"
|
||||
|
||||
#: pretix/base/pdf.py:361
|
||||
#, fuzzy
|
||||
msgid "Atlantis"
|
||||
msgstr ""
|
||||
msgstr "Atlantis"
|
||||
|
||||
#: pretix/base/pdf.py:365
|
||||
msgid "List of Add-Ons"
|
||||
msgstr ""
|
||||
msgstr "Lista över tillägg"
|
||||
|
||||
#: pretix/base/pdf.py:366
|
||||
msgid ""
|
||||
"Add-on 1\n"
|
||||
"2x Add-on 2"
|
||||
msgstr ""
|
||||
"Tillägg 1\n"
|
||||
"2x tillägg 2"
|
||||
|
||||
#: pretix/base/pdf.py:372 pretix/control/forms/filter.py:1301
|
||||
#: pretix/control/forms/filter.py:1303
|
||||
@@ -7506,7 +7570,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html:66
|
||||
#: pretix/plugins/ticketoutputpdf/ticketoutput.py:113
|
||||
msgid "Ticket"
|
||||
msgstr ""
|
||||
msgstr "Biljett"
|
||||
|
||||
#: pretix/base/pdf.py:1156
|
||||
#, fuzzy
|
||||
@@ -7528,45 +7592,47 @@ msgstr "Tillträde till evenemang"
|
||||
|
||||
#: pretix/base/reldate.py:38
|
||||
msgid "Presale start"
|
||||
msgstr ""
|
||||
msgstr "Förköpsperiod startar"
|
||||
|
||||
#: pretix/base/reldate.py:39
|
||||
msgid "Presale end"
|
||||
msgstr ""
|
||||
msgstr "Förköpsperiod slutar"
|
||||
|
||||
#: pretix/base/reldate.py:183
|
||||
msgid "before"
|
||||
msgstr ""
|
||||
msgstr "före"
|
||||
|
||||
#: pretix/base/reldate.py:184
|
||||
msgid "after"
|
||||
msgstr ""
|
||||
msgstr "efter"
|
||||
|
||||
#: pretix/base/reldate.py:231 pretix/base/reldate.py:359
|
||||
msgid "Fixed date:"
|
||||
msgstr ""
|
||||
msgstr "Fixerat datum:"
|
||||
|
||||
#: pretix/base/reldate.py:232 pretix/base/reldate.py:360
|
||||
msgid "Relative date:"
|
||||
msgstr ""
|
||||
msgstr "Relativt datum:"
|
||||
|
||||
#: pretix/base/reldate.py:233
|
||||
msgid "Relative time:"
|
||||
msgstr ""
|
||||
msgstr "Relativ tid:"
|
||||
|
||||
#: pretix/base/reldate.py:241 pretix/base/reldate.py:363
|
||||
msgid "Not set"
|
||||
msgstr ""
|
||||
msgstr "Inte inställt"
|
||||
|
||||
#: pretix/base/secrets.py:119
|
||||
msgid "Random (default, works with all pretix apps)"
|
||||
msgstr ""
|
||||
msgstr "Slumpmässig (standard, fungerar med alla pretix-appar)"
|
||||
|
||||
#: pretix/base/secrets.py:150
|
||||
msgid ""
|
||||
"pretix signature scheme 1 (for very large events, changes semantics of "
|
||||
"offline scanning – please refer to documentation or support for details)"
|
||||
msgstr ""
|
||||
"pretix signaturschema 1 (för mycket stora events, ändrar semantik för "
|
||||
"offline-skanning – se dokumentation eller support för detaljer)"
|
||||
|
||||
#: pretix/base/services/cancelevent.py:229
|
||||
#: pretix/base/services/cancelevent.py:287
|
||||
@@ -7687,24 +7753,28 @@ msgid ""
|
||||
"The booking period for this event has not yet started. The affected "
|
||||
"positions have been removed from your cart."
|
||||
msgstr ""
|
||||
"Bokningsperioden för detta evenemang har ännu inte börjat. De berörda "
|
||||
"produkterna har tagits bort från din kundvagn."
|
||||
|
||||
#: pretix/base/services/cart.py:152 pretix/base/services/orders.py:182
|
||||
msgid ""
|
||||
"The booking period for one of the events in your cart has ended. The "
|
||||
"affected positions have been removed from your cart."
|
||||
msgstr ""
|
||||
"Bokningsperioden för ett av evenemangen i din varukorg har gått ut. De "
|
||||
"berörda platserna har tagits bort från din kundvagn."
|
||||
|
||||
#: pretix/base/services/cart.py:154
|
||||
msgid "The entered price is not a number."
|
||||
msgstr ""
|
||||
msgstr "Det angivna priset är inte en siffra."
|
||||
|
||||
#: pretix/base/services/cart.py:155
|
||||
msgid "The entered price is to high."
|
||||
msgstr ""
|
||||
msgstr "Det angivna priset är för högt."
|
||||
|
||||
#: pretix/base/services/cart.py:156
|
||||
msgid "This voucher code is not known in our database."
|
||||
msgstr ""
|
||||
msgstr "Denna kupongkod är inte känd i vår databas."
|
||||
|
||||
#: pretix/base/services/cart.py:158 pretix/base/services/orders.py:157
|
||||
#, python-format
|
||||
@@ -7715,7 +7785,11 @@ msgid_plural ""
|
||||
"The voucher code \"%(voucher)s\" can only be used if you select at least "
|
||||
"%(number)s matching products."
|
||||
msgstr[0] ""
|
||||
"Verifikationskoden \"%(voucher)s\" kan endast användas om du väljer minst "
|
||||
"%(number)s matchande produkter."
|
||||
msgstr[1] ""
|
||||
"Verifikationskoderna \"%(voucher)s\" kan endast användas om du väljer minst "
|
||||
"%(number)s matchande produkter."
|
||||
|
||||
#: pretix/base/services/cart.py:163
|
||||
#, python-format
|
||||
@@ -7728,12 +7802,18 @@ msgid_plural ""
|
||||
"%(number)s matching products. We have therefore removed some positions from "
|
||||
"your cart that can no longer be purchased like this."
|
||||
msgstr[0] ""
|
||||
"Verifikationskoden \"%(voucher)s\" kan endast användas om du väljer minst "
|
||||
"%(number)s matchande produkter. Vi har därför tagit bort några positioner "
|
||||
"från din varukorg som inte längre går att köpa så här."
|
||||
msgstr[1] ""
|
||||
"Verifikationskoderna \"%(voucher)s\" kan endast användas om du väljer minst "
|
||||
"%(number)s matchande produkter. Vi har därför tagit bort några positioner "
|
||||
"från din varukorg som inte längre går att köpa så här."
|
||||
|
||||
#: pretix/base/services/cart.py:169
|
||||
msgid ""
|
||||
"This voucher code has already been used the maximum number of times allowed."
|
||||
msgstr ""
|
||||
msgstr "Denna kupongkod har redan använts det maximala antalet tillåtna gånger."
|
||||
|
||||
#: pretix/base/services/cart.py:171
|
||||
#, python-format
|
||||
@@ -7743,6 +7823,10 @@ msgid ""
|
||||
"or that you tried to redeem it before but did not complete the checkout "
|
||||
"process. You can try to use it again in %d minutes."
|
||||
msgstr ""
|
||||
"Denna kupongkod är för närvarande låst eftersom den redan finns i en "
|
||||
"kundvagn. Det kan betyda att någon annan löser in den här kupongen just nu, "
|
||||
"eller att du försökte lösa in den tidigare men inte slutförde "
|
||||
"utcheckningsprocessen. Du kan försöka använda den igen om %d minuter."
|
||||
|
||||
#: pretix/base/services/cart.py:176
|
||||
#, python-format
|
||||
@@ -7798,15 +7882,15 @@ msgstr ""
|
||||
#: pretix/base/services/cart.py:194
|
||||
msgctxt "subevent"
|
||||
msgid "The selected event date is not active."
|
||||
msgstr ""
|
||||
msgstr "Det valda händelsedatumet är inte aktivt."
|
||||
|
||||
#: pretix/base/services/cart.py:195 pretix/base/services/orders.py:189
|
||||
msgid "You can not select an add-on for the selected product."
|
||||
msgstr ""
|
||||
msgstr "Du kan inte välja ett tillägg för den valda produkten."
|
||||
|
||||
#: pretix/base/services/cart.py:196 pretix/base/services/orders.py:190
|
||||
msgid "You can not select two variations of the same add-on product."
|
||||
msgstr ""
|
||||
msgstr "Du kan inte välja två varianter av samma tilläggsprodukt."
|
||||
|
||||
#: pretix/base/services/cart.py:198 pretix/base/services/orders.py:192
|
||||
#, python-format
|
||||
@@ -7817,7 +7901,11 @@ msgid_plural ""
|
||||
"You can select at most %(max)s add-ons from the category %(cat)s for the "
|
||||
"product %(base)s."
|
||||
msgstr[0] ""
|
||||
"Du kan välja högst %(max)s tillägg från kategorin %(cat)s för produkten "
|
||||
"%(base)s."
|
||||
msgstr[1] ""
|
||||
"Du kan välja högst %(max)s tillägg från kategorin %(cat)s för produkterna "
|
||||
"%(base)s."
|
||||
|
||||
#: pretix/base/services/cart.py:203 pretix/base/services/orders.py:197
|
||||
#, fuzzy, python-format
|
||||
@@ -7853,15 +7941,15 @@ msgstr ""
|
||||
|
||||
#: pretix/base/services/cart.py:209
|
||||
msgid "One of the products you selected can only be bought part of a bundle."
|
||||
msgstr ""
|
||||
msgstr "En av de produkter du valt kan endast köpas som en del av ett paket."
|
||||
|
||||
#: pretix/base/services/cart.py:211
|
||||
msgid "Please select a valid seat."
|
||||
msgstr ""
|
||||
msgstr "Välj en giltig plats."
|
||||
|
||||
#: pretix/base/services/cart.py:212
|
||||
msgid "You can not select a seat for this position."
|
||||
msgstr ""
|
||||
msgstr "Du kan inte välja en plats för denna plats."
|
||||
|
||||
#: pretix/base/services/cart.py:214
|
||||
msgid "You can not select the same seat multiple times."
|
||||
@@ -7912,7 +8000,7 @@ msgstr "Försäljningen har inte påbörjats"
|
||||
|
||||
#: pretix/base/services/checkin.py:289
|
||||
msgid "Wrong entrance gate"
|
||||
msgstr ""
|
||||
msgstr "Fel ingång/entre"
|
||||
|
||||
#: pretix/base/services/checkin.py:313
|
||||
#, fuzzy
|
||||
|
||||
@@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-24 08:47+0000\n"
|
||||
"PO-Revision-Date: 2022-04-25 16:10+0000\n"
|
||||
"Last-Translator: fsnaix <truonggiangsn@gmail.com>\n"
|
||||
"PO-Revision-Date: 2024-06-01 01:00+0000\n"
|
||||
"Last-Translator: Luan Thien <vanthienluan@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <https://translate.pretix.eu/projects/pretix/"
|
||||
"pretix/vi/>\n"
|
||||
"Language: vi\n"
|
||||
@@ -17,111 +17,111 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 4.11.2\n"
|
||||
"X-Generator: Weblate 5.5.5\n"
|
||||
|
||||
#: pretix/_base_settings.py:78
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Anh"
|
||||
|
||||
#: pretix/_base_settings.py:79
|
||||
msgid "German"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Đức"
|
||||
|
||||
#: pretix/_base_settings.py:80
|
||||
msgid "German (informal)"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Đức (thân mật)"
|
||||
|
||||
#: pretix/_base_settings.py:81
|
||||
msgid "Arabic"
|
||||
msgstr ""
|
||||
msgstr "Tiếng A-rập"
|
||||
|
||||
#: pretix/_base_settings.py:82
|
||||
msgid "Chinese (simplified)"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Trung (giản thể)"
|
||||
|
||||
#: pretix/_base_settings.py:83
|
||||
msgid "Chinese (traditional)"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Trung Quốc (phồn thể)"
|
||||
|
||||
#: pretix/_base_settings.py:84
|
||||
msgid "Czech"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Séc"
|
||||
|
||||
#: pretix/_base_settings.py:85
|
||||
msgid "Danish"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Đan Mạch"
|
||||
|
||||
#: pretix/_base_settings.py:86
|
||||
msgid "Dutch"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Hà Lan"
|
||||
|
||||
#: pretix/_base_settings.py:87
|
||||
msgid "Dutch (informal)"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Hà Lan (thân mật)"
|
||||
|
||||
#: pretix/_base_settings.py:88
|
||||
msgid "French"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Pháp"
|
||||
|
||||
#: pretix/_base_settings.py:89
|
||||
msgid "Finnish"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Phần Lan"
|
||||
|
||||
#: pretix/_base_settings.py:90
|
||||
msgid "Galician"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Galician"
|
||||
|
||||
#: pretix/_base_settings.py:91
|
||||
msgid "Greek"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Hy Lạp"
|
||||
|
||||
#: pretix/_base_settings.py:92
|
||||
msgid "Indonesian"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Indonesia"
|
||||
|
||||
#: pretix/_base_settings.py:93
|
||||
msgid "Italian"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Ý"
|
||||
|
||||
#: pretix/_base_settings.py:94
|
||||
msgid "Latvian"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Latvia"
|
||||
|
||||
#: pretix/_base_settings.py:95
|
||||
msgid "Norwegian Bokmål"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Na Uy"
|
||||
|
||||
#: pretix/_base_settings.py:96
|
||||
msgid "Polish"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Ba Lan"
|
||||
|
||||
#: pretix/_base_settings.py:97
|
||||
msgid "Portuguese (Portugal)"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Bồ Đào Nha"
|
||||
|
||||
#: pretix/_base_settings.py:98
|
||||
msgid "Portuguese (Brazil)"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Bồ Đào Nha (Brazil)"
|
||||
|
||||
#: pretix/_base_settings.py:99
|
||||
msgid "Romanian"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Ru-ma-ni"
|
||||
|
||||
#: pretix/_base_settings.py:100
|
||||
msgid "Russian"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Nga"
|
||||
|
||||
#: pretix/_base_settings.py:101
|
||||
msgid "Spanish"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Tây Ban Nha"
|
||||
|
||||
#: pretix/_base_settings.py:102
|
||||
msgid "Turkish"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Thổ Nhĩ Kỳ"
|
||||
|
||||
#: pretix/_base_settings.py:103
|
||||
msgid "Ukrainian"
|
||||
msgstr ""
|
||||
msgstr "Tiếng Ukrainian"
|
||||
|
||||
#: pretix/api/auth/devicesecurity.py:31
|
||||
msgid ""
|
||||
@@ -203,7 +203,7 @@ msgstr "Giới hạn cho sự kiện"
|
||||
#: pretix/plugins/banktransfer/refund_export.py:46
|
||||
#: pretix/plugins/checkinlists/exporters.py:509
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
msgstr "Bình luận"
|
||||
|
||||
#: pretix/api/serializers/cart.py:168 pretix/api/serializers/order.py:1349
|
||||
msgid "The product \"{}\" is not assigned to a quota."
|
||||
@@ -212,7 +212,7 @@ msgstr "Mặt hàng \"{}\" chưa được chỉ định số hàng tồn."
|
||||
#: pretix/api/serializers/checkin.py:66 pretix/base/models/event.py:1622
|
||||
#: pretix/base/models/items.py:1822 pretix/base/models/items.py:2080
|
||||
msgid "One or more items do not belong to this event."
|
||||
msgstr ""
|
||||
msgstr "Một hoặc một vài mục không thuộc sự kiện này."
|
||||
|
||||
#: pretix/api/serializers/checkin.py:70 pretix/api/serializers/checkin.py:73
|
||||
#: pretix/base/models/items.py:2091 pretix/base/models/items.py:2094
|
||||
@@ -233,23 +233,23 @@ msgstr ""
|
||||
#: pretix/api/serializers/event.py:232 pretix/api/serializers/event.py:531
|
||||
#, python-brace-format
|
||||
msgid "Meta data property '{name}' does not exist."
|
||||
msgstr ""
|
||||
msgstr "Thuộc tính '{name}' không tồn tại."
|
||||
|
||||
#: pretix/api/serializers/event.py:235 pretix/api/serializers/event.py:534
|
||||
#, python-brace-format
|
||||
msgid "Meta data property '{name}' does not allow value '{value}'."
|
||||
msgstr ""
|
||||
msgstr "Thuộc tính '{name}' không chấp nhận giá trị '{value}'"
|
||||
|
||||
#: pretix/api/serializers/event.py:278
|
||||
#, python-brace-format
|
||||
msgid "Unknown plugin: '{name}'."
|
||||
msgstr ""
|
||||
msgstr "Không có plugin: '{name}'."
|
||||
|
||||
#: pretix/api/serializers/item.py:75 pretix/api/serializers/item.py:125
|
||||
#: pretix/api/serializers/item.py:327
|
||||
#, python-brace-format
|
||||
msgid "Item meta data property '{name}' does not exist."
|
||||
msgstr ""
|
||||
msgstr "Không tồn tại mục chứa thuộc tính '{name}'."
|
||||
|
||||
#: pretix/api/serializers/item.py:184 pretix/control/forms/item.py:1207
|
||||
msgid "The bundled item must not be the same item as the bundling one."
|
||||
@@ -407,7 +407,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/event/mail.html:114
|
||||
#: pretix/control/views/orders.py:1549
|
||||
msgid "Order canceled"
|
||||
msgstr ""
|
||||
msgstr "Đã huỷ đơn hàng"
|
||||
|
||||
#: pretix/api/webhooks.py:242 pretix/base/notifications.py:257
|
||||
msgid "Order reactivated"
|
||||
@@ -969,7 +969,7 @@ msgstr ""
|
||||
#: pretix/plugins/checkinlists/exporters.py:806
|
||||
#: pretix/plugins/checkinlists/exporters.py:807
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
msgstr "Có"
|
||||
|
||||
#: pretix/base/exporters/customers.py:100
|
||||
#: pretix/base/exporters/customers.py:101 pretix/base/exporters/events.py:83
|
||||
@@ -992,7 +992,7 @@ msgstr ""
|
||||
#: pretix/plugins/checkinlists/exporters.py:806
|
||||
#: pretix/plugins/checkinlists/exporters.py:807
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
msgstr "Không"
|
||||
|
||||
#: pretix/base/exporters/dekodi.py:42 pretix/base/exporters/invoices.py:66
|
||||
msgctxt "export_category"
|
||||
@@ -2081,7 +2081,7 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:11
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html:45
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
msgstr "Sản phẩm"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:578
|
||||
#: pretix/base/exporters/orderlist.py:583 pretix/base/forms/questions.py:655
|
||||
@@ -2433,7 +2433,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/event/cancel.html:20
|
||||
#: pretix/control/views/item.py:949
|
||||
msgid "Paid orders"
|
||||
msgstr ""
|
||||
msgstr "Đơn hàng đã thanh toán"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:1106 pretix/control/views/item.py:954
|
||||
msgid "Pending orders"
|
||||
@@ -2590,7 +2590,7 @@ msgstr ""
|
||||
#: pretix/plugins/reports/accountingreport.py:104
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/rule_list.html:67
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "Tất cả"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:1278 pretix/control/forms/filter.py:1343
|
||||
msgid "Live"
|
||||
@@ -3310,7 +3310,7 @@ msgstr ""
|
||||
#: pretix/base/modelimport_vouchers.py:205 pretix/base/models/items.py:1163
|
||||
#: pretix/base/models/vouchers.py:263 pretix/base/models/waitinglist.py:99
|
||||
msgid "Product variation"
|
||||
msgstr ""
|
||||
msgstr "Biến thể sản phẩm"
|
||||
|
||||
#: pretix/base/modelimport_orders.py:160
|
||||
#: pretix/base/modelimport_vouchers.py:225
|
||||
@@ -3693,19 +3693,19 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/checkin.py:341
|
||||
msgid "Entry"
|
||||
msgstr ""
|
||||
msgstr "Vào"
|
||||
|
||||
#: pretix/base/models/checkin.py:342
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
msgstr "Ra"
|
||||
|
||||
#: pretix/base/models/checkin.py:360
|
||||
msgid "Unknown ticket"
|
||||
msgstr ""
|
||||
msgstr "Không nhận ra vé"
|
||||
|
||||
#: pretix/base/models/checkin.py:361
|
||||
msgid "Ticket not paid"
|
||||
msgstr ""
|
||||
msgstr "Vé chưa thanh toán"
|
||||
|
||||
#: pretix/base/models/checkin.py:362
|
||||
msgid "Forbidden by custom rule"
|
||||
@@ -3713,23 +3713,23 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/checkin.py:363
|
||||
msgid "Ticket code revoked/changed"
|
||||
msgstr ""
|
||||
msgstr "Mã vé đã bị thu hồi / thay đổi"
|
||||
|
||||
#: pretix/base/models/checkin.py:364
|
||||
msgid "Information required"
|
||||
msgstr ""
|
||||
msgstr "Thông tin được yêu cầu"
|
||||
|
||||
#: pretix/base/models/checkin.py:365
|
||||
msgid "Ticket already used"
|
||||
msgstr ""
|
||||
msgstr "Vé đã được sử dụng"
|
||||
|
||||
#: pretix/base/models/checkin.py:366
|
||||
msgid "Ticket type not allowed here"
|
||||
msgstr ""
|
||||
msgstr "Loại vé không được chấp nhập ở đây"
|
||||
|
||||
#: pretix/base/models/checkin.py:367
|
||||
msgid "Ticket code is ambiguous on list"
|
||||
msgstr ""
|
||||
msgstr "Mã vé không rõ ràng trong danh sách"
|
||||
|
||||
#: pretix/base/models/checkin.py:368
|
||||
msgid "Server error"
|
||||
@@ -3737,15 +3737,15 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/checkin.py:369
|
||||
msgid "Ticket blocked"
|
||||
msgstr ""
|
||||
msgstr "Vé đã bị khoá"
|
||||
|
||||
#: pretix/base/models/checkin.py:370
|
||||
msgid "Order not approved"
|
||||
msgstr ""
|
||||
msgstr "Đơn hàng không được chấp nhận"
|
||||
|
||||
#: pretix/base/models/checkin.py:371
|
||||
msgid "Ticket not valid at this time"
|
||||
msgstr ""
|
||||
msgstr "Vé không hợp lệ tại thời điểm này"
|
||||
|
||||
#: pretix/base/models/customers.py:55
|
||||
msgid "Provider name"
|
||||
@@ -3844,7 +3844,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/gates.html:16
|
||||
#: pretix/plugins/checkinlists/exporters.py:754
|
||||
msgid "Gate"
|
||||
msgstr ""
|
||||
msgstr "Cổng"
|
||||
|
||||
#: pretix/base/models/devices.py:132
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html:83
|
||||
@@ -5225,7 +5225,7 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html:30
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html:78
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
msgstr "Đã huỷ"
|
||||
|
||||
#: pretix/base/models/memberships.py:134
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html:115
|
||||
@@ -5742,7 +5742,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py:201 pretix/control/views/vouchers.py:119
|
||||
msgid "Redeemed"
|
||||
msgstr ""
|
||||
msgstr "Đã đổi"
|
||||
|
||||
#: pretix/base/models/vouchers.py:206
|
||||
msgid ""
|
||||
@@ -6758,15 +6758,15 @@ msgstr ""
|
||||
|
||||
#: pretix/base/reldate.py:35
|
||||
msgid "Event start"
|
||||
msgstr ""
|
||||
msgstr "Sự kiện bắt đầu"
|
||||
|
||||
#: pretix/base/reldate.py:36
|
||||
msgid "Event end"
|
||||
msgstr ""
|
||||
msgstr "Sự kiện kết thúc"
|
||||
|
||||
#: pretix/base/reldate.py:37
|
||||
msgid "Event admission"
|
||||
msgstr ""
|
||||
msgstr "Ghi danh sự kiện"
|
||||
|
||||
#: pretix/base/reldate.py:38
|
||||
msgid "Presale start"
|
||||
@@ -10554,7 +10554,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk.html:355
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk.html:364
|
||||
msgid "minutes"
|
||||
msgstr ""
|
||||
msgstr "phút"
|
||||
|
||||
#: pretix/base/templates/pretixbase/forms/widgets/reldatetime.html:23
|
||||
msgid "at"
|
||||
@@ -11785,7 +11785,7 @@ msgstr ""
|
||||
#: pretix/control/forms/filter.py:1953 pretix/control/forms/filter.py:1955
|
||||
#: pretix/control/forms/filter.py:2523 pretix/control/forms/filter.py:2525
|
||||
msgid "Search query"
|
||||
msgstr ""
|
||||
msgstr "Truy vấn tìm kiếm"
|
||||
|
||||
#: pretix/control/forms/filter.py:1423 pretix/control/forms/filter.py:1496
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html:45
|
||||
@@ -11906,7 +11906,7 @@ msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py:2019
|
||||
msgid "Valid"
|
||||
msgstr ""
|
||||
msgstr "Hợp lệ"
|
||||
|
||||
#: pretix/control/forms/filter.py:2020
|
||||
msgid "Unredeemed"
|
||||
@@ -14831,7 +14831,7 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/event/order_pay_change.html:67
|
||||
#: pretix/presale/templates/pretixpresale/event/position_change.html:29
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
msgstr "Tiếp tục"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/auth/oauth_authorization.html:8
|
||||
msgid "Authorize an application"
|
||||
@@ -15292,7 +15292,7 @@ msgstr[0] ""
|
||||
#: pretix/presale/templates/pretixpresale/event/position_change.html:24
|
||||
#: pretix/presale/templates/pretixpresale/event/position_modify.html:44
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Huỷ"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/bulk_revert_confirm.html:27
|
||||
#: pretix/control/templates/pretixcontrol/checkin/list_delete.html:24
|
||||
@@ -15401,7 +15401,7 @@ msgstr ""
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/transaction_list.html:14
|
||||
#: pretix/plugins/checkinlists/exporters.py:755
|
||||
msgid "Result"
|
||||
msgstr ""
|
||||
msgstr "Kết quả"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html:78
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html:391
|
||||
@@ -15697,7 +15697,7 @@ msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/simulator.html:68
|
||||
msgid "Additional information required"
|
||||
msgstr ""
|
||||
msgstr "Yêu cầu thông tin bổ sung"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/simulator.html:70
|
||||
msgid ""
|
||||
@@ -18866,7 +18866,7 @@ msgstr ""
|
||||
#: pretix/plugins/reports/exporters.py:957
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:449
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Tổng cộng"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html:712
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:209
|
||||
@@ -24712,7 +24712,7 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/transaction_list.html:80
|
||||
msgid "Comment:"
|
||||
msgstr ""
|
||||
msgstr "Bình luận:"
|
||||
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/transaction_list.html:98
|
||||
msgid "No order code detected"
|
||||
@@ -24979,7 +24979,7 @@ msgstr ""
|
||||
#: pretix/plugins/paypal2/payment.py:136 pretix/plugins/paypal2/payment.py:1063
|
||||
#: pretix/plugins/paypal2/payment.py:1064 pretix/plugins/stripe/payment.py:1915
|
||||
msgid "PayPal"
|
||||
msgstr ""
|
||||
msgstr "PayPal"
|
||||
|
||||
#: pretix/plugins/paypal/apps.py:53
|
||||
msgid ""
|
||||
@@ -26430,7 +26430,7 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:339 pretix/plugins/stripe/payment.py:1591
|
||||
msgid "giropay"
|
||||
msgstr ""
|
||||
msgstr "giropay"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:341 pretix/plugins/stripe/payment.py:349
|
||||
#: pretix/plugins/stripe/payment.py:357 pretix/plugins/stripe/payment.py:365
|
||||
@@ -26445,7 +26445,7 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:347 pretix/plugins/stripe/payment.py:1627
|
||||
msgid "iDEAL"
|
||||
msgstr ""
|
||||
msgstr "iDEAL"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:355 pretix/plugins/stripe/payment.py:1652
|
||||
msgid "Alipay"
|
||||
@@ -26453,11 +26453,11 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:363 pretix/plugins/stripe/payment.py:1664
|
||||
msgid "Bancontact"
|
||||
msgstr ""
|
||||
msgstr "Bancontact"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:371
|
||||
msgid "SEPA Direct Debit"
|
||||
msgstr ""
|
||||
msgstr "Ghi nợ trực tiếp SEPA"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:374
|
||||
msgid ""
|
||||
@@ -26485,7 +26485,7 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:398
|
||||
msgid "SOFORT"
|
||||
msgstr ""
|
||||
msgstr "SOFORT"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:401
|
||||
msgid ""
|
||||
@@ -27114,7 +27114,7 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/ticketoutputpdf/templates/pretixplugins/ticketoutputpdf/edit.html:23
|
||||
msgid "Ticket design"
|
||||
msgstr ""
|
||||
msgstr "Thiết kế vé"
|
||||
|
||||
#: pretix/plugins/ticketoutputpdf/templates/pretixplugins/ticketoutputpdf/edit.html:27
|
||||
msgid "You can modify the design after you saved this page."
|
||||
@@ -29650,7 +29650,7 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/postmessage.html:21
|
||||
#: pretix/presale/templates/pretixpresale/waiting.html:22
|
||||
msgid "We are processing your request …"
|
||||
msgstr ""
|
||||
msgstr "Chúng tôi đang xử lý yêu cầu …"
|
||||
|
||||
#: pretix/presale/utils.py:256 pretix/presale/utils.py:389
|
||||
#: pretix/presale/utils.py:390
|
||||
@@ -29956,4 +29956,4 @@ msgstr ""
|
||||
|
||||
#: pretix/settings.py:748
|
||||
msgid "Kosovo"
|
||||
msgstr ""
|
||||
msgstr "Kosovo"
|
||||
|
||||
@@ -3,83 +3,84 @@
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-08 13:19+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"Language: \n"
|
||||
"PO-Revision-Date: 2024-05-30 17:00+0000\n"
|
||||
"Last-Translator: Luan Thien <vanthienluan@gmail.com>\n"
|
||||
"Language-Team: Vietnamese <https://translate.pretix.eu/projects/pretix/"
|
||||
"pretix-js/vi/>\n"
|
||||
"Language: vi\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.5.5\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:68
|
||||
msgid "Marked as paid"
|
||||
msgstr ""
|
||||
msgstr "Chuyển thành Đã thanh toán"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:76
|
||||
msgid "Comment:"
|
||||
msgstr ""
|
||||
msgstr "Bình luận:"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:34
|
||||
msgid "PayPal"
|
||||
msgstr ""
|
||||
msgstr "PayPal"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:35
|
||||
msgid "Venmo"
|
||||
msgstr ""
|
||||
msgstr "Venmo"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:36
|
||||
#: pretix/static/pretixpresale/js/walletdetection.js:38
|
||||
msgid "Apple Pay"
|
||||
msgstr ""
|
||||
msgstr "Apple Pay"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:37
|
||||
msgid "Itaú"
|
||||
msgstr ""
|
||||
msgstr "Itaú"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:38
|
||||
msgid "PayPal Credit"
|
||||
msgstr ""
|
||||
msgstr "Tín dụng PayPal"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:39
|
||||
msgid "Credit Card"
|
||||
msgstr ""
|
||||
msgstr "Thẻ tín dụng"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:40
|
||||
msgid "PayPal Pay Later"
|
||||
msgstr ""
|
||||
msgstr "PayPal Pay Later"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:41
|
||||
msgid "iDEAL"
|
||||
msgstr ""
|
||||
msgstr "iDEAL"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:42
|
||||
msgid "SEPA Direct Debit"
|
||||
msgstr ""
|
||||
msgstr "Ghi nợ trực tiếp SEPA"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:43
|
||||
msgid "Bancontact"
|
||||
msgstr ""
|
||||
msgstr "Bancontact"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:44
|
||||
msgid "giropay"
|
||||
msgstr ""
|
||||
msgstr "giropay"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:45
|
||||
msgid "SOFORT"
|
||||
msgstr ""
|
||||
msgstr "SOFORT"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:46
|
||||
msgid "eps"
|
||||
msgstr ""
|
||||
msgstr "eps"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:47
|
||||
msgid "MyBank"
|
||||
@@ -132,7 +133,7 @@ msgstr ""
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:167
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:48
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
msgstr "Tiếp tục"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:225
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:244
|
||||
@@ -141,199 +142,199 @@ msgstr ""
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:317
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:341
|
||||
msgid "Confirming your payment …"
|
||||
msgstr ""
|
||||
msgstr "Xác nhận thanh toán…"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:254
|
||||
msgid "Payment method unavailable"
|
||||
msgstr ""
|
||||
msgstr "Phương thức thanh toán không khả dụng"
|
||||
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:15
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:39
|
||||
msgid "Placed orders"
|
||||
msgstr ""
|
||||
msgstr "Đặt hàng"
|
||||
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:15
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:39
|
||||
msgid "Paid orders"
|
||||
msgstr ""
|
||||
msgstr "Đơn hàng đã thanh toán"
|
||||
|
||||
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:27
|
||||
msgid "Total revenue"
|
||||
msgstr ""
|
||||
msgstr "Tổng doanh thu"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:15
|
||||
msgid "Contacting Stripe …"
|
||||
msgstr ""
|
||||
msgstr "Đang kết nối Stripe…"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:72
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
msgstr "Tổng cộng"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:291
|
||||
msgid "Contacting your bank …"
|
||||
msgstr ""
|
||||
msgstr "Đang kết nối đến ngân hàng…"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:30
|
||||
msgid "Select a check-in list"
|
||||
msgstr ""
|
||||
msgstr "Chọn một danh sách check-in"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:31
|
||||
msgid "No active check-in lists found."
|
||||
msgstr ""
|
||||
msgstr "Không có danh sách check-in nào đang kích hoạt."
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:32
|
||||
msgid "Switch check-in list"
|
||||
msgstr ""
|
||||
msgstr "Chuyển danh sách check-in"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:33
|
||||
msgid "Search results"
|
||||
msgstr ""
|
||||
msgstr "Kết quả tìm kiếm"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:34
|
||||
msgid "No tickets found"
|
||||
msgstr ""
|
||||
msgstr "Không có vé nào được tìm thấy"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:35
|
||||
msgid "Result"
|
||||
msgstr ""
|
||||
msgstr "Kết quả"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:36
|
||||
msgid "This ticket requires special attention"
|
||||
msgstr ""
|
||||
msgstr "Vé này cần được chú ý đặc biệt"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:37
|
||||
msgid "Switch direction"
|
||||
msgstr ""
|
||||
msgstr "Chuyển hướng"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:38
|
||||
msgid "Entry"
|
||||
msgstr ""
|
||||
msgstr "Vào"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:39
|
||||
msgid "Exit"
|
||||
msgstr ""
|
||||
msgstr "Ra"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:40
|
||||
msgid "Scan a ticket or search and press return…"
|
||||
msgstr ""
|
||||
msgstr "Quét mã vé hoặc tìm kiếm và nhấn Enter…"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:41
|
||||
msgid "Load more"
|
||||
msgstr ""
|
||||
msgstr "Tải thêm"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:42
|
||||
msgid "Valid"
|
||||
msgstr ""
|
||||
msgstr "Hợp lệ"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:43
|
||||
msgid "Unpaid"
|
||||
msgstr ""
|
||||
msgstr "Chưa thanh toán"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:44
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:45
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
msgstr "Đã huỷ"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:46
|
||||
msgid "Redeemed"
|
||||
msgstr ""
|
||||
msgstr "Đã đổi"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:47
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
msgstr "Huỷ"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:49
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:58
|
||||
msgid "Ticket not paid"
|
||||
msgstr ""
|
||||
msgstr "Vé chưa thanh toán"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:50
|
||||
msgid "This ticket is not yet paid. Do you want to continue anyways?"
|
||||
msgstr ""
|
||||
msgstr "Vé này chưa được thanh toán. Tiếp tục thực hiện?"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:51
|
||||
msgid "Additional information required"
|
||||
msgstr ""
|
||||
msgstr "Yêu cầu thông tin bổ sung"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:52
|
||||
msgid "Valid ticket"
|
||||
msgstr ""
|
||||
msgstr "Vé hợp lệ"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:53
|
||||
msgid "Exit recorded"
|
||||
msgstr ""
|
||||
msgstr "Đã ghi nhận Rời khỏi"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:54
|
||||
msgid "Ticket already used"
|
||||
msgstr ""
|
||||
msgstr "Vé đã được sử dụng"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:55
|
||||
msgid "Information required"
|
||||
msgstr ""
|
||||
msgstr "Thông tin được yêu cầu"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:56
|
||||
msgid "Unknown ticket"
|
||||
msgstr ""
|
||||
msgstr "Không nhận ra vé"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:57
|
||||
msgid "Ticket type not allowed here"
|
||||
msgstr ""
|
||||
msgstr "Loại vé không được chấp nhập ở đây"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:59
|
||||
msgid "Entry not allowed"
|
||||
msgstr ""
|
||||
msgstr "Không cho phép vào"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:60
|
||||
msgid "Ticket code revoked/changed"
|
||||
msgstr ""
|
||||
msgstr "Mã vé đã bị thu hồi / thay đổi"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:61
|
||||
msgid "Ticket blocked"
|
||||
msgstr ""
|
||||
msgstr "Vé đã bị khoá"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:62
|
||||
msgid "Ticket not valid at this time"
|
||||
msgstr ""
|
||||
msgstr "Vé không hợp lệ tại thời điểm này"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:63
|
||||
msgid "Order canceled"
|
||||
msgstr ""
|
||||
msgstr "Đã huỷ đơn hàng"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:64
|
||||
msgid "Ticket code is ambiguous on list"
|
||||
msgstr ""
|
||||
msgstr "Mã vé không rõ ràng trong danh sách"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:65
|
||||
msgid "Order not approved"
|
||||
msgstr ""
|
||||
msgstr "Đơn hàng không được chấp nhận"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:66
|
||||
msgid "Checked-in Tickets"
|
||||
msgstr ""
|
||||
msgstr "Vé đã check-in"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:67
|
||||
msgid "Valid Tickets"
|
||||
msgstr ""
|
||||
msgstr "Những vé hợp lệ"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:68
|
||||
msgid "Currently inside"
|
||||
msgstr ""
|
||||
msgstr "Hiện đang ở bên trong"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:69
|
||||
#: pretix/static/pretixcontrol/js/ui/question.js:137
|
||||
#: pretix/static/pretixpresale/js/ui/questions.js:270
|
||||
msgid "Yes"
|
||||
msgstr ""
|
||||
msgstr "Có"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:70
|
||||
#: pretix/static/pretixcontrol/js/ui/question.js:138
|
||||
#: pretix/static/pretixpresale/js/ui/questions.js:270
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
msgstr "Không"
|
||||
|
||||
#: pretix/static/lightbox/js/lightbox.js:96
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
msgstr "đóng"
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:58
|
||||
#: pretix/static/pretixbase/js/asynctask.js:135
|
||||
@@ -341,11 +342,13 @@ msgid ""
|
||||
"Your request is currently being processed. Depending on the size of your "
|
||||
"event, this might take up to a few minutes."
|
||||
msgstr ""
|
||||
"Yêu cầu của bạn đang được xử lý. Tuỳ thuộc vào quy mô của sự kiện, quá trình "
|
||||
"có thể mất vài phút."
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:63
|
||||
#: pretix/static/pretixbase/js/asynctask.js:140
|
||||
msgid "Your request has been queued on the server and will soon be processed."
|
||||
msgstr ""
|
||||
msgstr "Yêu cầu của bạn đã được tiếp nhận và sẽ sớm được xử lý."
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:69
|
||||
#: pretix/static/pretixbase/js/asynctask.js:146
|
||||
@@ -354,34 +357,36 @@ msgid ""
|
||||
"If this takes longer than two minutes, please contact us or go back in your "
|
||||
"browser and try again."
|
||||
msgstr ""
|
||||
"Chúng tôi đã nhận được yêu cầu của bạn nhưng chờ để xử lý. Vui lòng liên hệ "
|
||||
"cho chúng tôi hoặc thực hiện lại nếu quá trình xử lý kéo dài hơn 2 phút."
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:105
|
||||
#: pretix/static/pretixbase/js/asynctask.js:193
|
||||
#: pretix/static/pretixbase/js/asynctask.js:198
|
||||
#: pretix/static/pretixcontrol/js/ui/mail.js:24
|
||||
msgid "An error of type {code} occurred."
|
||||
msgstr ""
|
||||
msgstr "Đã xảy ra lỗi {code}."
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:108
|
||||
msgid ""
|
||||
"We currently cannot reach the server, but we keep trying. Last error code: "
|
||||
"{code}"
|
||||
msgstr ""
|
||||
msgstr "Mất kết nối đến server, đang kết nối lại. Mã lỗi: {code}"
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:160
|
||||
#: pretix/static/pretixcontrol/js/ui/mail.js:21
|
||||
msgid "The request took too long. Please try again."
|
||||
msgstr ""
|
||||
msgstr "Yêu cầu quá lâu. Vui lòng thực hiện lại."
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:201
|
||||
#: pretix/static/pretixcontrol/js/ui/mail.js:26
|
||||
msgid ""
|
||||
"We currently cannot reach the server. Please try again. Error code: {code}"
|
||||
msgstr ""
|
||||
msgstr "Không thể kết nối đến máy chủ. Vui lòng thử lại. Mã lỗi: {code}"
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:230
|
||||
msgid "We are processing your request …"
|
||||
msgstr ""
|
||||
msgstr "Chúng tôi đang xử lý yêu cầu …"
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:238
|
||||
msgid ""
|
||||
@@ -389,77 +394,79 @@ msgid ""
|
||||
"than one minute, please check your internet connection and then reload this "
|
||||
"page and try again."
|
||||
msgstr ""
|
||||
"Đang gửi yêu cầu đến máy chủ. Nếu quá trình này kéo dài hơn 1 phút, vui lòng "
|
||||
"kiểm tra lại kết nối Internet, tải lại trang và thử lại."
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:301
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:71
|
||||
msgid "Close message"
|
||||
msgstr ""
|
||||
msgstr "Đóng tin nhắn"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/clipboard.js:23
|
||||
msgid "Copied!"
|
||||
msgstr ""
|
||||
msgstr "Đã sao chép!"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/clipboard.js:29
|
||||
msgid "Press Ctrl-C to copy!"
|
||||
msgstr ""
|
||||
msgstr "Nhấn Ctrl-C để sao chép!"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:12
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:18
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:24
|
||||
msgid "is one of"
|
||||
msgstr ""
|
||||
msgstr "là một trong"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:30
|
||||
msgid "is before"
|
||||
msgstr ""
|
||||
msgstr "là trước"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:34
|
||||
msgid "is after"
|
||||
msgstr ""
|
||||
msgstr "là sau"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:40
|
||||
msgid "="
|
||||
msgstr ""
|
||||
msgstr "="
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
msgstr "Sản phẩm"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
|
||||
msgid "Product variation"
|
||||
msgstr ""
|
||||
msgstr "Biến thể sản phẩm"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
|
||||
msgid "Gate"
|
||||
msgstr ""
|
||||
msgstr "Cổng"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:111
|
||||
msgid "Current date and time"
|
||||
msgstr ""
|
||||
msgstr "Ngày và giờ hiện tại"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:115
|
||||
msgid "Current day of the week (1 = Monday, 7 = Sunday)"
|
||||
msgstr ""
|
||||
msgstr "Ngày hiện tại trong tuần (1 = Thứ 2, 7 = Chủ nhật)"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:119
|
||||
msgid "Current entry status"
|
||||
msgstr ""
|
||||
msgstr "Trạng thái vào hiện tại"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:123
|
||||
msgid "Number of previous entries"
|
||||
msgstr ""
|
||||
msgstr "Số lượng các mục trước"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:127
|
||||
msgid "Number of previous entries since midnight"
|
||||
msgstr ""
|
||||
msgstr "Số mục trước đó tính từ nửa đêm"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:131
|
||||
msgid "Number of previous entries since"
|
||||
msgstr ""
|
||||
msgstr "Số mục trước từ khi"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:135
|
||||
msgid "Number of previous entries before"
|
||||
msgstr ""
|
||||
msgstr "Số mục trước trước lúc"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:139
|
||||
msgid "Number of days with a previous entry"
|
||||
@@ -483,157 +490,159 @@ msgstr ""
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:182
|
||||
msgid "All of the conditions below (AND)"
|
||||
msgstr ""
|
||||
msgstr "Tất cả các điều kiện bên dưới (và)"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:183
|
||||
msgid "At least one of the conditions below (OR)"
|
||||
msgstr ""
|
||||
msgstr "Tối thiểu một điều kiện bên dưới (hoặc)"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:184
|
||||
msgid "Event start"
|
||||
msgstr ""
|
||||
msgstr "Sự kiện bắt đầu"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:185
|
||||
msgid "Event end"
|
||||
msgstr ""
|
||||
msgstr "Sự kiện kết thúc"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:186
|
||||
msgid "Event admission"
|
||||
msgstr ""
|
||||
msgstr "Ghi danh sự kiện"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:187
|
||||
msgid "custom date and time"
|
||||
msgstr ""
|
||||
msgstr "tuỳ chỉnh ngày và giờ"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:188
|
||||
msgid "custom time"
|
||||
msgstr ""
|
||||
msgstr "tuỷ chỉnh giờ"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:189
|
||||
msgid "Tolerance (minutes)"
|
||||
msgstr ""
|
||||
msgstr "Tolerance (phút)"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:190
|
||||
msgid "Add condition"
|
||||
msgstr ""
|
||||
msgstr "Thêm điều kiện"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:191
|
||||
msgid "minutes"
|
||||
msgstr ""
|
||||
msgstr "phút"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:192
|
||||
msgid "Duplicate"
|
||||
msgstr ""
|
||||
msgstr "Nhân bản"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:193
|
||||
msgctxt "entry_status"
|
||||
msgid "present"
|
||||
msgstr ""
|
||||
msgstr "có mặt"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:194
|
||||
msgctxt "entry_status"
|
||||
msgid "absent"
|
||||
msgstr ""
|
||||
msgstr "vắng"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:72
|
||||
msgid "Check-in QR"
|
||||
msgstr ""
|
||||
msgstr "Mã QR Check-in"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:387
|
||||
msgid "The PDF background file could not be loaded for the following reason:"
|
||||
msgstr ""
|
||||
msgstr "Không thể tải ảnh nền từ file PDF vì:"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:656
|
||||
msgid "Group of objects"
|
||||
msgstr ""
|
||||
msgstr "Nhóm các đối tượng"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:661
|
||||
msgid "Text object"
|
||||
msgstr ""
|
||||
msgstr "Văn bản"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:663
|
||||
msgid "Barcode area"
|
||||
msgstr ""
|
||||
msgstr "Vùng mã vạch"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:665
|
||||
msgid "Image area"
|
||||
msgstr ""
|
||||
msgstr "Vùng ảnh"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:667
|
||||
msgid "Powered by pretix"
|
||||
msgstr ""
|
||||
msgstr "Được cung cấp bởi pretix"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:669
|
||||
msgid "Object"
|
||||
msgstr ""
|
||||
msgstr "Đối tượng"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:673
|
||||
msgid "Ticket design"
|
||||
msgstr ""
|
||||
msgstr "Thiết kế vé"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:972
|
||||
msgid "Saving failed."
|
||||
msgstr ""
|
||||
msgstr "Không thể lưu."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:1041
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:1091
|
||||
msgid "Error while uploading your PDF file, please try again."
|
||||
msgstr ""
|
||||
msgstr "Có lỗi xảy ra khi tải file PDF lên, vui lòng thử lại."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js:1074
|
||||
msgid "Do you really want to leave the editor without saving your changes?"
|
||||
msgstr ""
|
||||
msgstr "Bạn thực sự muốn đóng mà không lưu các thay đổi chứ?"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/mail.js:19
|
||||
msgid "An error has occurred."
|
||||
msgstr ""
|
||||
msgstr "Đã có lỗi xảy ra."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/mail.js:52
|
||||
msgid "Generating messages …"
|
||||
msgstr ""
|
||||
msgstr "Đang tạo lời nhắn…"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:109
|
||||
msgid "Unknown error."
|
||||
msgstr ""
|
||||
msgstr "Lỗi không xác định."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:313
|
||||
msgid "Your color has great contrast and is very easy to read!"
|
||||
msgstr ""
|
||||
msgstr "Bạn đã chọn màu có độ tương phản tốt và dễ đọc!"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:317
|
||||
msgid "Your color has decent contrast and is probably good-enough to read!"
|
||||
msgstr ""
|
||||
msgstr "Bạn đã giảm độ tương phản và có lẽ khá tốt để đọc!"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:321
|
||||
msgid ""
|
||||
"Your color has bad contrast for text on white background, please choose a "
|
||||
"darker shade."
|
||||
msgstr ""
|
||||
"Màu của bạn có độ tương phản kém đối với văn bản trên nền trắng, vui lòng "
|
||||
"chọn màu tối hơn."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:475
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:495
|
||||
msgid "Search query"
|
||||
msgstr ""
|
||||
msgstr "Truy vấn tìm kiếm"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:493
|
||||
msgid "All"
|
||||
msgstr ""
|
||||
msgstr "Tất cả"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:494
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
msgstr "Không có"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:498
|
||||
msgid "Selected only"
|
||||
msgstr ""
|
||||
msgstr "Chỉ được chọn"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:828
|
||||
msgid "Enter page number between 1 and %(max)s."
|
||||
msgstr ""
|
||||
msgstr "Nhập số trang từ 1 đến %(max)s."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:831
|
||||
msgid "Invalid page number."
|
||||
msgstr ""
|
||||
msgstr "Số trang không hợp lệ."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:989
|
||||
msgid "Use a different name internally"
|
||||
|
||||
@@ -187,7 +187,9 @@ class BankTransfer(BasePaymentProvider):
|
||||
help_text=_('Put one IBAN or IBAN prefix per line. The system will not attempt to send refunds to any '
|
||||
'of these IBANs. Useful e.g. if you receive a lot of "forwarded payments" by a third-party payment '
|
||||
'provider. You can also list country codes such as "GB" if you never want to send refunds to '
|
||||
'IBANs from a specific country.')
|
||||
'IBANs from a specific country. The check digits will be ignored for comparison, so you '
|
||||
'can e.g. ban DE0012345 to ban all German IBANs with the bank identifier starting with '
|
||||
'12345.')
|
||||
)),
|
||||
])
|
||||
|
||||
@@ -591,7 +593,12 @@ class BankTransfer(BasePaymentProvider):
|
||||
except ValidationError:
|
||||
return False
|
||||
else:
|
||||
return not any(iban.startswith(b) for b in (self.settings.refund_iban_blocklist or '').splitlines() if b)
|
||||
def _compare(iban, prefix): # Compare IBAN with pretix ignoring the check digits
|
||||
iban = iban[:2] + iban[4:]
|
||||
prefix = prefix[:2] + prefix[4:]
|
||||
return iban.startswith(prefix)
|
||||
|
||||
return not any(_compare(iban, b) for b in (self.settings.refund_iban_blocklist or '').splitlines() if b)
|
||||
|
||||
def payment_partial_refund_supported(self, payment: OrderPayment) -> bool:
|
||||
return self.payment_refund_supported(payment)
|
||||
|
||||
@@ -229,7 +229,10 @@ class Paypal(BasePaymentProvider):
|
||||
kwargs['cart_namespace'] = request.resolver_match.kwargs['cart_namespace']
|
||||
|
||||
try:
|
||||
if request.event.settings.payment_paypal_connect_user_id:
|
||||
if self.settings.connect_client_id and not self.settings.secret:
|
||||
if not request.event.settings.payment_paypal_connect_user_id:
|
||||
raise PaymentException('Payment method misconfigured')
|
||||
|
||||
try:
|
||||
tokeninfo = Tokeninfo.create_with_refresh_token(request.event.settings.payment_paypal_connect_refresh_token)
|
||||
except BadRequest as ex:
|
||||
|
||||
@@ -30,6 +30,7 @@ from django import forms
|
||||
from django.conf import settings
|
||||
from django.contrib import messages
|
||||
from django.core.cache import cache
|
||||
from django.db import transaction
|
||||
from django.http import HttpRequest
|
||||
from django.template.loader import get_template
|
||||
from django.templatetags.static import static
|
||||
@@ -54,6 +55,7 @@ from pretix.base.models import Event, Order, OrderPayment, OrderRefund, Quota
|
||||
from pretix.base.payment import BasePaymentProvider, PaymentException
|
||||
from pretix.base.services.mail import SendMailException
|
||||
from pretix.base.settings import SettingsSandbox
|
||||
from pretix.helpers import OF_SELF
|
||||
from pretix.helpers.urls import build_absolute_uri as build_global_uri
|
||||
from pretix.multidomain.urlreverse import build_absolute_uri, eventreverse
|
||||
from pretix.plugins.paypal2.client.core.environment import (
|
||||
@@ -522,10 +524,13 @@ class PaypalMethod(BasePaymentProvider):
|
||||
kwargs['cart_namespace'] = request.resolver_match.kwargs['cart_namespace']
|
||||
|
||||
# ISU
|
||||
if request.event.settings.payment_paypal_isu_merchant_id:
|
||||
payee = {
|
||||
"merchant_id": request.event.settings.payment_paypal_isu_merchant_id,
|
||||
}
|
||||
if self.settings.connect_client_id and self.settings.connect_secret_key and not self.settings.secret:
|
||||
if request.event.settings.payment_paypal_isu_merchant_id:
|
||||
payee = {
|
||||
"merchant_id": request.event.settings.payment_paypal_isu_merchant_id,
|
||||
}
|
||||
else:
|
||||
raise PaymentException('Payment method misconfigured')
|
||||
# Manual API integration
|
||||
else:
|
||||
payee = {}
|
||||
@@ -585,6 +590,9 @@ class PaypalMethod(BasePaymentProvider):
|
||||
},
|
||||
})
|
||||
response = self.client.execute(paymentreq)
|
||||
|
||||
if payment:
|
||||
ReferencedPayPalObject.objects.get_or_create(order=payment.order, payment=payment, reference=response.result.id)
|
||||
except IOError as e:
|
||||
if "RESOURCE_NOT_FOUND" in str(e):
|
||||
messages.error(request, _('Your payment has failed due to a known issue within PayPal. Please try '
|
||||
@@ -617,7 +625,13 @@ class PaypalMethod(BasePaymentProvider):
|
||||
}
|
||||
return template.render(ctx)
|
||||
|
||||
@transaction.atomic
|
||||
def execute_payment(self, request: HttpRequest, payment: OrderPayment):
|
||||
payment = OrderPayment.objects.select_for_update(of=OF_SELF).get(pk=payment.pk)
|
||||
if payment.state == OrderPayment.PAYMENT_STATE_CONFIRMED:
|
||||
logger.warning('payment is already confirmed; possible return-view/webhook race-condition')
|
||||
return
|
||||
|
||||
try:
|
||||
if request.session.get('payment_paypal_oid', '') == '':
|
||||
raise PaymentException(_('We were unable to process your payment. See below for details on how to '
|
||||
@@ -1089,6 +1103,8 @@ class PaypalAPM(PaypalMethod):
|
||||
payment.save(update_fields=["provider"])
|
||||
|
||||
paypal_order = self._create_paypal_order(request, payment, None)
|
||||
if not paypal_order:
|
||||
raise PaymentException(_('We had trouble communicating with PayPal'))
|
||||
payment.info = json.dumps(paypal_order.dict())
|
||||
payment.save(update_fields=['info'])
|
||||
|
||||
|
||||
@@ -477,29 +477,35 @@ def webhook(request, *args, **kwargs):
|
||||
amount=payment.amount - known_sum
|
||||
)
|
||||
elif payment.state in (OrderPayment.PAYMENT_STATE_PENDING, OrderPayment.PAYMENT_STATE_CREATED,
|
||||
OrderPayment.PAYMENT_STATE_CANCELED, OrderPayment.PAYMENT_STATE_FAILED) \
|
||||
and sale['status'] == 'COMPLETED':
|
||||
any_captures = False
|
||||
all_captures_completed = True
|
||||
for purchaseunit in sale['purchase_units']:
|
||||
for capture in purchaseunit['payments']['captures']:
|
||||
try:
|
||||
ReferencedPayPalObject.objects.get_or_create(order=payment.order, payment=payment,
|
||||
reference=capture['id'])
|
||||
except ReferencedPayPalObject.MultipleObjectsReturned:
|
||||
pass
|
||||
OrderPayment.PAYMENT_STATE_CANCELED, OrderPayment.PAYMENT_STATE_FAILED):
|
||||
if sale['status'] == 'COMPLETED':
|
||||
any_captures = False
|
||||
all_captures_completed = True
|
||||
for purchaseunit in sale['purchase_units']:
|
||||
for capture in purchaseunit['payments']['captures']:
|
||||
try:
|
||||
ReferencedPayPalObject.objects.get_or_create(order=payment.order, payment=payment,
|
||||
reference=capture['id'])
|
||||
except ReferencedPayPalObject.MultipleObjectsReturned:
|
||||
pass
|
||||
|
||||
if capture['status'] not in ('COMPLETED', 'REFUNDED', 'PARTIALLY_REFUNDED'):
|
||||
all_captures_completed = False
|
||||
else:
|
||||
any_captures = True
|
||||
if any_captures and all_captures_completed:
|
||||
if capture['status'] not in ('COMPLETED', 'REFUNDED', 'PARTIALLY_REFUNDED'):
|
||||
all_captures_completed = False
|
||||
else:
|
||||
any_captures = True
|
||||
if any_captures and all_captures_completed:
|
||||
try:
|
||||
payment.info = json.dumps(sale.dict())
|
||||
payment.save(update_fields=['info'])
|
||||
payment.confirm()
|
||||
except Quota.QuotaExceededException:
|
||||
pass
|
||||
elif sale['status'] == 'APPROVED':
|
||||
request.session['payment_paypal_oid'] = payment.info_data['id']
|
||||
try:
|
||||
payment.info = json.dumps(sale.dict())
|
||||
payment.save(update_fields=['info'])
|
||||
payment.confirm()
|
||||
except Quota.QuotaExceededException:
|
||||
pass
|
||||
payment.payment_provider.execute_payment(request, payment)
|
||||
except PaymentException as e:
|
||||
logger.exception('PayPal2 - Could not capture/execute_payment from Webhook: {}'.format(str(e)))
|
||||
|
||||
return HttpResponse(status=200)
|
||||
|
||||
|
||||
@@ -225,6 +225,11 @@ class OrderMailForm(BaseMailForm):
|
||||
]
|
||||
self.fields['recipients'].choices = recp_choices
|
||||
|
||||
if not self.event.settings.mail_attach_tickets:
|
||||
self.fields['attach_tickets'].disabled = True
|
||||
self.fields['attach_tickets'].help_text = _("Attachment of tickets is disabled in this event's email "
|
||||
"settings.")
|
||||
|
||||
choices = [(e, l) for e, l in Order.STATUS_CHOICE if e != 'n']
|
||||
choices.insert(0, ('valid_if_pending', _('payment pending but already confirmed')))
|
||||
choices.insert(0, ('na', _('payment pending (except unapproved or already confirmed)')))
|
||||
|
||||
@@ -21,6 +21,8 @@ export default {
|
||||
computed: {
|
||||
status() {
|
||||
if (this.position.checkins.length) return 'redeemed';
|
||||
if (this.position.order__status === 'n' && this.position.order__valid_if_pending) return 'pending_valid';
|
||||
if (this.position.order__status === 'n' && this.position.order__require_approval) return 'require_approval';
|
||||
return this.position.order__status
|
||||
},
|
||||
itemvar() {
|
||||
|
||||
@@ -43,6 +43,8 @@ window.vapp = new Vue({
|
||||
'status.n': gettext('Unpaid'),
|
||||
'status.c': gettext('Canceled'),
|
||||
'status.e': gettext('Canceled'),
|
||||
'status.pending_valid': gettext('Confirmed'),
|
||||
'status.require_approval': gettext('Approval pending'),
|
||||
'status.redeemed': gettext('Redeemed'),
|
||||
'modal.cancel': gettext('Cancel'),
|
||||
'modal.continue': gettext('Continue'),
|
||||
|
||||
@@ -74,10 +74,10 @@ a.searchresult {
|
||||
align-items: center;
|
||||
font-size: 140%;
|
||||
|
||||
&.status-p {
|
||||
&.status-p, &.status-pending_valid {
|
||||
background: $brand-success;
|
||||
}
|
||||
&.status-c, &.status-e, &.status-n {
|
||||
&.status-c, &.status-e, &.status-n, &.status-require_approval {
|
||||
background: $brand-danger;
|
||||
}
|
||||
&.status-redeemed {
|
||||
|
||||
@@ -182,4 +182,6 @@ def _default_context(request):
|
||||
ctx['settings'] = pretix_settings
|
||||
ctx['django_settings'] = settings
|
||||
|
||||
ctx['ie_deprecation_warning'] = 'MSIE' in request.headers.get('User-Agent', '') or 'Trident/' in request.headers.get('User-Agent', '')
|
||||
|
||||
return ctx
|
||||
|
||||
@@ -46,6 +46,22 @@
|
||||
<body class="nojs" data-locale="{{ request.LANGUAGE_CODE }}" data-now="{% now "U.u" %}" data-datetimeformat="{{ js_datetime_format }}" data-timeformat="{{ js_time_format }}" data-dateformat="{{ js_date_format }}" data-datetimelocale="{{ js_locale }}" data-currency="{{ request.event.currency }}">
|
||||
{{ html_page_header|safe }}
|
||||
<header>
|
||||
{% if ie_deprecation_warning %}
|
||||
<div class="old-browser-warning">
|
||||
<span class="fa fa-internet-explorer"></span>
|
||||
{% blocktrans trimmed %}
|
||||
We've detected that you are using <strong>Microsoft Internet Explorer</strong>.
|
||||
{% endblocktrans %}
|
||||
{% blocktrans trimmed %}
|
||||
Internet Explorer is an old browser that does not support lots of recent web-based
|
||||
technologies and is no longer supported by this website.
|
||||
{% endblocktrans %}
|
||||
{% blocktrans trimmed %}
|
||||
We kindly ask you to move to one of our supported browsers, such as Microsoft Edge,
|
||||
Mozilla Firefox, Google Chrome, or Safari.
|
||||
{% endblocktrans %}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% block above %}
|
||||
{% endblock %}
|
||||
</header>
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
{% if social_image %}
|
||||
<meta property="og:image" content="{{ social_image }}" />
|
||||
{% endif %}
|
||||
{% if event.settings.google_site_verification %}
|
||||
<meta name="google-site-verification" content="{{ event.settings.google_site_verification }}" />
|
||||
{% endif %}
|
||||
{{ block.super }}
|
||||
{% endblock %}
|
||||
{% block above %}
|
||||
@@ -68,15 +71,23 @@
|
||||
{% block page %}
|
||||
<div class="page-header{% if event_logo %} pager-header-with-logo{% endif %}{% if event_logo and event_logo_image_large %} logo-large{% endif %}">
|
||||
<div class="{% if not event_logo or not event_logo_image_large %}pull-left flip{% endif %}">
|
||||
{% if event_logo and not event_logo_show_title %}
|
||||
<h1 class="sr-only">
|
||||
{{ event.name }}
|
||||
{% if request.event.settings.show_dates_on_frontpage and not event.has_subevents %}
|
||||
<small>{{ event.get_date_range_display_as_html }}</small>
|
||||
{% endif %}
|
||||
</h1>
|
||||
{% endif %}
|
||||
{% if event_logo and event_logo_image_large %}
|
||||
<a href="{% eventurl event "presale:event.index" cart_namespace=cart_namespace|default_if_none:"" %}"
|
||||
aria-label="{% trans 'Homepage' %}" title="{% trans 'Homepage' %}">
|
||||
<img src="{{ event_logo|thumb:'1170x5000' }}" alt="" class="event-logo" />
|
||||
<img src="{{ event_logo|thumb:'1170x5000' }}" alt="{{ event.name }}" class="event-logo" />
|
||||
</a>
|
||||
{% elif event_logo %}
|
||||
<a href="{% eventurl event "presale:event.index" cart_namespace=cart_namespace|default_if_none:"" %}"
|
||||
aria-label="{% trans 'Homepage' %}" title="{% trans 'Homepage' %}">
|
||||
<img src="{{ event_logo|thumb:'5000x120' }}" alt="" class="event-logo" />
|
||||
<img src="{{ event_logo|thumb:'5000x120' }}" alt="{{ event.name }}" class="event-logo" />
|
||||
</a>
|
||||
{% else %}
|
||||
<h1>
|
||||
|
||||
@@ -12,6 +12,10 @@
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
{% endif %}
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
{% if organizer.settings.google_site_verification %}
|
||||
<meta name="google-site-verification" content="{{ organizer.settings.google_site_verification }}" />
|
||||
{% endif %}
|
||||
{{ block.super }}
|
||||
{% endblock %}
|
||||
{% block above %}
|
||||
@@ -39,6 +43,11 @@
|
||||
{% block page %}
|
||||
<div class="page-header{% if organizer_logo %} pager-header-with-logo{% endif %}{% if organizer_logo and organizer.settings.organizer_logo_image_large %} logo-large{% endif %}">
|
||||
<div class="{% if not organizer_logo or not organizer.settings.organizer_logo_image_large %}pull-left flip{% endif %}">
|
||||
{% if organizer_logo %}
|
||||
<h1 class="sr-only">
|
||||
{{ organizer.name }}
|
||||
</h1>
|
||||
{% endif %}
|
||||
{% if organizer_logo and organizer.settings.organizer_logo_image_large %}
|
||||
<a href="{% eventurl organizer "presale:organizer.index" %}" title="{{ organizer.name }}">
|
||||
<img src="{{ organizer_logo|thumb:'1170x5000' }}" alt="{{ organizer.name }}"
|
||||
|
||||
@@ -348,15 +348,17 @@ def get_grouped_items(event, subevent=None, voucher=None, channel='web', require
|
||||
)
|
||||
|
||||
original_price = item_price_override.get(item.pk, item.default_price)
|
||||
voucher_reduced = False
|
||||
if voucher:
|
||||
price = voucher.calculate_price(original_price)
|
||||
voucher_reduced = price < original_price
|
||||
include_bundled = not voucher.all_bundles_included
|
||||
else:
|
||||
price = original_price
|
||||
include_bundled = True
|
||||
|
||||
item.display_price = item.tax(price, currency=event.currency, include_bundled=include_bundled)
|
||||
if item.free_price and item.free_price_suggestion is not None:
|
||||
if item.free_price and item.free_price_suggestion is not None and not voucher_reduced:
|
||||
item.suggested_price = item.tax(max(price, item.free_price_suggestion), currency=event.currency, include_bundled=include_bundled)
|
||||
else:
|
||||
item.suggested_price = item.display_price
|
||||
@@ -399,8 +401,10 @@ def get_grouped_items(event, subevent=None, voucher=None, channel='web', require
|
||||
)
|
||||
|
||||
original_price = var_price_override.get(var.pk, var.price)
|
||||
voucher_reduced = False
|
||||
if voucher:
|
||||
price = voucher.calculate_price(original_price)
|
||||
voucher_reduced = price < original_price
|
||||
include_bundled = not voucher.all_bundles_included
|
||||
else:
|
||||
price = original_price
|
||||
@@ -408,10 +412,10 @@ def get_grouped_items(event, subevent=None, voucher=None, channel='web', require
|
||||
|
||||
var.display_price = var.tax(price, currency=event.currency, include_bundled=include_bundled)
|
||||
|
||||
if item.free_price and var.free_price_suggestion is not None:
|
||||
if item.free_price and var.free_price_suggestion is not None and not voucher_reduced:
|
||||
var.suggested_price = item.tax(max(price, var.free_price_suggestion), currency=event.currency,
|
||||
include_bundled=include_bundled)
|
||||
elif item.free_price and item.free_price_suggestion is not None:
|
||||
elif item.free_price and item.free_price_suggestion is not None and not voucher_reduced:
|
||||
var.suggested_price = item.tax(max(price, item.free_price_suggestion), currency=event.currency,
|
||||
include_bundled=include_bundled)
|
||||
else:
|
||||
|
||||
@@ -19,60 +19,13 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
import re
|
||||
import weakref
|
||||
from collections import OrderedDict
|
||||
|
||||
from celery.exceptions import Retry
|
||||
from sentry_sdk import Hub
|
||||
from sentry_sdk.integrations import django as djangosentry
|
||||
from sentry_sdk.utils import capture_internal_exceptions
|
||||
|
||||
MASK = '*' * 8
|
||||
KEYS = frozenset([
|
||||
'password',
|
||||
'secret',
|
||||
'passwd',
|
||||
'authorization',
|
||||
'api_key',
|
||||
'apikey',
|
||||
'sentry_dsn',
|
||||
'access_token',
|
||||
'session',
|
||||
])
|
||||
VALUES_RE = re.compile(r'^(?:\d[ -]*?){13,16}$')
|
||||
|
||||
|
||||
def scrub_data(data):
|
||||
if isinstance(data, dict):
|
||||
for k, v in data.items():
|
||||
if isinstance(k, bytes):
|
||||
key = k.decode('utf-8', 'replace')
|
||||
else:
|
||||
key = k
|
||||
key = key.lower()
|
||||
data[k] = scrub_data(v)
|
||||
for blk in KEYS:
|
||||
if blk in key:
|
||||
data[k] = MASK
|
||||
elif isinstance(data, list):
|
||||
for i, l in enumerate(list(data)):
|
||||
data[i] = scrub_data(l)
|
||||
elif isinstance(data, str):
|
||||
if '=' in data:
|
||||
# at this point we've assumed it's a standard HTTP query
|
||||
# or cookie
|
||||
if '&' in data:
|
||||
delimiter = '&'
|
||||
else:
|
||||
delimiter = ';'
|
||||
|
||||
qd = scrub_data(OrderedDict(e.split('=', 1) if '=' in e else (e, None) for e in data.split(delimiter)))
|
||||
return delimiter.join((k + '=' + v if v is not None else k) for k, v in qd.items())
|
||||
if VALUES_RE.match(data):
|
||||
return MASK
|
||||
return data
|
||||
|
||||
|
||||
def _make_event_processor(weak_request, integration):
|
||||
def event_processor(event, hint):
|
||||
@@ -82,8 +35,6 @@ def _make_event_processor(weak_request, integration):
|
||||
|
||||
with capture_internal_exceptions():
|
||||
djangosentry._set_user_info(request, event)
|
||||
request_info = event.setdefault("request", {})
|
||||
request_info["cookies"] = dict(request.COOKIES)
|
||||
|
||||
# Sentry's DjangoIntegration already sets the transaction, but it gets confused by our multi-domain stuff
|
||||
# where the URL resolver changes in the middleware stack. Additionally, we'd like to get the method.
|
||||
@@ -96,15 +47,6 @@ def _make_event_processor(weak_request, integration):
|
||||
request.method,
|
||||
url
|
||||
)
|
||||
|
||||
# We want to scrub data not only from the request, but from traceback frames as well!
|
||||
scrub_data(event.get("request", {}))
|
||||
if 'exception' in event:
|
||||
exc = event.get("exception", {})
|
||||
for val in exc.get('values', []):
|
||||
stack = val.get('stacktrace', {})
|
||||
for frame in stack.get('frames', []):
|
||||
scrub_data(frame['vars'])
|
||||
return event
|
||||
|
||||
return event_processor
|
||||
|
||||
@@ -629,15 +629,21 @@ LOGGING = {
|
||||
|
||||
SENTRY_ENABLED = False
|
||||
if config.has_option('sentry', 'dsn') and not any(c in sys.argv for c in ('shell', 'shell_scoped', 'shell_plus')):
|
||||
import django.db.models.signals
|
||||
import sentry_sdk
|
||||
from sentry_sdk.integrations.celery import CeleryIntegration
|
||||
from sentry_sdk.integrations.logging import (
|
||||
LoggingIntegration, ignore_logger,
|
||||
)
|
||||
from sentry_sdk.scrubber import EventScrubber, DEFAULT_DENYLIST
|
||||
|
||||
from .sentry import PretixSentryIntegration, setup_custom_filters
|
||||
|
||||
SENTRY_TOKEN = config.get('sentry', 'traces_sample_token', fallback='')
|
||||
pretix_denylist = DEFAULT_DENYLIST + [
|
||||
"access_token",
|
||||
"sentry_dsn",
|
||||
]
|
||||
|
||||
def traces_sampler(sampling_context):
|
||||
qs = sampling_context.get('wsgi_environ', {}).get('QUERY_STRING', '')
|
||||
@@ -649,7 +655,12 @@ if config.has_option('sentry', 'dsn') and not any(c in sys.argv for c in ('shell
|
||||
sentry_sdk.init(
|
||||
dsn=config.get('sentry', 'dsn'),
|
||||
integrations=[
|
||||
PretixSentryIntegration(),
|
||||
PretixSentryIntegration(
|
||||
signals_denylist=[
|
||||
django.db.models.signals.pre_init,
|
||||
django.db.models.signals.post_init,
|
||||
]
|
||||
),
|
||||
CeleryIntegration(),
|
||||
LoggingIntegration(
|
||||
level=logging.INFO,
|
||||
@@ -659,6 +670,7 @@ if config.has_option('sentry', 'dsn') and not any(c in sys.argv for c in ('shell
|
||||
traces_sampler=traces_sampler,
|
||||
environment=urlparse(SITE_URL).netloc,
|
||||
release=__version__,
|
||||
event_scrubber=EventScrubber(denylist=pretix_denylist, recursive=True),
|
||||
send_default_pii=False,
|
||||
propagate_traces=False, # see https://github.com/getsentry/sentry-python/issues/1717
|
||||
)
|
||||
|
||||
3207
src/pretix/static/npm_dir/package-lock.json
generated
3207
src/pretix/static/npm_dir/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -4,8 +4,8 @@
|
||||
"private": true,
|
||||
"scripts": {},
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.24.5",
|
||||
"@babel/preset-env": "^7.24.5",
|
||||
"@babel/core": "^7.24.7",
|
||||
"@babel/preset-env": "^7.24.6",
|
||||
"@rollup/plugin-babel": "^6.0.4",
|
||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||
"vue": "^2.7.16",
|
||||
|
||||
@@ -519,6 +519,13 @@ h2 .label {
|
||||
.progress-bar-#{$i} { width: 1% * $i; }
|
||||
}
|
||||
|
||||
|
||||
.old-browser-warning {
|
||||
background-color: #ffe761;
|
||||
padding: 32px; /* 30px + 2px optical compensation */
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
@import "_iframe.scss";
|
||||
@import "_a11y.scss";
|
||||
@import "_print.scss";
|
||||
|
||||
@@ -20,6 +20,7 @@ DJANGO_SETTINGS_MODULE = tests.settings
|
||||
addopts = --reruns 3 -rw
|
||||
filterwarnings =
|
||||
error
|
||||
ignore:.*invalid escape sequence.*:
|
||||
ignore:The 'warn' method is deprecated:DeprecationWarning
|
||||
ignore::django.utils.deprecation.RemovedInDjango51Warning:django.core.files.storage
|
||||
ignore:.*index_together.*:django.utils.deprecation.RemovedInDjango51Warning:
|
||||
|
||||
@@ -105,6 +105,8 @@ TEST_ORDERPOSITION1_RES = {
|
||||
"id": 1,
|
||||
"require_attention": False,
|
||||
"order__status": "p",
|
||||
"order__require_approval": False,
|
||||
"order__valid_if_pending": False,
|
||||
"order": "FOO",
|
||||
"positionid": 1,
|
||||
"item": 1,
|
||||
@@ -140,6 +142,8 @@ TEST_ORDERPOSITION2_RES = {
|
||||
"id": 2,
|
||||
"require_attention": False,
|
||||
"order__status": "p",
|
||||
"order__require_approval": False,
|
||||
"order__valid_if_pending": False,
|
||||
"order": "FOO",
|
||||
"positionid": 2,
|
||||
"item": 1,
|
||||
@@ -175,6 +179,8 @@ TEST_ORDERPOSITION3_RES = {
|
||||
"id": 3,
|
||||
"require_attention": False,
|
||||
"order__status": "p",
|
||||
"order__require_approval": False,
|
||||
"order__valid_if_pending": False,
|
||||
"order": "FOO",
|
||||
"positionid": 3,
|
||||
"item": 1,
|
||||
|
||||
@@ -144,6 +144,8 @@ TEST_ORDERPOSITION1_RES = {
|
||||
"id": 1,
|
||||
"require_attention": False,
|
||||
"order__status": "p",
|
||||
"order__require_approval": False,
|
||||
"order__valid_if_pending": False,
|
||||
"order": "FOO",
|
||||
"positionid": 1,
|
||||
"item": 1,
|
||||
|
||||
@@ -28,7 +28,7 @@ from django_countries.fields import Country
|
||||
from django_scopes import scopes_disabled
|
||||
|
||||
from pretix.base.models import (
|
||||
InvoiceAddress, Order, OrderPosition, SeatingPlan, SubEvent,
|
||||
InvoiceAddress, ItemVariation, Order, OrderPosition, SeatingPlan, SubEvent,
|
||||
)
|
||||
from pretix.base.models.orders import OrderFee
|
||||
|
||||
@@ -503,7 +503,7 @@ def test_subevent_update(token_client, organizer, event, subevent, item, item2,
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
with scopes_disabled():
|
||||
assert subevent.items.get(id=item.pk).default_price == Decimal('23.00')
|
||||
assert event.items.get(id=item.pk).default_price == Decimal('23.00')
|
||||
assert subevent.item_price_overrides[item.pk] == Decimal('99.99')
|
||||
|
||||
resp = token_client.patch(
|
||||
@@ -609,7 +609,7 @@ def test_subevent_update(token_client, organizer, event, subevent, item, item2,
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
with scopes_disabled():
|
||||
assert subevent.variations.get(id=variations[0].pk).default_price == Decimal('12.00')
|
||||
assert ItemVariation.objects.get(id=variations[0].pk).default_price == Decimal('12.00')
|
||||
assert subevent.var_price_overrides[variations[0].pk] == Decimal('99.99')
|
||||
|
||||
resp = token_client.patch(
|
||||
|
||||
Reference in New Issue
Block a user