From e49c942a1b8f1465297958c999c2c52893e2b38d Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Mon, 14 Jul 2025 16:22:19 +0300 Subject: [PATCH] Features: 1) Add detailed in-line comments with type ignore for improved debugging and maintainability; 2) Update I18N strings and translation placeholders across locales; 3) Introduce "address set" as a translatable object; Fixes: 1) Resolve malformed phone number error message format; 2) Fix minor grammatical issues in message strings; 3) Align POT-Creation-Date metadata in locale files; Extra: Enhance formatting consistency in documentation and translations; Remove obsolete translation strings. --- blog/locale/ar_AR/LC_MESSAGES/django.po | 3 - blog/locale/cs_CZ/LC_MESSAGES/django.po | 3 - blog/locale/da_DK/LC_MESSAGES/django.po | 3 - blog/locale/de_DE/LC_MESSAGES/django.po | 3 - blog/locale/en_GB/LC_MESSAGES/django.po | 9 - blog/locale/en_US/LC_MESSAGES/django.po | 3 - blog/locale/es_ES/LC_MESSAGES/django.po | 3 - blog/locale/fr_FR/LC_MESSAGES/django.po | 3 - blog/locale/it_IT/LC_MESSAGES/django.po | 3 - blog/locale/ja_JP/LC_MESSAGES/django.po | 3 - blog/locale/nl_NL/LC_MESSAGES/django.po | 3 - blog/locale/pl_PL/LC_MESSAGES/django.po | 3 - blog/locale/pt_BR/LC_MESSAGES/django.po | 3 - blog/locale/ro_RO/LC_MESSAGES/django.po | 3 - blog/locale/ru_RU/LC_MESSAGES/django.po | 3 - blog/locale/zh_Hans/LC_MESSAGES/django.po | 3 - core/admin.py | 25 +- core/locale/ar_AR/LC_MESSAGES/django.mo | Bin 58279 -> 55694 bytes core/locale/ar_AR/LC_MESSAGES/django.po | 727 ++++++++-------- core/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 50306 -> 48399 bytes core/locale/cs_CZ/LC_MESSAGES/django.po | 715 +++++++-------- core/locale/da_DK/LC_MESSAGES/django.mo | Bin 48722 -> 46842 bytes core/locale/da_DK/LC_MESSAGES/django.po | 741 ++++++++-------- core/locale/de_DE/LC_MESSAGES/django.mo | Bin 51679 -> 49697 bytes core/locale/de_DE/LC_MESSAGES/django.po | 777 +++++++++-------- core/locale/en_GB/LC_MESSAGES/django.mo | Bin 46973 -> 46889 bytes core/locale/en_GB/LC_MESSAGES/django.po | 656 +++++++------- core/locale/en_US/LC_MESSAGES/django.mo | Bin 46964 -> 44925 bytes core/locale/en_US/LC_MESSAGES/django.po | 717 +++++++-------- core/locale/es_ES/LC_MESSAGES/django.mo | Bin 50449 -> 48480 bytes core/locale/es_ES/LC_MESSAGES/django.po | 735 ++++++++-------- core/locale/fr_FR/LC_MESSAGES/django.mo | Bin 51713 -> 49686 bytes core/locale/fr_FR/LC_MESSAGES/django.po | 752 ++++++++-------- core/locale/hi_IN/LC_MESSAGES/django.po | 594 +++++++------ core/locale/it_IT/LC_MESSAGES/django.mo | Bin 50790 -> 48848 bytes core/locale/it_IT/LC_MESSAGES/django.po | 758 ++++++++-------- core/locale/ja_JP/LC_MESSAGES/django.mo | Bin 52855 -> 50360 bytes core/locale/ja_JP/LC_MESSAGES/django.po | 821 ++++++++++-------- core/locale/kk_KZ/LC_MESSAGES/django.po | 594 +++++++------ core/locale/nl_NL/LC_MESSAGES/django.mo | Bin 50010 -> 48080 bytes core/locale/nl_NL/LC_MESSAGES/django.po | 742 ++++++++-------- core/locale/pl_PL/LC_MESSAGES/django.mo | Bin 50329 -> 48340 bytes core/locale/pl_PL/LC_MESSAGES/django.po | 723 +++++++-------- core/locale/pt_BR/LC_MESSAGES/django.mo | Bin 50348 -> 48345 bytes core/locale/pt_BR/LC_MESSAGES/django.po | 720 +++++++-------- core/locale/ro_RO/LC_MESSAGES/django.mo | Bin 51215 -> 49253 bytes core/locale/ro_RO/LC_MESSAGES/django.po | 739 ++++++++-------- core/locale/ru_RU/LC_MESSAGES/django.mo | Bin 64593 -> 62259 bytes core/locale/ru_RU/LC_MESSAGES/django.po | 739 ++++++++-------- core/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 45152 -> 42412 bytes core/locale/zh_Hans/LC_MESSAGES/django.po | 720 +++++++-------- core/management/commands/deepl_translate.py | 110 +-- core/management/commands/fix_fuzzy.py | 22 +- core/models.py | 15 +- evibes/locale/ar_AR/LC_MESSAGES/django.mo | Bin 10342 -> 10549 bytes evibes/locale/ar_AR/LC_MESSAGES/django.po | 52 +- evibes/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 8933 -> 9140 bytes evibes/locale/cs_CZ/LC_MESSAGES/django.po | 52 +- evibes/locale/da_DK/LC_MESSAGES/django.mo | Bin 8604 -> 8811 bytes evibes/locale/da_DK/LC_MESSAGES/django.po | 52 +- evibes/locale/de_DE/LC_MESSAGES/django.mo | Bin 9064 -> 9271 bytes evibes/locale/de_DE/LC_MESSAGES/django.po | 52 +- evibes/locale/en_GB/LC_MESSAGES/django.mo | Bin 8401 -> 8608 bytes evibes/locale/en_GB/LC_MESSAGES/django.po | 52 +- evibes/locale/en_US/LC_MESSAGES/django.mo | Bin 8406 -> 8613 bytes evibes/locale/en_US/LC_MESSAGES/django.po | 52 +- evibes/locale/es_ES/LC_MESSAGES/django.mo | Bin 9205 -> 9412 bytes evibes/locale/es_ES/LC_MESSAGES/django.po | 52 +- evibes/locale/fr_FR/LC_MESSAGES/django.mo | Bin 9362 -> 9569 bytes evibes/locale/fr_FR/LC_MESSAGES/django.po | 52 +- evibes/locale/hi_IN/LC_MESSAGES/django.po | 49 +- evibes/locale/it_IT/LC_MESSAGES/django.mo | Bin 9089 -> 9296 bytes evibes/locale/it_IT/LC_MESSAGES/django.po | 52 +- evibes/locale/ja_JP/LC_MESSAGES/django.mo | Bin 9377 -> 9584 bytes evibes/locale/ja_JP/LC_MESSAGES/django.po | 52 +- evibes/locale/kk_KZ/LC_MESSAGES/django.po | 49 +- evibes/locale/nl_NL/LC_MESSAGES/django.mo | Bin 8709 -> 8916 bytes evibes/locale/nl_NL/LC_MESSAGES/django.po | 52 +- evibes/locale/pl_PL/LC_MESSAGES/django.mo | Bin 9031 -> 9238 bytes evibes/locale/pl_PL/LC_MESSAGES/django.po | 52 +- evibes/locale/pt_BR/LC_MESSAGES/django.mo | Bin 9030 -> 9237 bytes evibes/locale/pt_BR/LC_MESSAGES/django.po | 52 +- evibes/locale/ro_RO/LC_MESSAGES/django.mo | Bin 9227 -> 9434 bytes evibes/locale/ro_RO/LC_MESSAGES/django.po | 52 +- evibes/locale/ru_RU/LC_MESSAGES/django.mo | Bin 11499 -> 11704 bytes evibes/locale/ru_RU/LC_MESSAGES/django.po | 54 +- evibes/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 7877 -> 8084 bytes evibes/locale/zh_Hans/LC_MESSAGES/django.po | 52 +- evibes/settings/drf.py | 2 +- payments/locale/ar_AR/LC_MESSAGES/django.mo | Bin 2638 -> 2227 bytes payments/locale/ar_AR/LC_MESSAGES/django.po | 8 +- payments/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 2399 -> 2031 bytes payments/locale/cs_CZ/LC_MESSAGES/django.po | 8 +- payments/locale/da_DK/LC_MESSAGES/django.mo | Bin 2374 -> 2009 bytes payments/locale/da_DK/LC_MESSAGES/django.po | 8 +- payments/locale/de_DE/LC_MESSAGES/django.mo | Bin 2446 -> 2057 bytes payments/locale/de_DE/LC_MESSAGES/django.po | 8 +- payments/locale/en_GB/LC_MESSAGES/django.po | 10 +- payments/locale/en_US/LC_MESSAGES/django.mo | Bin 2323 -> 1963 bytes payments/locale/en_US/LC_MESSAGES/django.po | 8 +- payments/locale/es_ES/LC_MESSAGES/django.mo | Bin 2419 -> 2035 bytes payments/locale/es_ES/LC_MESSAGES/django.po | 8 +- payments/locale/fr_FR/LC_MESSAGES/django.mo | Bin 2454 -> 2065 bytes payments/locale/fr_FR/LC_MESSAGES/django.po | 8 +- payments/locale/it_IT/LC_MESSAGES/django.mo | Bin 2404 -> 2031 bytes payments/locale/it_IT/LC_MESSAGES/django.po | 8 +- payments/locale/ja_JP/LC_MESSAGES/django.mo | Bin 2504 -> 2095 bytes payments/locale/ja_JP/LC_MESSAGES/django.po | 8 +- payments/locale/nl_NL/LC_MESSAGES/django.mo | Bin 2368 -> 1999 bytes payments/locale/nl_NL/LC_MESSAGES/django.po | 8 +- payments/locale/pl_PL/LC_MESSAGES/django.mo | Bin 2442 -> 2066 bytes payments/locale/pl_PL/LC_MESSAGES/django.po | 8 +- payments/locale/pt_BR/LC_MESSAGES/django.mo | Bin 2410 -> 2029 bytes payments/locale/pt_BR/LC_MESSAGES/django.po | 8 +- payments/locale/ro_RO/LC_MESSAGES/django.mo | Bin 2399 -> 2022 bytes payments/locale/ro_RO/LC_MESSAGES/django.po | 8 +- payments/locale/ru_RU/LC_MESSAGES/django.mo | Bin 2812 -> 2361 bytes payments/locale/ru_RU/LC_MESSAGES/django.po | 8 +- payments/locale/zh_Hans/LC_MESSAGES/django.mo | Bin 2296 -> 1929 bytes payments/locale/zh_Hans/LC_MESSAGES/django.po | 8 +- scripts/Windows/make-messages.ps1 | 11 +- vibes_auth/locale/ar_AR/LC_MESSAGES/django.mo | Bin 9848 -> 8828 bytes vibes_auth/locale/ar_AR/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/cs_CZ/LC_MESSAGES/django.mo | Bin 8236 -> 7338 bytes vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/da_DK/LC_MESSAGES/django.mo | Bin 8075 -> 7181 bytes vibes_auth/locale/da_DK/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/de_DE/LC_MESSAGES/django.mo | Bin 8634 -> 7691 bytes vibes_auth/locale/de_DE/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/en_GB/LC_MESSAGES/django.mo | Bin 7874 -> 7914 bytes vibes_auth/locale/en_GB/LC_MESSAGES/django.po | 35 +- vibes_auth/locale/en_US/LC_MESSAGES/django.mo | Bin 7863 -> 6962 bytes vibes_auth/locale/en_US/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/es_ES/LC_MESSAGES/django.mo | Bin 8462 -> 7525 bytes vibes_auth/locale/es_ES/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/fr_FR/LC_MESSAGES/django.mo | Bin 8828 -> 8007 bytes vibes_auth/locale/fr_FR/LC_MESSAGES/django.po | 22 +- vibes_auth/locale/hi_IN/LC_MESSAGES/django.po | 8 +- vibes_auth/locale/it_IT/LC_MESSAGES/django.mo | Bin 8442 -> 7659 bytes vibes_auth/locale/it_IT/LC_MESSAGES/django.po | 22 +- vibes_auth/locale/ja_JP/LC_MESSAGES/django.mo | Bin 9403 -> 8012 bytes vibes_auth/locale/ja_JP/LC_MESSAGES/django.po | 26 +- vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po | 8 +- vibes_auth/locale/nl_NL/LC_MESSAGES/django.mo | Bin 8299 -> 7368 bytes vibes_auth/locale/nl_NL/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/pl_PL/LC_MESSAGES/django.mo | Bin 8351 -> 7426 bytes vibes_auth/locale/pl_PL/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/pt_BR/LC_MESSAGES/django.mo | Bin 8256 -> 7344 bytes vibes_auth/locale/pt_BR/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/ro_RO/LC_MESSAGES/django.mo | Bin 8495 -> 7570 bytes vibes_auth/locale/ro_RO/LC_MESSAGES/django.po | 24 +- vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo | Bin 10656 -> 9513 bytes vibes_auth/locale/ru_RU/LC_MESSAGES/django.po | 38 +- .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 7628 -> 6451 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 26 +- 155 files changed, 7412 insertions(+), 7284 deletions(-) diff --git a/blog/locale/ar_AR/LC_MESSAGES/django.po b/blog/locale/ar_AR/LC_MESSAGES/django.po index f11b8e73..889822a7 100644 --- a/blog/locale/ar_AR/LC_MESSAGES/django.po +++ b/blog/locale/ar_AR/LC_MESSAGES/django.po @@ -66,6 +66,3 @@ msgstr "علامة المشاركة" #: blog/models.py:137 msgid "post tags" msgstr "علامات المشاركة" - -#~ msgid "eVibes Engine" -#~ msgstr "محرك eVibes" diff --git a/blog/locale/cs_CZ/LC_MESSAGES/django.po b/blog/locale/cs_CZ/LC_MESSAGES/django.po index a8b68fc6..5ede773d 100644 --- a/blog/locale/cs_CZ/LC_MESSAGES/django.po +++ b/blog/locale/cs_CZ/LC_MESSAGES/django.po @@ -68,6 +68,3 @@ msgstr "Označení příspěvku" #: blog/models.py:137 msgid "post tags" msgstr "Štítky příspěvků" - -#~ msgid "eVibes Engine" -#~ msgstr "Motor eVibes" diff --git a/blog/locale/da_DK/LC_MESSAGES/django.po b/blog/locale/da_DK/LC_MESSAGES/django.po index bbfeb888..8b725448 100644 --- a/blog/locale/da_DK/LC_MESSAGES/django.po +++ b/blog/locale/da_DK/LC_MESSAGES/django.po @@ -66,6 +66,3 @@ msgstr "Tag til indlæg" #: blog/models.py:137 msgid "post tags" msgstr "Tags til indlæg" - -#~ msgid "eVibes Engine" -#~ msgstr "eVibes-motor" diff --git a/blog/locale/de_DE/LC_MESSAGES/django.po b/blog/locale/de_DE/LC_MESSAGES/django.po index 0ed4dfa0..9774aacc 100644 --- a/blog/locale/de_DE/LC_MESSAGES/django.po +++ b/blog/locale/de_DE/LC_MESSAGES/django.po @@ -69,6 +69,3 @@ msgstr "Tag eintragen" #: blog/models.py:137 msgid "post tags" msgstr "Tags eintragen" - -#~ msgid "eVibes Engine" -#~ msgstr "eVibes Motor" diff --git a/blog/locale/en_GB/LC_MESSAGES/django.po b/blog/locale/en_GB/LC_MESSAGES/django.po index a05175af..edb971dd 100644 --- a/blog/locale/en_GB/LC_MESSAGES/django.po +++ b/blog/locale/en_GB/LC_MESSAGES/django.po @@ -70,12 +70,3 @@ msgstr "Post tag" #: blog/models.py:137 msgid "post tags" msgstr "Post tags" - -#~ msgid "eVibes Engine" -#~ msgstr "eVibes Engine" - -#~ msgid "(no content yet)" -#~ msgstr "(no content yet)" - -#~ msgid "rendered HTML" -#~ msgstr "Rendered HTML" diff --git a/blog/locale/en_US/LC_MESSAGES/django.po b/blog/locale/en_US/LC_MESSAGES/django.po index 6bcdfd7a..7d0d3dae 100644 --- a/blog/locale/en_US/LC_MESSAGES/django.po +++ b/blog/locale/en_US/LC_MESSAGES/django.po @@ -66,6 +66,3 @@ msgstr "Post tag" #: blog/models.py:137 msgid "post tags" msgstr "Post tags" - -#~ msgid "eVibes Engine" -#~ msgstr "eVibes Engine" diff --git a/blog/locale/es_ES/LC_MESSAGES/django.po b/blog/locale/es_ES/LC_MESSAGES/django.po index f75366e7..a09ee410 100644 --- a/blog/locale/es_ES/LC_MESSAGES/django.po +++ b/blog/locale/es_ES/LC_MESSAGES/django.po @@ -68,6 +68,3 @@ msgstr "Etiqueta postal" #: blog/models.py:137 msgid "post tags" msgstr "Etiquetas" - -#~ msgid "eVibes Engine" -#~ msgstr "Motor eVibes" diff --git a/blog/locale/fr_FR/LC_MESSAGES/django.po b/blog/locale/fr_FR/LC_MESSAGES/django.po index 63b2d72c..6faa55df 100644 --- a/blog/locale/fr_FR/LC_MESSAGES/django.po +++ b/blog/locale/fr_FR/LC_MESSAGES/django.po @@ -69,6 +69,3 @@ msgstr "Tag de poste" #: blog/models.py:137 msgid "post tags" msgstr "Tags de la poste" - -#~ msgid "eVibes Engine" -#~ msgstr "Moteur eVibes" diff --git a/blog/locale/it_IT/LC_MESSAGES/django.po b/blog/locale/it_IT/LC_MESSAGES/django.po index 8b1db755..214c3409 100644 --- a/blog/locale/it_IT/LC_MESSAGES/django.po +++ b/blog/locale/it_IT/LC_MESSAGES/django.po @@ -67,6 +67,3 @@ msgstr "Post tag" #: blog/models.py:137 msgid "post tags" msgstr "Tag dei post" - -#~ msgid "eVibes Engine" -#~ msgstr "Motore eVibes" diff --git a/blog/locale/ja_JP/LC_MESSAGES/django.po b/blog/locale/ja_JP/LC_MESSAGES/django.po index 0dd84105..21d9d5bc 100644 --- a/blog/locale/ja_JP/LC_MESSAGES/django.po +++ b/blog/locale/ja_JP/LC_MESSAGES/django.po @@ -69,6 +69,3 @@ msgstr "投稿タグ" #: blog/models.py:137 msgid "post tags" msgstr "投稿タグ" - -#~ msgid "eVibes Engine" -#~ msgstr "eVibesエンジン" diff --git a/blog/locale/nl_NL/LC_MESSAGES/django.po b/blog/locale/nl_NL/LC_MESSAGES/django.po index a8d14263..e14bcdc1 100644 --- a/blog/locale/nl_NL/LC_MESSAGES/django.po +++ b/blog/locale/nl_NL/LC_MESSAGES/django.po @@ -69,6 +69,3 @@ msgstr "Post tag" #: blog/models.py:137 msgid "post tags" msgstr "Post tags" - -#~ msgid "eVibes Engine" -#~ msgstr "eVibes motor" diff --git a/blog/locale/pl_PL/LC_MESSAGES/django.po b/blog/locale/pl_PL/LC_MESSAGES/django.po index fa564e13..3827d474 100644 --- a/blog/locale/pl_PL/LC_MESSAGES/django.po +++ b/blog/locale/pl_PL/LC_MESSAGES/django.po @@ -68,6 +68,3 @@ msgstr "Tag posta" #: blog/models.py:137 msgid "post tags" msgstr "Tagi postów" - -#~ msgid "eVibes Engine" -#~ msgstr "Silnik eVibes" diff --git a/blog/locale/pt_BR/LC_MESSAGES/django.po b/blog/locale/pt_BR/LC_MESSAGES/django.po index 1e485025..4b1addfc 100644 --- a/blog/locale/pt_BR/LC_MESSAGES/django.po +++ b/blog/locale/pt_BR/LC_MESSAGES/django.po @@ -67,6 +67,3 @@ msgstr "Etiqueta de postagem" #: blog/models.py:137 msgid "post tags" msgstr "Tags de postagem" - -#~ msgid "eVibes Engine" -#~ msgstr "Motor eVibes" diff --git a/blog/locale/ro_RO/LC_MESSAGES/django.po b/blog/locale/ro_RO/LC_MESSAGES/django.po index 1763e8b6..2e6dce42 100644 --- a/blog/locale/ro_RO/LC_MESSAGES/django.po +++ b/blog/locale/ro_RO/LC_MESSAGES/django.po @@ -68,6 +68,3 @@ msgstr "Etichetă post" #: blog/models.py:137 msgid "post tags" msgstr "Etichete poștale" - -#~ msgid "eVibes Engine" -#~ msgstr "Motorul eVibes" diff --git a/blog/locale/ru_RU/LC_MESSAGES/django.po b/blog/locale/ru_RU/LC_MESSAGES/django.po index 893ed967..148f0d82 100644 --- a/blog/locale/ru_RU/LC_MESSAGES/django.po +++ b/blog/locale/ru_RU/LC_MESSAGES/django.po @@ -69,6 +69,3 @@ msgstr "Тэг поста" #: blog/models.py:137 msgid "post tags" msgstr "Тэги постов" - -#~ msgid "eVibes Engine" -#~ msgstr "Движок eVibes" diff --git a/blog/locale/zh_Hans/LC_MESSAGES/django.po b/blog/locale/zh_Hans/LC_MESSAGES/django.po index 4b9d5b5b..22e73742 100644 --- a/blog/locale/zh_Hans/LC_MESSAGES/django.po +++ b/blog/locale/zh_Hans/LC_MESSAGES/django.po @@ -65,6 +65,3 @@ msgstr "职位标签" #: blog/models.py:137 msgid "post tags" msgstr "帖子标签" - -#~ msgid "eVibes Engine" -#~ msgstr "eVibes 引擎" diff --git a/core/admin.py b/core/admin.py index d5b9dad2..2d791ad2 100644 --- a/core/admin.py +++ b/core/admin.py @@ -6,6 +6,7 @@ from constance.admin import ConstanceAdmin as BaseConstanceAdmin from django.apps import apps from django.contrib.admin import ModelAdmin, TabularInline, action, register, site from django.contrib.gis.admin import GISModelAdmin +from django.contrib.messages import constants as messages from django.db.models import Model from django.utils.translation import gettext_lazy as _ from modeltranslation.translator import NotRegistered, translator @@ -92,15 +93,27 @@ class ActivationActionsMixin: "deactivate_selected", ] - @action(description=_("activate selected %(verbose_name_plural)s"), permissions=["change"]) + @action(description=_("activate selected %(verbose_name_plural)s").lower(), permissions=["change"]) def activate_selected(self, request, queryset): - queryset.update(is_active=True) - self.message_user(request, _("selected items have been activated.")) + try: + queryset.update(is_active=True) + self.message_user( + request=request, message=_("selected items have been activated.").lower(), level=messages.SUCCESS + ) - @action(description=_("deactivate selected %(verbose_name_plural)s"), permissions=["change"]) + except Exception as e: + self.message_user(request=request, message=str(e), level=messages.ERROR) + + @action(description=_("deactivate selected %(verbose_name_plural)s").lower(), permissions=["change"]) def deactivate_selected(self, request, queryset): - queryset.update(is_active=False) - self.message_user(request, _("selected items have been deactivated.")) + try: + queryset.update(is_active=False) + self.message_user( + request=request, message=_("selected items have been deactivated.").lower(), level=messages.SUCCESS + ) + + except Exception as e: + self.message_user(request=request, message=str(e), level=messages.ERROR) class AttributeValueInline(TabularInline): diff --git a/core/locale/ar_AR/LC_MESSAGES/django.mo b/core/locale/ar_AR/LC_MESSAGES/django.mo index 9ae90e77f13d7567c6731d116dcc71111cb24a3a..020cfa2abdfa2f32cdaa2c61875f4da343d9921f 100644 GIT binary patch delta 10898 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 delta 13312 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -27,8 +27,7 @@ msgstr "نشط" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "إذا تم تعيينه على خطأ، لا يمكن للمستخدمين رؤية هذا الكائن دون الحاجة إلى إذن" @@ -48,82 +47,82 @@ msgstr "تم التعديل" msgid "when the object was last modified" msgstr "متى تم تحرير الكائن آخر مرة" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "الترجمات" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "جنرال لواء" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "العلاقات" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "البيانات الوصفية" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "الطوابع الزمنية" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "تنشيط المحدد %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "تم تفعيل العناصر المختارة!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "إلغاء تنشيط %(verbose_name_plural)s المحددة" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "تم إلغاء تنشيط العناصر المحددة!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "قيمة السمة" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "قيم السمات" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "الصورة" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "الصور" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "المخزون" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "الأسهم" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "طلب المنتج" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "اطلب المنتجات" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "الأطفال" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "التكوين" @@ -185,7 +184,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "تطبيق مفتاح فقط لقراءة البيانات المسموح بها من ذاكرة التخزين المؤقت.\n" -"تطبيق مفتاح وبيانات ومهلة مع المصادقة لكتابة البيانات إلى ذاكرة التخزين المؤقت." +"تطبيق مفتاح وبيانات ومهلة مع المصادقة لكتابة البيانات إلى ذاكرة التخزين " +"المؤقت." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -240,8 +240,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "إعادة كتابة مجموعة سمات موجودة تحفظ غير القابلة للتعديل" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "إعادة كتابة بعض حقول مجموعة سمات موجودة تحفظ غير القابلة للتعديل" #: core/docs/drf/viewsets.py:70 @@ -289,8 +288,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "إعادة كتابة قيمة سمة موجودة تحفظ غير القابلة للتعديل" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "إعادة كتابة بعض حقول قيمة سمة موجودة حفظ غير قابل للتعديل" #: core/docs/drf/viewsets.py:124 @@ -327,8 +325,8 @@ msgstr "بالنسبة للمستخدمين من غير الموظفين، يت #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "البحث في سلسلة فرعية غير حساسة لحالة الأحرف عبر human_readable_id و " "order_products.product.name و order_products.product.partnumber" @@ -364,9 +362,9 @@ msgstr "تصفية حسب حالة الطلب (مطابقة سلسلة فرعي #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "الترتيب حسب واحد من: uuid، معرف_بشري_مقروء، بريد_إلكتروني_مستخدم، مستخدم، " "حالة، إنشاء، تعديل، وقت_الشراء، عشوائي. البادئة بحرف \"-\" للترتيب التنازلي " @@ -436,8 +434,7 @@ msgid "" "adds a list of products to an order using the provided `product_uuid` and " "`attributes`." msgstr "" -"يضيف قائمة من المنتجات إلى طلب باستخدام \"معرّف_المنتج\" و\"السمات\" " -"المتوفرة." +"يضيف قائمة من المنتجات إلى طلب باستخدام \"معرّف_المنتج\" و\"السمات\" المتوفرة." #: core/docs/drf/viewsets.py:266 msgid "remove product from order" @@ -447,7 +444,8 @@ msgstr "إزالة منتج من الطلب" msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." -msgstr "يزيل منتجًا من أحد الطلبات باستخدام \"معرّف_المنتج\" و\"السمات\" المتوفرة." +msgstr "" +"يزيل منتجًا من أحد الطلبات باستخدام \"معرّف_المنتج\" و\"السمات\" المتوفرة." #: core/docs/drf/viewsets.py:272 msgid "remove product from order, quantities will not count" @@ -533,20 +531,32 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "تصفية حسب زوج واحد أو أكثر من أسماء/قيم السمات. \n" "- **صيغة**: `attr_name=الطريقة-القيمة[ ؛ attr2=الطريقة2-القيمة2]...`\n" -"- **الأساليب** (افتراضيًا إلى \"يحتوي على\" إذا تم حذفها): \"بالضبط\"، \"بالضبط\"، \"بالضبط\"، \"يحتوي\"، \"يحتوي\"، \"لاغية\"، \"يبدأ ب\"، \"يبدأ ب\"، \"يبدأ ب\"، \"ينتهي ب\"، \"ينتهي ب\"، \"regex\"، \"iregex\"، \"lt\"، \"lte\"، \"gt\"، \"gte\"، \"in\n" -"- **كتابة القيمة**: تتم تجربة JSON أولًا (حتى تتمكن من تمرير القوائم/المجادلات)، \"صحيح\"/\"خطأ\" للمنطقيين والأعداد الصحيحة والعوامات؛ وإلا يتم التعامل معها كسلسلة. \n" -"- **القاعدة 64**: البادئة ب \"b64-\" لتشفير القيمة الخام بأمان لقاعدة 64- لتشفير القيمة الخام. \n" +"- **الأساليب** (افتراضيًا إلى \"يحتوي على\" إذا تم حذفها): \"بالضبط\"، " +"\"بالضبط\"، \"بالضبط\"، \"يحتوي\"، \"يحتوي\"، \"لاغية\"، \"يبدأ ب\"، \"يبدأ " +"ب\"، \"يبدأ ب\"، \"ينتهي ب\"، \"ينتهي ب\"، \"regex\"، \"iregex\"، \"lt\"، " +"\"lte\"، \"gt\"، \"gte\"، \"in\n" +"- **كتابة القيمة**: تتم تجربة JSON أولًا (حتى تتمكن من تمرير القوائم/" +"المجادلات)، \"صحيح\"/\"خطأ\" للمنطقيين والأعداد الصحيحة والعوامات؛ وإلا يتم " +"التعامل معها كسلسلة. \n" +"- **القاعدة 64**: البادئة ب \"b64-\" لتشفير القيمة الخام بأمان لقاعدة 64- " +"لتشفير القيمة الخام. \n" "أمثلة: \n" -"'color=exact-red'، 'size=gt-10'، 'features=in-[\"wifi\"،\"bluetooth\"]، 'fatures=in-[\"wifi\",\"bluetooth\"],\n" +"'color=exact-red'، 'size=gt-10'، 'features=in-[\"wifi\"،\"bluetooth\"]، " +"'fatures=in-[\"wifi\",\"bluetooth\"],\n" "\"b64-description=icontains-aGVhdC1jb2xk" #: core/docs/drf/viewsets.py:349 @@ -599,7 +609,8 @@ msgstr "(بالضبط) الرقمية مقابل المادية" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" "قائمة مفصولة بفواصل من الحقول للفرز حسب. البادئة بـ \"-\" للفرز التنازلي. \n" @@ -777,8 +788,8 @@ msgstr "السمات" msgid "Quantity" msgstr "الكمية" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "سبيكة" @@ -860,7 +871,7 @@ msgstr "البيانات المخزنة مؤقتاً" msgid "camelized JSON data from the requested URL" msgstr "بيانات JSON مجمّلة من عنوان URL المطلوب" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "يُسمح فقط بعناوين URL التي تبدأ ب http(s)://" @@ -869,10 +880,10 @@ msgid "add a product to the order" msgstr "إضافة منتج إلى الطلب" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "الطلب {order_uuid} غير موجود" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -886,32 +897,32 @@ msgstr "إزالة جميع المنتجات من الطلب" msgid "buy an order" msgstr "شراء طلبية" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "يرجى تقديم إما Order_uuid أو order_uid_hr_hr_id - متنافيان!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "جاء نوع خاطئ من طريقة order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "تنفيذ إجراء على قائمة من المنتجات بالترتيب" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "إزالة/إضافة" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "يجب أن يكون الإجراء إما \"إضافة\" أو \"إزالة\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "تنفيذ إجراء على قائمة المنتجات في قائمة الأمنيات" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "يُرجى تقديم قيمة \"wishlist_uid\"." @@ -920,7 +931,7 @@ msgstr "يُرجى تقديم قيمة \"wishlist_uid\"." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "قائمة الأمنيات {wishlist_uuid} غير موجودة" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -944,8 +955,8 @@ msgstr "شراء طلبية" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "الرجاء إرسال السمات كسلسلة منسقة مثل attr1=قيمة1، attr2=قيمة2" #: core/graphene/mutations.py:532 @@ -959,16 +970,18 @@ msgstr "يجب أن يكون الإجراء إما \"إضافة\" أو \"إزا #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "طلب منتج {order_product_uuid} غير موجود" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "سلسلة العنوان الأصلي المقدمة من المستخدم" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} غير موجود: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -978,8 +991,8 @@ msgstr "يجب أن يكون الحد بين 1 و10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - يعمل مثل السحر" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "السمات" @@ -992,11 +1005,11 @@ msgid "groups of attributes" msgstr "مجموعات السمات" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "الفئات" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "العلامات التجارية" @@ -1005,7 +1018,7 @@ msgid "category image url" msgstr "الفئات" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "النسبة المئوية للترميز" @@ -1014,8 +1027,7 @@ msgid "which attributes and values can be used for filtering this category." msgstr "ما هي السمات والقيم التي يمكن استخدامها لتصفية هذه الفئة." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "الحد الأدنى والحد الأقصى لأسعار المنتجات في هذه الفئة، إذا كانت متوفرة." @@ -1027,7 +1039,7 @@ msgstr "العلامات الخاصة بهذه الفئة" msgid "products in this category" msgstr "المنتجات في هذه الفئة" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "البائعون" @@ -1039,36 +1051,36 @@ msgstr "خط العرض (الإحداثي Y)" msgid "Longitude (X coordinate)" msgstr "خط الطول (الإحداثي X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "كيفية" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "قيمة التصنيف من 1 إلى 10، شاملة، أو 0 إذا لم يتم تعيينها." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "يمثل ملاحظات من المستخدم." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "الإشعارات" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "تحميل الرابط الخاص بمنتج الطلب هذا إن أمكن" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "قائمة بطلب المنتجات بهذا الترتيب" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "عنوان إرسال الفواتير" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1076,51 +1088,51 @@ msgstr "" "عنوان الشحن لهذا الطلب، اترك العنوان فارغًا إذا كان هو نفسه عنوان إرسال " "الفواتير أو إذا لم يكن منطبقًا" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "السعر الإجمالي لهذا الطلب" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "إجمالي كمية المنتجات بالترتيب" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "هل جميع المنتجات في الطلب رقمي" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "المعاملات الخاصة بهذا الطلب" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "الطلبات" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "رابط الصورة" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "صور المنتج" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "الفئة" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "الملاحظات" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "العلامة التجارية" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "مجموعات السمات" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1128,7 +1140,7 @@ msgstr "مجموعات السمات" msgid "price" msgstr "السعر" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1136,31 +1148,31 @@ msgstr "السعر" msgid "quantity" msgstr "الكمية" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "عدد الملاحظات" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "المنتجات" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "الرموز الترويجية" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "المنتجات المعروضة للبيع" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "العروض الترويجية" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "البائع" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1168,910 +1180,901 @@ msgstr "البائع" msgid "product" msgstr "المنتج" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "المنتجات المفضلة" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "قوائم التمنيات" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "المنتجات الموسومة" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "علامات المنتج" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "الفئات الموسومة" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "علامات الفئات" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "اسم المشروع" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "البريد الإلكتروني للشركة" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "اسم الشركة" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "عنوان الشركة" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "رقم هاتف الشركة" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" -"\"البريد الإلكتروني من\"، في بعض الأحيان يجب استخدامه بدلاً من قيمة المستخدم" -" المضيف" +"\"البريد الإلكتروني من\"، في بعض الأحيان يجب استخدامه بدلاً من قيمة المستخدم " +"المضيف" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "مستخدم البريد الإلكتروني المضيف" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "الحد الأقصى لمبلغ السداد" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "الحد الأدنى لمبلغ السداد" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "بيانات التحليلات" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "بيانات الإعلانات" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "التكوين" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "رمز اللغة" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "اسم اللغة" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "علم اللغة، إذا كان موجوداً :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "الحصول على قائمة باللغات المدعومة" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "نتائج البحث عن المنتجات" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "نتائج البحث عن المنتجات" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "والد هذه المجموعة" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "مجموعة السمات الرئيسية" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "اسم مجموعة السمات" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "مجموعة السمات" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "تخزين بيانات الاعتماد ونقاط النهاية المطلوبة لاتصالات واجهة برمجة التطبيقات " "الخاصة بالمورّد" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "معلومات المصادقة" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "تحديد الترميز للمنتجات المسترجعة من هذا البائع" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "نسبة هامش الربح للبائع" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "اسم هذا البائع" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "اسم البائع" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "معرّف العلامة الداخلي لعلامة المنتج" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "اسم العلامة" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "اسم سهل الاستخدام لعلامة المنتج" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "اسم عرض العلامة" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "علامة المنتج" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "علامة الفئة" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "علامات الفئة" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "تحميل صورة تمثل هذه الفئة" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "صورة الفئة" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "تحديد نسبة ترميز للمنتجات في هذه الفئة" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "أصل هذه الفئة لتكوين بنية هرمية" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "الفئة الرئيسية" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "اسم الفئة" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "تقديم اسم لهذه الفئة" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "إضافة وصف تفصيلي لهذه الفئة" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "وصف الفئة" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "العلامات التي تساعد في وصف هذه الفئة أو تجميعها" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "الأولوية" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "اسم هذه العلامة التجارية" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "اسم العلامة التجارية" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "تحميل شعار يمثل هذه العلامة التجارية" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "صورة العلامة التجارية الصغيرة" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "رفع شعار كبير يمثل هذه العلامة التجارية" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "صورة كبيرة للعلامة التجارية" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "إضافة وصف تفصيلي للعلامة التجارية" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "وصف العلامة التجارية" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "الفئات الاختيارية التي ترتبط بها هذه العلامة التجارية" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "الفئات" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "البائع الذي يورد هذا المنتج المخزون" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "البائع المرتبط" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "السعر النهائي للعميل بعد هوامش الربح" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "سعر البيع" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "المنتج المرتبط بإدخال المخزون هذا" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "المنتج المرتبط" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "السعر المدفوع للبائع مقابل هذا المنتج" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "سعر الشراء من البائع" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "الكمية المتوفرة من المنتج في المخزون" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "الكمية في المخزون" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU المعين من قبل البائع لتحديد المنتج" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "وحدة تخزين البائع" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "الملف الرقمي المرتبط بهذا المخزون إن أمكن" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "ملف رقمي" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "إدخالات المخزون" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "الفئة التي ينتمي إليها هذا المنتج" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "ربط هذا المنتج اختياريًا بعلامة تجارية" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "العلامات التي تساعد في وصف أو تجميع هذا المنتج" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "يشير إلى ما إذا كان هذا المنتج يتم تسليمه رقميًا أم لا" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "هل المنتج رقمي" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "توفير اسم تعريفي واضح للمنتج" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "اسم المنتج" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "إضافة وصف تفصيلي للمنتج" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "وصف المنتج" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "رقم الجزء لهذا المنتج" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "رقم الجزء" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "فئة هذه السمة" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "مجموعة هذه السمة" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "الخيط" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "عدد صحيح" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "تعويم" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "منطقية" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "المصفوفة" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "الكائن" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "نوع قيمة السمة" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "نوع القيمة" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "اسم هذه السمة" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "اسم السمة" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "السمة" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "سمة هذه القيمة" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "المنتج المحدد المرتبط بقيمة هذه السمة" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "القيمة المحددة لهذه السمة" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "توفير نص بديل للصورة لإمكانية الوصول" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "النص البديل للصورة" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "تحميل ملف الصورة لهذا المنتج" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "صورة المنتج" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "يحدد الترتيب الذي يتم عرض الصور به" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "أولوية العرض" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "المنتج الذي تمثله هذه الصورة" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "صور المنتج" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "النسبة المئوية للخصم على المنتجات المختارة" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "نسبة الخصم" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "تقديم اسم فريد لهذا العرض الترويجي" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "اسم الترقية" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "وصف الترقية" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "حدد المنتجات المشمولة في هذا العرض الترويجي" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "المنتجات المشمولة" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "الترقية" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "المنتجات التي حددها المستخدم على أنها مطلوبة" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "المستخدم الذي يمتلك قائمة الرغبات هذه" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "مالك قائمة الرغبات" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "قائمة الرغبات" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} غير موجود: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "فيلم وثائقي" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "الأفلام الوثائقية" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "لم يتم حلها" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "سطر العنوان للعميل" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "سطر العنوان" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "الشارع" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "المنطقة" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "المدينة" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "المنطقة" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "الرمز البريدي" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "البلد" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "نقطة تحديد الموقع الجغرافي(خط الطول، خط العرض)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "استجابة JSON كاملة من أداة التشفير الجغرافي لهذا العنوان" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "استجابة JSON مخزّنة من خدمة الترميز الجغرافي" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "العنوان" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "العناوين" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "الرمز الفريد الذي يستخدمه المستخدم لاسترداد قيمة الخصم" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "معرّف الرمز الترويجي" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "مبلغ الخصم الثابت المطبق في حالة عدم استخدام النسبة المئوية" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "مبلغ الخصم الثابت" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "النسبة المئوية للخصم المطبق في حالة عدم استخدام مبلغ ثابت" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "النسبة المئوية للخصم" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "الطابع الزمني عند انتهاء صلاحية الرمز الترويجي" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "وقت انتهاء الصلاحية" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "الطابع الزمني الذي يكون هذا الرمز الترويجي صالحاً منه" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "وقت بدء الصلاحية" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" -msgstr "" -"الطابع الزمني عند استخدام الرمز الترويجي، فارغ إذا لم يتم استخدامه بعد" +msgstr "الطابع الزمني عند استخدام الرمز الترويجي، فارغ إذا لم يتم استخدامه بعد" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "الطابع الزمني للاستخدام" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "المستخدم المعين لهذا الرمز الترويجي إن أمكن" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "المستخدم المعين" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "الرمز الترويجي" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "الرموز الترويجية" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"يجب تحديد نوع واحد فقط من الخصم (المبلغ أو النسبة المئوية)، وليس كلا النوعين" -" أو لا هذا ولا ذاك." +"يجب تحديد نوع واحد فقط من الخصم (المبلغ أو النسبة المئوية)، وليس كلا النوعين " +"أو لا هذا ولا ذاك." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "تم استخدام الرمز الترويجي بالفعل" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "نوع الخصم غير صالح للرمز الترويجي {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "عنوان إرسال الفواتير المستخدم لهذا الطلب" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "الرمز الترويجي الاختياري المطبق على هذا الطلب" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "الرمز الترويجي المطبق" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "عنوان الشحن المستخدم لهذا الطلب" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "عنوان الشحن" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "الحالة الحالية للطلب في دورة حياته" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "حالة الطلب" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "بنية JSON للإشعارات التي سيتم عرضها للمستخدمين، في واجهة مستخدم المشرف، يتم " "استخدام عرض الجدول" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "تمثيل JSON لسمات الطلب لهذا الطلب" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "المستخدم الذي قدم الطلب" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "المستخدم" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "الطابع الزمني عند الانتهاء من الطلب" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "وقت الشراء" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "معرّف يمكن قراءته بواسطة البشر للطلب" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "معرّف يمكن قراءته من قبل البشر" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "الطلب" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "يجب أن يكون لدى المستخدم طلب واحد فقط معلق في كل مرة!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "لا يمكنك إضافة منتجات إلى طلب غير معلق إلى طلب غير معلق" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "لا يمكنك إضافة منتجات غير نشطة للطلب" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "لا يمكنك إضافة منتجات أكثر من المتوفرة في المخزون" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "لا يمكنك إزالة المنتجات من طلب غير معلق من طلب غير معلق" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} غير موجود مع الاستعلام <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "الرمز الترويجي غير موجود" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "يمكنك فقط شراء المنتجات المادية مع تحديد عنوان الشحن فقط!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "العنوان غير موجود" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "لا يمكنك الشراء في هذه اللحظة، يرجى المحاولة مرة أخرى بعد بضع دقائق." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "قيمة القوة غير صالحة" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "لا يمكنك شراء طلبية فارغة!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "لا يمكنك شراء طلب بدون مستخدم!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "المستخدم بدون رصيد لا يمكنه الشراء بالرصيد!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "عدم كفاية الأموال لإكمال الطلب" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "" -"لا يمكنك الشراء بدون تسجيل، يرجى تقديم المعلومات التالية: اسم العميل، البريد" -" الإلكتروني للعميل، رقم هاتف العميل" +"لا يمكنك الشراء بدون تسجيل، يرجى تقديم المعلومات التالية: اسم العميل، البريد " +"الإلكتروني للعميل، رقم هاتف العميل" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "طريقة الدفع غير صالحة: {payment_method} من {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "السعر الذي دفعه العميل لهذا المنتج وقت الشراء" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "سعر الشراء وقت الطلب" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "تعليقات داخلية للمسؤولين حول هذا المنتج المطلوب" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "التعليقات الداخلية" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "إشعارات المستخدم" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "تمثيل JSON لسمات هذا العنصر" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "سمات المنتج المطلوبة" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "الإشارة إلى الطلب الأصلي الذي يحتوي على هذا المنتج" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "ترتيب الوالدين" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "المنتج المحدد المرتبط بخط الطلب هذا" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "كمية هذا المنتج المحدد في الطلب" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "كمية المنتج" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "الحالة الحالية لهذا المنتج بالترتيب" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "حالة خط الإنتاج" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "يجب أن يكون لـ Orderproduct طلب مرتبط به!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "إجراء خاطئ محدد للتغذية الراجعة: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "لا يمكنك التعليق على طلب لم يتم استلامه" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "تنزيل" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "التنزيلات" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "لا يمكنك تنزيل أصل رقمي لطلب غير مكتمل" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "التعليقات المقدمة من المستخدمين حول تجربتهم مع المنتج" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "تعليقات على الملاحظات" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "الإشارة إلى المنتج المحدد في الطلب الذي تدور حوله هذه الملاحظات" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "منتجات الطلبات ذات الصلة" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "التصنيف المعين من قبل المستخدم للمنتج" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "تصنيف المنتج" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "الملاحظات" @@ -2080,7 +2083,7 @@ msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "يجب عليك تقديم تعليق، وتقييم، وطلب المنتج uuid لإضافة ملاحظاتك." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "خطأ أثناء إنشاء الرمز الترويجي: {e!s}" @@ -2106,17 +2109,18 @@ msgstr "الشعار" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "مرحبًا %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" -"شكرًا لك على طلبك #%(order.pk)s! يسعدنا إبلاغك بأننا قد أخذنا طلبك في العمل." -" فيما يلي تفاصيل طلبك:" +"شكرًا لك على طلبك #%(order.pk)s! يسعدنا إبلاغك بأننا قد أخذنا طلبك في العمل. " +"فيما يلي تفاصيل طلبك:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:110 @@ -2146,7 +2150,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "مع أطيب التحيات، فريق عمل %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2160,14 +2164,14 @@ msgstr "تم تسليم الطلب" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "مرحباً %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format msgid "" "we have successfully processed your order №%(order_uuid)s! below are the\n" " details of your order:" -msgstr "لقد قمنا بمعالجة طلبك بنجاح №%(order_uuid)s__! فيما يلي تفاصيل طلبك:" +msgstr "" #: core/templates/digital_order_delivered_email.html:128 msgid "" @@ -2193,7 +2197,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "مع أطيب التحيات، فريق عمل %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2202,7 +2206,8 @@ msgstr "المفتاح" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "شكرًا لك على طلبك! يسعدنا تأكيد طلبك. فيما يلي تفاصيل طلبك:" @@ -2220,7 +2225,7 @@ msgstr "سيتم توصيل طلبك إلى العنوان التالي:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "مع أطيب تحياتي،
فريق عمل %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2242,17 +2247,17 @@ msgstr "قيمة المهلة غير صالحة، يجب أن تكون بين 0 #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | بدء الاتصال بنا" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | تأكيد الطلب" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | تم تسليم الطلب" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2265,21 +2270,21 @@ msgstr "يجب تكوين معلمة NOMINATIM_URL!" #: core/validators.py:16 #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" -msgstr "يجب ألا تتجاوز أبعاد الصورة w{max_width} x h{max_height} بكسل" +msgstr "" #: core/validators.py:22 msgid "invalid phone number format" msgstr "تنسيق رقم الهاتف غير صالح" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "يمكنك تنزيل الأصل الرقمي مرة واحدة فقط" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "الرمز المفضل غير موجود" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "خطأ في الترميز الجغرافي: {e}" +msgstr "" diff --git a/core/locale/cs_CZ/LC_MESSAGES/django.mo b/core/locale/cs_CZ/LC_MESSAGES/django.mo index 8e869644187fff27cb336ca6974f08cb96a58be7..f6e6a04581497d142718f35f8e1b52aaf3bf0871 100644 GIT binary patch delta 10907 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 ad1$fRG5OWp$McIt=04t^>>hj|(ewXhM|jr& delta 12768 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -28,8 +28,7 @@ msgstr "Je aktivní" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Pokud je nastaveno na false, nemohou tento objekt vidět uživatelé bez " "potřebného oprávnění." @@ -50,82 +49,82 @@ msgstr "Upraveno" msgid "when the object was last modified" msgstr "Kdy byl objekt naposledy upraven" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Překlady" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Obecné" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Vztahy" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadata" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Časová razítka" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Aktivovat vybrané %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Vybrané položky byly aktivovány!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Deaktivovat vybrané %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Vybrané položky byly deaktivovány!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Hodnota atributu" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Hodnoty atributů" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Obrázek" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Obrázky" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Stock" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Zásoby" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Objednat produkt" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Objednat produkty" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Děti" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Konfigurace" @@ -244,8 +243,7 @@ msgstr "" "Přepsání existující skupiny atributů s uložením neupravitelných položek" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Přepsání některých polí existující skupiny atributů s uložením " "neupravitelných položek" @@ -297,8 +295,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Přepsání existující hodnoty atributu uložením neupravitelných položek" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Přepsání některých polí existující hodnoty atributu s uložením " "neupravitelných položek" @@ -340,12 +337,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Vyhledávání podřetězců bez ohledu na velikost písmen v položkách " -"human_readable_id, order_products.product.name a " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name a order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -381,9 +378,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Řazení podle jedné z následujících možností: uuid, human_readable_id, " "user_email, user, status, created, modified, buy_time, random. Pro sestupné " @@ -424,8 +421,8 @@ msgid "" "completed using the user's balance; if `force_payment` is used, a " "transaction is initiated." msgstr "" -"Dokončí nákup objednávky. Pokud je použito `force_balance`, nákup se dokončí" -" s použitím zůstatku uživatele; pokud je použito `force_payment`, zahájí se " +"Dokončí nákup objednávky. Pokud je použito `force_balance`, nákup se dokončí " +"s použitím zůstatku uživatele; pokud je použito `force_payment`, zahájí se " "transakce." #: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:324 @@ -540,8 +537,7 @@ msgstr "Přidání mnoha produktů do seznamu přání" #: core/docs/drf/viewsets.py:320 msgid "adds many products to an wishlist using the provided `product_uuids`" -msgstr "" -"Přidá mnoho produktů do seznamu přání pomocí zadaných `product_uuids`." +msgstr "Přidá mnoho produktů do seznamu přání pomocí zadaných `product_uuids`." #: core/docs/drf/viewsets.py:325 msgid "remove many products from wishlist" @@ -557,18 +553,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrování podle jedné nebo více dvojic název/hodnota atributu. \n" "- **Syntaxe**: `attr_name=method-value[;attr2=method2-value2]...`\n" -"- **Metody** (pokud je vynecháno, výchozí hodnota je `obsahuje`): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- **Typování hodnot**: Pro booleany, celá čísla, floaty se nejprve zkouší JSON (takže můžete předávat seznamy/dicty), `true`/`false`; jinak se s nimi zachází jako s řetězci. \n" -"- **Base64**: předpona `b64-` pro bezpečné zakódování surové hodnoty do URL base64. \n" +"- **Metody** (pokud je vynecháno, výchozí hodnota je `obsahuje`): `iexact`, " +"`exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, " +"`endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" +"- **Typování hodnot**: Pro booleany, celá čísla, floaty se nejprve zkouší " +"JSON (takže můžete předávat seznamy/dicty), `true`/`false`; jinak se s nimi " +"zachází jako s řetězci. \n" +"- **Base64**: předpona `b64-` pro bezpečné zakódování surové hodnoty do URL " +"base64. \n" "Příklady: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -623,10 +629,12 @@ msgstr "(přesně) Digitální vs. fyzické" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Seznam polí oddělených čárkou, podle kterých se má třídit. Pro sestupné řazení použijte předponu `-`. \n" +"Seznam polí oddělených čárkou, podle kterých se má třídit. Pro sestupné " +"řazení použijte předponu `-`. \n" "**Povolené:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -802,8 +810,8 @@ msgstr "Atributy" msgid "Quantity" msgstr "Množství" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Slug" @@ -885,7 +893,7 @@ msgstr "Data uložená v mezipaměti" msgid "camelized JSON data from the requested URL" msgstr "Kamelizovaná data JSON z požadované adresy URL" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Povoleny jsou pouze adresy URL začínající http(s)://." @@ -894,10 +902,10 @@ msgid "add a product to the order" msgstr "Přidání produktu do objednávky" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Objednávka {order_uuid} nebyla nalezena" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -911,32 +919,32 @@ msgstr "Odstranění všech produktů z objednávky" msgid "buy an order" msgstr "Koupit objednávku" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Zadejte prosím order_uuid nebo order_hr_id - vzájemně se vylučují!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Z metody order.buy() pochází nesprávný typ: {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Provedení akce na seznamu produktů v objednávce" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Odebrat/přidat" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "Akce musí být buď \"přidat\", nebo \"odebrat\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Provedení akce na seznamu produktů v seznamu přání" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Zadejte prosím hodnotu `wishlist_uuid`." @@ -945,7 +953,7 @@ msgstr "Zadejte prosím hodnotu `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Seznam přání {wishlist_uuid} nebyl nalezen" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -969,11 +977,11 @@ msgstr "Koupit objednávku" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" -"Prosím, pošlete atributy jako řetězec ve formátu " -"attr1=hodnota1,attr2=hodnota2." +"Prosím, pošlete atributy jako řetězec ve formátu attr1=hodnota1," +"attr2=hodnota2." #: core/graphene/mutations.py:532 msgid "add or delete a feedback for orderproduct" @@ -986,16 +994,18 @@ msgstr "Akce musí být buď `add` nebo `remove`!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Orderproduct {order_product_uuid} nebyl nalezen" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Původní řetězec adresy zadaný uživatelem" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} neexistuje: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1005,8 +1015,8 @@ msgstr "Limit musí být mezi 1 a 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funguje jako kouzlo" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Atributy" @@ -1019,11 +1029,11 @@ msgid "groups of attributes" msgstr "Skupiny atributů" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Kategorie" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Značky" @@ -1032,7 +1042,7 @@ msgid "category image url" msgstr "Kategorie" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Procento přirážky" @@ -1041,11 +1051,9 @@ msgid "which attributes and values can be used for filtering this category." msgstr "Které atributy a hodnoty lze použít pro filtrování této kategorie." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" -"Minimální a maximální ceny produktů v této kategorii, pokud jsou k " -"dispozici." +"Minimální a maximální ceny produktů v této kategorii, pokud jsou k dispozici." #: core/graphene/object_types.py:137 msgid "tags for this category" @@ -1055,7 +1063,7 @@ msgstr "Štítky pro tuto kategorii" msgid "products in this category" msgstr "Produkty v této kategorii" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Prodejci" @@ -1067,36 +1075,36 @@ msgstr "Zeměpisná šířka (souřadnice Y)" msgid "Longitude (X coordinate)" msgstr "Zeměpisná délka (souřadnice X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Jak na to" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Hodnota hodnocení od 1 do 10 včetně nebo 0, pokud není nastaveno." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Představuje zpětnou vazbu od uživatele." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Oznámení" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Stáhněte si url adresu pro tento objednaný produkt, pokud je to možné" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Seznam objednaných produktů v tomto pořadí" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Fakturační adresa" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1104,51 +1112,51 @@ msgstr "" "Dodací adresa pro tuto objednávku, pokud je stejná jako fakturační adresa " "nebo pokud není použitelná, ponechte prázdné." -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Celková cena této objednávky" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Celkové množství objednaných produktů" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Jsou všechny produkty v objednávce digitální" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transakce pro tuto objednávku" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Objednávky" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "Adresa URL obrázku" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Obrázky produktu" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Kategorie" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Zpětná vazba" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Značka" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Skupiny atributů" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1156,7 +1164,7 @@ msgstr "Skupiny atributů" msgid "price" msgstr "Cena" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1164,31 +1172,31 @@ msgstr "Cena" msgid "quantity" msgstr "Množství" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Počet zpětných vazeb" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Produkty" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Propagační kódy" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Produkty v prodeji" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Propagační akce" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Prodejce" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1196,643 +1204,636 @@ msgstr "Prodejce" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Produkty uvedené na seznamu přání" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Seznamy přání" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Produkty s příznakem" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Štítky produktu" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Kategorie s příznakem" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Štítky kategorií" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Název projektu" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "E-mail společnosti" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Název společnosti" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Adresa společnosti" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Telefonní číslo společnosti" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', někdy se musí použít místo hodnoty hostitelského uživatele." -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Uživatel hostitelského e-mailu" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Maximální částka pro platbu" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Minimální částka pro platbu" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Analytická data" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Reklamní údaje" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Konfigurace" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Kód jazyka" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Název jazyka" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Příznak jazyka, pokud existuje :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Získat seznam podporovaných jazyků" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Výsledky vyhledávání produktů" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Výsledky vyhledávání produktů" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Rodič této skupiny" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Nadřazená skupina atributů" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Název skupiny atributů" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Skupina atributů" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Ukládá pověření a koncové body potřebné pro komunikaci s rozhraním API " "dodavatele." -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Informace o ověřování" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "Definice přirážky pro produkty získané od tohoto dodavatele" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Procento přirážky prodejce" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Název tohoto prodejce" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Název prodejce" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Interní identifikátor značky produktu" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Název štítku" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Uživatelsky přívětivý název pro značku produktu" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Zobrazení názvu štítku" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Štítek produktu" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "značka kategorie" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "štítky kategorií" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Nahrát obrázek reprezentující tuto kategorii" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Obrázek kategorie" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Definovat procento přirážky pro produkty v této kategorii." -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Nadřízený této kategorie, který tvoří hierarchickou strukturu." -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Nadřazená kategorie" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Název kategorie" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Uveďte název této kategorie" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Přidejte podrobný popis této kategorie" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Popis kategorie" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "značky, které pomáhají popsat nebo seskupit tuto kategorii" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Priorita" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Název této značky" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Název značky" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Nahrát logo reprezentující tuto značku" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Malý obrázek značky" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Nahrát velké logo reprezentující tuto značku" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Velká image značky" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Přidejte podrobný popis značky" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Popis značky" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Volitelné kategorie, se kterými je tato značka spojena" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Kategorie" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "Prodejce dodávající tento výrobek na sklad" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Přidružený prodejce" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Konečná cena pro zákazníka po přirážkách" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Prodejní cena" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Produkt spojený s touto skladovou položkou" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Související produkt" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "Cena zaplacená prodejci za tento výrobek" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Kupní cena prodejce" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Dostupné množství produktu na skladě" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Množství na skladě" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU přidělený prodejcem pro identifikaci výrobku" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "SKU prodejce" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Digitální soubor spojený s touto zásobou, je-li to vhodné" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Digitální soubor" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Zápisy do zásob" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Kategorie, do které tento produkt patří" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Volitelně přiřadit tento produkt ke značce" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Značky, které pomáhají popsat nebo seskupit tento produkt" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Označuje, zda je tento produkt dodáván digitálně" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Je produkt digitální" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Uveďte jasný identifikační název výrobku" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Název produktu" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Přidejte podrobný popis produktu" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Popis produktu" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Číslo dílu pro tento produkt" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Číslo dílu" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Kategorie tohoto atributu" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Skupina tohoto atributu" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Řetězec" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Celé číslo" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Float" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Boolean" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Pole" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Objekt" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Typ hodnoty atributu" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Typ hodnoty" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Název tohoto atributu" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Název atributu" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Atribut" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Atribut této hodnoty" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "Konkrétní produkt spojený s hodnotou tohoto atributu" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "Konkrétní hodnota tohoto atributu" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "Poskytněte alternativní text k obrázku kvůli přístupnosti." -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Text alt obrázku" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Nahrát soubor s obrázkem tohoto produktu" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Obrázek produktu" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Určuje pořadí, v jakém se obrázky zobrazují." -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Priorita zobrazení" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Výrobek, který tento obrázek představuje" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Obrázky produktů" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Procentuální sleva na vybrané produkty" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Procento slevy" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Uveďte jedinečný název této propagační akce" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Název akce" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Popis propagace" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Vyberte, které produkty jsou zahrnuty do této akce" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Zahrnuté produkty" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Propagace" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Výrobky, které uživatel označil jako požadované" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Uživatel, který vlastní tento seznam přání" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Majitel seznamu přání" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Seznam přání" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} neexistuje: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Dokumentární film" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Dokumentární filmy" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Nevyřešené" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Adresní řádek pro zákazníka" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Adresní řádek" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Ulice" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Okres" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Město" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Region" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Poštovní směrovací číslo" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Země" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Geolokace Bod(Zeměpisná délka, Zeměpisná šířka)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Úplná odpověď JSON z geokodéru pro tuto adresu" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Uložená odpověď JSON ze služby geokódování" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Adresa" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adresy" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Jedinečný kód, který uživatel použije k uplatnění slevy." -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Identifikátor propagačního kódu" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Pevná výše slevy, pokud není použito procento" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Pevná výše slevy" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentuální sleva uplatněná v případě nevyužití pevné částky" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Procentuální sleva" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Časové razítko ukončení platnosti promokódu" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Doba ukončení platnosti" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Časové razítko, od kterého je tento promokód platný" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Čas zahájení platnosti" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "Časové razítko použití promokódu, prázdné, pokud ještě nebyl použit." -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Časové razítko použití" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Uživatel přiřazený k tomuto promokódu, je-li to relevantní" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Přiřazený uživatel" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Propagační kód" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Propagační kódy" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1840,145 +1841,144 @@ msgstr "" "Měl by být definován pouze jeden typ slevy (částka nebo procento), nikoli " "však oba typy slev nebo žádný z nich." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Promo kód byl již použit" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Neplatný typ slevy pro promocode {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "Fakturační adresa použitá pro tuto objednávku" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Volitelný promo kód použitý na tuto objednávku" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Použitý promo kód" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "Dodací adresa použitá pro tuto objednávku" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Dodací adresa" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Aktuální stav zakázky v jejím životním cyklu" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Stav objednávky" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "JSON struktura oznámení pro zobrazení uživatelům, v uživatelském rozhraní " "administrátora se používá tabulkové zobrazení." -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "JSON reprezentace atributů objednávky pro tuto objednávku" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "Uživatel, který zadal objednávku" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Uživatel" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "Časové razítko, kdy byla objednávka dokončena." -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Kupte si čas" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Lidsky čitelný identifikátor objednávky" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "lidsky čitelné ID" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Objednávka" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "Uživatel smí mít vždy pouze jednu čekající objednávku!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" -msgstr "" -"Do objednávky, která není v procesu vyřizování, nelze přidat produkty." +msgstr "Do objednávky, která není v procesu vyřizování, nelze přidat produkty." -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Do objednávky nelze přidat neaktivní produkty" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "Nelze přidat více produktů, než je dostupné na skladě" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "Nelze odebrat produkty z objednávky, která není nevyřízená." -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} neexistuje s dotazem <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Promo kód neexistuje" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "Fyzické produkty můžete zakoupit pouze se zadanou dodací adresou!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Adresa neexistuje" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "V tuto chvíli nemůžete nakupovat, zkuste to prosím znovu za několik minut." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Neplatná hodnota síly" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Nelze zakoupit prázdnou objednávku!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "Bez uživatele nelze objednávku zakoupit!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Uživatel bez zůstatku nemůže nakupovat se zůstatkem!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Nedostatek finančních prostředků na dokončení objednávky" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1986,122 +1986,121 @@ msgstr "" "bez registrace nelze nakupovat, uveďte prosím následující údaje: jméno " "zákazníka, e-mail zákazníka, telefonní číslo zákazníka." -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Neplatný způsob platby: {payment_method} z {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "Cena, kterou zákazník zaplatil za tento produkt v době nákupu." -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Nákupní cena v době objednávky" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "Interní komentáře pro administrátory k tomuto objednanému produktu" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Interní připomínky" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Oznámení uživatele" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "JSON reprezentace atributů této položky" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Objednané atributy produktu" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Odkaz na nadřazenou objednávku, která obsahuje tento produkt" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Objednávka rodičů" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Konkrétní produkt spojený s touto objednávkou" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Množství tohoto konkrétního produktu v objednávce" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Množství produktu" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Aktuální stav tohoto produktu v objednávce" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Stav produktové řady" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Orderproduct musí mít přiřazenou objednávku!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "špatně zadaná akce pro zpětnou vazbu: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "nelze poskytnout zpětnou vazbu na objednávku, která nebyla přijata" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Stáhnout" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Ke stažení na" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "Digitální aktivum pro nedokončenou objednávku nelze stáhnout." -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Komentáře uživatelů o jejich zkušenostech s produktem" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Zpětná vazba" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" "Odkazuje na konkrétní produkt v objednávce, kterého se tato zpětná vazba " "týká." -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Související objednávka produktu" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Hodnocení produktu přidělené uživatelem" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Hodnocení produktu" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Zpětná vazba" @@ -2111,7 +2110,7 @@ msgid "" msgstr "" "pro přidání zpětné vazby musíte uvést komentář, hodnocení a uuid produktu." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Chyba při vytváření promokódu: {e!s}" @@ -2137,13 +2136,14 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Hello %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Děkujeme vám za vaši objednávku #%(order.pk)s! S potěšením Vám oznamujeme, " @@ -2178,7 +2178,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "S pozdravem,
tým %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2192,7 +2192,7 @@ msgstr "Dodaná objednávka" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Ahoj %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2228,7 +2228,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "S pozdravem,
tým %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2237,7 +2237,8 @@ msgstr "Klíč" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Děkujeme vám za vaši objednávku! S potěšením potvrzujeme váš nákup. Níže " @@ -2257,7 +2258,7 @@ msgstr "Vaše objednávka bude doručena na následující adresu:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "S pozdravem,
tým %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2279,17 +2280,17 @@ msgstr "Nesprávná hodnota timeoutu, musí být v rozmezí 0 až 216000 sekund. #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Kontakt iniciován" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Potvrzení objednávky" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Dodaná objednávka" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2309,15 +2310,15 @@ msgstr "" msgid "invalid phone number format" msgstr "Nesprávný formát telefonního čísla" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Digitální aktivum můžete stáhnout pouze jednou" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon nebyl nalezen" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Chyba v zeměpisném kódování: {e}" +msgstr "" diff --git a/core/locale/da_DK/LC_MESSAGES/django.mo b/core/locale/da_DK/LC_MESSAGES/django.mo index 5a21167dad9bc0b19a65405be51f16005dceb785..c6689e5de30e697263f43ad91747063b6c160167 100644 GIT binary patch delta 10907 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 delta 12757 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 diff --git a/core/locale/da_DK/LC_MESSAGES/django.po b/core/locale/da_DK/LC_MESSAGES/django.po index 1143fff4..0f872bf0 100644 --- a/core/locale/da_DK/LC_MESSAGES/django.po +++ b/core/locale/da_DK/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -27,8 +27,7 @@ msgstr "Er aktiv" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Hvis det er sat til false, kan dette objekt ikke ses af brugere uden den " "nødvendige tilladelse." @@ -49,82 +48,82 @@ msgstr "Modificeret" msgid "when the object was last modified" msgstr "Hvornår objektet sidst blev redigeret" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Oversættelser" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Generelt" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relationer" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadata" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Tidsstempler" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Aktivér udvalgte %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Udvalgte varer er blevet aktiveret!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Deaktiver udvalgte %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Udvalgte varer er blevet deaktiveret!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Attributværdi" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Attributværdier" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Billede" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Billeder" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Lager" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Aktier" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Bestil produkt" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Bestil produkter" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Børn" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Konfig" @@ -186,7 +185,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Anvend kun en nøgle til at læse tilladte data fra cachen.\n" -"Anvend nøgle, data og timeout med autentificering for at skrive data til cachen." +"Anvend nøgle, data og timeout med autentificering for at skrive data til " +"cachen." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -243,8 +243,7 @@ msgstr "" "attributter" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Omskriv nogle felter i en eksisterende attributgruppe og gem ikke-" "redigerbare felter" @@ -297,11 +296,10 @@ msgstr "" "Omskriv en eksisterende attributværdi, der gemmer ikke-redigerbare filer" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" -"Omskriv nogle felter i en eksisterende attributværdi og gem ikke-redigerbare" -" felter" +"Omskriv nogle felter i en eksisterende attributværdi og gem ikke-redigerbare " +"felter" #: core/docs/drf/viewsets.py:124 msgid "list all categories (simple view)" @@ -335,17 +333,16 @@ msgstr "Liste over alle kategorier (enkel visning)" #: core/docs/drf/viewsets.py:152 msgid "for non-staff users, only their own orders are returned." -msgstr "" -"For ikke-ansatte brugere er det kun deres egne ordrer, der returneres." +msgstr "For ikke-ansatte brugere er det kun deres egne ordrer, der returneres." #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Substringsøgning uden brug af store og små bogstaver på tværs af " -"human_readable_id, order_products.product.name og " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name og order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -377,13 +374,13 @@ msgstr "Filtrer efter ordrestatus (case-insensitive substring match)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Bestil efter en af: uuid, human_readable_id, user_email, user, status, " -"created, modified, buy_time, random. Præfiks med '-' for faldende rækkefølge" -" (f.eks. '-buy_time')." +"created, modified, buy_time, random. Præfiks med '-' for faldende rækkefølge " +"(f.eks. '-buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -533,8 +530,7 @@ msgstr "Fjern et produkt fra ønskelisten" #: core/docs/drf/viewsets.py:314 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" -"Fjerner et produkt fra en ønskeliste ved hjælp af den angivne " -"`product_uuid`." +"Fjerner et produkt fra en ønskeliste ved hjælp af den angivne `product_uuid`." #: core/docs/drf/viewsets.py:319 msgid "add many products to wishlist" @@ -561,18 +557,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrer efter et eller flere attributnavn/værdipar. \n" "- **Syntaks**: `attr_name=method-value[;attr2=method2-value2]...`.\n" -"- **Metoder** (standard er `icontains`, hvis udeladt): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- Værdiindtastning**: JSON forsøges først (så du kan sende lister/dikter), `true`/`false` for booleans, heltal, floats; ellers behandles de som strenge. \n" -"- **Base64**: præfiks med `b64-` for URL-sikker base64-kodning af den rå værdi. \n" +"- **Metoder** (standard er `icontains`, hvis udeladt): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- Værdiindtastning**: JSON forsøges først (så du kan sende lister/dikter), " +"`true`/`false` for booleans, heltal, floats; ellers behandles de som " +"strenge. \n" +"- **Base64**: præfiks med `b64-` for URL-sikker base64-kodning af den rå " +"værdi. \n" "Eksempler på dette: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`." @@ -627,10 +633,12 @@ msgstr "(præcis) Digital vs. fysisk" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Kommasepareret liste over felter, der skal sorteres efter. Præfiks med `-` for faldende. \n" +"Kommasepareret liste over felter, der skal sorteres efter. Præfiks med `-` " +"for faldende. \n" "**Tilladt:** uuid, vurdering, navn, slug, oprettet, ændret, pris, tilfældig" #: core/docs/drf/viewsets.py:441 @@ -804,8 +812,8 @@ msgstr "Egenskaber" msgid "Quantity" msgstr "Mængde" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Snegl" @@ -887,7 +895,7 @@ msgstr "Cachelagrede data" msgid "camelized JSON data from the requested URL" msgstr "Cameliserede JSON-data fra den ønskede URL" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Kun URL'er, der starter med http(s)://, er tilladt." @@ -896,10 +904,10 @@ msgid "add a product to the order" msgstr "Tilføj et produkt til ordren" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Ordre {order_uuid} ikke fundet" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -913,32 +921,32 @@ msgstr "Fjern alle produkter fra ordren" msgid "buy an order" msgstr "Køb en ordre" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Angiv enten order_uuid eller order_hr_id - det udelukker hinanden!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Forkert type kom fra metoden order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Udfør en handling på en liste af produkter i ordren" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Fjern/tilføj" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "Handlingen skal være enten \"tilføj\" eller \"fjern\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Udfør en handling på en liste af produkter i ønskelisten" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Angiv venligst værdien `wishlist_uuid`." @@ -947,7 +955,7 @@ msgstr "Angiv venligst værdien `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Ønskeliste {wishlist_uuid} ikke fundet" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -971,11 +979,11 @@ msgstr "Køb en ordre" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" -"Send venligst attributterne som en streng formateret som " -"attr1=værdi1,attr2=værdi2" +"Send venligst attributterne som en streng formateret som attr1=værdi1," +"attr2=værdi2" #: core/graphene/mutations.py:532 msgid "add or delete a feedback for orderproduct" @@ -988,16 +996,18 @@ msgstr "Handlingen skal være enten `add` eller `remove`!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Ordreprodukt {order_product_uuid} ikke fundet" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Original adressestreng leveret af brugeren" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} findes ikke: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1007,8 +1017,8 @@ msgstr "Grænsen skal være mellem 1 og 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - fungerer som en charme" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Egenskaber" @@ -1021,11 +1031,11 @@ msgid "groups of attributes" msgstr "Grupper af attributter" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Kategorier" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Mærker" @@ -1034,19 +1044,17 @@ msgid "category image url" msgstr "Kategorier" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Markup-procentdel" #: core/graphene/object_types.py:131 msgid "which attributes and values can be used for filtering this category." msgstr "" -"Hvilke attributter og værdier, der kan bruges til at filtrere denne " -"kategori." +"Hvilke attributter og værdier, der kan bruges til at filtrere denne kategori." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimums- og maksimumspriser for produkter i denne kategori, hvis de er " "tilgængelige." @@ -1059,7 +1067,7 @@ msgstr "Tags for denne kategori" msgid "products in this category" msgstr "Produkter i denne kategori" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Leverandører" @@ -1071,38 +1079,38 @@ msgstr "Breddegrad (Y-koordinat)" msgid "Longitude (X coordinate)" msgstr "Længdegrad (X-koordinat)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Sådan gør du" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" "Vurderingsværdi fra 1 til 10, inklusive, eller 0, hvis den ikke er " "indstillet." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Repræsenterer feedback fra en bruger." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Meddelelser" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Download url for dette ordreprodukt, hvis det er relevant" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "En liste over bestillingsprodukter i denne ordre" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Faktureringsadresse" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1110,51 +1118,51 @@ msgstr "" "Leveringsadresse for denne ordre, lad den være tom, hvis den er den samme " "som faktureringsadressen, eller hvis den ikke er relevant" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Samlet pris for denne ordre" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Samlet antal produkter i ordren" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Er alle produkterne i ordren digitale?" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transaktioner for denne ordre" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Bestillinger" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "Billed-URL" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Produktets billeder" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Kategori" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Tilbagemeldinger" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Brand" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Attributgrupper" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1162,7 +1170,7 @@ msgstr "Attributgrupper" msgid "price" msgstr "Pris" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1170,31 +1178,31 @@ msgstr "Pris" msgid "quantity" msgstr "Mængde" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Antal tilbagemeldinger" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Produkter" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Promokoder" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Produkter til salg" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Kampagner" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Leverandør" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1202,644 +1210,637 @@ msgstr "Leverandør" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Produkter på ønskelisten" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Ønskelister" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Mærkede produkter" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Produktmærker" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Tagged kategorier" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Kategoriernes tags" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Projektets navn" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Virksomhedens e-mail" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Virksomhedens navn" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Virksomhedens adresse" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Virksomhedens telefonnummer" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'e-mail fra', nogle gange skal den bruges i stedet for værtsbrugerværdien" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "E-mail-værtsbruger" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Maksimalt beløb til betaling" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Minimumsbeløb for betaling" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Analytiske data" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Data om reklamer" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Konfiguration" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Sprogkode" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Sprogets navn" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Sprogflag, hvis det findes :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Få en liste over understøttede sprog" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Søgeresultater for produkter" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Søgeresultater for produkter" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Forælder til denne gruppe" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Overordnet attributgruppe" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Attributgruppens navn" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Attributgruppe" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Gemmer legitimationsoplysninger og slutpunkter, der er nødvendige for " "leverandørens API-kommunikation" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Oplysninger om godkendelse" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "Definer markeringen for produkter, der hentes fra denne leverandør" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Sælgerens markup-procentdel" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Navn på denne leverandør" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Leverandørens navn" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Intern tag-identifikator for produkttagget" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Tag-navn" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Brugervenligt navn til produktmærket" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Navn på tag-visning" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Produktmærke" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "Kategori-tag" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "Kategori-tags" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Upload et billede, der repræsenterer denne kategori" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Kategori billede" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Definer en markup-procentdel for produkter i denne kategori" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Forælder til denne kategori for at danne en hierarkisk struktur" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Overordnet kategori" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Navn på kategori" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Giv et navn til denne kategori" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Tilføj en detaljeret beskrivelse af denne kategori" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Beskrivelse af kategori" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "tags, der hjælper med at beskrive eller gruppere denne kategori" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Prioritet" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Navnet på dette mærke" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Varemærke" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Upload et logo, der repræsenterer dette brand" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Brandets lille image" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Upload et stort logo, der repræsenterer dette brand" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Brandets store image" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Tilføj en detaljeret beskrivelse af brandet" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Varemærkebeskrivelse" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Valgfrie kategorier, som dette brand er forbundet med" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Kategorier" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "Den leverandør, der leverer dette produkt, lagerfører" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Tilknyttet leverandør" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Endelig pris til kunden efter tillæg" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Salgspris" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Det produkt, der er knyttet til denne lagerpost" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Tilknyttet produkt" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "Den pris, der er betalt til sælgeren for dette produkt" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Leverandørens købspris" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Tilgængelig mængde af produktet på lager" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Antal på lager" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "Leverandørtildelt SKU til identifikation af produktet" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "Leverandørens SKU" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Digital fil knyttet til dette lager, hvis relevant" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Digital fil" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Lagerposteringer" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Kategori, som dette produkt tilhører" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Tilknyt eventuelt dette produkt til et brand" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Tags, der hjælper med at beskrive eller gruppere dette produkt" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Angiver, om dette produkt leveres digitalt" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Er produktet digitalt?" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Giv produktet et klart identificerende navn" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Produktets navn" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Tilføj en detaljeret beskrivelse af produktet" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Produktbeskrivelse" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Reservedelsnummer for dette produkt" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Varenummer" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Kategori for denne attribut" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Gruppe af denne attribut" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Streng" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Heltal" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Flyder" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Boolsk" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Array" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Objekt" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Type af attributtens værdi" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Værditype" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Navn på denne attribut" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Attributtens navn" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Attribut" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Attribut for denne værdi" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "Det specifikke produkt, der er knyttet til denne attributs værdi" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "Den specifikke værdi for denne attribut" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "Giv alternativ tekst til billedet af hensyn til tilgængeligheden" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Billedets alt-tekst" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Upload billedfilen til dette produkt" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Produktbillede" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Bestemmer den rækkefølge, billederne vises i" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Skærm-prioritet" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Det produkt, som dette billede repræsenterer" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Produktbilleder" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Procentvis rabat for de valgte produkter" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Rabatprocent" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Giv et unikt navn til denne kampagne" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Navn på kampagne" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Beskrivelse af kampagnen" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Vælg, hvilke produkter der er inkluderet i denne kampagne" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Inkluderede produkter" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Forfremmelse" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Produkter, som brugeren har markeret som ønskede" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Bruger, der ejer denne ønskeliste" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Ønskelistens ejer" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Ønskeliste" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} findes ikke: {product_uuid}." - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Dokumentarfilm" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Dokumentarfilm" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Uafklaret" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Adresselinje til kunden" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Adresselinje" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Gade" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Distrikt" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "By" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Region" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Postnummer" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Land" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Geolokaliseringspunkt (længdegrad, breddegrad)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Fuldt JSON-svar fra geokoderen for denne adresse" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Gemt JSON-svar fra geokodningstjenesten" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Adresse" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adresser" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Unik kode, der bruges af en bruger til at indløse en rabat" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Identifikator for kampagnekode" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Fast rabatbeløb anvendes, hvis procent ikke bruges" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Fast rabatbeløb" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentvis rabat, hvis det faste beløb ikke bruges" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Procentvis rabat" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Tidsstempel, når promokoden udløber" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Slut gyldighedstid" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Tidsstempel, hvorfra denne promokode er gyldig" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Start gyldighedstid" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Tidsstempel, hvor promokoden blev brugt, blank, hvis den ikke er brugt endnu" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Tidsstempel for brug" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Bruger tildelt denne promokode, hvis relevant" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Tildelt bruger" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Kampagnekode" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Kampagnekoder" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1847,147 +1848,145 @@ msgstr "" "Der skal kun defineres én type rabat (beløb eller procent), men ikke begge " "eller ingen af dem." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Promokoden er allerede blevet brugt" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Ugyldig rabattype for promokode {self.uuid}." +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "Den faktureringsadresse, der bruges til denne ordre" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Valgfri kampagnekode anvendt på denne ordre" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Anvendt kampagnekode" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "Den leveringsadresse, der er brugt til denne ordre" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Leveringsadresse" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Ordrens aktuelle status i dens livscyklus" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Bestillingsstatus" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" -"JSON-struktur af meddelelser, der skal vises til brugerne, i admin UI bruges" -" tabelvisningen" +"JSON-struktur af meddelelser, der skal vises til brugerne, i admin UI bruges " +"tabelvisningen" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "JSON-repræsentation af ordreattributter for denne ordre" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "Den bruger, der har afgivet ordren" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Bruger" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "Tidsstemplet for, hvornår ordren blev afsluttet" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Køb tid" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "En menneskeligt læsbar identifikator for ordren" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "menneskeligt læsbart ID" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Bestil" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "En bruger må kun have én afventende ordre ad gangen!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "Du kan ikke tilføje produkter til en ordre, der ikke er i gang." -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Du kan ikke tilføje inaktive produkter til en ordre" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "Du kan ikke tilføje flere produkter, end der er på lager" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende " -"ordre." +"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende ordre." -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} findes ikke med forespørgsel <{query}>." +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Promokode findes ikke" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "Du kan kun købe fysiske produkter med angivet leveringsadresse!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Adressen findes ikke" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "Du kan ikke købe i øjeblikket, prøv venligst igen om et par minutter." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Ugyldig kraftværdi" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Du kan ikke købe en tom ordre!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "" -"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende " -"ordre." +"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende ordre." -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "En bruger uden saldo kan ikke købe med saldo!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Utilstrækkelige midler til at gennemføre ordren" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1995,124 +1994,121 @@ msgstr "" "du kan ikke købe uden registrering, angiv venligst følgende oplysninger: " "kundens navn, kundens e-mail, kundens telefonnummer" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Ugyldig betalingsmetode: {payment_method} fra {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "Den pris, som kunden har betalt for dette produkt på købstidspunktet" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Købspris på bestillingstidspunktet" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "Interne kommentarer til administratorer om dette bestilte produkt" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Interne kommentarer" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Notifikationer til brugere" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "JSON-repræsentation af dette elements attributter" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Bestilte produktattributter" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Henvisning til den overordnede ordre, der indeholder dette produkt" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Forældreordre" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Det specifikke produkt, der er knyttet til denne ordrelinje" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Mængde af dette specifikke produkt i ordren" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Produktmængde" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Aktuel status for dette produkt i bestillingen" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Status for produktlinje" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Orderproduct skal have en tilknyttet ordre!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "forkert handling angivet for feedback: {action}." +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "" -"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende " -"ordre." +"Du kan ikke fjerne produkter fra en ordre, der ikke er en igangværende ordre." -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Download" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Downloads" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "Du kan ikke downloade et digitalt aktiv for en ikke-færdiggjort ordre" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Brugernes kommentarer om deres oplevelse med produktet" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Kommentarer til feedback" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" -"Henviser til det specifikke produkt i en ordre, som denne feedback handler " -"om" +"Henviser til det specifikke produkt i en ordre, som denne feedback handler om" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Relateret ordreprodukt" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Brugertildelt vurdering af produktet" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Produktvurdering" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Feedback" @@ -2123,7 +2119,7 @@ msgstr "" "Du skal angive en kommentar, en vurdering og et produkt-uid for at tilføje " "feedback." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Fejl under oprettelse af promokode: {e!s}" @@ -2149,13 +2145,14 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Hej %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Tak for din ordre #%(order.pk)s! Vi er glade for at kunne informere dig om, " @@ -2189,7 +2186,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Med venlig hilsen,
%(config.PROJECT_NAME)s team" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2203,7 +2200,7 @@ msgstr "Order Delivered" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hej %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2239,7 +2236,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Med venlig hilsen,
%(project_name)s team" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2248,7 +2245,8 @@ msgstr "Nøgle" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Tak for din bestilling! Vi er glade for at kunne bekræfte dit køb. Nedenfor " @@ -2268,7 +2266,7 @@ msgstr "Din ordre vil blive leveret til følgende adresse:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Med venlig hilsen %(config.PROJECT_NAME)s team" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2290,17 +2288,17 @@ msgstr "Ugyldig timeout-værdi, den skal være mellem 0 og 216000 sekunder" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Kontakt os indledt" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Ordrebekræftelse" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Ordre leveret" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2314,22 +2312,21 @@ msgstr "Parameteren NOMINATIM_URL skal være konfigureret!" #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -"Billedets dimensioner bør ikke overstige w{max_width} x h{max_height} " -"pixels." +"Billedets dimensioner bør ikke overstige w{max_width} x h{max_height} pixels." #: core/validators.py:22 msgid "invalid phone number format" msgstr "Ugyldigt telefonnummerformat" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Du kan kun downloade det digitale aktiv én gang" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "Favicon ikke fundet" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Fejl i geokodning: {e}" +msgstr "" diff --git a/core/locale/de_DE/LC_MESSAGES/django.mo b/core/locale/de_DE/LC_MESSAGES/django.mo index 5c62fcc2f708efc7580b2a892b31bee027c02bf3..f37664798f39db67dd3c44b06e3b6f865c78949e 100644 GIT binary patch delta 10907 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 delta 12838 zcmbW-2XIx@-iP502_^K#2XYCMAK_?TvNiuXJ5B=q7;ER1uo9zKq`@io*92WS=7=UYs35(Cvl2`a`+MIh8w6o z;Ky*)k#blPtD`#H2(=k|U(gzy*SZ+BG;2{E+k!4Ui1qO^HDo_H#lp=RbwpK+ zN4@YV)KqOj9iJVjo_}ELKS6c$I_gDtZN5l5vuCQJ23QMqe-qS9N1^tBH=2Y-n2bfy zgX+L^+u%jigLj}hbikIsgIe2jsHwh=nz`Gk7nW>q_DB%wg{@KL-O+`SNC&)*hlF-{ z4r-(iqh9nFYDre1ZrqA`(0Ur;A z2!4p1V8^d3vxMPYnSb5z83kJFtJoZMxV6h$pr$q)+1QQ;)zPh}rTHA|;Z>}GWxAV= zwLraS6zX^`L(SwC)SftiE zs1a_%g18s;oWrOkIg9FGkzS_5%~18>s1Ek?lF%lag^h3b7-9(}q1v^nwe-`!NfIjBiU)9pXf&-?&If2ZY^Mx&M zzr1E?e1kfczhiMMF~E$hDu$A8k0me}i{WIfijSi9)_PP2_M_S#MGfG4EUEJ!FwpGs zN~qmA816^kK3+yGQQ%NBkT47+ z-wMO9H@3t{$T!Y;1@+t?yd<>SLx-77;=yv{vr#>M9QDH0sHNI#y?}Md=NoRygHbaV zfz2@v)uENB0q(+)cnFy^Cx|1UJ>VTrf^UYi3$;6)2h0pK#Ij`jqaGZKT7n#Gf-hLl zqh_EuPnWGR7-O+5&chHqX6tWYYw}e_`F@FcohTA2n2mbyLF@OZsjEHOeETC&^@~t5 zb_hFTz=I~=2Ro5pYCVhX$(I{r$|F%TvkYtD8(2r@|2hfn;xZ4JsjPw8eBF>fI73jI zWjmI^L#R{n9_qgHsPp|bHo_a&1zpjmJl2|wT8i$MDZA?1VG1Xsns?Mc9e_ZdAKpP)k~uomv+oQJZ=ShU0qlYDzAW&}J&@ zHfz`xgUGv4YdI4;;)~byw{}b@64?OumQycnLK# zSFto!Ok)1klLkp+v(3VqxD2&fc4GjZM2+A*)EfGwm{ZUZwcBT47d(KW zm_OCbP$Se*k3h9sh#IK(6p5K6e!!+UG0m*eX4He;MwJJqJ5C?$hAnY1>IKKKKK_Wo zSbdzy_ryBnGf;c!NsP_McLueoD`)sVP+q4A2`xc?)R!+A)nGbSz!lb4P&08H`{8-) zg&~>d*K7uAh8AEoT!DJ=F4Pj9#bx*r7Qu9nK5(r66cRfrScE!$-LuTdhoMHg3N^Ab z_;G%I=^*>gd4G~wq7IY!lbw7tcE;1z(o@VHi9$U$6*W*Vs-vs1h|d2;5|wc)s;4Jy z{tT8Re+`S_ZES%7*=9F)#7*S8p+S&q9Wn>CsWxD5e8*a8x~Y$~K8F3N--dS}aUPb&uTed}joO5v91*QyH`LS)#aA#DbqazWF;g9Z<;V|2%}6|! z#qqZMQB+5s!jibrOF}Q$iKXx@)C(?Par_BOpx-RhvC^m|s)Mz#5o&ECty8fh`Hk2C zFJUXJ{iu2VDAfI_r~!H>k|;o86RIOGp*nCBHG+>(GjatB;%}(>e6!7qE28q9QByt~ zeR~KilTSnKiMgne??FBH5Het|bBcs+_yl#s71W6H&oK=HQ5~p?s&9mvnFv(7;aCq7 zP#s*18qf;#!>3W7>b0o*UPC?a1eVkJKTo0>1vk+jOU*TwL)};zHNs|C1tYK_#-rAH znXTW9dd?xNil5r@JJzy~nHgw+&8csW4S2tkL?Q^6V-w89es~FoV6%B z?L&3ojP(lYId`m8=9~I97)<#9o1cgQC5~ro1#3 zBOij=oGq~g_Q(1-8VBGUd;`y6AzZiEba*rNBflRt;$n~U4Z!lKj>JCB{I@0X3I%F# z6&v7>7>2GTW=RI1W@rYgBL`3;_yDyxuAvM4mYOB1jit$V#0(sa(RdVxWAHMw$EJHp zXv$_`Bre6mcm*}pH?R!e!X{XBx%niwM~&2jdeKzuhKsNfp2f!K|Agsa3)D>XMJ?$n z?1|ppBsB87sF4M%Ff&pEH3OrNkDN0Pi(tto&2PENsQf5&VFH%IIT(s7Q6HjXSOE*J zGy|xH>fk_RroGN|61rgvs>dJNe34aV%3Gn9LLJw_tIemmIO_OSM-8Zh z&G*8Ac~Z`j#tsE2N!wPtZ5U})MTQjFdMb`W?_3=iOui>?14qs znm@q?<3r?Eqn7eE>Uf2$Gab#ss^lL=eVW&xI#rAXr9e}=2aDpns8ewP)$?np zrSV^H9#|f=*=nKMH@D@TP#x}vIz`c_7bjy7&bIlD*pmF=^LkF=T7TRcD*a9CUpMv%Aq?d%2;AfnGLC={} zung7UC>FpQs1g5+&9TrXv&QYPTs}sI-6((hdGn$991D`~_JTS8eNY36!Frfx^{ybH z7ag<(-&o6THVxZj1oiP4g4<9dK97^|CXU7A7tMcQcpt}*Z@R^t_a&$o{tLtLI%+9G zUh^d~Hi)pnYW zhNAKhpq4lhi{VAA%KM#bwjf}a*^K2efbx3S1e;i>=9@Ms+CQH8bLH zY)U=`d*O1_gD;@=O3l6IkI%l?i2Ng{_wB$Dcxx~7--g7XeP-9sLrvj69Eg`tBW(G) znUOB2d|%YD9FDbc3I^dbSOWK9IXsE#*k`CEsK4Jlw>4^p=k90zT_l!LFba2IM+`h* zdOirl$ljB6*P`-a$IbU;HY&dzHKRpO za1!+Uzb6Sjcq?kte1)M{`VC`8YYM98E3q0L#C*7%AKwyDq;<6={RXju2qr2Kx@uq{ zERSy!cZt#YyzF`sq9V*9@XLp(T2bvXM9jpTKn6 zrU&T`q&ESkHlcox&jD& z3v_($P=4>Vi44C6eE*H$Kepo0zqFZ5UY~be|0aD9a|pinT&(}uzuds@4JVDV<#-i8 zP`i7s*0#MH!);pC7fA0!4^fwNBr!%6_gwl$6d_)x?%#M>>#uKjbNqrRPx=$oPS+Jr ztS4?!_6%}5okFCW5g(G)#W&0Oo&4vhubi%$#2(7tC3O8_aGods0+G*_dzk>=b;cG< zmBc_|KJk`CVsw#jNGv5LlJ`el zCy0K;Y0Bo|!-O}QAG(%NxR%hb-n^?S`LBtI6a?b$_$u)%v6gs}NThrU?j?$l-bq9g z4T$fF=|mOkRuQ_|kY8w$PDVc8{x|=^Sz!y~X`t&ttI6@V0r^kKT*nf&ZZOuStQawi zh_mJAa2femZJwmlk8~=2iJkBpI%aB3hF_MI;g{$#=tZ#7*KC@|_4>-t#23kQh!>QVG{r zl(n}F4r3Ej?98@h${tiXQO}kQ#T3euZQFFK7)9L=Hh+Zlq(AD+{_jfRu0INWDL;O? zC_hd#CLM$Ii8`dK68lI`BQi<%z!&f%+(CRs`WRNgw~3OZ=Mg7K=Up|)Z`c0oPGS>r zh?>R38q$-91k$T;8a5(E5W2QeRv(M{avVi0Ma(2F5M7DYv?+;4iM*>aWo3y)#GAxR zst6)ZkqJiag}iH!FP-~#$ew~_d%DwO)8mrT5?t<#jP#7Qu55Qs?ySZ|{p!Vfk|soZ z+^$S_iaXZhj&s$iH^H3|lb-1wlNO!o9y2Z_D!<`VF5tkY2 zY8R8yAu7?$9kJf^{K0WanX&0vX&#qn@;J9EK0U)l*HSgVZdW$b7$26El@yngo3BT5!RoGT-+RW; zBrc22`>I@N=^k#(N{d@Mx^K-2d2Rkumpi%dZ&fP0vL_~GCZ;6O!N1fmO-`&6tg)x3 zxiZJOW0T^OSU&Y9-tCTyiH;r1GMoCG+&PIy{k++Kvraj#sV<5=G<0QUx{}h8JW1?_ zIOl$iedEzBOigOE-u@3w7pY$|ToaQ#iLUWk?u^N< zcG*62I{bZ82K1+iyl*StR5=6LGVGX!z2h1Vb!TMej!Ib+P?4iBmZRX#$VyAdjCUud zxb1PcnzhNVQRl481oy-v8xm7E6Zbg^uIRBG8lK=z%UwJh)hHa^EBYS}QC@?;IYbEy-pyZoaCA(x$HNJ7#UI(1;bNu!<^+Wp45gHTcNB*s-bZlsLUKIxWGS;Er*p-E;by zzkc2SzNfE`P9G!l9X)oH=f3Bub5^`3BRU~d-_#=;JV^<>@1GjGqP3$_lH8NxeUCOL k(0B0kE?1gwl&S3C&N1;k-2LBY@Gp(;cL@KxnK_032RV5UeE\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Ist aktiv" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Wenn auf false gesetzt, kann dieses Objekt von Benutzern ohne die " "erforderliche Berechtigung nicht gesehen werden." @@ -51,82 +50,82 @@ msgstr "Geändert" msgid "when the object was last modified" msgstr "Wann das Objekt zuletzt bearbeitet wurde" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Übersetzungen" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Allgemein" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Beziehungen" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadaten" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Zeitstempel" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Ausgewählte %(verbose_name_plural)s aktivieren" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Ausgewählte Artikel wurden aktiviert!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Ausgewählte %(verbose_name_plural)s deaktivieren" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Ausgewählte Artikel wurden deaktiviert!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Attribut Wert" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Attribut Werte" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Bild" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Bilder" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Lagerbestand" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Bestände" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Produkt bestellen" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Produkte bestellen" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Kinder" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Konfigurieren Sie" @@ -187,8 +186,10 @@ msgid "" "apply only a key to read permitted data from cache.\n" "apply key, data and timeout with authentication to write data to cache." msgstr "" -"Wenden Sie nur einen Schlüssel an, um erlaubte Daten aus dem Cache zu lesen.\n" -"Schlüssel, Daten und Timeout mit Authentifizierung anwenden, um Daten in den Cache zu schreiben." +"Wenden Sie nur einen Schlüssel an, um erlaubte Daten aus dem Cache zu " +"lesen.\n" +"Schlüssel, Daten und Timeout mit Authentifizierung anwenden, um Daten in den " +"Cache zu schreiben." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -245,8 +246,7 @@ msgstr "" "Editierbarkeit" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Umschreiben einiger Felder einer bestehenden Attributgruppe, wobei nicht " "editierbare Felder gespeichert werden" @@ -276,8 +276,8 @@ msgstr "" #: core/docs/drf/viewsets.py:90 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" -"Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:97 msgid "list all attribute values (simple view)" @@ -302,8 +302,7 @@ msgstr "" "Editierbarkeit" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Umschreiben einiger Felder eines vorhandenen Attributwerts, wobei nicht " "bearbeitbare Daten gespeichert werden" @@ -332,8 +331,8 @@ msgstr "" #: core/docs/drf/viewsets.py:144 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" -"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:151 msgid "list all orders (simple view)" @@ -346,12 +345,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Groß- und Kleinschreibung unempfindliche Teilstringsuche über " -"human_readable_id, order_products.product.name und " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name und order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -387,9 +386,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Sortierung nach einem von: uuid, human_readable_id, user_email, user, " "status, created, modified, buy_time, random. Präfix mit '-' für absteigend " @@ -419,8 +418,8 @@ msgstr "" #: core/docs/drf/viewsets.py:227 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" -"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:231 msgid "purchase an order" @@ -443,8 +442,7 @@ msgstr "eine Bestellung kaufen, ohne ein Konto anzulegen" #: core/docs/drf/viewsets.py:246 msgid "finalizes the order purchase for a non-registered user." msgstr "" -"schließt den Kauf einer Bestellung für einen nicht registrierten Benutzer " -"ab." +"schließt den Kauf einer Bestellung für einen nicht registrierten Benutzer ab." #: core/docs/drf/viewsets.py:254 msgid "add product to order" @@ -461,8 +459,8 @@ msgstr "" #: core/docs/drf/viewsets.py:260 msgid "add a list of products to order, quantities will not count" msgstr "" -"Fügen Sie eine Liste der zu bestellenden Produkte hinzu, Mengen werden nicht" -" gezählt" +"Fügen Sie eine Liste der zu bestellenden Produkte hinzu, Mengen werden nicht " +"gezählt" #: core/docs/drf/viewsets.py:261 msgid "" @@ -531,8 +529,8 @@ msgstr "" #: core/docs/drf/viewsets.py:303 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" -"Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:307 msgid "add product to wishlist" @@ -579,18 +577,29 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtern Sie nach einem oder mehreren Attributnamen/Wertpaaren. \n" "- **Syntax**: `attr_name=Methode-Wert[;attr2=Methode2-Wert2]...`\n" -"- **Methoden** (Standardwert ist \"icontains\", wenn nicht angegeben): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- **Wert-Typisierung**: JSON wird zuerst versucht (damit man Listen/Dicts übergeben kann), `true`/`false` für Booleans, Integers, Floats; ansonsten als String behandelt. \n" -"- Base64**: Präfix \"b64-\" für URL-sichere Base64-Kodierung des Rohwertes. \n" +"- **Methoden** (Standardwert ist \"icontains\", wenn nicht angegeben): " +"`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, " +"`istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, " +"`gt`, `gte`, `in`\n" +"- **Wert-Typisierung**: JSON wird zuerst versucht (damit man Listen/Dicts " +"übergeben kann), `true`/`false` für Booleans, Integers, Floats; ansonsten " +"als String behandelt. \n" +"- Base64**: Präfix \"b64-\" für URL-sichere Base64-Kodierung des " +"Rohwertes. \n" "Beispiele: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -618,8 +627,7 @@ msgstr "(genau) Kategorie UUID" #: core/docs/drf/viewsets.py:378 msgid "(list) Tag names, case-insensitive" -msgstr "" -"(Liste) Tag-Namen, Groß- und Kleinschreibung wird nicht berücksichtigt" +msgstr "(Liste) Tag-Namen, Groß- und Kleinschreibung wird nicht berücksichtigt" #: core/docs/drf/viewsets.py:384 msgid "(gte) Minimum stock price" @@ -647,10 +655,12 @@ msgstr "(genau) Digital vs. physisch" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Durch Kommata getrennte Liste der Felder, nach denen sortiert werden soll. Präfix mit \"-\" für absteigend. \n" +"Durch Kommata getrennte Liste der Felder, nach denen sortiert werden soll. " +"Präfix mit \"-\" für absteigend. \n" "**Erlaubt:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -670,8 +680,8 @@ msgstr "Ein Produkt erstellen" #: core/docs/drf/viewsets.py:463 msgid "rewrite an existing product, preserving non-editable fields" msgstr "" -"Umschreiben eines bestehenden Produkts unter Beibehaltung nicht editierbarer" -" Felder" +"Umschreiben eines bestehenden Produkts unter Beibehaltung nicht editierbarer " +"Felder" #: core/docs/drf/viewsets.py:478 msgid "" @@ -719,10 +729,10 @@ msgstr "Autovervollständigung der Adresseingabe" #: core/docs/drf/viewsets.py:576 msgid "raw data query string, please append with data from geo-IP endpoint" msgstr "" -"docker compose exec app poetry run python manage.py deepl_translate -l en-gb" -" -l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " -"it-it -l ja-jp -l kk-kz -l nl-nl -l pl -l pt-br -l ro-ro -l ru-ru -l zh-hans" -" -a core -a geo -a payments -a vibes_auth -a blog" +"docker compose exec app poetry run python manage.py deepl_translate -l en-gb " +"-l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " +"it-it -l ja-jp -l kk-kz -l nl-nl -l pl -l pt-br -l ro-ro -l ru-ru -l zh-hans " +"-a core -a geo -a payments -a vibes_auth -a blog" #: core/docs/drf/viewsets.py:582 msgid "limit the results amount, 1 < limit < 10, default: 5" @@ -752,8 +762,8 @@ msgstr "" #: core/docs/drf/viewsets.py:615 msgid "rewrite some fields of an existing feedback saving non-editables" msgstr "" -"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare" -" Daten zu speichern" +"Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare " +"Daten zu speichern" #: core/docs/drf/viewsets.py:622 msgid "list all order–product relations (simple view)" @@ -832,8 +842,8 @@ msgstr "Attribute" msgid "Quantity" msgstr "Menge" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Schnecke" @@ -848,8 +858,8 @@ msgstr "Unterkategorien einbeziehen" #: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" msgstr "" -"Es muss eine category_uuid vorhanden sein, um das Flag include_subcategories" -" zu verwenden" +"Es muss eine category_uuid vorhanden sein, um das Flag include_subcategories " +"zu verwenden" #: core/filters.py:280 msgid "Search (ID, product name or part number)" @@ -916,7 +926,7 @@ msgstr "Zwischengespeicherte Daten" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-Daten aus der angeforderten URL" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Nur URLs, die mit http(s):// beginnen, sind zulässig" @@ -925,10 +935,10 @@ msgid "add a product to the order" msgstr "Ein Produkt zur Bestellung hinzufügen" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Bestellung {order_uuid} nicht gefunden" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -942,35 +952,34 @@ msgstr "Alle Produkte aus der Bestellung entfernen" msgid "buy an order" msgstr "Eine Bestellung kaufen" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Bitte geben Sie entweder order_uuid oder order_hr_id an - beide schließen " "sich gegenseitig aus!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Von der Methode order.buy() kam der falsche Typ: {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Eine Aktion für eine Liste von Produkten in der Bestellung ausführen" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Entfernen/Hinzufügen" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "Aktion muss entweder \"Hinzufügen\" oder \"Entfernen\" sein!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" -msgstr "" -"Ausführen einer Aktion für eine Liste von Produkten in der Wunschliste" +msgstr "Ausführen einer Aktion für eine Liste von Produkten in der Wunschliste" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Bitte geben Sie den Wert `wishlist_uuid` an." @@ -979,7 +988,7 @@ msgstr "Bitte geben Sie den Wert `wishlist_uuid` an." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Wunschzettel {wishlist_uuid} nicht gefunden" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -1003,8 +1012,8 @@ msgstr "Eine Bestellung kaufen" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" "Bitte senden Sie die Attribute als String im Format attr1=wert1,attr2=wert2" @@ -1020,16 +1029,18 @@ msgstr "Aktion muss entweder `Add` oder `remove` sein!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Bestellprodukt {order_product_uuid} nicht gefunden" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Vom Benutzer angegebene Originaladresse" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} existiert nicht: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1039,8 +1050,8 @@ msgstr "Der Grenzwert muss zwischen 1 und 10 liegen." msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funktioniert wie ein Zauber" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Attribute" @@ -1053,11 +1064,11 @@ msgid "groups of attributes" msgstr "Gruppen von Attributen" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Kategorien" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Marken" @@ -1066,7 +1077,7 @@ msgid "category image url" msgstr "Kategorien" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Markup Percentage" @@ -1077,11 +1088,9 @@ msgstr "" "verwendet werden." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" -"Mindest- und Höchstpreise für Produkte in dieser Kategorie, sofern " -"verfügbar." +"Mindest- und Höchstpreise für Produkte in dieser Kategorie, sofern verfügbar." #: core/graphene/object_types.py:137 msgid "tags for this category" @@ -1091,7 +1100,7 @@ msgstr "Tags für diese Kategorie" msgid "products in this category" msgstr "Produkte in dieser Kategorie" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Anbieter" @@ -1103,37 +1112,37 @@ msgstr "Breitengrad (Y-Koordinate)" msgid "Longitude (X coordinate)" msgstr "Längengrad (X-Koordinate)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Wie" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" "Bewertungswert von 1 bis einschließlich 10 oder 0, wenn nicht festgelegt." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Stellt das Feedback eines Benutzers dar." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Benachrichtigungen" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Download-Url für dieses Bestellprodukt, falls zutreffend" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Eine Liste der bestellten Produkte in dieser Reihenfolge" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Rechnungsadresse" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1141,51 +1150,51 @@ msgstr "" "Lieferadresse für diese Bestellung, leer lassen, wenn sie mit der " "Rechnungsadresse übereinstimmt oder nicht zutrifft" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Gesamtpreis für diese Bestellung" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Gesamtmenge der bestellten Produkte" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Sind alle Produkte in der Bestellung digital" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Vorgänge für diesen Auftrag" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Bestellungen" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "Bild URL" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Bilder des Produkts" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Kategorie" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Rückmeldungen" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Marke" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Attribut-Gruppen" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1193,7 +1202,7 @@ msgstr "Attribut-Gruppen" msgid "price" msgstr "Preis" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1201,31 +1210,31 @@ msgstr "Preis" msgid "quantity" msgstr "Menge" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Anzahl der Rückmeldungen" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Produkte" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Zum Verkauf stehende Produkte" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Werbeaktionen" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Anbieter" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1233,658 +1242,648 @@ msgstr "Anbieter" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Auf dem Wunschzettel stehende Produkte" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Wunschzettel" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Markierte Produkte" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Produkt-Tags" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Markierte Kategorien" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Kategorien'-Tags" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Name des Projekts" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Unternehmen E-Mail" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Name des Unternehmens" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Adresse des Unternehmens" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Telefonnummer des Unternehmens" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "E-Mail von\", muss manchmal anstelle des Host-Benutzerwerts verwendet werden" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "E-Mail-Host-Benutzer" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Höchstbetrag für die Zahlung" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Mindestbetrag für die Zahlung" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Analytische Daten" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Advertisement data" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Konfiguration" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Sprachcode" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Name der Sprache" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Sprachflagge, falls vorhanden :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Eine Liste der unterstützten Sprachen abrufen" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Suchergebnisse für Produkte" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Suchergebnisse für Produkte" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Elternteil dieser Gruppe" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Übergeordnete Attributgruppe" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Name der Attributgruppe" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Attribut-Gruppe" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Speichert Anmeldeinformationen und Endpunkte, die für die API-Kommunikation " "des Anbieters erforderlich sind" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Informationen zur Authentifizierung" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "" "Definieren Sie den Aufschlag für Produkte, die von diesem Lieferanten " "bezogen werden" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Prozentualer Aufschlag des Lieferanten" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Name dieses Anbieters" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Name des Anbieters" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Interner Tag-Identifikator für das Produkt-Tag" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Tag name" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Benutzerfreundlicher Name für den Produktanhänger" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Tag-Anzeigename" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Produkt-Tag" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "Kategorie-Tag" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "Kategorie-Tags" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Laden Sie ein Bild hoch, das diese Kategorie repräsentiert" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Kategorie Bild" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "" "Definieren Sie einen prozentualen Aufschlag für Produkte in dieser Kategorie" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "" "Übergeordneter dieser Kategorie, um eine hierarchische Struktur zu bilden" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Übergeordnete Kategorie" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Name der Kategorie" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Geben Sie einen Namen für diese Kategorie an" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Fügen Sie eine detaillierte Beschreibung für diese Kategorie hinzu" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Beschreibung der Kategorie" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "Tags, die helfen, diese Kategorie zu beschreiben oder zu gruppieren" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Priorität" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Name dieser Marke" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Markenname" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Laden Sie ein Logo hoch, das diese Marke repräsentiert" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Marke kleines Bild" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Laden Sie ein großes Logo hoch, das diese Marke repräsentiert" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Großes Image der Marke" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Fügen Sie eine detaillierte Beschreibung der Marke hinzu" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Beschreibung der Marke" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "" "Optionale Kategorien, mit denen diese Marke in Verbindung gebracht wird" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Kategorien" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "Der Verkäufer, der dieses Produkt liefert, hat folgende Bestände" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Zugehöriger Anbieter" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Endpreis für den Kunden nach Aufschlägen" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Verkaufspreis" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Das mit diesem Bestandseintrag verbundene Produkt" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Zugehöriges Produkt" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "Der an den Verkäufer gezahlte Preis für dieses Produkt" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Einkaufspreis des Verkäufers" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Verfügbare Menge des Produkts auf Lager" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Vorrätige Menge" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "Vom Hersteller zugewiesene SKU zur Identifizierung des Produkts" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "SKU des Verkäufers" -#: core/models.py:550 -msgid "digital file associated with this stock if applicable" -msgstr "" -"Digitale Datei, die mit diesem Bestand verbunden ist, falls zutreffend" - #: core/models.py:551 +msgid "digital file associated with this stock if applicable" +msgstr "Digitale Datei, die mit diesem Bestand verbunden ist, falls zutreffend" + +#: core/models.py:552 msgid "digital file" msgstr "Digitale Datei" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Bestandseinträge" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Kategorie, zu der dieses Produkt gehört" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Optional können Sie dieses Produkt mit einer Marke verknüpfen" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Tags, die helfen, dieses Produkt zu beschreiben oder zu gruppieren" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Gibt an, ob dieses Produkt digital geliefert wird" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Ist das Produkt digital" -#: core/models.py:631 -msgid "provide a clear identifying name for the product" -msgstr "" -"Geben Sie einen eindeutigen Namen zur Identifizierung des Produkts an." - #: core/models.py:632 +msgid "provide a clear identifying name for the product" +msgstr "Geben Sie einen eindeutigen Namen zur Identifizierung des Produkts an." + +#: core/models.py:633 msgid "product name" msgstr "Name des Produkts" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Fügen Sie eine detaillierte Beschreibung des Produkts hinzu" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Beschreibung des Produkts" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Teilenummer für dieses Produkt" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Teilnummer" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Kategorie dieses Attributs" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Gruppe dieses Attributs" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Zeichenfolge" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Integer" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Schwimmer" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Boolesche" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Array" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Objekt" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Typ des Attributwerts" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Werttyp" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Name dieses Attributs" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Name des Attributs" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Attribut" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Attribut dieses Wertes" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "" "Das spezifische Produkt, das mit dem Wert dieses Attributs verbunden ist" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "Der spezifische Wert für dieses Attribut" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "" "Geben Sie einen alternativen Text für das Bild an, um die Barrierefreiheit " "zu gewährleisten." -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Bild-Alt-Text" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Laden Sie die Bilddatei für dieses Produkt hoch" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Produktbild" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Legt die Reihenfolge fest, in der die Bilder angezeigt werden" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Priorität anzeigen" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Das Produkt, das dieses Bild darstellt" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Produktbilder" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Prozentualer Rabatt für die ausgewählten Produkte" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Prozentsatz der Ermäßigung" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Geben Sie einen eindeutigen Namen für diese Aktion an" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Name der Aktion" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Wählen Sie aus, welche Produkte in dieser Aktion enthalten sind" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Enthaltene Produkte" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Förderung" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Produkte, die der Benutzer als gewünscht markiert hat" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Benutzer, dem diese Wunschliste gehört" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Besitzer der Wishlist" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Wunschzettel" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} existiert nicht: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Dokumentarfilm" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Dokumentarfilme" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Ungelöst" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Adresszeile für den Kunden" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Adresszeile" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Straße" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Bezirk" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Stadt" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Region" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Postleitzahl" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Land" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Längengrad, Breitengrad)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Vollständige JSON-Antwort vom Geocoder für diese Adresse" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Gespeicherte JSON-Antwort vom Geokodierungsdienst" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Adresse" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adressen" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "" "Einzigartiger Code, den ein Nutzer zum Einlösen eines Rabatts verwendet" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Kennung des Promo-Codes" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "" -"Fester Rabattbetrag, der angewandt wird, wenn kein Prozentsatz verwendet " -"wird" +"Fester Rabattbetrag, der angewandt wird, wenn kein Prozentsatz verwendet wird" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Fester Rabattbetrag" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Prozentualer Rabatt, wenn der Festbetrag nicht verwendet wird" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Prozentualer Rabatt" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Zeitstempel, wann der Promocode abläuft" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Ende der Gültigkeitsdauer" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Zeitstempel, ab dem dieser Promocode gültig ist" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Beginn der Gültigkeitsdauer" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Zeitstempel, wann der Promocode verwendet wurde, leer, wenn noch nicht " "verwendet" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Zeitstempel der Verwendung" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Diesem Promocode zugewiesener Benutzer, falls zutreffend" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Zugewiesener Benutzer" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Promo-Code" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Promo-Codes" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1892,152 +1891,152 @@ msgstr "" "Es sollte nur eine Art von Rabatt definiert werden (Betrag oder " "Prozentsatz), aber nicht beides oder keines von beiden." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Promocode wurde bereits verwendet" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Ungültiger Rabatttyp für Promocode {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "Die für diese Bestellung verwendete Rechnungsadresse" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Optionaler Promo-Code für diese Bestellung" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Angewandter Promo-Code" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "Die für diese Bestellung verwendete Lieferadresse" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Lieferadresse" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Aktueller Status des Auftrags in seinem Lebenszyklus" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Status der Bestellung" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "JSON-Struktur der Benachrichtigungen, die den Benutzern angezeigt werden " "sollen; in der Admin-UI wird die Tabellenansicht verwendet" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "JSON-Darstellung der Auftragsattribute für diesen Auftrag" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "Der Benutzer, der die Bestellung aufgegeben hat" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Benutzer" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "Der Zeitstempel, zu dem der Auftrag abgeschlossen wurde" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Zeit kaufen" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Ein von Menschen lesbarer Identifikator für den Auftrag" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "menschenlesbare ID" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Bestellung" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "Ein Benutzer darf immer nur einen schwebenden Auftrag haben!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "" "Sie können keine Produkte zu einem Auftrag hinzufügen, der nicht in " "Bearbeitung ist." -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Sie können keine inaktiven Produkte zur Bestellung hinzufügen" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "Sie können nicht mehr Produkte hinzufügen, als auf Lager sind" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Sie können keine Produkte aus einer Bestellung entfernen, die nicht in " "Bearbeitung ist." -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} existiert nicht mit Abfrage <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Promocode existiert nicht" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" "Sie können nur physische Produkte mit angegebener Lieferadresse kaufen!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Adresse ist nicht vorhanden" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "Sie können im Moment nicht kaufen, bitte versuchen Sie es in ein paar " "Minuten erneut." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Ungültiger Force-Wert" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Sie können keine leere Bestellung kaufen!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "" "Sie können keine Produkte aus einer Bestellung entfernen, die nicht in " "Bearbeitung ist." -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Ein Benutzer ohne Guthaben kann nicht mit Guthaben kaufen!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Unzureichende Mittel für die Ausführung des Auftrags" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2045,128 +2044,127 @@ msgstr "" "Sie können nicht ohne Registrierung kaufen, bitte geben Sie die folgenden " "Informationen an: Kundenname, Kunden-E-Mail, Kunden-Telefonnummer" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Ungültige Zahlungsmethode: {payment_method} von {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "" "Der Preis, den der Kunde zum Zeitpunkt des Kaufs für dieses Produkt bezahlt " "hat" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Einkaufspreis zum Zeitpunkt der Bestellung" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "Interne Kommentare für Administratoren zu diesem bestellten Produkt" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Interne Kommentare" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Benutzerbenachrichtigungen" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "JSON-Darstellung der Attribute dieses Artikels" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Bestellte Produktattribute" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Verweis auf den übergeordneten Auftrag, der dieses Produkt enthält" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Übergeordneter Auftrag" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Das spezifische Produkt, das mit dieser Auftragszeile verbunden ist" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Menge dieses spezifischen Produkts in der Bestellung" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Produktmenge" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Aktueller Status dieses Produkts im Auftrag" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Status der Produktlinie" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Das Bestellprodukt muss eine zugehörige Bestellung haben!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "falsche Aktion für die Rückmeldung angegeben: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "" "Sie können keine Produkte aus einer Bestellung entfernen, die nicht in " "Bearbeitung ist." -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Herunterladen" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Herunterladen" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "" "Sie können kein digitales Asset für eine nicht abgeschlossene Bestellung " "herunterladen" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Kommentare der Nutzer über ihre Erfahrungen mit dem Produkt" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Kommentare zum Feedback" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" -"Verweist auf das spezifische Produkt in einer Bestellung, auf das sich diese" -" Rückmeldung bezieht" +"Verweist auf das spezifische Produkt in einer Bestellung, auf das sich diese " +"Rückmeldung bezieht" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Produkt zur Bestellung" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Vom Benutzer zugewiesene Bewertung für das Produkt" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Produktbewertung" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Rückmeldung" @@ -2177,7 +2175,7 @@ msgstr "" "Sie müssen einen Kommentar, eine Bewertung und eine Produktnummer angeben, " "um eine Bewertung abzugeben." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Fehler bei der Erstellung des Promocodes: {e!s}" @@ -2203,13 +2201,14 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Hallo %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Vielen Dank für Ihre Bestellung #%(order.pk)s! Wir freuen uns, Ihnen " @@ -2244,7 +2243,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Mit freundlichen Grüßen,
das %(config.PROJECT_NAME)s Team" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2258,7 +2257,7 @@ msgstr "Bestellung Geliefert" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hallo %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2294,7 +2293,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Mit freundlichen Grüßen,
das %(project_name)s Team" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2303,7 +2302,8 @@ msgstr "Schlüssel" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Vielen Dank für Ihre Bestellung! Wir freuen uns, Ihren Kauf zu bestätigen. " @@ -2323,7 +2323,7 @@ msgstr "Ihre Bestellung wird an die folgende Adresse geliefert:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Mit freundlichen Grüßen,
das %(config.PROJECT_NAME)s Team" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2340,23 +2340,22 @@ msgstr "Sowohl Daten als auch Timeout sind erforderlich" #: core/utils/caching.py:43 msgid "invalid timeout value, it must be between 0 and 216000 seconds" -msgstr "" -"Ungültiger Timeout-Wert, er muss zwischen 0 und 216000 Sekunden liegen" +msgstr "Ungültiger Timeout-Wert, er muss zwischen 0 und 216000 Sekunden liegen" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Kontakt initiiert" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Auftragsbestätigung" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Auftrag ausgeliefert" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2377,15 +2376,15 @@ msgstr "" msgid "invalid phone number format" msgstr "Ungültiges Rufnummernformat" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Sie können das digitale Asset nur einmal herunterladen" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "Favicon nicht gefunden" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Geokodierungsfehler: {e}" +msgstr "" diff --git a/core/locale/en_GB/LC_MESSAGES/django.mo b/core/locale/en_GB/LC_MESSAGES/django.mo index 4f9efb16ad956d3ee84f897c32f6c389d4d4d105..ad23a4ca235a223a4bb7707b2e2dcc8a3aed5a66 100644 GIT binary patch delta 8463 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 delta 8504 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 Vm9MzQ+rOx$Y;yGfAD@=i{{>S{rUL)~ diff --git a/core/locale/en_GB/LC_MESSAGES/django.po b/core/locale/en_GB/LC_MESSAGES/django.po index a9b4afca..29d59a92 100644 --- a/core/locale/en_GB/LC_MESSAGES/django.po +++ b/core/locale/en_GB/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -53,82 +53,82 @@ msgstr "Modified" msgid "when the object was last modified" msgstr "When the object was last edited" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Translations" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "General" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relations" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadata" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Timestamps" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "Activate selected %(verbose_name_plural)s" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Selected items have been activated!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "Deactivate selected %(verbose_name_plural)s" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Selected items have been deactivated!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Attribute Value" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Attribute Values" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Image" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Images" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Stock" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Stocks" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Order Product" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Order Products" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Children" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Config" @@ -782,8 +782,8 @@ msgstr "Attributes" msgid "Quantity" msgstr "Quantity" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 +#: core/models.py:472 core/models.py:663 msgid "Slug" msgstr "Slug" @@ -864,7 +864,7 @@ msgstr "Cached data" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON data from the requested URL" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Only URLs starting with http(s):// are allowed" @@ -873,10 +873,10 @@ msgid "add a product to the order" msgstr "Add a product to the order" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Order {order_uuid} not found" +msgstr "Order {order_uuid} not found!" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -890,32 +890,32 @@ msgstr "Remove all products from the order" msgid "buy an order" msgstr "Buy an order" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Please provide either order_uuid or order_hr_id - mutually exclusive!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Wrong type came from order.buy() method: {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Perform an action on a list of products in the order" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Remove/Add" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "Action must be either \"add\" or \"remove\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Perform an action on a list of products in the wishlist" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Please provide `wishlist_uuid` value." @@ -924,7 +924,7 @@ msgstr "Please provide `wishlist_uuid` value." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Wishlist {wishlist_uuid} not found" +msgstr "Wishlist {wishlist_uuid} not found!" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -965,16 +965,18 @@ msgstr "Action must be either `add` or `remove`!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Orderproduct {order_product_uuid} not found" +msgstr "Orderproduct {order_product_uuid} not found!" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Original address string provided by the user" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} does not exist: {uuid}" +msgstr "{name} does not exist: {uuid}!" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -984,8 +986,8 @@ msgstr "Limit must be between 1 and 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - works like a charm" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Attributes" @@ -998,11 +1000,11 @@ msgid "groups of attributes" msgstr "Groups of attributes" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Categories" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Brands" @@ -1011,7 +1013,7 @@ msgid "category image url" msgstr "Categories" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Markup Percentage" @@ -1033,7 +1035,7 @@ msgstr "Tags for this category" msgid "products in this category" msgstr "Products in this category" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Vendors" @@ -1045,36 +1047,36 @@ msgstr "Latitude (Y coordinate)" msgid "Longitude (X coordinate)" msgstr "Longitude (X coordinate)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Comment" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Rating value from 1 to 10, inclusive, or 0 if not set." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Represents feedback from a user." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Notifications" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Download url for this order product if applicable" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "A list of order products in this order" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Billing address" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1082,51 +1084,51 @@ msgstr "" "Shipping address for this order, leave blank if same as billing address or " "if not applicable" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Total price of this order" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Total quantity of products in order" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Are all of the products in the order digital" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transactions for this order" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Orders" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "Image URL" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Product's images" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Category" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Brand" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Attribute groups" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1134,7 +1136,7 @@ msgstr "Attribute groups" msgid "price" msgstr "Price" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1142,31 +1144,31 @@ msgstr "Price" msgid "quantity" msgstr "Quantity" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Number of feedbacks" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Products" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Products on sale" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promotions" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1174,641 +1176,635 @@ msgstr "Vendor" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Wishlisted products" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Wishlists" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Product tags" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Tagged categories" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Categories' tags" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Project name" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Company Email" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Company Name" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Company Address" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Company Phone Number" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "'email from', sometimes it must be used instead of host user value" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Email host user" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Maximum amount for payment" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Minimum amount for payment" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Analytics data" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Advertisement data" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Configuration" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Language code" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Language name" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Language flag, if exists :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Get a list of supported languages" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Products search results" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Products search results" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Parent of this group" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Parent attribute group" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Attribute group's name" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Attribute group" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Stores credentials and endpoints required for vendor's API communication" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Authentication info" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "Define the markup for products retrieved from this vendor" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Vendor markup percentage" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Name of this vendor" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Vendor name" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Internal tag identifier for the product tag" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Tag name" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "User-friendly name for the product tag" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Tag display name" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Product tag" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "category tag" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "category tags" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Upload an image representing this category" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Category image" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Define a markup percentage for products in this category" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Parent of this category to form a hierarchical structure" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Parent category" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Category name" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Provide a name for this category" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Add a detailed description for this category" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Category description" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "tags that help describe or group this category" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Priority" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Name of this brand" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Brand name" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Upload a logo representing this brand" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Brand small image" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Upload a big logo representing this brand" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Brand big image" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Add a detailed description of the brand" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Brand description" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Optional categories that this brand is associated with" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Categories" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "The vendor supplying this product stock" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Associated vendor" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Final price to the customer after markups" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Selling price" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "The product associated with this stock entry" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 +#: core/models.py:1805 msgid "associated product" msgstr "Associated product" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "The price paid to the vendor for this product" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Vendor purchase price" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Available quantity of the product in stock" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Quantity in stock" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "Vendor-assigned SKU for identifying the product" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "Vendor's SKU" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Digital file associated with this stock if applicable" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Digital file" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Stock entries" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Category this product belongs to" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Optionally associate this product with a brand" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Tags that help describe or group this product" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Indicates whether this product is digitally delivered" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Is product digital" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Provide a clear identifying name for the product" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Product name" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Add a detailed description of the product" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Product description" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Part number for this product" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Part number" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Category of this attribute" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Group of this attribute" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "String" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Integer" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Float" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Boolean" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Array" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Object" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Type of the attribute's value" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Value type" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Name of this attribute" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Attribute's name" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Attribute" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Attribute of this value" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "The specific product associated with this attribute's value" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "The specific value for this attribute" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "Provide alternative text for the image for accessibility" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Image alt text" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Upload the image file for this product" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Product image" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Determines the order in which images are displayed" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Display priority" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "The product that this image represents" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Product images" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Percentage discount for the selected products" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Discount percentage" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Provide a unique name for this promotion" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Promotion name" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Select which products are included in this promotion" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Included products" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promotion" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Products that the user has marked as wanted" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "User who owns this wishlist" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Wishlist's Owner" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Wishlist" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} does not exist: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Documentary" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Unresolved" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Address line for the customer" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Address line" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Street" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "District" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "City" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Region" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Postal code" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Country" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Full JSON response from geocoder for this address" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Stored JSON response from the geocoding service" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Address" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adresses" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Unique code used by a user to redeem a discount" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Fixed discount amount applied if percent is not used" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Fixed discount amount" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Percentage discount applied if fixed amount is not used" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Percentage discount" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Timestamp when the promocode expires" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "End validity time" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Timestamp from which this promocode is valid" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Start validity time" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "Timestamp when the promocode was used, blank if not used yet" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Usage timestamp" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "User assigned to this promocode if applicable" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Assigned user" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Promo code" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1816,144 +1812,144 @@ msgstr "" "Only one type of discount should be defined (amount or percent), but not " "both or neither." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Promocode has been used already" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Invalid discount type for promocode {self.uuid}" +msgstr "Invalid discount type for promocode {self.uuid}!" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "The billing address used for this order" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Optional promo code applied to this order" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Applied promo code" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "The shipping address used for this order" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Shipping address" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Current status of the order in its lifecycle" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Order status" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "JSON structure of notifications to display to users, in admin UI the table-" "view is used" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "JSON representation of order attributes for this order" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "The user who placed the order" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "User" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "The timestamp when the order was finalized" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Buy time" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "A human-readable identifier for the order" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "human-readable ID" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Order" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "A user must have only one pending order at a time!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "You cannot add products to an order that is not a pending one" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "You cannot add inactive products to order" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "You cannot add more products than available in stock" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "You cannot remove products from an order that is not a pending one" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} does not exist with query <{query}>" +msgstr "{name} does not exist with query <{query}>!" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Promocode does not exist" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "You can only buy physical products with shipping address specified!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Address does not exist" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "You can not purchase at this moment, please try again in a few minutes." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Invalid force value" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "You cannot purchase an empty order!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "You cannot buy an order without a user!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "A user without a balance cannot buy with balance!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Insufficient funds to complete the order" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1961,121 +1957,121 @@ msgstr "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Invalid payment method: {payment_method} from {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "The price paid by the customer for this product at purchase time" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Purchase price at order time" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "Internal comments for admins about this ordered product" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Internal comments" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "User notifications" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "JSON representation of this item's attributes" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Ordered product attributes" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Reference to the parent order that contains this product" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Parent order" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "The specific product associated with this order line" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Quantity of this specific product in the order" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Product quantity" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Current status of this product in the order" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Product line status" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Orderproduct must have an associated order!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "wrong action specified for feedback: {action}" +msgstr "Wrong action specified for feedback: {action}!" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "you cannot feedback an order which is not received" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Download" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Downloads" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "You can not download a digital asset for a non-finished order" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "User-provided comments about their experience with the product" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Feedback comments" -#: core/models.py:1942 +#: core/models.py:1972 msgid "" "references the specific product in an order that this feedback is about" msgstr "" "References the specific product in an order that this feedback is about" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Related order product" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "User-assigned rating for the product" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Product rating" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Feedback" @@ -2085,7 +2081,7 @@ msgid "" msgstr "" "you must provide a comment, rating, and order product uuid to add feedback." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Error during promocode creation: {e!s}" @@ -2230,7 +2226,7 @@ msgstr "Your order will be delivered to the following address:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Best regards,
the %(config.PROJECT_NAME)s team" +msgstr "Best regards,
The %(config.PROJECT_NAME)s team" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2252,7 +2248,7 @@ msgstr "Invalid timeout value, it must be between 0 and 216000 seconds" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Contact Us initiated" +msgstr "{config.PROJECT_NAME} | contact us initiated" #: core/utils/emailing.py:60 #, python-brace-format @@ -2276,61 +2272,21 @@ msgstr "NOMINATIM_URL parameter must be configured!" #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -"Image dimensions should not exceed w{max_width} x h{max_height} pixels" +"Image dimensions should not exceed w{max_width} x h{max_height} pixels!" #: core/validators.py:22 msgid "invalid phone number format" msgstr "Invalid phone number format" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "You can only download the digital asset once" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon not found" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" msgstr "Geocoding error: {e}" - -#, python-format -#~ msgid "%(verbose_name_plural)s activated successfully!" -#~ msgstr "%(verbose_name_plural)s activated successfully!" - -#, python-format -#~ msgid "%(verbose_name_plural)s deactivated successfully." -#~ msgstr "%(verbose_name_plural)s deactivated successfully." - -#, python-brace-format -#~ msgid "{model} must be model" -#~ msgstr "{model} must be model" - -#, python-brace-format -#~ msgid "{data} must be list object" -#~ msgstr "{data} must be list object" - -#~ msgid "I18N" -#~ msgstr "Internationalization" - -#~ msgid "name" -#~ msgstr "Name" - -#~ msgid "rating" -#~ msgstr "Rating" - -#~ msgid "is business" -#~ msgstr "Is Business" - -#~ msgid "brand slug" -#~ msgstr "Brand's slug" - -#~ msgid "basic info" -#~ msgstr "Basic Info" - -#~ msgid "important dates" -#~ msgstr "Important Dates" - -#~ msgid "eVibes Engine" -#~ msgstr "eVibes Engine" diff --git a/core/locale/en_US/LC_MESSAGES/django.mo b/core/locale/en_US/LC_MESSAGES/django.mo index d5efd96b4263fcd4a1788b18e25516c51edb7d3d..d8cb4f8a01967ae495b65bfb31ef8a1e4504d3ba 100644 GIT binary patch delta 10920 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 delta 12911 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 diff --git a/core/locale/en_US/LC_MESSAGES/django.po b/core/locale/en_US/LC_MESSAGES/django.po index b29f8cb0..aef25f75 100644 --- a/core/locale/en_US/LC_MESSAGES/django.po +++ b/core/locale/en_US/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -27,11 +27,9 @@ msgstr "Is Active" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" -"If set to false, this object can't be seen by users without needed " -"permission" +"If set to false, this object can't be seen by users without needed permission" #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -49,82 +47,82 @@ msgstr "Modified" msgid "when the object was last modified" msgstr "When the object was last edited" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Translations" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "General" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relations" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadata" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Timestamps" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Activate selected %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Selected items have been activated!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Deactivate selected %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Selected items have been deactivated!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Attribute Value" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Attribute Values" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Image" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Images" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Stock" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Stocks" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Order Product" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Order Products" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Children" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Config" @@ -241,8 +239,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "Rewrite an existing attribute group saving non-editables" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Rewrite some fields of an existing attribute group saving non-editables" @@ -291,8 +288,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Rewrite an existing attribute value saving non-editables" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Rewrite some fields of an existing attribute value saving non-editables" @@ -330,11 +326,11 @@ msgstr "For non-staff users, only their own orders are returned." #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -366,13 +362,13 @@ msgstr "Filter by order status (case-insensitive substring match)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -538,17 +534,26 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…`\n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`,\n" @@ -604,10 +609,12 @@ msgstr "(exact) Digital vs. physical" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -778,8 +785,8 @@ msgstr "Attributes" msgid "Quantity" msgstr "Quantity" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Slug" @@ -860,7 +867,7 @@ msgstr "Cached data" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON data from the requested URL" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Only URLs starting with http(s):// are allowed" @@ -869,10 +876,10 @@ msgid "add a product to the order" msgstr "Add a product to the order" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Order {order_uuid} not found" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -886,32 +893,32 @@ msgstr "Remove all products from the order" msgid "buy an order" msgstr "Buy an order" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Please provide either order_uuid or order_hr_id - mutually exclusive!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Wrong type came from order.buy() method: {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Perform an action on a list of products in the order" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Remove/Add" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "Action must be either \"add\" or \"remove\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Perform an action on a list of products in the wishlist" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Please provide `wishlist_uuid` value." @@ -920,7 +927,7 @@ msgstr "Please provide `wishlist_uuid` value." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Wishlist {wishlist_uuid} not found" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -944,11 +951,11 @@ msgstr "Buy an order" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" -"Please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"Please send the attributes as the string formatted like attr1=value1," +"attr2=value2" #: core/graphene/mutations.py:532 msgid "add or delete a feedback for orderproduct" @@ -961,16 +968,18 @@ msgstr "Action must be either `add` or `remove`!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Orderproduct {order_product_uuid} not found" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Original address string provided by the user" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} does not exist: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -980,8 +989,8 @@ msgstr "Limit must be between 1 and 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - works like a charm" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Attributes" @@ -994,11 +1003,11 @@ msgid "groups of attributes" msgstr "Groups of attributes" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Categories" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Brands" @@ -1007,7 +1016,7 @@ msgid "category image url" msgstr "Categories" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Markup Percentage" @@ -1016,8 +1025,7 @@ msgid "which attributes and values can be used for filtering this category." msgstr "Which attributes and values can be used for filtering this category." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimum and maximum prices for products in this category, if available." @@ -1029,7 +1037,7 @@ msgstr "Tags for this category" msgid "products in this category" msgstr "Products in this category" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Vendors" @@ -1041,36 +1049,36 @@ msgstr "Latitude (Y coordinate)" msgid "Longitude (X coordinate)" msgstr "Longitude (X coordinate)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "How to" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Rating value from 1 to 10, inclusive, or 0 if not set." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Represents feedback from a user." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Notifications" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Download url for this order product if applicable" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "A list of order products in this order" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Billing address" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1078,51 +1086,51 @@ msgstr "" "Shipping address for this order, leave blank if same as billing address or " "if not applicable" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Total price of this order" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Total quantity of products in order" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Are all of the products in the order digital" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transactions for this order" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Orders" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "Image URL" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Product's images" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Category" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Brand" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Attribute groups" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1130,7 +1138,7 @@ msgstr "Attribute groups" msgid "price" msgstr "Price" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1138,31 +1146,31 @@ msgstr "Price" msgid "quantity" msgstr "Quantity" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Number of feedbacks" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Products" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Products on sale" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promotions" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1170,641 +1178,634 @@ msgstr "Vendor" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Wishlisted products" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Wishlists" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Product tags" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Tagged categories" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Categories' tags" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Project name" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Company Email" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Company Name" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Company Address" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Company Phone Number" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "'email from', sometimes it must be used instead of host user value" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Email host user" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Maximum amount for payment" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Minimum amount for payment" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Analytics data" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Advertisement data" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Configuration" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Language code" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Language name" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Language flag, if exists :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Get a list of supported languages" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Products search results" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Products search results" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Parent of this group" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Parent attribute group" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Attribute group's name" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Attribute group" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Stores credentials and endpoints required for vendor's API communication" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Authentication info" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "Define the markup for products retrieved from this vendor" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Vendor markup percentage" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Name of this vendor" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Vendor name" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Internal tag identifier for the product tag" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Tag name" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "User-friendly name for the product tag" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Tag display name" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Product tag" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "category tag" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "category tags" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Upload an image representing this category" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Category image" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Define a markup percentage for products in this category" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Parent of this category to form a hierarchical structure" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Parent category" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Category name" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Provide a name for this category" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Add a detailed description for this category" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Category description" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "tags that help describe or group this category" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Priority" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Name of this brand" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Brand name" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Upload a logo representing this brand" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Brand small image" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Upload a big logo representing this brand" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Brand big image" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Add a detailed description of the brand" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Brand description" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Optional categories that this brand is associated with" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Categories" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "The vendor supplying this product stock" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Associated vendor" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Final price to the customer after markups" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Selling price" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "The product associated with this stock entry" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Associated product" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "The price paid to the vendor for this product" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Vendor purchase price" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Available quantity of the product in stock" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Quantity in stock" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "Vendor-assigned SKU for identifying the product" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "Vendor's SKU" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Digital file associated with this stock if applicable" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Digital file" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Stock entries" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Category this product belongs to" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Optionally associate this product with a brand" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Tags that help describe or group this product" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Indicates whether this product is digitally delivered" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Is product digital" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Provide a clear identifying name for the product" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Product name" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Add a detailed description of the product" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Product description" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Part number for this product" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Part number" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Category of this attribute" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Group of this attribute" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "String" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Integer" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Float" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Boolean" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Array" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Object" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Type of the attribute's value" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Value type" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Name of this attribute" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Attribute's name" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Attribute" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Attribute of this value" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "The specific product associated with this attribute's value" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "The specific value for this attribute" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "Provide alternative text for the image for accessibility" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Image alt text" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Upload the image file for this product" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Product image" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Determines the order in which images are displayed" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Display priority" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "The product that this image represents" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Product images" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Percentage discount for the selected products" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Discount percentage" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Provide a unique name for this promotion" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Promotion name" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Select which products are included in this promotion" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Included products" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promotion" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Products that the user has marked as wanted" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "User who owns this wishlist" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Wishlist's Owner" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Wishlist" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} does not exist: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Documentary" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Unresolved" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Address line for the customer" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Address line" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Street" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "District" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "City" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Region" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Postal code" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Country" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Full JSON response from geocoder for this address" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Stored JSON response from the geocoding service" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Address" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adresses" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Unique code used by a user to redeem a discount" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Fixed discount amount applied if percent is not used" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Fixed discount amount" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Percentage discount applied if fixed amount is not used" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Percentage discount" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Timestamp when the promocode expires" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "End validity time" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Timestamp from which this promocode is valid" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Start validity time" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "Timestamp when the promocode was used, blank if not used yet" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Usage timestamp" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "User assigned to this promocode if applicable" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Assigned user" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Promo code" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1812,144 +1813,144 @@ msgstr "" "Only one type of discount should be defined (amount or percent), but not " "both or neither." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Promocode has been used already" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Invalid discount type for promocode {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "The billing address used for this order" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Optional promo code applied to this order" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Applied promo code" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "The shipping address used for this order" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Shipping address" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Current status of the order in its lifecycle" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Order status" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "JSON structure of notifications to display to users, in admin UI the table-" "view is used" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "JSON representation of order attributes for this order" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "The user who placed the order" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "User" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "The timestamp when the order was finalized" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Buy time" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "A human-readable identifier for the order" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "human-readable ID" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Order" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "A user must have only one pending order at a time!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "You cannot add products to an order that is not a pending one" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "You cannot add inactive products to order" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "You cannot add more products than available in stock" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "You cannot remove products from an order that is not a pending one" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} does not exist with query <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Promocode does not exist" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "You can only buy physical products with shipping address specified!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Address does not exist" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "You can not purchase at this moment, please try again in a few minutes." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Invalid force value" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "You cannot purchase an empty order!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "You cannot buy an order without a user!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "A user without a balance cannot buy with balance!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Insufficient funds to complete the order" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1957,121 +1958,120 @@ msgstr "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Invalid payment method: {payment_method} from {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "The price paid by the customer for this product at purchase time" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Purchase price at order time" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "Internal comments for admins about this ordered product" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Internal comments" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "User notifications" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "JSON representation of this item's attributes" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Ordered product attributes" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Reference to the parent order that contains this product" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Parent order" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "The specific product associated with this order line" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Quantity of this specific product in the order" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Product quantity" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Current status of this product in the order" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Product line status" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Orderproduct must have an associated order!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "wrong action specified for feedback: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "you cannot feedback an order which is not received" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Download" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Downloads" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "You can not download a digital asset for a non-finished order" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "User-provided comments about their experience with the product" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Feedback comments" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" "References the specific product in an order that this feedback is about" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Related order product" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "User-assigned rating for the product" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Product rating" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Feedback" @@ -2081,7 +2081,7 @@ msgid "" msgstr "" "you must provide a comment, rating, and order product uuid to add feedback." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Error during promocode creation: {e!s}" @@ -2107,17 +2107,18 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Hello %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" -"Thank you for your order #%(order.pk)s! We are pleased to inform you that we" -" have taken your order into work. Below are the details of your order:" +"Thank you for your order #%(order.pk)s! We are pleased to inform you that we " +"have taken your order into work. Below are the details of your order:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:110 @@ -2147,7 +2148,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Best regards,
the %(config.PROJECT_NAME)s team" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2161,7 +2162,7 @@ msgstr "Order Delivered" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hello %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2197,7 +2198,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Best regards,
the %(project_name)s team" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2206,11 +2207,12 @@ msgstr "Key" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" -"Thank you for your order! We are pleased to confirm your purchase. Below are" -" the details of your order:" +"Thank you for your order! We are pleased to confirm your purchase. Below are " +"the details of your order:" #: core/templates/shipped_order_created_email.html:123 #: core/templates/shipped_order_delivered_email.html:123 @@ -2226,7 +2228,7 @@ msgstr "Your order will be delivered to the following address:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Best regards,
the %(config.PROJECT_NAME)s team" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2248,17 +2250,17 @@ msgstr "Invalid timeout value, it must be between 0 and 216000 seconds" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Contact Us initiated" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Order Confirmation" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Order Delivered" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2272,21 +2274,20 @@ msgstr "NOMINATIM_URL parameter must be configured!" #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -"Image dimensions should not exceed w{max_width} x h{max_height} pixels" #: core/validators.py:22 msgid "invalid phone number format" msgstr "Invalid phone number format" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "You can only download the digital asset once" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon not found" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Geocoding error: {e}" +msgstr "" diff --git a/core/locale/es_ES/LC_MESSAGES/django.mo b/core/locale/es_ES/LC_MESSAGES/django.mo index 574a0e18d21d6eb6822b851e374643d05463f0f0..e1b1adc394d6d9f6edbee46ac5e350a391216eac 100644 GIT binary patch delta 10912 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 diff --git a/core/locale/es_ES/LC_MESSAGES/django.po b/core/locale/es_ES/LC_MESSAGES/django.po index 1d514400..6dcc58c3 100644 --- a/core/locale/es_ES/LC_MESSAGES/django.po +++ b/core/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Está activo" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Si se establece en false, este objeto no puede ser visto por los usuarios " "sin el permiso necesario" @@ -51,82 +50,82 @@ msgstr "Modificado" msgid "when the object was last modified" msgstr "Cuándo se editó el objeto por última vez" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Traducciones" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "General" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relaciones" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadatos" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Marcas de tiempo" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Activar %(verbose_name_plural)s seleccionados" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Los artículos seleccionados se han activado." -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Desactivar %(verbose_name_plural)s seleccionados" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Los artículos seleccionados se han desactivado." -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Atributo Valor" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Valores de los atributos" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Imagen" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Imágenes" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Stock" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Acciones" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Pedir un producto" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Pedir productos" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Niños" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Configurar" @@ -188,7 +187,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Aplicar sólo una clave para leer datos permitidos de la caché.\n" -"Aplicar clave, datos y tiempo de espera con autenticación para escribir datos en la caché." +"Aplicar clave, datos y tiempo de espera con autenticación para escribir " +"datos en la caché." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -220,8 +220,8 @@ msgid "" "purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." msgstr "" -"Compra un pedido como empresa, utilizando los `productos` proporcionados con" -" `product_uuid` y `attributes`." +"Compra un pedido como empresa, utilizando los `productos` proporcionados con " +"`product_uuid` y `attributes`." #: core/docs/drf/viewsets.py:43 msgid "list all attribute groups (simple view)" @@ -244,8 +244,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "Reescribir un grupo de atributos existente guardando los no editables" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Reescribir algunos campos de un grupo de atributos existente guardando los " "no editables" @@ -273,8 +272,7 @@ msgstr "Reescribir un atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:90 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" -"Reescribir algunos campos de un atributo existente guardando los no " -"editables" +"Reescribir algunos campos de un atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:97 msgid "list all attribute values (simple view)" @@ -297,11 +295,10 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Reescribir un valor de atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" -"Reescribir algunos campos de un valor de atributo existente guardando los no" -" editables" +"Reescribir algunos campos de un valor de atributo existente guardando los no " +"editables" #: core/docs/drf/viewsets.py:124 msgid "list all categories (simple view)" @@ -341,12 +338,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Búsqueda de subcadenas sin distinción entre mayúsculas y minúsculas en " -"human_readable_id, order_products.product.name y " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name y order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -367,8 +364,8 @@ msgstr "Filtrar por ID de pedido exacto legible por el ser humano" #: core/docs/drf/viewsets.py:185 msgid "Filter by user's email (case-insensitive exact match)" msgstr "" -"Filtrar por correo electrónico del usuario (coincidencia exacta insensible a" -" mayúsculas y minúsculas)" +"Filtrar por correo electrónico del usuario (coincidencia exacta insensible a " +"mayúsculas y minúsculas)" #: core/docs/drf/viewsets.py:190 msgid "Filter by user's UUID" @@ -382,9 +379,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordenar por: uuid, human_readable_id, user_email, user, status, created, " "modified, buy_time, random. Utilice el prefijo '-' para orden descendente " @@ -519,8 +516,7 @@ msgstr "Reescribir un atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:303 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" -"Reescribir algunos campos de un atributo existente guardando los no " -"editables" +"Reescribir algunos campos de un atributo existente guardando los no editables" #: core/docs/drf/viewsets.py:307 msgid "add product to wishlist" @@ -567,20 +563,31 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrar por uno o varios pares nombre/valor de atributo. \n" "- Sintaxis**: `nombre_attr=método-valor[;attr2=método2-valor2]...`.\n" -"- Métodos** (por defecto `icontiene` si se omite): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- Tipificación de valores**: Se intenta primero JSON (para poder pasar listas/dictos), `true`/`false` para booleanos, enteros, flotantes; en caso contrario se trata como cadena. \n" -"- Base64**: prefiérelo con `b64-` para codificar en base64 el valor sin procesar. \n" +"- Métodos** (por defecto `icontiene` si se omite): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- Tipificación de valores**: Se intenta primero JSON (para poder pasar " +"listas/dictos), `true`/`false` para booleanos, enteros, flotantes; en caso " +"contrario se trata como cadena. \n" +"- Base64**: prefiérelo con `b64-` para codificar en base64 el valor sin " +"procesar. \n" "Ejemplos: \n" -"`color=rojo exacto`, `tamaño=gt-10`, `características=en-[\"wifi\", \"bluetooth\"]`,\n" +"`color=rojo exacto`, `tamaño=gt-10`, `características=en-[\"wifi\", " +"\"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`." #: core/docs/drf/viewsets.py:349 @@ -635,10 +642,12 @@ msgstr "(exacto) Digital frente a físico" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Lista separada por comas de campos por los que ordenar. Prefiérela con `-` para que sea descendente. \n" +"Lista separada por comas de campos por los que ordenar. Prefiérela con `-` " +"para que sea descendente. \n" "**Permitido:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -814,8 +823,8 @@ msgstr "Atributos" msgid "Quantity" msgstr "Cantidad" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Babosa" @@ -829,8 +838,7 @@ msgstr "Incluir subcategorías" #: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" -msgstr "" -"Debe haber un category_uuid para usar la bandera include_subcategories" +msgstr "Debe haber un category_uuid para usar la bandera include_subcategories" #: core/filters.py:280 msgid "Search (ID, product name or part number)" @@ -897,7 +905,7 @@ msgstr "Datos en caché" msgid "camelized JSON data from the requested URL" msgstr "Datos JSON camelizados de la URL solicitada" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Sólo se permiten URL que empiecen por http(s)://." @@ -906,10 +914,10 @@ msgid "add a product to the order" msgstr "Añadir un producto al pedido" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Pedido {order_uuid} no encontrado" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -923,33 +931,32 @@ msgstr "Eliminar todos los productos del pedido" msgid "buy an order" msgstr "Comprar un pedido" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Indique order_uuid o order_hr_id, ¡se excluyen mutuamente!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" -msgstr "" -"Tipo incorrecto proveniente del método order.buy(): {type(instance)!s}" +msgstr "Tipo incorrecto proveniente del método order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Realizar una acción en una lista de productos del pedido" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Quitar/Agregar" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "La acción debe ser \"añadir\" o \"eliminar\"." -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Realizar una acción en una lista de productos de la lista de deseos" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Por favor, proporcione el valor `wishlist_uuid`." @@ -958,7 +965,7 @@ msgstr "Por favor, proporcione el valor `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Lista de deseos {wishlist_uuid} no encontrada" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -982,11 +989,11 @@ msgstr "Comprar un pedido" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" -"Por favor, envíe los atributos como una cadena formateada como " -"attr1=valor1,attr2=valor2" +"Por favor, envíe los atributos como una cadena formateada como attr1=valor1," +"attr2=valor2" #: core/graphene/mutations.py:532 msgid "add or delete a feedback for orderproduct" @@ -999,16 +1006,18 @@ msgstr "La acción debe ser \"añadir\" o \"eliminar\"." #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Orderproduct {order_product_uuid} no encontrado" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Cadena de dirección original proporcionada por el usuario" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} no existe: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1018,8 +1027,8 @@ msgstr "El límite debe estar entre 1 y 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funciona a las mil maravillas" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Atributos" @@ -1032,11 +1041,11 @@ msgid "groups of attributes" msgstr "Grupos de atributos" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Categorías" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Marcas" @@ -1045,7 +1054,7 @@ msgid "category image url" msgstr "Categorías" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Porcentaje de recargo" @@ -1055,8 +1064,7 @@ msgstr "" "Qué atributos y valores se pueden utilizar para filtrar esta categoría." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Precios mínimo y máximo de los productos de esta categoría, si están " "disponibles." @@ -1069,7 +1077,7 @@ msgstr "Etiquetas para esta categoría" msgid "products in this category" msgstr "Productos de esta categoría" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Vendedores" @@ -1081,38 +1089,37 @@ msgstr "Latitud (coordenada Y)" msgid "Longitude (X coordinate)" msgstr "Longitud (coordenada X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Cómo" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" -"Valor de calificación de 1 a 10, ambos inclusive, o 0 si no está " -"configurado." +"Valor de calificación de 1 a 10, ambos inclusive, o 0 si no está configurado." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Representa la opinión de un usuario." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Notificaciones" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Descargar url para este producto de pedido si procede" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Una lista de los productos del pedido" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Dirección de facturación" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1120,51 +1127,51 @@ msgstr "" "Dirección de envío para este pedido, dejar en blanco si es la misma que la " "de facturación o si no procede" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Precio total de este pedido" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Cantidad total de productos del pedido" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "¿Están todos los productos en el pedido digital" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transacciones para este pedido" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Pedidos" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "URL de la imagen" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Imágenes del producto" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Categoría" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Comentarios" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Marca" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Grupos de atributos" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1172,7 +1179,7 @@ msgstr "Grupos de atributos" msgid "price" msgstr "Precio" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1180,31 +1187,31 @@ msgstr "Precio" msgid "quantity" msgstr "Cantidad" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Número de reacciones" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Productos" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Códigos promocionales" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Productos a la venta" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promociones" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Vendedor" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1212,647 +1219,640 @@ msgstr "Vendedor" msgid "product" msgstr "Producto" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Productos deseados" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Listas de deseos" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Productos con etiqueta" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Etiquetas del producto" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Categorías" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Etiquetas de las categorías" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Nombre del proyecto" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Correo electrónico de la empresa" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Nombre de la empresa" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Dirección de la empresa" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Teléfono de la empresa" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', a veces debe utilizarse en lugar del valor del usuario host" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Correo electrónico del usuario anfitrión" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Importe máximo de pago" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Importe mínimo de pago" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Datos analíticos" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Datos publicitarios" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Configuración" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Código de idioma" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Nombre de la lengua" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Bandera de idioma, si existe :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Obtener una lista de los idiomas admitidos" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Resultados de la búsqueda de productos" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Resultados de la búsqueda de productos" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Padre de este grupo" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Grupo de atributos padre" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Nombre del grupo de atributos" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Grupo de atributos" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Almacena las credenciales y los puntos finales necesarios para la " "comunicación API del proveedor" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Información de autenticación" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "" "Definir el margen de beneficio para los productos recuperados de este " "proveedor" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Porcentaje de margen del vendedor" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Nombre de este vendedor" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Nombre del vendedor" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Identificador interno de la etiqueta del producto" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Nombre de la etiqueta" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Nombre fácil de usar para la etiqueta del producto" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Nombre de la etiqueta" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Etiqueta del producto" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "etiqueta de categoría" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "etiquetas de categoría" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Cargar una imagen que represente esta categoría" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Categoría imagen" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Definir un porcentaje de recargo para los productos de esta categoría" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Padre de esta categoría para formar una estructura jerárquica" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Categoría de padres" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Nombre de la categoría" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Indique un nombre para esta categoría" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Añadir una descripción detallada para esta categoría" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Descripción de la categoría" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "etiquetas que ayudan a describir o agrupar esta categoría" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Prioridad" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Nombre de esta marca" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Marca" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Cargar un logotipo que represente a esta marca" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Marca pequeña imagen" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Sube un logotipo grande que represente a esta marca" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Gran imagen de marca" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Añadir una descripción detallada de la marca" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Descripción de la marca" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Categorías opcionales a las que se asocia esta marca" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Categorías" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "El vendedor que suministra este producto dispone de" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Proveedor asociado" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Precio final al cliente después de márgenes" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Precio de venta" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "El producto asociado a esta entrada en stock" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Producto asociado" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "El precio pagado al vendedor por este producto" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Precio de compra al vendedor" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Cantidad disponible del producto en stock" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Cantidad en stock" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU asignada por el proveedor para identificar el producto" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "SKU del vendedor" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Archivo digital asociado a esta acción, si procede" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Archivo digital" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Entradas en existencias" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Categoría a la que pertenece este producto" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Si lo desea, puede asociar este producto a una marca" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Etiquetas que ayudan a describir o agrupar este producto" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Indica si este producto se entrega digitalmente" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "¿Es digital el producto?" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Proporcionar un nombre que identifique claramente el producto" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Nombre del producto" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Añada una descripción detallada del producto" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Descripción del producto" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Número de pieza de este producto" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Número de pieza" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Categoría de este atributo" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Grupo de este atributo" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Cadena" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Entero" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Flotador" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Booleano" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Matriz" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Objeto" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Tipo del valor del atributo" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Tipo de valor" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Nombre de este atributo" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Nombre del atributo" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Atributo" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Atributo de este valor" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "El producto específico asociado al valor de este atributo" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "El valor específico de este atributo" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "" "Proporcione un texto alternativo para la imagen en aras de la accesibilidad" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Texto alternativo de la imagen" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Cargar el archivo de imagen para este producto" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Imagen del producto" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Determina el orden de visualización de las imágenes" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Prioridad de visualización" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "El producto que representa esta imagen" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Imágenes de productos" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Porcentaje de descuento para los productos seleccionados" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Porcentaje de descuento" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Proporcione un nombre único para esta promoción" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Nombre de la promoción" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Descripción de la promoción" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Seleccione los productos incluidos en esta promoción" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Productos incluidos" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promoción" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Productos que el usuario ha marcado como deseados" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Usuario propietario de esta lista de deseos" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Propietario de Wishlist" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Lista de deseos" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} no existe: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Documental" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Sin resolver" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Dirección del cliente" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Dirección" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Calle" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Distrito" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Ciudad" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Región" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Promo code" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "País" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocalización Punto(Longitud, Latitud)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Respuesta JSON completa del geocodificador para esta dirección" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Respuesta JSON almacenada del servicio de geocodificación" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Dirección" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Direcciones" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Código único utilizado por un usuario para canjear un descuento" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Se aplica un descuento fijo si no se utiliza el porcentaje" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Importe fijo del descuento" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Porcentaje de descuento aplicado si no se utiliza el importe fijo" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Porcentaje de descuento" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Fecha de caducidad del promocode" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Hora de fin de validez" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Fecha a partir de la cual es válido este promocode" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Hora de inicio de validez" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Fecha en la que se utilizó el promocode, en blanco si aún no se ha utilizado" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Marca de tiempo de uso" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Usuario asignado a este promocode si procede" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Usuario asignado" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Promo code" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1860,146 +1860,146 @@ msgstr "" "Sólo debe definirse un tipo de descuento (importe o porcentaje), pero no " "ambos ni ninguno." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "El código promocional ya ha sido utilizado" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Tipo de descuento no válido para promocode {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "La dirección de facturación utilizada para este pedido" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Código promocional opcional aplicado a este pedido" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Código promocional aplicado" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "La dirección de envío utilizada para este pedido" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Dirección de envío" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Estado actual del pedido en su ciclo de vida" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Estado del pedido" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "Estructura JSON de las notificaciones para mostrar a los usuarios, en la " "interfaz de administración se utiliza la vista de tabla." -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "Representación JSON de los atributos de la orden para esta orden" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "El usuario que realizó el pedido" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Usuario" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "Fecha de finalización de la orden" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Comprar tiempo" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Un identificador legible por el ser humano para la orden" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "ID legible por humanos" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Pida" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "Un usuario sólo puede tener una orden pendiente a la vez." -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "No puede añadir productos a un pedido que no esté pendiente" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "No se pueden añadir productos inactivos al pedido" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "No puede añadir más productos de los disponibles en stock" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "No puede eliminar productos de un pedido que no esté pendiente" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} no existe con la consulta <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Promocode no existe" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" "Sólo puede comprar productos físicos con la dirección de envío especificada." -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "La dirección no existe" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "No puede comprar en este momento, por favor inténtelo de nuevo en unos " "minutos." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Valor de fuerza no válido" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "No se puede comprar un pedido vacío." -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "No se puede comprar un pedido sin un usuario." -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "¡Un usuario sin saldo no puede comprar con saldo!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Fondos insuficientes para completar el pedido" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2007,124 +2007,123 @@ msgstr "" "no puede comprar sin registrarse, facilite la siguiente información: nombre " "del cliente, correo electrónico del cliente, número de teléfono del cliente" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Forma de pago no válida: ¡{payment_method} de {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "" "El precio pagado por el cliente por este producto en el momento de la compra" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Precio de compra en el momento del pedido" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "" "Comentarios internos para los administradores sobre este producto solicitado" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Comentarios internos" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Notificaciones a los usuarios" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "Representación JSON de los atributos de este elemento" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Atributos ordenados del producto" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Referencia al pedido principal que contiene este producto" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Orden de los padres" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "El producto específico asociado a esta línea de pedido" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Cantidad de este producto específico en el pedido" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Cantidad de productos" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Estado actual de este producto en el pedido" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Estado de la línea de productos" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "El pedido-producto debe tener un pedido asociado." -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "acción incorrecta especificada para la retroalimentación: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "no se puede comentar un pedido no recibido" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Descargar" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Descargas" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "No puede descargar un activo digital para un pedido no finalizado" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Comentarios de los usuarios sobre su experiencia con el producto" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Comentarios" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" "Hace referencia al producto específico de un pedido sobre el que trata esta " "opinión" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Producto relacionado con el pedido" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Valoración del producto asignada por el usuario" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Valoración del producto" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Comentarios" @@ -2135,7 +2134,7 @@ msgstr "" "debe proporcionar un comentario, una valoración y el uuid del producto " "solicitado para añadir comentarios." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Error durante la creación del promocode: {e!s}" @@ -2161,13 +2160,14 @@ msgstr "Logotipo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Hola %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "¡Gracias por su pedido #%(order.pk)s! Nos complace informarle de que hemos " @@ -2201,7 +2201,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Saludos cordiales,
el equipo de %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2215,7 +2215,7 @@ msgstr "Pedido entregado" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hola %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2251,7 +2251,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Saludos cordiales,
el equipo de %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2260,7 +2260,8 @@ msgstr "Clave" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Gracias por su pedido. Nos complace confirmarle su compra. A continuación " @@ -2280,7 +2281,7 @@ msgstr "Su pedido se entregará en la siguiente dirección:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Saludos cordiales,
el equipo de %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2303,17 +2304,17 @@ msgstr "" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Contacto iniciado" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Confirmación de pedido" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Pedido entregado" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2334,15 +2335,15 @@ msgstr "" msgid "invalid phone number format" msgstr "Formato de número de teléfono no válido" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Sólo puede descargar el activo digital una vez" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon no encontrado" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Error de geocodificación: {e}" +msgstr "" diff --git a/core/locale/fr_FR/LC_MESSAGES/django.mo b/core/locale/fr_FR/LC_MESSAGES/django.mo index eb958d19a75fd83c3aa250eb208f4a3903887437..78964dc08717a5cd0b5939f6934db0a52c98a56f 100644 GIT binary patch delta 10911 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 AS^xk5 delta 12870 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 diff --git a/core/locale/fr_FR/LC_MESSAGES/django.po b/core/locale/fr_FR/LC_MESSAGES/django.po index 1921cdfe..9339ce06 100644 --- a/core/locale/fr_FR/LC_MESSAGES/django.po +++ b/core/locale/fr_FR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Est actif" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Si la valeur est fixée à false, cet objet ne peut pas être vu par les " "utilisateurs qui n'ont pas l'autorisation nécessaire." @@ -51,82 +50,82 @@ msgstr "Modifié" msgid "when the object was last modified" msgstr "Date de la dernière modification de l'objet" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Traductions" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Général" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relations" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Métadonnées" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Horodatage" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Activer les %(verbose_name_plural)s sélectionnés" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Les articles sélectionnés ont été activés !" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Désactiver les %(verbose_name_plural)s sélectionnés" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Les articles sélectionnés ont été désactivés !" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Valeur de l'attribut" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Valeurs des attributs" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Image" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Images" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Stock" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Stocks" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Commander un produit" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Commander des produits" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Les enfants" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Config" @@ -187,8 +186,10 @@ msgid "" "apply only a key to read permitted data from cache.\n" "apply key, data and timeout with authentication to write data to cache." msgstr "" -"Appliquer uniquement une clé pour lire les données autorisées dans la mémoire cache.\n" -"Appliquer une clé, des données et un délai d'attente avec authentification pour écrire des données dans la mémoire cache." +"Appliquer uniquement une clé pour lire les données autorisées dans la " +"mémoire cache.\n" +"Appliquer une clé, des données et un délai d'attente avec authentification " +"pour écrire des données dans la mémoire cache." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -246,8 +247,7 @@ msgstr "" "modifiables" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Réécrire certains champs d'un groupe d'attributs existant en sauvegardant " "les non-éditables" @@ -276,8 +276,8 @@ msgstr "" #: core/docs/drf/viewsets.py:90 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" -"Réécrire certains champs d'un attribut existant en sauvegardant les éléments" -" non modifiables" +"Réécrire certains champs d'un attribut existant en sauvegardant les éléments " +"non modifiables" #: core/docs/drf/viewsets.py:97 msgid "list all attribute values (simple view)" @@ -302,8 +302,7 @@ msgstr "" "modifiables" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Réécrire certains champs d'une valeur d'attribut existante en sauvegardant " "les éléments non modifiables" @@ -346,11 +345,11 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Recherche insensible à la casse dans human_readable_id, " -"order_products.product.name, et order_products.product.partnumber" +"Recherche insensible à la casse dans human_readable_id, order_products." +"product.name, et order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -386,13 +385,13 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordonner par l'un des éléments suivants : uuid, human_readable_id, " -"user_email, user, status, created, modified, buy_time, random. Préfixer avec" -" '-' pour l'ordre décroissant (par exemple '-buy_time')." +"user_email, user, status, created, modified, buy_time, random. Préfixer avec " +"'-' pour l'ordre décroissant (par exemple '-buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -430,8 +429,8 @@ msgid "" "completed using the user's balance; if `force_payment` is used, a " "transaction is initiated." msgstr "" -"Finalise l'achat de la commande. Si `force_balance` est utilisé, l'achat est" -" complété en utilisant le solde de l'utilisateur ; Si `force_payment` est " +"Finalise l'achat de la commande. Si `force_balance` est utilisé, l'achat est " +"complété en utilisant le solde de l'utilisateur ; Si `force_payment` est " "utilisé, une transaction est initiée." #: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:324 @@ -491,8 +490,8 @@ msgid "" "removes a list of products from an order using the provided `product_uuid` " "and `attributes`" msgstr "" -"Supprime une liste de produits d'une commande en utilisant le `product_uuid`" -" et les `attributs` fournis." +"Supprime une liste de produits d'une commande en utilisant le `product_uuid` " +"et les `attributs` fournis." #: core/docs/drf/viewsets.py:281 msgid "list all wishlists (simple view)" @@ -528,8 +527,8 @@ msgstr "" #: core/docs/drf/viewsets.py:303 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" -"Réécrire certains champs d'un attribut existant en sauvegardant les éléments" -" non modifiables" +"Réécrire certains champs d'un attribut existant en sauvegardant les éléments " +"non modifiables" #: core/docs/drf/viewsets.py:307 msgid "add product to wishlist" @@ -576,18 +575,29 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtre sur une ou plusieurs paires nom/valeur d'attribut. \n" "- **Syntaxe** : `nom_attr=méthode-valeur[;attr2=méthode2-valeur2]...`\n" -"- **Méthodes** (la valeur par défaut est `icontains` si elle est omise) : `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- **Type de valeur** : JSON est essayé en premier (pour que vous puissiez passer des listes/dicts), `true`/`false` pour les booléens, les entiers, les flottants ; sinon traité comme une chaîne de caractères. \n" -"- **Base64** : préfixe avec `b64-` pour encoder la valeur brute en base64 de manière sûre pour l'URL. \n" +"- **Méthodes** (la valeur par défaut est `icontains` si elle est omise) : " +"`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, " +"`istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, " +"`gt`, `gte`, `in`\n" +"- **Type de valeur** : JSON est essayé en premier (pour que vous puissiez " +"passer des listes/dicts), `true`/`false` pour les booléens, les entiers, les " +"flottants ; sinon traité comme une chaîne de caractères. \n" +"- **Base64** : préfixe avec `b64-` pour encoder la valeur brute en base64 de " +"manière sûre pour l'URL. \n" "Exemples : \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -642,10 +652,12 @@ msgstr "(exact) Numérique ou physique" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Liste de champs séparés par des virgules à trier. Préfixer avec `-` pour un tri descendant. \n" +"Liste de champs séparés par des virgules à trier. Préfixer avec `-` pour un " +"tri descendant. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -824,8 +836,8 @@ msgstr "Attributs" msgid "Quantity" msgstr "Quantité" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Limace" @@ -908,7 +920,7 @@ msgstr "Données mises en cache" msgid "camelized JSON data from the requested URL" msgstr "Données JSON camélisées provenant de l'URL demandée" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Seuls les URL commençant par http(s):// sont autorisés." @@ -917,10 +929,10 @@ msgid "add a product to the order" msgstr "Ajouter un produit à la commande" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "L'ordre {order_uuid} n'a pas été trouvé" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -934,36 +946,36 @@ msgstr "Supprimer tous les produits de la commande" msgid "buy an order" msgstr "Acheter une commande" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Veuillez fournir soit order_uuid, soit order_hr_id - les deux s'excluent " "mutuellement !" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" "Le mauvais type provient de la méthode order.buy() : {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Effectuer une action sur une liste de produits dans la commande" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Supprimer/Ajouter" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "L'action doit être soit \"ajouter\", soit \"supprimer\" !" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "" "Effectuer une action sur une liste de produits dans la liste de souhaits" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Veuillez indiquer la valeur de `wishlist_uuid`." @@ -972,7 +984,7 @@ msgstr "Veuillez indiquer la valeur de `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Wishlist {wishlist_uuid} introuvable" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -996,8 +1008,8 @@ msgstr "Acheter une commande" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" "Veuillez envoyer les attributs sous la forme d'une chaîne formatée comme " "attr1=valeur1,attr2=valeur2." @@ -1015,16 +1027,18 @@ msgstr "L'action doit être soit `add` soit `remove` !" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Le produit {order_product_uuid} n'a pas été trouvé." +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Chaîne d'adresse originale fournie par l'utilisateur" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} n'existe pas : {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1034,8 +1048,8 @@ msgstr "La limite doit être comprise entre 1 et 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - fonctionne comme un charme" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Attributs" @@ -1048,11 +1062,11 @@ msgid "groups of attributes" msgstr "Groupes d'attributs" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Catégories" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Marques" @@ -1061,7 +1075,7 @@ msgid "category image url" msgstr "Catégories" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Markup Percentage" @@ -1072,8 +1086,7 @@ msgstr "" "catégorie." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Prix minimum et maximum pour les produits de cette catégorie, s'ils sont " "disponibles." @@ -1086,7 +1099,7 @@ msgstr "Tags pour cette catégorie" msgid "products in this category" msgstr "Produits dans cette catégorie" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Vendeurs" @@ -1098,88 +1111,88 @@ msgstr "Latitude (coordonnée Y)" msgid "Longitude (X coordinate)" msgstr "Longitude (coordonnée X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Comment" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Valeur d'évaluation de 1 à 10 inclus, ou 0 si elle n'est pas définie." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Représente le retour d'information d'un utilisateur." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Notifications" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "URL de téléchargement pour ce produit de la commande, le cas échéant" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Une liste des produits commandés dans cette commande" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Adresse de facturation" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "" -"Adresse d'expédition pour cette commande, laisser vide si elle est identique" -" à l'adresse de facturation ou si elle n'est pas applicable" +"Adresse d'expédition pour cette commande, laisser vide si elle est identique " +"à l'adresse de facturation ou si elle n'est pas applicable" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Prix total de la commande" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Quantité totale de produits dans la commande" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Tous les produits de la commande sont-ils numériques ?" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transactions pour cette commande" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Commandes" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "Image URL" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Images du produit" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Catégorie" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Retour d'information" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Marque" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Groupes d'attributs" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1187,7 +1200,7 @@ msgstr "Groupes d'attributs" msgid "price" msgstr "Prix" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1195,31 +1208,31 @@ msgstr "Prix" msgid "quantity" msgstr "Quantité" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Nombre de retours d'information" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Produits" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Produits en vente" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promotions" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Vendeur" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1227,651 +1240,641 @@ msgstr "Vendeur" msgid "product" msgstr "Produit" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Produits en liste de souhaits" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Liste de souhaits" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Produits marqués" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Étiquettes du produit" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Catégories marquées" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Tags des catégories" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Nom du projet" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Courriel de l'entreprise" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Nom de l'entreprise" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Adresse de l'entreprise" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Numéro de téléphone de l'entreprise" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', parfois il doit être utilisé à la place de la valeur de " "l'utilisateur de l'hôte" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Utilisateur de l'hôte de messagerie" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Montant maximum du paiement" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Montant minimum pour le paiement" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Données analytiques" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Advertisement data" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Configuration" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Code langue" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Nom de la langue" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Drapeau linguistique, s'il existe :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Obtenir la liste des langues prises en charge" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Résultats de la recherche de produits" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Résultats de la recherche de produits" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Parent de ce groupe" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Groupe d'attributs parent" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Nom du groupe d'attributs" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Groupe d'attributs" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Stocke les informations d'identification et les points d'extrémité " "nécessaires à la communication avec l'API du fournisseur." -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Informations sur l'authentification" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "" "Définir la majoration pour les produits récupérés auprès de ce fournisseur" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Pourcentage de marge du vendeur" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Nom de ce vendeur" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Nom du vendeur" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Identifiant interne de l'étiquette du produit" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Nom du jour" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Nom convivial pour l'étiquette du produit" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Nom d'affichage de l'étiquette" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Étiquette du produit" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "étiquette de catégorie" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "balises de catégorie" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Télécharger une image représentant cette catégorie" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Image de catégorie" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "" "Définir un pourcentage de majoration pour les produits de cette catégorie" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Parent de cette catégorie pour former une structure hiérarchique" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Catégorie de parents" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Nom de la catégorie" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Donnez un nom à cette catégorie" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Ajouter une description détaillée pour cette catégorie" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Description de la catégorie" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "les étiquettes qui aident à décrire ou à regrouper cette catégorie" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Priorité" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Nom de cette marque" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Nom de marque" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Télécharger un logo représentant cette marque" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Petite image de marque" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Télécharger un grand logo représentant cette marque" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Une grande image de marque" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Ajouter une description détaillée de la marque" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Description de la marque" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Catégories facultatives auxquelles cette marque est associée" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Catégories" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "Le vendeur qui fournit ce stock de produits" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Vendeur associé" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Prix final pour le client après majoration" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Prix de vente" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Le produit associé à cette entrée de stock" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Produit associé" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "Le prix payé au vendeur pour ce produit" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Prix d'achat du vendeur" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Quantité disponible du produit en stock" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Quantité en stock" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU attribué par le fournisseur pour identifier le produit" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "UGS du vendeur" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Fichier numérique associé à ce stock, le cas échéant" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Fichier numérique" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Entrées de stock" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Catégorie à laquelle appartient ce produit" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Possibilité d'associer ce produit à une marque" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Étiquettes permettant de décrire ou de regrouper ce produit" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Indique si ce produit est livré numériquement" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Le produit est-il numérique ?" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Fournir un nom d'identification clair pour le produit" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Nom du produit" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Ajouter une description détaillée du produit" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Description du produit" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Numéro de pièce pour ce produit" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Numéro de pièce" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Catégorie de cet attribut" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Groupe de cet attribut" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Chaîne" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Entier" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Flotteur" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Booléen" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Tableau" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Objet" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Type de la valeur de l'attribut" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Type de valeur" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Nom de cet attribut" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Nom de l'attribut" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Attribut" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Attribut de cette valeur" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "Le produit spécifique associé à la valeur de cet attribut" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "La valeur spécifique de cet attribut" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "Fournir un texte alternatif pour l'image afin d'en faciliter l'accès" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Texte alt de l'image" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Télécharger le fichier image pour ce produit" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Image du produit" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Détermine l'ordre d'affichage des images" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Priorité à l'affichage" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Le produit que cette image représente" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Images du produit" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Pourcentage de réduction pour les produits sélectionnés" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Pourcentage de réduction" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Donnez un nom unique à cette promotion" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Nom de la promotion" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Sélectionnez les produits inclus dans cette promotion" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Produits inclus" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promotion" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Produits que l'utilisateur a marqués comme souhaités" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Utilisateur qui possède cette liste de souhaits" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Propriétaire de la liste de souhaits" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Liste de souhaits" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} n'existe pas : {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Documentaire" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Documentaires" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Non résolu" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Ligne d'adresse du client" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Ligne d'adresse" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Rue" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "District" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Ville" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Région" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Code postal" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Pays" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Point de géolocalisation (longitude, latitude)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Réponse JSON complète du géocodeur pour cette adresse" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Réponse JSON stockée du service de géocodage" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Adresse" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adresses" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" -msgstr "" -"Code unique utilisé par un utilisateur pour bénéficier d'une réduction" +msgstr "Code unique utilisé par un utilisateur pour bénéficier d'une réduction" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Identifiant du code promotionnel" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" -msgstr "" -"Montant fixe de la remise appliqué si le pourcentage n'est pas utilisé" +msgstr "Montant fixe de la remise appliqué si le pourcentage n'est pas utilisé" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Montant de l'escompte fixe" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" -msgstr "" -"Pourcentage de réduction appliqué si le montant fixe n'est pas utilisé" +msgstr "Pourcentage de réduction appliqué si le montant fixe n'est pas utilisé" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Pourcentage de réduction" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Date d'expiration du code promotionnel" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Heure de fin de validité" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Date à partir de laquelle ce code promotionnel est valable" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Heure de début de validité" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -"Date à laquelle le code promotionnel a été utilisé, vide s'il n'a pas encore" -" été utilisé." +"Date à laquelle le code promotionnel a été utilisé, vide s'il n'a pas encore " +"été utilisé." -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Horodatage de l'utilisation" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Utilisateur assigné à ce code promo, le cas échéant" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Utilisateur assigné" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Code promo" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Codes promotionnels" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1879,154 +1882,153 @@ msgstr "" "Un seul type de remise doit être défini (montant ou pourcentage), mais pas " "les deux ni aucun des deux." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Le code promotionnel a déjà été utilisé" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Type de réduction non valide pour le code promo {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "L'adresse de facturation utilisée pour cette commande" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Code promo optionnel appliqué à cette commande" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Code promo appliqué" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "L'adresse de livraison utilisée pour cette commande" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Adresse de livraison" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Statut actuel de la commande dans son cycle de vie" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Statut de la commande" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "Structure JSON des notifications à afficher aux utilisateurs ; dans " "l'interface d'administration, la vue en tableau est utilisée." -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "Représentation JSON des attributs de cette commande" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "L'utilisateur qui a passé la commande" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Utilisateur" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "L'heure à laquelle la commande a été finalisée." -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Temps d'achat" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Un identifiant lisible par l'homme pour la commande" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "ID lisible par l'homme" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Commande" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "Un utilisateur ne peut avoir qu'un seul ordre en cours à la fois !" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "" -"Vous ne pouvez pas ajouter de produits à une commande qui n'est pas en " -"cours." +"Vous ne pouvez pas ajouter de produits à une commande qui n'est pas en cours." -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Vous ne pouvez pas ajouter des produits inactifs à la commande" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "" "Vous ne pouvez pas ajouter plus de produits que ceux disponibles en stock" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Vous ne pouvez pas retirer des produits d'une commande qui n'est pas en " "cours." -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} n'existe pas avec la requête <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Le code promotionnel n'existe pas" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" "Vous ne pouvez acheter que des produits physiques dont l'adresse de " "livraison est spécifiée !" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "L'adresse n'existe pas" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "Vous ne pouvez pas acheter en ce moment, veuillez réessayer dans quelques " "minutes." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Valeur de force non valide" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Vous ne pouvez pas acheter une commande vide !" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "" "Vous ne pouvez pas retirer des produits d'une commande qui n'est pas en " "cours." -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Un utilisateur sans solde ne peut pas acheter avec un solde !" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Insuffisance de fonds pour compléter la commande" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2035,7 +2037,7 @@ msgstr "" "informations suivantes : nom du client, courriel du client, numéro de " "téléphone du client" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -2043,120 +2045,118 @@ msgstr "" "Méthode de paiement non valide : {payment_method} de " "{available_payment_methods} !" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "Le prix payé par le client pour ce produit au moment de l'achat" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Prix d'achat au moment de la commande" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" -msgstr "" -"Commentaires internes pour les administrateurs sur ce produit commandé" +msgstr "Commentaires internes pour les administrateurs sur ce produit commandé" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Commentaires internes" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Notifications aux utilisateurs" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "Représentation JSON des attributs de cet élément" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Attributs du produit ordonnés" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Référence à l'ordre parent qui contient ce produit" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Ordonnance parentale" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Le produit spécifique associé à cette ligne de commande" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Quantité de ce produit spécifique dans la commande" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Quantité de produits" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Statut actuel de ce produit dans la commande" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Statut de la ligne de produits" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Le produit doit être associé à une commande !" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "mauvaise action spécifiée pour le retour d'information : {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "" "Vous ne pouvez pas retirer des produits d'une commande qui n'est pas en " "cours." -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Télécharger" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Téléchargements" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "" "Vous ne pouvez pas télécharger un bien numérique pour une commande non " "terminée." -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Commentaires des utilisateurs sur leur expérience du produit" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Commentaires" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" "Fait référence au produit spécifique d'une commande sur lequel porte le " "retour d'information." -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Produit de commande apparenté" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Note attribuée par l'utilisateur au produit" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Evaluation du produit" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Retour d'information" @@ -2167,7 +2167,7 @@ msgstr "" "vous devez fournir un commentaire, une note et l'uuid du produit commandé " "pour ajouter un commentaire." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Erreur lors de la création du promocode : {e!s}" @@ -2193,13 +2193,14 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Bonjour %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Merci pour votre commande #%(order.pk)s ! Nous avons le plaisir de vous " @@ -2234,7 +2235,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Meilleures salutations,
l'équipe de %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2248,7 +2249,7 @@ msgstr "Commande livrée" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Bonjour %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2284,7 +2285,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Meilleures salutations,
l'équipe de %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2293,7 +2294,8 @@ msgstr "Clé" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Nous vous remercions pour votre commande ! Nous avons le plaisir de " @@ -2314,7 +2316,7 @@ msgstr "Votre commande sera livrée à l'adresse suivante :" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Meilleures salutations,
l'équipe de %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2332,23 +2334,23 @@ msgstr "Les données et le délai d'attente sont tous deux nécessaires" #: core/utils/caching.py:43 msgid "invalid timeout value, it must be between 0 and 216000 seconds" msgstr "" -"La valeur du délai d'attente n'est pas valide, elle doit être comprise entre" -" 0 et 216000 secondes." +"La valeur du délai d'attente n'est pas valide, elle doit être comprise entre " +"0 et 216000 secondes." #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Nous contacter initié" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Confirmation de commande" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Commande livrée" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2369,15 +2371,15 @@ msgstr "" msgid "invalid phone number format" msgstr "Format de numéro de téléphone non valide" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Vous ne pouvez télécharger le bien numérique qu'une seule fois" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon introuvable" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Erreur de géocodage : {e}" +msgstr "" diff --git a/core/locale/hi_IN/LC_MESSAGES/django.po b/core/locale/hi_IN/LC_MESSAGES/django.po index 998b112d..543c4655 100644 --- a/core/locale/hi_IN/LC_MESSAGES/django.po +++ b/core/locale/hi_IN/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -49,82 +49,82 @@ msgstr "" msgid "when the object was last modified" msgstr "" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "" @@ -748,8 +748,8 @@ msgstr "" msgid "Quantity" msgstr "" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 core/models.py:471 -#: core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "" @@ -830,7 +830,7 @@ msgstr "" msgid "camelized JSON data from the requested URL" msgstr "" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "" @@ -839,7 +839,7 @@ msgid "add a product to the order" msgstr "" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" msgstr "" @@ -856,32 +856,32 @@ msgstr "" msgid "buy an order" msgstr "" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "" @@ -935,7 +935,9 @@ msgstr "" msgid "original address string provided by the user" msgstr "" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "" @@ -948,8 +950,8 @@ msgstr "" msgid "elasticsearch - works like a charm" msgstr "" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "" @@ -962,11 +964,11 @@ msgid "groups of attributes" msgstr "" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "" @@ -975,7 +977,7 @@ msgid "category image url" msgstr "" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "" @@ -995,7 +997,7 @@ msgstr "" msgid "products in this category" msgstr "" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "" @@ -1007,86 +1009,86 @@ msgstr "" msgid "Longitude (X coordinate)" msgstr "" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "" -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1094,7 +1096,7 @@ msgstr "" msgid "price" msgstr "" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1102,31 +1104,31 @@ msgstr "" msgid "quantity" msgstr "" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1134,896 +1136,890 @@ msgstr "" msgid "product" msgstr "" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "" -#: core/models.py:526 core/models.py:831 core/models.py:888 core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "" -#: core/models.py:1942 +#: core/models.py:1972 msgid "references the specific product in an order that this feedback is about" msgstr "" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "" @@ -2032,7 +2028,7 @@ msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "" -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "" @@ -2216,15 +2212,15 @@ msgstr "" msgid "invalid phone number format" msgstr "" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" msgstr "" diff --git a/core/locale/it_IT/LC_MESSAGES/django.mo b/core/locale/it_IT/LC_MESSAGES/django.mo index 6155b6d9cf15a88bc1aaf0e5bd42bc68bbf4304f..22b15b586c2f656f3b90e2b431da70e95cafc76e 100644 GIT binary patch delta 10913 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 delta 12806 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 Muaowt7Uq=w8-\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,11 +29,10 @@ msgstr "È attivo" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" -"Se impostato a false, questo oggetto non può essere visto dagli utenti senza" -" i necessari permessi." +"Se impostato a false, questo oggetto non può essere visto dagli utenti senza " +"i necessari permessi." #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -51,82 +50,82 @@ msgstr "Modificato" msgid "when the object was last modified" msgstr "Quando l'oggetto è stato modificato per l'ultima volta" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Traduzioni" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Generale" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relazioni" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadati" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Timestamp" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Attivare il %(verbose_name_plural)s selezionato" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Gli articoli selezionati sono stati attivati!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Disattivare il %(verbose_name_plural)s selezionato" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Gli articoli selezionati sono stati disattivati!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Valore dell'attributo" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Valori degli attributi" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Immagine" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Immagini" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Stock" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Le scorte" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Ordina il prodotto" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Ordinare i prodotti" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "I bambini" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Configurazione" @@ -188,7 +187,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Applicare solo una chiave per leggere i dati consentiti dalla cache.\n" -"Applicare chiave, dati e timeout con autenticazione per scrivere dati nella cache." +"Applicare chiave, dati e timeout con autenticazione per scrivere dati nella " +"cache." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -245,8 +245,7 @@ msgstr "" "Riscrivere un gruppo di attributi esistente salvando i non modificabili" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Riscrivere alcuni campi di un gruppo di attributi esistente salvando quelli " "non modificabili" @@ -301,8 +300,7 @@ msgstr "" "modificabili" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Riscrivere alcuni campi di un valore di attributo esistente salvando i " "valori non modificabili" @@ -331,8 +329,8 @@ msgstr "" #: core/docs/drf/viewsets.py:144 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" -"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non" -" modificabili" +"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non " +"modificabili" #: core/docs/drf/viewsets.py:151 msgid "list all orders (simple view)" @@ -346,12 +344,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Ricerca di sottostringhe senza distinzione di maiuscole e minuscole tra " -"human_readable_id, order_products.product.name e " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name e order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -387,9 +385,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordinare per uno dei seguenti criteri: uuid, human_readable_id, user_email, " "user, status, created, modified, buy_time, random. Prefisso con '-' per la " @@ -419,8 +417,8 @@ msgstr "" #: core/docs/drf/viewsets.py:227 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" -"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non" -" modificabili" +"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non " +"modificabili" #: core/docs/drf/viewsets.py:231 msgid "purchase an order" @@ -433,8 +431,8 @@ msgid "" "transaction is initiated." msgstr "" "Finalizza l'acquisto dell'ordine. Se si utilizza `forza_bilancio`, " -"l'acquisto viene completato utilizzando il saldo dell'utente; se si utilizza" -" `forza_pagamento`, viene avviata una transazione." +"l'acquisto viene completato utilizzando il saldo dell'utente; se si utilizza " +"`forza_pagamento`, viene avviata una transazione." #: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:324 msgid "purchase an order without account creation" @@ -502,8 +500,8 @@ msgstr "Elenco di tutti gli attributi (vista semplice)" #: core/docs/drf/viewsets.py:282 msgid "for non-staff users, only their own wishlists are returned." msgstr "" -"Per gli utenti che non fanno parte del personale, vengono restituite solo le" -" loro liste dei desideri." +"Per gli utenti che non fanno parte del personale, vengono restituite solo le " +"loro liste dei desideri." #: core/docs/drf/viewsets.py:286 msgid "retrieve a single wishlist (detailed view)" @@ -576,18 +574,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrare in base a una o più coppie nome/valore dell'attributo. \n" "- **Sintassi**: `nome_attraverso=metodo-valore[;attr2=metodo2-valore2]...`\n" -"- **Metodi** (predefiniti a `icontains` se omessi): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- **Tipo di valore**: JSON viene tentato per primo (in modo da poter passare liste/dict), `true`/`false` per booleani, interi, float; altrimenti viene trattato come stringa. \n" -"- **Base64**: prefisso con `b64-` per codificare in base64 il valore grezzo. \n" +"- **Metodi** (predefiniti a `icontains` se omessi): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- **Tipo di valore**: JSON viene tentato per primo (in modo da poter passare " +"liste/dict), `true`/`false` per booleani, interi, float; altrimenti viene " +"trattato come stringa. \n" +"- **Base64**: prefisso con `b64-` per codificare in base64 il valore " +"grezzo. \n" "Esempi: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -643,10 +651,12 @@ msgstr "(esatto) Digitale e fisico" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Elenco separato da virgole dei campi da ordinare. Prefisso con `-` per l'ordinamento discendente. \n" +"Elenco separato da virgole dei campi da ordinare. Prefisso con `-` per " +"l'ordinamento discendente. \n" "**Consentito:** uuid, rating, nome, slug, creato, modificato, prezzo, casuale" #: core/docs/drf/viewsets.py:441 @@ -665,8 +675,7 @@ msgstr "Creare un prodotto" #: core/docs/drf/viewsets.py:463 msgid "rewrite an existing product, preserving non-editable fields" -msgstr "" -"Riscrivere un prodotto esistente, preservando i campi non modificabili" +msgstr "Riscrivere un prodotto esistente, preservando i campi non modificabili" #: core/docs/drf/viewsets.py:478 msgid "" @@ -744,8 +753,8 @@ msgstr "" #: core/docs/drf/viewsets.py:615 msgid "rewrite some fields of an existing feedback saving non-editables" msgstr "" -"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non" -" modificabili" +"Riscrivere alcuni campi di una categoria esistente salvando gli elementi non " +"modificabili" #: core/docs/drf/viewsets.py:622 msgid "list all order–product relations (simple view)" @@ -823,8 +832,8 @@ msgstr "Attributi" msgid "Quantity" msgstr "Quantità" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Lumaca" @@ -906,7 +915,7 @@ msgstr "Dati in cache" msgid "camelized JSON data from the requested URL" msgstr "Dati JSON camelizzati dall'URL richiesto" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Sono consentiti solo gli URL che iniziano con http(s)://" @@ -915,10 +924,10 @@ msgid "add a product to the order" msgstr "Aggiungere un prodotto all'ordine" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Ordine {order_uuid} non trovato" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -932,34 +941,33 @@ msgstr "Rimuovere tutti i prodotti dall'ordine" msgid "buy an order" msgstr "Acquistare un ordine" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Si prega di fornire order_uuid o order_hr_id, che si escludono a vicenda!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" -msgstr "" -"Il metodo order.buy() ha fornito un tipo sbagliato: {type(instance)!s}" +msgstr "Il metodo order.buy() ha fornito un tipo sbagliato: {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Eseguire un'azione su un elenco di prodotti nell'ordine" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Rimuovi/Aggiungi" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "L'azione deve essere \"aggiungere\" o \"rimuovere\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Eseguire un'azione su un elenco di prodotti nella wishlist" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Fornire il valore `wishlist_uuid`." @@ -968,7 +976,7 @@ msgstr "Fornire il valore `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Lista dei desideri {wishlist_uuid} non trovata" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -992,11 +1000,11 @@ msgstr "Acquistare un ordine" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" -"Inviare gli attributi come stringa formattata come " -"attr1=valore1,attr2=valore2" +"Inviare gli attributi come stringa formattata come attr1=valore1," +"attr2=valore2" #: core/graphene/mutations.py:532 msgid "add or delete a feedback for orderproduct" @@ -1009,16 +1017,18 @@ msgstr "L'azione deve essere `add` o `remove`!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Prodotto dell'ordine {order_product_uuid} non trovato" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Stringa di indirizzo originale fornita dall'utente" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} non esiste: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1028,8 +1038,8 @@ msgstr "Il limite deve essere compreso tra 1 e 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch: funziona a meraviglia" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Attributi" @@ -1042,11 +1052,11 @@ msgid "groups of attributes" msgstr "Gruppi di attributi" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Categorie" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Marche" @@ -1055,7 +1065,7 @@ msgid "category image url" msgstr "Categorie" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Percentuale di markup" @@ -1066,8 +1076,7 @@ msgstr "" "categoria." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Prezzi minimi e massimi per i prodotti di questa categoria, se disponibili." @@ -1079,7 +1088,7 @@ msgstr "Tag per questa categoria" msgid "products in this category" msgstr "Prodotti in questa categoria" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Venditori" @@ -1091,36 +1100,36 @@ msgstr "Latitudine (coordinata Y)" msgid "Longitude (X coordinate)" msgstr "Longitudine (coordinata X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Come" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Valore di valutazione da 1 a 10, incluso, o 0 se non impostato." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Rappresenta il feedback di un utente." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Notifiche" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "URL di download per il prodotto dell'ordine, se applicabile" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Un elenco di prodotti ordinati in questo ordine" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Indirizzo di fatturazione" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1128,51 +1137,51 @@ msgstr "" "Indirizzo di spedizione per questo ordine, lasciare in bianco se è uguale " "all'indirizzo di fatturazione o se non è applicabile" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Prezzo totale dell'ordine" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Quantità totale di prodotti in ordine" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Tutti i prodotti sono presenti nell'ordine digitale" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transazioni per questo ordine" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Ordini" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "URL immagine" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Immagini del prodotto" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Categoria" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Feedback" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Marchio" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Gruppi di attributi" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1180,7 +1189,7 @@ msgstr "Gruppi di attributi" msgid "price" msgstr "Prezzo" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1188,31 +1197,31 @@ msgstr "Prezzo" msgid "quantity" msgstr "Quantità" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Numero di feedback" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Prodotti" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Codici promozionali" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Prodotti in vendita" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promozioni" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Venditore" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1220,797 +1229,789 @@ msgstr "Venditore" msgid "product" msgstr "Prodotto" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Prodotti desiderati" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Liste dei desideri" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Prodotti contrassegnati" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Tag del prodotto" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Contrassegnato dalle categorie" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Tag delle categorie" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Nome del progetto" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Email aziendale" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Nome della società" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Indirizzo dell'azienda" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Numero di telefono dell'azienda" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', a volte deve essere usato al posto del valore dell'utente host" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Utente host dell'e-mail" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Importo massimo per il pagamento" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Importo minimo per il pagamento" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Dati analitici" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Dati pubblicitari" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Configurazione" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Codice lingua" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Nome della lingua" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Bandiera della lingua, se esiste :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Ottenere un elenco delle lingue supportate" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Risultati della ricerca dei prodotti" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Risultati della ricerca dei prodotti" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Genitore di questo gruppo" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Gruppo di attributi padre" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Nome del gruppo di attributi" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Gruppo di attributi" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Memorizza le credenziali e gli endpoint necessari per la comunicazione API " "del fornitore." -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Informazioni sull'autenticazione" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "Definire il markup per i prodotti recuperati da questo fornitore" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Percentuale di ricarico del fornitore" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Nome del fornitore" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Nome del fornitore" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Identificatore interno dell'etichetta del prodotto" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Nome del tag" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Nome intuitivo per l'etichetta del prodotto" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Nome del tag" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Etichetta del prodotto" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "tag categoria" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "tag di categoria" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Caricare un'immagine che rappresenti questa categoria" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Categoria immagine" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "" "Definire una percentuale di ricarico per i prodotti di questa categoria" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Genitore di questa categoria per formare una struttura gerarchica" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Categoria di genitori" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Nome della categoria" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Indicare un nome per questa categoria" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Aggiungere una descrizione dettagliata per questa categoria" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Descrizione della categoria" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "tag che aiutano a descrivere o raggruppare questa categoria" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Priorità" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Nome del marchio" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Nome del marchio" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Caricare un logo che rappresenti questo marchio" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Immagine piccola del marchio" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Caricare un grande logo che rappresenti questo marchio" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Grande immagine del marchio" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Aggiungere una descrizione dettagliata del marchio" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Descrizione del marchio" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Categorie opzionali a cui questo marchio è associato" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Categorie" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "Il venditore che fornisce questo stock di prodotti" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Venditore associato" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Prezzo finale al cliente dopo i ricarichi" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Prezzo di vendita" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Il prodotto associato a questa voce di magazzino" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Prodotto associato" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "Il prezzo pagato al venditore per questo prodotto" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Prezzo di acquisto del fornitore" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Quantità disponibile del prodotto in magazzino" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Quantità in magazzino" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU assegnato dal fornitore per identificare il prodotto" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "SKU del venditore" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "File digitale associato a questo stock, se applicabile" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "File digitale" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Voci di magazzino" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Categoria a cui appartiene questo prodotto" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Associare facoltativamente questo prodotto a un marchio" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Tag che aiutano a descrivere o raggruppare questo prodotto" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Indica se il prodotto è consegnato in formato digitale" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Il prodotto è digitale" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Fornire un nome identificativo chiaro per il prodotto" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Nome del prodotto" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Aggiungere una descrizione dettagliata del prodotto" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Descrizione del prodotto" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Numero di parte per questo prodotto" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Numero di parte" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Categoria di questo attributo" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Gruppo di questo attributo" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Stringa" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Intero" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Galleggiante" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Booleano" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Array" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Oggetto" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Tipo di valore dell'attributo" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Tipo di valore" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Nome dell'attributo" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Nome dell'attributo" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Attributo" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Attributo di questo valore" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "Il prodotto specifico associato al valore di questo attributo" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "Il valore specifico per questo attributo" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "" "Fornire un testo alternativo per l'immagine ai fini dell'accessibilità." -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Testo alt dell'immagine" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Caricare il file immagine per questo prodotto" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Immagine del prodotto" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Determina l'ordine di visualizzazione delle immagini" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Priorità del display" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Il prodotto che questa immagine rappresenta" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Immagini del prodotto" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Percentuale di sconto per i prodotti selezionati" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Percentuale di sconto" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Fornite un nome unico per questa promozione" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Nome della promozione" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Descrizione della promozione" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Selezionare i prodotti inclusi in questa promozione" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Prodotti inclusi" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promozione" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Prodotti che l'utente ha contrassegnato come desiderati" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Utente che possiede questa wishlist" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Proprietario della lista dei desideri" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Lista dei desideri" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} non esiste: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Documentario" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Documentari" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Non risolto" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Indirizzo del cliente" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Linea di indirizzo" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Via" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Distretto" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Città" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Regione" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Codice postale" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Paese" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Punto di geolocalizzazione(Longitudine, Latitudine)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Risposta JSON completa di geocoder per questo indirizzo" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Risposta JSON memorizzata dal servizio di geocodifica" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Indirizzo" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Indirizzi" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Codice univoco utilizzato da un utente per riscattare uno sconto" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Identificatore del codice promozionale" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" -msgstr "" -"Importo fisso dello sconto applicato se non si utilizza la percentuale" +msgstr "Importo fisso dello sconto applicato se non si utilizza la percentuale" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Importo fisso dello sconto" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Sconto percentuale applicato se l'importo fisso non viene utilizzato" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Sconto percentuale" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Data di scadenza del codice promozionale" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Tempo di validità finale" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Data a partire dalla quale il codice promozionale è valido" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Ora di inizio validità" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Timestamp in cui è stato utilizzato il codice promozionale, vuoto se non " "ancora utilizzato" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Timestamp d'uso" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Utente assegnato a questo codice promozionale, se applicabile" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Utente assegnato" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Codice promozionale" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Codici promozionali" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"È necessario definire un solo tipo di sconto (importo o percentuale), ma non" -" entrambi o nessuno." +"È necessario definire un solo tipo di sconto (importo o percentuale), ma non " +"entrambi o nessuno." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Il codice promozionale è già stato utilizzato" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Tipo di sconto non valido per il codice promozionale {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "L'indirizzo di fatturazione utilizzato per questo ordine" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Codice promozionale opzionale applicato a questo ordine" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Codice promozionale applicato" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "L'indirizzo di spedizione utilizzato per questo ordine" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Indirizzo di spedizione" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Stato attuale dell'ordine nel suo ciclo di vita" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Stato dell'ordine" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "Struttura JSON delle notifiche da mostrare agli utenti; nell'interfaccia " "utente dell'amministratore viene utilizzata la visualizzazione a tabella." -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "Rappresentazione JSON degli attributi dell'ordine per questo ordine" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "L'utente che ha effettuato l'ordine" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Utente" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "Il timestamp del momento in cui l'ordine è stato finalizzato" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Acquista tempo" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Un identificatore leggibile dall'uomo per l'ordine" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "ID leggibile dall'uomo" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Ordine" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "Un utente può avere un solo ordine pendente alla volta!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "" "Non è possibile aggiungere prodotti a un ordine che non sia in sospeso." -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Non è possibile aggiungere all'ordine prodotti inattivi" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "" "Non è possibile aggiungere più prodotti di quelli disponibili in magazzino" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "Non è possibile rimuovere i prodotti da un ordine che non è in corso." -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} non esiste con la query <{query}>." +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Il codice promozionale non esiste" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" "È possibile acquistare solo prodotti fisici con indirizzo di spedizione " "specificato!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "L'indirizzo non esiste" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "In questo momento non è possibile acquistare, riprovare tra qualche minuto." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Valore di forza non valido" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Non è possibile acquistare un ordine vuoto!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "Non è possibile acquistare un ordine senza un utente!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Un utente senza saldo non può acquistare con il saldo!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Fondi insufficienti per completare l'ordine" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2019,7 +2020,7 @@ msgstr "" "seguenti informazioni: nome del cliente, e-mail del cliente, numero di " "telefono del cliente" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -2027,115 +2028,114 @@ msgstr "" "Metodo di pagamento non valido: {payment_method} da " "{available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "" "Il prezzo pagato dal cliente per questo prodotto al momento dell'acquisto." -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Prezzo di acquisto al momento dell'ordine" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "Commenti interni per gli amministratori su questo prodotto ordinato" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Commenti interni" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Notifiche degli utenti" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "Rappresentazione JSON degli attributi di questo elemento" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Attributi del prodotto ordinati" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Riferimento all'ordine padre che contiene questo prodotto" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Ordine dei genitori" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Il prodotto specifico associato a questa riga d'ordine" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Quantità di questo prodotto specifico nell'ordine" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Quantità di prodotto" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Stato attuale di questo prodotto nell'ordine" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Stato della linea di prodotti" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "L'ordine-prodotto deve avere un ordine associato!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "azione errata specificata per il feedback: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "non è possibile dare un riscontro a un ordine non ricevuto" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Scaricare" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Scaricamento" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "Non è possibile scaricare un bene digitale per un ordine non finito." -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Commenti degli utenti sulla loro esperienza con il prodotto" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Commenti di feedback" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" "Riferisce il prodotto specifico in un ordine di cui si tratta il feedback." -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Prodotto correlato all'ordine" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Valutazione del prodotto assegnata dall'utente" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Valutazione del prodotto" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Feedback" @@ -2143,10 +2143,10 @@ msgstr "Feedback" msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "" -"per aggiungere un feedback è necessario fornire un commento, una valutazione" -" e l'uuid del prodotto dell'ordine." +"per aggiungere un feedback è necessario fornire un commento, una valutazione " +"e l'uuid del prodotto dell'ordine." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Errore durante la creazione del codice promozionale: {e!s}" @@ -2172,13 +2172,14 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Hello %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Grazie per il vostro ordine #%(order.pk)s! Siamo lieti di informarla che " @@ -2207,13 +2208,13 @@ msgid "" "if you have any questions, feel free to contact our support at\n" " %(config.EMAIL_HOST_USER)s." msgstr "" -"Per qualsiasi domanda, non esitate a contattare il nostro supporto al numero" -" %(config.EMAIL_HOST_USER)s." +"Per qualsiasi domanda, non esitate a contattare il nostro supporto al numero " +"%(config.EMAIL_HOST_USER)s." #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Cordiali saluti,
il team %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2227,7 +2228,7 @@ msgstr "Ordine consegnato" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hello %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2257,13 +2258,13 @@ msgid "" "if you have any questions, feel free to contact our support at\n" " %(contact_email)s." msgstr "" -"Per qualsiasi domanda, non esitate a contattare il nostro supporto al numero" -" %(contact_email)s." +"Per qualsiasi domanda, non esitate a contattare il nostro supporto al numero " +"%(contact_email)s." #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Cordiali saluti,
il team %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2272,7 +2273,8 @@ msgstr "Chiave" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Grazie per il vostro ordine! Siamo lieti di confermare il suo acquisto. Di " @@ -2292,7 +2294,7 @@ msgstr "Il vostro ordine sarà consegnato al seguente indirizzo:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Cordiali saluti,
il team %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2315,17 +2317,17 @@ msgstr "" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Contatti avviati" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Conferma d'ordine" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Ordine consegnato" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2339,22 +2341,22 @@ msgstr "Il parametro NOMINATIM_URL deve essere configurato!" #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -"Le dimensioni dell'immagine non devono superare w{max_width} x h{max_height}" -" pixel" +"Le dimensioni dell'immagine non devono superare w{max_width} x h{max_height} " +"pixel" #: core/validators.py:22 msgid "invalid phone number format" msgstr "Formato del numero di telefono non valido" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "È possibile scaricare l'asset digitale una sola volta" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon non trovata" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Errore di geocodifica: {e}" +msgstr "" diff --git a/core/locale/ja_JP/LC_MESSAGES/django.mo b/core/locale/ja_JP/LC_MESSAGES/django.mo index d7402da9ce8b441fe335b5d76fd965380b7b0fac..df80966e78cc509356b324694093deb9bc1b18e0 100644 GIT binary patch delta 10905 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 G%l3cCM3x)? delta 13275 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -19,7 +19,8 @@ msgstr "ユニークID" #: core/abstract.py:12 msgid "unique id is used to surely identify any database object" -msgstr "ユニークIDは、データベースオブジェクトを確実に識別するために使用されます。" +msgstr "" +"ユニークIDは、データベースオブジェクトを確実に識別するために使用されます。" #: core/abstract.py:19 msgid "is active" @@ -27,9 +28,10 @@ msgstr "アクティブ" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" -msgstr "falseに設定された場合、このオブジェクトは必要なパーミッションのないユーザーには見えない。" +"if set to false, this object can't be seen by users without needed permission" +msgstr "" +"falseに設定された場合、このオブジェクトは必要なパーミッションのないユーザーに" +"は見えない。" #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -47,82 +49,82 @@ msgstr "変形" msgid "when the object was last modified" msgstr "オブジェクトの最終編集日時" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "翻訳" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "一般" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "関係" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "メタデータ" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "タイムスタンプ" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "選択した %(verbose_name_plural)s をアクティブにする。" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "選択した項目がアクティブになりました!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "選択された %(verbose_name_plural)s を非アクティブにする。" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "選択されたアイテムは無効化されました!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "属性値" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "属性値" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "画像" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "画像" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "在庫" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "株式" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "商品のご注文" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "商品のご注文" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "子供たち" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "コンフィグ" @@ -184,7 +186,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "許可されたデータをキャッシュから読み出すには、キーのみを適用する。\n" -"キャッシュにデータを書き込むには、認証付きのキー、データ、タイムアウトを適用する。" +"キャッシュにデータを書き込むには、認証付きのキー、データ、タイムアウトを適用" +"する。" #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -214,7 +217,9 @@ msgstr "ビジネスとして注文を購入する" msgid "" "purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." -msgstr "提供された `product` と `product_uuid` と `attributes` を使用して、ビジネスとして注文を購入する。" +msgstr "" +"提供された `product` と `product_uuid` と `attributes` を使用して、ビジネスと" +"して注文を購入する。" #: core/docs/drf/viewsets.py:43 msgid "list all attribute groups (simple view)" @@ -237,9 +242,10 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "既存の属性グループを書き換えて、編集不可能なものを保存する。" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" -msgstr "既存の属性グループのいくつかのフィールドを書き換え、編集不可能なものを保存する。" +msgid "rewrite some fields of an existing attribute group saving non-editables" +msgstr "" +"既存の属性グループのいくつかのフィールドを書き換え、編集不可能なものを保存す" +"る。" #: core/docs/drf/viewsets.py:70 msgid "list all attributes (simple view)" @@ -263,7 +269,8 @@ msgstr "既存の属性を書き換える。" #: core/docs/drf/viewsets.py:90 msgid "rewrite some fields of an existing attribute saving non-editables" -msgstr "既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" +msgstr "" +"既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" #: core/docs/drf/viewsets.py:97 msgid "list all attribute values (simple view)" @@ -286,9 +293,9 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "既存の属性値を書き換える。" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" -msgstr "既存の属性値のいくつかのフィールドを書き換え、編集不可能な値を保存する。" +msgid "rewrite some fields of an existing attribute value saving non-editables" +msgstr "" +"既存の属性値のいくつかのフィールドを書き換え、編集不可能な値を保存する。" #: core/docs/drf/viewsets.py:124 msgid "list all categories (simple view)" @@ -324,10 +331,11 @@ msgstr "スタッフ以外のユーザーについては、自分の注文のみ #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"human_readable_id、order_products.product.name、order_products.product.partnumberの大文字小文字を区別しない部分文字列検索" +"human_readable_id、order_products.product.name、order_products.product." +"partnumberの大文字小文字を区別しない部分文字列検索" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -347,7 +355,8 @@ msgstr "人間が読み取れる正確な注文IDによるフィルタリング" #: core/docs/drf/viewsets.py:185 msgid "Filter by user's email (case-insensitive exact match)" -msgstr "ユーザーのEメールによるフィルタリング(大文字・小文字を区別しない完全一致)" +msgstr "" +"ユーザーのEメールによるフィルタリング(大文字・小文字を区別しない完全一致)" #: core/docs/drf/viewsets.py:190 msgid "Filter by user's UUID" @@ -355,15 +364,19 @@ msgstr "ユーザーのUUIDによるフィルタリング" #: core/docs/drf/viewsets.py:195 msgid "Filter by order status (case-insensitive substring match)" -msgstr "注文ステータスによるフィルタリング(大文字と小文字を区別しない部分文字列マッチ)" +msgstr "" +"注文ステータスによるフィルタリング(大文字と小文字を区別しない部分文字列マッ" +"チ)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" -"uuid、human_readable_id、user_email、user、status、created、modified、buy_time、randomのいずれかによる順序。降順の場合は'-'をプレフィックスとしてつける(例:'-buy_time')。" +"uuid、human_readable_id、user_email、user、status、created、modified、" +"buy_time、randomのいずれかによる順序。降順の場合は'-'をプレフィックスとしてつ" +"ける(例:'-buy_time')。" #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -399,8 +412,9 @@ msgid "" "completed using the user's balance; if `force_payment` is used, a " "transaction is initiated." msgstr "" -"注文の購入を確定する。force_balance` が使用された場合、ユーザーの残高を使用して購入が完了します。 `force_payment` " -"が使用された場合、トランザクションが開始されます。" +"注文の購入を確定する。force_balance` が使用された場合、ユーザーの残高を使用し" +"て購入が完了します。 `force_payment` が使用された場合、トランザクションが開始" +"されます。" #: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:324 msgid "purchase an order without account creation" @@ -418,7 +432,8 @@ msgstr "注文に商品を追加する" msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." -msgstr "指定した `product_uuid` と `attributes` を使用して、商品を注文に追加する。" +msgstr "" +"指定した `product_uuid` と `attributes` を使用して、商品を注文に追加する。" #: core/docs/drf/viewsets.py:260 msgid "add a list of products to order, quantities will not count" @@ -428,7 +443,9 @@ msgstr "数量はカウントされません。" msgid "" "adds a list of products to an order using the provided `product_uuid` and " "`attributes`." -msgstr "指定された `product_uuid` と `attributes` を使用して、注文に商品のリストを追加する。" +msgstr "" +"指定された `product_uuid` と `attributes` を使用して、注文に商品のリストを追" +"加する。" #: core/docs/drf/viewsets.py:266 msgid "remove product from order" @@ -438,7 +455,9 @@ msgstr "注文から商品を削除する" msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." -msgstr "指定された `product_uuid` と `attributes` を使用して、注文から商品を削除する。" +msgstr "" +"指定された `product_uuid` と `attributes` を使用して、注文から商品を削除す" +"る。" #: core/docs/drf/viewsets.py:272 msgid "remove product from order, quantities will not count" @@ -448,7 +467,9 @@ msgstr "注文から商品を削除すると、数量はカウントされませ msgid "" "removes a list of products from an order using the provided `product_uuid` " "and `attributes`" -msgstr "指定された `product_uuid` と `attributes` を用いて、注文から商品のリストを削除する。" +msgstr "" +"指定された `product_uuid` と `attributes` を用いて、注文から商品のリストを削" +"除する。" #: core/docs/drf/viewsets.py:281 msgid "list all wishlists (simple view)" @@ -480,7 +501,8 @@ msgstr "既存の属性を書き換える。" #: core/docs/drf/viewsets.py:303 msgid "rewrite some fields of an existing wishlist saving non-editables" -msgstr "既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" +msgstr "" +"既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" #: core/docs/drf/viewsets.py:307 msgid "add product to wishlist" @@ -496,7 +518,8 @@ msgstr "ウィッシュリストから商品を削除する" #: core/docs/drf/viewsets.py:314 msgid "removes a product from an wishlist using the provided `product_uuid`" -msgstr "指定された `product_uuid` を使ってウィッシュリストから商品を削除します。" +msgstr "" +"指定された `product_uuid` を使ってウィッシュリストから商品を削除します。" #: core/docs/drf/viewsets.py:319 msgid "add many products to wishlist" @@ -504,7 +527,8 @@ msgstr "ウィッシュリストに多くの商品を追加する" #: core/docs/drf/viewsets.py:320 msgid "adds many products to an wishlist using the provided `product_uuids`" -msgstr "指定された `product_uuids` を使ってウィッシュリストに多くの商品を追加する。" +msgstr "" +"指定された `product_uuids` を使ってウィッシュリストに多くの商品を追加する。" #: core/docs/drf/viewsets.py:325 msgid "remove many products from wishlist" @@ -513,24 +537,34 @@ msgstr "注文から商品を削除する" #: core/docs/drf/viewsets.py:326 msgid "" "removes many products from an wishlist using the provided `product_uuids`" -msgstr "指定された `product_uuids` を使ってウィッシュリストから多くの商品を削除する。" +msgstr "" +"指定された `product_uuids` を使ってウィッシュリストから多くの商品を削除する。" #: core/docs/drf/viewsets.py:333 msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "1つまたは複数の属性名/値のペアでフィルタリングします。 \n" "- シンタックス**:attr_name=method-value[;attr2=method2-value2]...`。\n" -"- メソッド** (省略された場合のデフォルトは `icontains`):`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- 値の型付け**:boolean, integer, float の場合は `true`/`false`; それ以外の場合は文字列として扱う。 \n" -"- それ以外は文字列として扱われる。 **Base64**: `b64-` をプレフィックスとしてつけると、生の値を URL-safe base64-encode することができる。 \n" +"- メソッド** (省略された場合のデフォルトは `icontains`):`iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- 値の型付け**:boolean, integer, float の場合は `true`/`false`; それ以外の場" +"合は文字列として扱う。 \n" +"- それ以外は文字列として扱われる。 **Base64**: `b64-` をプレフィックスとして" +"つけると、生の値を URL-safe base64-encode することができる。 \n" "例 \n" "color=exact-red`、`size=gt-10`、`features=in-[\"wifi\", \"bluetooth\"]`、\n" "b64-description=icontains-aGVhdC1jb2xk`。" @@ -585,10 +619,12 @@ msgstr "(正確には)デジタルとフィジカル" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"カンマ区切りの並べ替えフィールドのリスト。降順の場合は `-` をプレフィックスとしてつける。 \n" +"カンマ区切りの並べ替えフィールドのリスト。降順の場合は `-` をプレフィックスと" +"してつける。 \n" "**許可:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -612,7 +648,9 @@ msgstr "編集不可能なフィールドを保持したまま、既存の製品 #: core/docs/drf/viewsets.py:478 msgid "" "update some fields of an existing product, preserving non-editable fields" -msgstr "編集不可能なフィールドを保持したまま、既存の製品の一部のフィールドを更新する。" +msgstr "" +"編集不可能なフィールドを保持したまま、既存の製品の一部のフィールドを更新す" +"る。" #: core/docs/drf/viewsets.py:493 msgid "delete a product" @@ -653,8 +691,8 @@ msgstr "オートコンプリート住所入力" #: core/docs/drf/viewsets.py:576 msgid "raw data query string, please append with data from geo-IP endpoint" msgstr "" -"docker compose exec app poetry run python manage.py deepl_translate -l en-gb" -" -l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " +"docker compose exec app poetry run python manage.py deepl_translate -l en-gb " +"-l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " "it-it -l ja-jp -l kk-kz -l n-nl -l pl-pl -l pt-br -l ro-ro -l ru-ru -l zh-" "hans -a core -a geo -a payments -a vibes_auth -a blog" @@ -684,7 +722,9 @@ msgstr "既存のフィードバックを書き換える。" #: core/docs/drf/viewsets.py:615 msgid "rewrite some fields of an existing feedback saving non-editables" -msgstr "既存のフィードバックのいくつかのフィールドを書き換えて、編集不可能なものを保存する。" +msgstr "" +"既存のフィードバックのいくつかのフィールドを書き換えて、編集不可能なものを保" +"存する。" #: core/docs/drf/viewsets.py:622 msgid "list all order–product relations (simple view)" @@ -762,8 +802,8 @@ msgstr "属性" msgid "Quantity" msgstr "数量" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "スラッグ" @@ -777,7 +817,8 @@ msgstr "サブカテゴリーを含む" #: core/filters.py:147 msgid "there must be a category_uuid to use include_subcategories flag" -msgstr "include_subcategoriesフラグを使うには、category_uuidがなければならない。" +msgstr "" +"include_subcategoriesフラグを使うには、category_uuidがなければならない。" #: core/filters.py:280 msgid "Search (ID, product name or part number)" @@ -844,7 +885,7 @@ msgstr "キャッシュ・データ" msgid "camelized JSON data from the requested URL" msgstr "リクエストされたURLからキャメル化されたJSONデータ" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "http(s)://で始まるURLのみが許可されます。" @@ -853,10 +894,10 @@ msgid "add a product to the order" msgstr "注文に商品を追加する" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "注文{order_uuid}が見つかりません" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -870,32 +911,32 @@ msgstr "注文からすべての商品を削除する" msgid "buy an order" msgstr "注文する" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "order_uuidまたはorder_hr_idを入力してください!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "order.buy()メソッドから間違った型が来た:{type(instance)!s}。" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "注文商品のリストに対してアクションを実行する" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "削除/追加" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "アクションは \"add \"か \"remove \"のどちらかでなければならない!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "ウィッシュリストの商品リストに対してアクションを実行する" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "wishlist_uuid`の値を指定してください。" @@ -904,7 +945,7 @@ msgstr "wishlist_uuid`の値を指定してください。" #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "ウィッシュリスト{wishlist_uuid}が見つかりません。" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -928,9 +969,10 @@ msgstr "注文する" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" -msgstr "属性は、attr1=value1,attr2=value2のような形式の文字列として送信してください。" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" +msgstr "" +"属性は、attr1=value1,attr2=value2のような形式の文字列として送信してください。" #: core/graphene/mutations.py:532 msgid "add or delete a feedback for orderproduct" @@ -943,16 +985,18 @@ msgstr "アクションは `add` または `remove` のいずれかでなけれ #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "注文商品 {order_product_uuid} が見つかりません。" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "ユーザーが提供したオリジナルのアドレス文字列" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} は存在しません:{uuid} は存在しません。" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -962,8 +1006,8 @@ msgstr "上限は1から10の間でなければならない" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - 魅力のように動作" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "属性" @@ -976,11 +1020,11 @@ msgid "groups of attributes" msgstr "属性のグループ" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "カテゴリー" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "ブランド" @@ -989,7 +1033,7 @@ msgid "category image url" msgstr "カテゴリー" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "マークアップ率" @@ -998,8 +1042,7 @@ msgid "which attributes and values can be used for filtering this category." msgstr "このカテゴリのフィルタリングに使用できる属性と値。" #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "このカテゴリーの商品の最低価格と最高価格がある場合。" #: core/graphene/object_types.py:137 @@ -1010,7 +1053,7 @@ msgstr "このカテゴリのタグ" msgid "products in this category" msgstr "このカテゴリの製品" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "ベンダー" @@ -1022,86 +1065,86 @@ msgstr "緯度(Y座標)" msgid "Longitude (X coordinate)" msgstr "経度(X座標)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "どのように" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "1から10までの評価値(設定されていない場合は0)。" -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "ユーザーからのフィードバックを表す。" -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "お知らせ" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "該当する場合は、この注文商品のダウンロードURLを入力してください。" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "注文商品のリスト" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "請求先住所" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "請求先住所と同じ場合、または該当しない場合は空白にしてください。" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "この注文の合計金額" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "注文商品の総数量" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "ご注文の商品はすべてデジタルですか?" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "この注文の取引" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "受注状況" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "画像URL" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "製品画像" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "カテゴリー" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "フィードバック" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "ブランド" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "属性グループ" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1109,7 +1152,7 @@ msgstr "属性グループ" msgid "price" msgstr "価格" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1117,31 +1160,31 @@ msgstr "価格" msgid "quantity" msgstr "数量" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "フィードバック数" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "製品紹介" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "プロモコード" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "販売商品" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "プロモーション" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "ベンダー" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1149,907 +1192,908 @@ msgstr "ベンダー" msgid "product" msgstr "製品" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "ウィッシュリスト掲載商品" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "ウィッシュリスト" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "タグ別アーカイブ" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "商品タグ" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "タグ別アーカイブ" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "カテゴリー' タグ" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "プロジェクト名" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "会社Eメール" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "会社名" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "会社住所" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "会社電話番号" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "'email from' は、ホストユーザの値の代わりに使用されることがあります。" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "メールホストユーザー" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "支払限度額" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "最低支払額" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "分析データ" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "広告データ" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "構成" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "言語コード" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "言語名" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "言語フラグがある場合 :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "サポートされている言語のリストを取得する" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "製品検索結果" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "製品検索結果" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "このグループの親" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "親属性グループ" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "属性グループ名" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "属性グループ" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "ベンダーのAPI通信に必要な認証情報とエンドポイントを保存する。" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "認証情報" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "このベンダーから取得した商品のマークアップを定義する。" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "ベンダーのマークアップ率" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "このベンダーの名前" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "ベンダー名" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "商品タグの内部タグ識別子" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "タグ名" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "商品タグのユーザーフレンドリーな名前" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "タグ表示名" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "商品タグ" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "カテゴリタグ" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "カテゴリータグ" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "このカテゴリーを表す画像をアップロードする" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "カテゴリーイメージ" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "このカテゴリの商品のマークアップ率を定義する" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "階層構造を形成するこのカテゴリの親" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "親カテゴリー" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "カテゴリー名" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "このカテゴリの名前を入力してください。" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "このカテゴリの詳細説明を追加する" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "カテゴリー説明" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "このカテゴリーを説明またはグループ化するのに役立つタグ" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "優先順位" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "ブランド名" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "ブランド名" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "このブランドを代表するロゴをアップロードする" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "小さなブランドイメージ" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "このブランドを象徴する大きなロゴをアップロードする" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "大きなブランドイメージ" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "ブランドの詳細な説明を加える" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "ブランド説明" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "このブランドが関連するオプション・カテゴリー" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "カテゴリー" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "この製品の在庫を供給しているベンダー" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "関連ベンダー" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "マークアップ後の顧客への最終価格" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "販売価格" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "このストックエントリーに関連する製品" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "関連製品" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "この製品に対してベンダーに支払われた価格" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "ベンダーの購入価格" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "在庫数" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "在庫数" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "製品を識別するためにベンダーが割り当てたSKU" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "ベンダーのSKU" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "この銘柄に関連するデジタルファイル(該当する場合" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "デジタルファイル" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "ストックエントリー" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "この製品が属するカテゴリ" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "オプションでこの製品をブランドと関連付ける" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "この商品の説明やグループ分けに役立つタグ" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "この製品がデジタル配信されるかどうかを示す" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "製品はデジタルか" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "製品の明確な識別名を提供する" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "商品名" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "商品の詳細説明を追加する" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "商品説明" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "この製品の品番" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "品番" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "この属性のカテゴリー" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "この属性のグループ" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "ストリング" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "整数" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "フロート" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "ブーリアン" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "配列" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "対象" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "属性値のタイプ" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "値の種類" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "この属性の名前" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "属性名" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "属性" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "この値の属性" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "この属性の値に関連する特定の製品" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "この属性の具体的な値" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "アクセシビリティのために、画像に代替テキストを提供する。" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "画像のaltテキスト" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "この商品の画像ファイルをアップロードする" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "商品画像" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "画像の表示順を決める" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "表示優先度" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "この画像が表す製品" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "商品画像" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "選択した商品の割引率" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "割引率" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "このプロモーションのユニークな名前を入力してください。" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "プロモーション名" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "プロモーション内容" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "キャンペーン対象商品をお選びください。" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "含まれる製品" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "プロモーション" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "ユーザーが欲しいとマークした商品" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "このウィッシュリストを所有しているユーザー" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "ウィッシュリストのオーナー" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "ウィッシュリスト" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name}が存在しません:{product_uuid}が存在しません。" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "ドキュメンタリー" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "ドキュメンタリー" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "未解決" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "お客様の住所" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "住所" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "ストリート" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "地区" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "都市" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "地域" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "郵便番号" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "国名" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "ジオロケーションポイント(経度、緯度)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "この住所に対するジオコーダーからの完全なJSON応答" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "ジオコーディング・サービスからの保存されたJSONレスポンス" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "住所" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "住所" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "ユーザーが割引を利用する際に使用する固有のコード" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "プロモコード識別子" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "パーセントを使用しない場合に適用される固定割引額" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "固定割引額" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "定額を使用しない場合に適用される割引率" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "割引率" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "プロモコードの有効期限が切れるタイムスタンプ" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "終了有効時間" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "このプロモコードが有効なタイムスタンプ" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "開始有効時間" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "プロモコードが使用されたタイムスタンプ、未使用の場合は空白" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "使用タイムスタンプ" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "該当する場合、このプロモコードに割り当てられたユーザー" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "担当ユーザー" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "プロモコード" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "プロモコード" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." -msgstr "割引の種類は1つだけ(金額またはパーセント)定義されるべきで、両方またはどちらも定義してはならない。" +msgstr "" +"割引の種類は1つだけ(金額またはパーセント)定義されるべきで、両方またはどちら" +"も定義してはならない。" -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "プロモコードはすでに使用されています" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "プロモコード {self.uuid} の割引タイプが無効です。" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "この注文に使用される請求先住所" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "この注文に適用されるプロモコード" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "プロモーションコード適用" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "この注文に使用された配送先住所" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "配送先住所" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "ライフサイクルにおける現在の注文状況" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "注文状況" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" -msgstr "ユーザーに表示する通知のJSON構造、管理UIではテーブルビューが使用されます。" +msgstr "" +"ユーザーに表示する通知のJSON構造、管理UIではテーブルビューが使用されます。" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "この注文の注文属性のJSON表現" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "注文を行ったユーザー" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "ユーザー" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "注文が確定したタイムスタンプ" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "時間を買う" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "オーダーの人間が読み取り可能な識別子。" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "人間が読めるID" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "オーダー" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "ユーザーは一度に1つの未決注文しか持つことができません!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "保留中の注文以外の注文に商品を追加することはできません。" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "アクティブでない商品を注文に追加することはできません。" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "在庫以上の商品を追加することはできません。" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "保留中の注文以外の注文から商品を削除することはできません。" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "クエリ<{query}>で{name}が存在しません。" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "プロモコードが存在しない" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "配送先住所が指定された現物商品のみ購入可能!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "アドレスが存在しない" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "現在ご購入いただけません。数分後にもう一度お試しください。" -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "無効なフォース値" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "空注文はできません!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "ユーザーがいない注文は購入できない!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "残高のないユーザーは、残高で購入することはできない!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "注文を完了するための資金不足" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" -msgstr "ご登録がない場合はご購入いただけませんので、以下の情報をお知らせください:お客様のお名前、お客様のEメール、お客様の電話番号" +msgstr "" +"ご登録がない場合はご購入いただけませんので、以下の情報をお知らせください:お" +"客様のお名前、お客様のEメール、お客様の電話番号" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" -msgstr "支払方法が無効です:{available_payment_methods}からの{payment_method}が無効です!" +msgstr "" +"支払方法が無効です:{available_payment_methods}からの{payment_method}が無効で" +"す!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "この商品の購入時に顧客が支払った価格" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "注文時の購入価格" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "この注文商品に関する管理者への内部コメント" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "社内コメント" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "ユーザー通知" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "このアイテムの属性のJSON表現" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "製品属性の順序" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "この商品を含む親注文への参照" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "親注文" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "この注文ラインに関連する特定の製品" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "注文に含まれる特定の商品の数量" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "製品数量" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "この商品の現在のご注文状況" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "製品ラインの状況" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Orderproductには関連する注文がなければならない!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "フィードバックに指定されたアクションが間違っています:{action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "受信していない注文をフィードバックすることはできません。" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "ダウンロード" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "ダウンロード" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "未完成の注文のデジタル資産をダウンロードすることはできません。" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "ユーザーから寄せられた製品使用体験に関するコメント" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "フィードバック・コメント" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "このフィードバックが対象としている注文の特定の製品を参照する。" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "関連注文商品" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "ユーザーによる製品の評価" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "製品評価" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "フィードバック" #: core/serializers/utility.py:87 msgid "" "you must provide a comment, rating, and order product uuid to add feedback." -msgstr "フィードバックを追加するには、コメント、評価、および注文商品の uuid を入力する必要があります。" +msgstr "" +"フィードバックを追加するには、コメント、評価、および注文商品の uuid を入力す" +"る必要があります。" -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "プロモコード作成中にエラーが発生しました:{e!s}です。" @@ -2075,15 +2119,18 @@ msgstr "ロゴ" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "こんにちは、%(order.user.first_name)sです、" +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" -msgstr "ご注文ありがとうございます#%(order.pk)s!ご注文を承りましたことをお知らせいたします。以下、ご注文の詳細です:" +msgstr "" +"ご注文ありがとうございます#%(order.pk)s!ご注文を承りましたことをお知らせいた" +"します。以下、ご注文の詳細です:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:110 @@ -2106,12 +2153,14 @@ msgstr "合計価格" msgid "" "if you have any questions, feel free to contact our support at\n" " %(config.EMAIL_HOST_USER)s." -msgstr "ご不明な点がございましたら、%(config.EMAIL_HOST_USER)sまでお気軽にお問い合わせください。" +msgstr "" +"ご不明な点がございましたら、%(config.EMAIL_HOST_USER)sまでお気軽にお問い合わ" +"せください。" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "よろしくお願いします、
%(config.PROJECT_NAME)sのチーム。" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2125,14 +2174,15 @@ msgstr "注文の配達" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "こんにちは、%(user_first_name)sです、" +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format msgid "" "we have successfully processed your order №%(order_uuid)s! below are the\n" " details of your order:" -msgstr "ご注文の№%(order_uuid)sが正常に処理されました!以下はご注文の詳細です:" +msgstr "" +"ご注文の№%(order_uuid)sが正常に処理されました!以下はご注文の詳細です:" #: core/templates/digital_order_delivered_email.html:128 msgid "" @@ -2152,12 +2202,14 @@ msgstr "価値" msgid "" "if you have any questions, feel free to contact our support at\n" " %(contact_email)s." -msgstr "ご不明な点がございましたら、%(contact_email)sまでお気軽にお問い合わせください。" +msgstr "" +"ご不明な点がございましたら、%(contact_email)sまでお気軽にお問い合わせくださ" +"い。" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "よろしくお願いします、
%(project_name)sのチーム。" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2166,9 +2218,12 @@ msgstr "キー" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" -msgstr "ご注文ありがとうございます!ご購入を確認させていただきました。以下、ご注文の詳細です:" +msgstr "" +"ご注文ありがとうございます!ご購入を確認させていただきました。以下、ご注文の" +"詳細です:" #: core/templates/shipped_order_created_email.html:123 #: core/templates/shipped_order_delivered_email.html:123 @@ -2184,7 +2239,7 @@ msgstr "ご注文の商品は以下の住所に配送されます:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "よろしくお願いします、
%(config.PROJECT_NAME)sチーム。" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2206,17 +2261,17 @@ msgstr "無効なタイムアウト値です。" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | お問い合わせ| お問い合わせ" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME}|注文確認| 注文確認" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME}|プロジェクト名| 注文の配信" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2229,21 +2284,21 @@ msgstr "NOMINATIM_URLパラメータを設定する必要があります!" #: core/validators.py:16 #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" -msgstr "画像の寸法は、w{max_width} x h{max_height}ピクセルを超えないこと。" +msgstr "" #: core/validators.py:22 msgid "invalid phone number format" msgstr "無効な電話番号形式" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "デジタルアセットのダウンロードは1回限りです。" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "ファビコンが見つかりません" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "ジオコーディングエラー:{e}" +msgstr "" diff --git a/core/locale/kk_KZ/LC_MESSAGES/django.po b/core/locale/kk_KZ/LC_MESSAGES/django.po index 998b112d..543c4655 100644 --- a/core/locale/kk_KZ/LC_MESSAGES/django.po +++ b/core/locale/kk_KZ/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -49,82 +49,82 @@ msgstr "" msgid "when the object was last modified" msgstr "" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "" @@ -748,8 +748,8 @@ msgstr "" msgid "Quantity" msgstr "" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 core/models.py:471 -#: core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "" @@ -830,7 +830,7 @@ msgstr "" msgid "camelized JSON data from the requested URL" msgstr "" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "" @@ -839,7 +839,7 @@ msgid "add a product to the order" msgstr "" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" msgstr "" @@ -856,32 +856,32 @@ msgstr "" msgid "buy an order" msgstr "" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "" @@ -935,7 +935,9 @@ msgstr "" msgid "original address string provided by the user" msgstr "" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" msgstr "" @@ -948,8 +950,8 @@ msgstr "" msgid "elasticsearch - works like a charm" msgstr "" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "" @@ -962,11 +964,11 @@ msgid "groups of attributes" msgstr "" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "" @@ -975,7 +977,7 @@ msgid "category image url" msgstr "" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "" @@ -995,7 +997,7 @@ msgstr "" msgid "products in this category" msgstr "" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "" @@ -1007,86 +1009,86 @@ msgstr "" msgid "Longitude (X coordinate)" msgstr "" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "" -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1094,7 +1096,7 @@ msgstr "" msgid "price" msgstr "" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1102,31 +1104,31 @@ msgstr "" msgid "quantity" msgstr "" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1134,896 +1136,890 @@ msgstr "" msgid "product" msgstr "" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "" -#: core/models.py:526 core/models.py:831 core/models.py:888 core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "" -#: core/models.py:1942 +#: core/models.py:1972 msgid "references the specific product in an order that this feedback is about" msgstr "" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "" @@ -2032,7 +2028,7 @@ msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "" -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "" @@ -2216,15 +2212,15 @@ msgstr "" msgid "invalid phone number format" msgstr "" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" msgstr "" diff --git a/core/locale/nl_NL/LC_MESSAGES/django.mo b/core/locale/nl_NL/LC_MESSAGES/django.mo index be6223690664f00da30abb25d1cdde9bb6721cfe..de01cba6effb97a60b6e14150ea3e8866dcb9b4c 100644 GIT binary patch delta 10913 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 k_%Khw1^c}`4|7)J&pEoRyvKj}%Kjis>W&i*H delta 12808 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -27,8 +27,7 @@ msgstr "Is actief" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Als false is ingesteld, kan dit object niet worden gezien door gebruikers " "zonder de benodigde toestemming" @@ -49,82 +48,82 @@ msgstr "Gewijzigd" msgid "when the object was last modified" msgstr "Wanneer het object voor het laatst bewerkt is" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Vertalingen" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Algemeen" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relaties" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metagegevens" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Tijdstempels" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Activeer geselecteerde %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Geselecteerde items zijn geactiveerd!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Deactiveer geselecteerde %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Geselecteerde items zijn gedeactiveerd!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Attribuut Waarde" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Attribuutwaarden" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Afbeelding" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Afbeeldingen" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Voorraad" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Aandelen" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Product bestellen" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Producten bestellen" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Kinderen" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Config" @@ -186,7 +185,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Alleen een sleutel gebruiken om toegestane gegevens uit de cache te lezen.\n" -"Sleutel, gegevens en time-out met verificatie toepassen om gegevens naar de cache te schrijven." +"Sleutel, gegevens en time-out met verificatie toepassen om gegevens naar de " +"cache te schrijven." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -244,8 +244,7 @@ msgstr "" "opslaan" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Enkele velden van een bestaande attribuutgroep herschrijven door niet-" "wijzigbare velden op te slaan" @@ -300,8 +299,7 @@ msgstr "" "attributen worden opgeslagen" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Herschrijf sommige velden van een bestaande attribuutwaarde door niet-" "wijzigbare velden op te slaan" @@ -339,16 +337,15 @@ msgstr "Alle categorieën weergeven (eenvoudige weergave)" #: core/docs/drf/viewsets.py:152 msgid "for non-staff users, only their own orders are returned." msgstr "" -"Voor niet-personeelsleden worden alleen hun eigen bestellingen " -"geretourneerd." +"Voor niet-personeelsleden worden alleen hun eigen bestellingen geretourneerd." #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Hoofdlettergevoelig substring zoeken in human_readable_id, " -"order_products.product.name en order_products.product.partnumber" +"Hoofdlettergevoelig substring zoeken in human_readable_id, order_products." +"product.name en order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -381,13 +378,13 @@ msgstr "Filter op bestelstatus (hoofdlettergevoelige substringmatch)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Sorteer op een van: uuid, human_readable_id, user_email, gebruiker, status, " -"gemaakt, gewijzigd, buy_time, willekeurig. Voorvoegsel met '-' voor aflopend" -" (bijv. '-buy_time')." +"gemaakt, gewijzigd, buy_time, willekeurig. Voorvoegsel met '-' voor aflopend " +"(bijv. '-buy_time')." #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -436,8 +433,7 @@ msgstr "een bestelling kopen zonder een account aan te maken" #: core/docs/drf/viewsets.py:246 msgid "finalizes the order purchase for a non-registered user." msgstr "" -"Rondt de aankoop van de bestelling af voor een niet-geregistreerde " -"gebruiker." +"Rondt de aankoop van de bestelling af voor een niet-geregistreerde gebruiker." #: core/docs/drf/viewsets.py:254 msgid "add product to order" @@ -571,18 +567,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filter op een of meer attribuutnaam-/waardeparen. \n" "- **Syntaxis**: `attr_name=methode-waarde[;attr2=methode2-waarde2]...`\n" -"- **Methodes** (standaard op `icontains` indien weggelaten): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- Waarde typen**: JSON wordt eerst geprobeerd (zodat je lijsten/dicten kunt doorgeven), `true`/`false` voor booleans, integers, floats; anders behandeld als string. \n" -"- **Base64**: prefix met `b64-` om URL-veilige base64-encodering van de ruwe waarde. \n" +"- **Methodes** (standaard op `icontains` indien weggelaten): `iexact`, " +"`exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, " +"`endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" +"- Waarde typen**: JSON wordt eerst geprobeerd (zodat je lijsten/dicten kunt " +"doorgeven), `true`/`false` voor booleans, integers, floats; anders behandeld " +"als string. \n" +"- **Base64**: prefix met `b64-` om URL-veilige base64-encodering van de ruwe " +"waarde. \n" "Voorbeelden: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`." @@ -637,11 +643,14 @@ msgstr "(exact) Digitaal vs. fysiek" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Door komma's gescheiden lijst van velden om op te sorteren. Voorvoegsel met `-` voor aflopend. \n" -"**Toegestaan:** uuid, beoordeling, naam, slug, gemaakt, gewijzigd, prijs, willekeurig" +"Door komma's gescheiden lijst van velden om op te sorteren. Voorvoegsel met " +"`-` voor aflopend. \n" +"**Toegestaan:** uuid, beoordeling, naam, slug, gemaakt, gewijzigd, prijs, " +"willekeurig" #: core/docs/drf/viewsets.py:441 msgid "retrieve a single product (detailed view)" @@ -749,8 +758,7 @@ msgstr "alle order-productrelaties weergeven (eenvoudige weergave)" #: core/docs/drf/viewsets.py:629 msgid "retrieve a single order–product relation (detailed view)" -msgstr "" -"een enkele bestelling-productrelatie ophalen (gedetailleerde weergave)" +msgstr "een enkele bestelling-productrelatie ophalen (gedetailleerde weergave)" #: core/docs/drf/viewsets.py:636 msgid "create a new order–product relation" @@ -820,8 +828,8 @@ msgstr "Attributen" msgid "Quantity" msgstr "Hoeveelheid" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Slak" @@ -903,7 +911,7 @@ msgstr "Gecachte gegevens" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-gegevens van de opgevraagde URL" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Alleen URL's die beginnen met http(s):// zijn toegestaan" @@ -912,10 +920,10 @@ msgid "add a product to the order" msgstr "Een product aan de bestelling toevoegen" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Order {order_uuid} niet gevonden" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -929,32 +937,32 @@ msgstr "Alle producten uit de bestelling verwijderen" msgid "buy an order" msgstr "Een bestelling kopen" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Geef order_uuid of order_hr_id - wederzijds exclusief!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Verkeerd type kwam uit order.buy() methode: {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Een actie uitvoeren op een lijst met producten in de bestelling" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Verwijderen/toevoegen" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "De actie moet \"toevoegen\" of \"verwijderen\" zijn!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Een actie uitvoeren op een lijst met producten in het verlanglijstje" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Geef de waarde `wishlist_uuid` op." @@ -963,7 +971,7 @@ msgstr "Geef de waarde `wishlist_uuid` op." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Verlanglijst {wishlist_uuid} niet gevonden" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -987,8 +995,8 @@ msgstr "Een bestelling kopen" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" "Stuur de attributen als de string opgemaakt als attr1=waarde1,attr2=waarde2" @@ -1003,16 +1011,18 @@ msgstr "De actie moet `toevoegen` of `verwijderen` zijn!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Orderproduct {order_product_uuid} niet gevonden" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Originele adresstring geleverd door de gebruiker" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} bestaat niet: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1022,8 +1032,8 @@ msgstr "Limiet moet tussen 1 en 10 liggen" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - werkt als een charme" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Attributen" @@ -1036,11 +1046,11 @@ msgid "groups of attributes" msgstr "Groepen van kenmerken" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Categorieën" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Merken" @@ -1049,7 +1059,7 @@ msgid "category image url" msgstr "Categorieën" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Opwaarderingspercentage" @@ -1060,8 +1070,7 @@ msgstr "" "filteren." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimale en maximale prijzen voor producten in deze categorie, indien " "beschikbaar." @@ -1074,7 +1083,7 @@ msgstr "Tags voor deze categorie" msgid "products in this category" msgstr "Producten in deze categorie" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Verkopers" @@ -1086,36 +1095,36 @@ msgstr "Breedtegraad (Y-coördinaat)" msgid "Longitude (X coordinate)" msgstr "Lengtegraad (X-coördinaat)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Hoe" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Waarderingswaarde van 1 tot en met 10, of 0 indien niet ingesteld." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Vertegenwoordigt feedback van een gebruiker." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Meldingen" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Download url voor dit bestelproduct indien van toepassing" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Een lijst met bestelde producten in deze bestelling" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Factuuradres" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1123,51 +1132,51 @@ msgstr "" "Verzendadres voor deze bestelling, leeg laten als dit hetzelfde is als het " "factuuradres of als dit niet van toepassing is" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Totale prijs van deze bestelling" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Totale hoeveelheid producten in bestelling" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Zijn alle producten in de bestelling digitaal" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transacties voor deze bestelling" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Bestellingen" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "Afbeelding URL" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Afbeeldingen van het product" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Categorie" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Reacties" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Merk" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Attribuutgroepen" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1175,7 +1184,7 @@ msgstr "Attribuutgroepen" msgid "price" msgstr "Prijs" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1183,31 +1192,31 @@ msgstr "Prijs" msgid "quantity" msgstr "Hoeveelheid" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Aantal terugkoppelingen" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Producten" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Producten te koop" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promoties" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Verkoper" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1215,801 +1224,793 @@ msgstr "Verkoper" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Gewenste producten" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Verlanglijst" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Getagde producten" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Product tags" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Getagde categorieën" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Categorieën' tags" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Naam project" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Bedrijf E-mail" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Bedrijfsnaam" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Adres" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Telefoonnummer bedrijf" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "e-mail van', soms moet deze worden gebruikt in plaats van de " "hostgebruikerswaarde" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Gebruiker e-mail hosten" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Maximumbedrag voor betaling" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Minimumbedrag voor betaling" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Analytics-gegevens" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Advertentiegegevens" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Configuratie" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Taalcode" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Naam van de taal" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Taalvlag, indien aanwezig :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Een lijst met ondersteunde talen opvragen" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Producten zoekresultaten" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Zoekresultaten" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Ouder van deze groep" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Ouderattribuutgroep" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Naam attribuutgroep" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Attribuutgroep" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Slaat referenties en eindpunten op die vereist zijn voor API-communicatie " "van de verkoper" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Authenticatie-info" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "" "Definieer de opmaak voor producten die zijn opgehaald bij deze leverancier" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Verkoper winstpercentage" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Naam van deze verkoper" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Naam verkoper" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Interne tagidentifier voor de producttag" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Tag naam" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Gebruiksvriendelijke naam voor de producttag" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Tag weergavenaam" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Productlabel" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "categorie tag" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "categorie tags" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Upload een afbeelding die deze categorie vertegenwoordigt" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Categorie afbeelding" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Definieer een toeslagpercentage voor producten in deze categorie" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Ouder van deze categorie om een hiërarchische structuur te vormen" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Oudercategorie" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Naam categorie" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Geef deze categorie een naam" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Voeg een gedetailleerde beschrijving toe voor deze categorie" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Categorie beschrijving" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "tags die deze categorie helpen beschrijven of groeperen" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Prioriteit" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Naam van dit merk" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Merknaam" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Upload een logo dat dit merk vertegenwoordigt" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Klein merkimago" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Upload een groot logo dat dit merk vertegenwoordigt" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Groot merkimago" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Een gedetailleerde beschrijving van het merk toevoegen" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Merknaam" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Optionele categorieën waarmee dit merk wordt geassocieerd" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Categorieën" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "De verkoper die dit product levert" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Geassocieerde verkoper" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Eindprijs voor de klant na winstmarges" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Verkoopprijs" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Het product dat bij deze voorraadvermelding hoort" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Bijbehorend product" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "De prijs die voor dit product aan de verkoper is betaald" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Aankoopprijs verkoper" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Beschikbare hoeveelheid van het product in voorraad" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Hoeveelheid op voorraad" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "Door de verkoper toegewezen SKU om het product te identificeren" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "Verkoper SKU" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Digitaal bestand gekoppeld aan deze voorraad indien van toepassing" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Digitaal bestand" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Voorraadboekingen" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Categorie waartoe dit product behoort" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Dit product optioneel koppelen aan een merk" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Tags die dit product helpen beschrijven of groeperen" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Geeft aan of dit product digitaal wordt geleverd" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Is product digitaal" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Zorg voor een duidelijke identificerende naam voor het product" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Naam product" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Voeg een gedetailleerde beschrijving van het product toe" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Productbeschrijving" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Onderdeelnummer voor dit product" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Onderdeelnummer" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Categorie van dit kenmerk" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Groep van dit kenmerk" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "String" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Integer" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Vlotter" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Booleaans" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Array" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Object" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Type waarde van het kenmerk" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Waardetype" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Naam van dit kenmerk" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Naam attribuut" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Attribuut" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Attribuut van deze waarde" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "Het specifieke product geassocieerd met de waarde van dit kenmerk" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "De specifieke waarde voor dit kenmerk" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "Geef alternatieve tekst voor de afbeelding voor toegankelijkheid" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Alt-tekst afbeelding" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Upload het afbeeldingsbestand voor dit product" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Product afbeelding" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Bepaalt de volgorde waarin afbeeldingen worden weergegeven" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Prioriteit weergeven" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Het product dat deze afbeelding vertegenwoordigt" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Product afbeeldingen" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Kortingspercentage voor de geselecteerde producten" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Kortingspercentage" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Geef deze promotie een unieke naam" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Naam promotie" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Promotie beschrijving" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Selecteer welke producten onder deze promotie vallen" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Meegeleverde producten" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promotie" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Producten die de gebruiker als gewenst heeft gemarkeerd" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Gebruiker die eigenaar is van deze verlanglijst" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Eigenaar verlanglijstje" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Verlanglijst" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} bestaat niet: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Documentaire" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Documentaires" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Onopgelost" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Adresregel voor de klant" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Adresregel" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Straat" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "District" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Stad" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Regio" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Postcode" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Land" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocatie Punt (lengtegraad, breedtegraad)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Volledig JSON-antwoord van geocoder voor dit adres" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Opgeslagen JSON-antwoord van de geocoderingsservice" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Adres" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adressen" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Unieke code die een gebruiker gebruikt om een korting te verzilveren" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Promo code identificatie" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "" "Vast kortingsbedrag dat wordt toegepast als percentage niet wordt gebruikt" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Vast kortingsbedrag" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "" "Kortingspercentage dat wordt toegepast als het vaste bedrag niet wordt " "gebruikt" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Kortingspercentage" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Tijdstempel wanneer de promocode verloopt" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Geldigheidsduur einde" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Tijdstempel vanaf wanneer deze promocode geldig is" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Begin geldigheidsduur" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -"Tijdstempel wanneer de promocode werd gebruikt, leeg indien nog niet " -"gebruikt" +"Tijdstempel wanneer de promocode werd gebruikt, leeg indien nog niet gebruikt" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Gebruik tijdstempel" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Gebruiker toegewezen aan deze promocode indien van toepassing" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Toegewezen gebruiker" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Kortingscode" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Actiecodes" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"Er moet slechts één type korting worden gedefinieerd (bedrag of percentage)," -" maar niet beide of geen van beide." +"Er moet slechts één type korting worden gedefinieerd (bedrag of percentage), " +"maar niet beide of geen van beide." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Promocode is al gebruikt" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Ongeldig kortingstype voor promocode {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "Het factuuradres dat voor deze bestelling is gebruikt" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Optionele promotiecode toegepast op deze bestelling" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Kortingscode toegepast" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "Het verzendadres dat voor deze bestelling is gebruikt" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Verzendadres" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Huidige status van de order in zijn levenscyclus" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Bestelstatus" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "JSON-structuur van meldingen om weer te geven aan gebruikers, in admin UI " "wordt de tabelweergave gebruikt" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "JSON-weergave van bestelattributen voor deze bestelling" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "De gebruiker die de bestelling heeft geplaatst" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Gebruiker" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "De tijdstempel waarop de bestelling is afgerond" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Tijd kopen" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Een menselijk leesbare identificatiecode voor de bestelling" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "menselijk leesbare ID" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Bestel" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "Een gebruiker mag maar één lopende order tegelijk hebben!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "" "U kunt geen producten toevoegen aan een bestelling die niet in behandeling " "is." -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "U kunt geen inactieve producten toevoegen aan uw bestelling" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "Je kunt niet meer producten toevoegen dan er op voorraad zijn" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "" -"U kunt geen producten verwijderen uit een bestelling die niet in behandeling" -" is." +"U kunt geen producten verwijderen uit een bestelling die niet in behandeling " +"is." -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} bestaat niet met query <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Promocode bestaat niet" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "Je kunt alleen fysieke producten kopen met opgegeven verzendadres!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Adres bestaat niet" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "U kunt op dit moment niet kopen. Probeer het over een paar minuten nog eens." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Ongeldige krachtwaarde" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Je kunt geen lege bestelling kopen!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "" -"U kunt geen producten verwijderen uit een bestelling die niet in behandeling" -" is." +"U kunt geen producten verwijderen uit een bestelling die niet in behandeling " +"is." -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Een gebruiker zonder saldo kan niet kopen met saldo!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Onvoldoende fondsen om de bestelling te voltooien" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2017,126 +2018,124 @@ msgstr "" "u niet kunt kopen zonder registratie, geef dan de volgende informatie: " "klantnaam, e-mail klant, telefoonnummer klant" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -"Ongeldige betalingsmethode: {payment_method} van " -"{available_payment_methods}!" +"Ongeldige betalingsmethode: {payment_method} van {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "De prijs die de klant bij aankoop voor dit product heeft betaald" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Aankoopprijs bij bestelling" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "Interne opmerkingen voor beheerders over dit bestelde product" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Interne opmerkingen" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Meldingen van gebruikers" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "JSON weergave van de attributen van dit item" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Geordende producteigenschappen" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Verwijzing naar de bovenliggende bestelling die dit product bevat" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Ouderlijk bevel" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Het specifieke product dat bij deze bestelregel hoort" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Hoeveelheid van dit specifieke product in de bestelling" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Hoeveelheid product" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Huidige status van dit product in de bestelling" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Status productlijn" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Orderproduct moet een bijbehorende order hebben!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "verkeerde actie opgegeven voor feedback: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "" -"U kunt geen producten verwijderen uit een bestelling die niet in behandeling" -" is." +"U kunt geen producten verwijderen uit een bestelling die niet in behandeling " +"is." -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Downloaden" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Downloads" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "" "U kunt geen digitale activa downloaden voor een niet-afgeronde bestelling" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Opmerkingen van gebruikers over hun ervaring met het product" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Reacties" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" "Verwijst naar het specifieke product in een bestelling waar deze feedback " "over gaat" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Gerelateerd product bestellen" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Door de gebruiker toegekende waardering voor het product" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Productbeoordeling" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Feedback" @@ -2147,7 +2146,7 @@ msgstr "" "Om feedback toe te voegen, moet je een opmerking, beoordeling en " "productidentificatie opgeven." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Fout tijdens aanmaken promocode: {e!s}" @@ -2173,13 +2172,14 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Hallo %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Hartelijk dank voor uw bestelling #%(order.pk)s! We zijn blij om u te " @@ -2214,7 +2214,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Vriendelijke groeten,
het %(config.PROJECT_NAME)s-team" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2228,7 +2228,7 @@ msgstr "Bestelling geleverd" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hallo %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2264,7 +2264,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Vriendelijke groeten,
het %(project_name)s-team" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2273,7 +2273,8 @@ msgstr "Sleutel" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Bedankt voor uw bestelling! We zijn blij om uw aankoop te bevestigen. " @@ -2293,7 +2294,7 @@ msgstr "Je bestelling wordt afgeleverd op het volgende adres:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Vriendelijke groeten,
het %(config.PROJECT_NAME)s-team" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2310,23 +2311,22 @@ msgstr "Zowel gegevens als time-out zijn vereist" #: core/utils/caching.py:43 msgid "invalid timeout value, it must be between 0 and 216000 seconds" -msgstr "" -"Ongeldige time-outwaarde, deze moet tussen 0 en 216000 seconden liggen" +msgstr "Ongeldige time-outwaarde, deze moet tussen 0 en 216000 seconden liggen" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Neem contact met ons op" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME}. | Orderbevestiging" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME}. | Geleverd" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2347,15 +2347,15 @@ msgstr "" msgid "invalid phone number format" msgstr "Ongeldig formaat telefoonnummer" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "U kunt het digitale goed maar één keer downloaden" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon niet gevonden" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Fout bij geocodering: {e}" +msgstr "" diff --git a/core/locale/pl_PL/LC_MESSAGES/django.mo b/core/locale/pl_PL/LC_MESSAGES/django.mo index 7e36613b20b38228048d9423a75a903b72e4054a..b74f0c8d955e48bdf31c316bbc65938d5a650e1a 100644 GIT binary patch delta 10907 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 delta 12850 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Jest aktywny" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Jeśli ustawione na false, obiekt ten nie może być widoczny dla użytkowników " "bez wymaganych uprawnień." @@ -51,82 +50,82 @@ msgstr "Zmodyfikowany" msgid "when the object was last modified" msgstr "Kiedy obiekt był ostatnio edytowany" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Tłumaczenia" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Ogólne" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relacje" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadane" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Znaczniki czasu" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Aktywuj wybrane %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Wybrane elementy zostały aktywowane!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Dezaktywacja wybranych %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Wybrane elementy zostały dezaktywowane!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Wartość atrybutu" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Wartości atrybutów" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Obraz" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Obrazy" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Stan magazynowy" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Akcje" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Zamów produkt" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Zamawianie produktów" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Dzieci" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Konfiguracja" @@ -188,7 +187,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Zastosuj tylko klucz, aby odczytać dozwolone dane z pamięci podręcznej.\n" -"Zastosuj klucz, dane i limit czasu z uwierzytelnianiem, aby zapisać dane w pamięci podręcznej." +"Zastosuj klucz, dane i limit czasu z uwierzytelnianiem, aby zapisać dane w " +"pamięci podręcznej." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -245,8 +245,7 @@ msgstr "" "nieedytowalnych" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Przepisanie niektórych pól istniejącej grupy atrybutów z zachowaniem " "atrybutów nieedytowalnych" @@ -301,8 +300,7 @@ msgstr "" "nieedytowalnych" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Przepisz niektóre pola istniejącej wartości atrybutu, zapisując wartości " "nieedytowalne" @@ -345,11 +343,11 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Wyszukiwanie podciągów z uwzględnieniem wielkości liter w human_readable_id," -" order_products.product.name i order_products.product.partnumber." +"Wyszukiwanie podciągów z uwzględnieniem wielkości liter w human_readable_id, " +"order_products.product.name i order_products.product.partnumber." #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -382,14 +380,14 @@ msgstr "Filtrowanie według identyfikatora UUID użytkownika" #: core/docs/drf/viewsets.py:195 msgid "Filter by order status (case-insensitive substring match)" msgstr "" -"Filtrowanie według statusu zamówienia (dopasowanie podciągu z uwzględnieniem" -" wielkości liter)" +"Filtrowanie według statusu zamówienia (dopasowanie podciągu z uwzględnieniem " +"wielkości liter)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Kolejność według jednego z: uuid, human_readable_id, user_email, user, " "status, created, modified, buy_time, random. Prefiks z \"-\" dla malejącego " @@ -569,18 +567,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrowanie według jednej lub więcej par atrybut/wartość. \n" "- Składnia**: `attr_name=method-value[;attr2=method2-value2]...`\n" -"- **Metody** (domyślnie `icontains` jeśli pominięte): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- Wpisywanie wartości**: JSON jest próbowany jako pierwszy (więc można przekazywać listy/dykty), `true`/`false` dla booleans, integers, floats; w przeciwnym razie traktowane jako string. \n" -"- Base64**: prefiks z `b64-` do bezpiecznego dla adresów URL kodowania base64 surowej wartości. \n" +"- **Metody** (domyślnie `icontains` jeśli pominięte): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" +"- Wpisywanie wartości**: JSON jest próbowany jako pierwszy (więc można " +"przekazywać listy/dykty), `true`/`false` dla booleans, integers, floats; w " +"przeciwnym razie traktowane jako string. \n" +"- Base64**: prefiks z `b64-` do bezpiecznego dla adresów URL kodowania " +"base64 surowej wartości. \n" "Przykłady: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -635,10 +643,12 @@ msgstr "(dokładnie) Cyfrowe vs. fizyczne" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Rozdzielana przecinkami lista pól do posortowania. Prefiks z `-` dla sortowania malejącego. \n" +"Rozdzielana przecinkami lista pól do posortowania. Prefiks z `-` dla " +"sortowania malejącego. \n" "**Dozwolone:** uuid, rating, name, slug, created, modified, price, random" #: core/docs/drf/viewsets.py:441 @@ -816,8 +826,8 @@ msgstr "Atrybuty" msgid "Quantity" msgstr "Ilość" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Ślimak" @@ -898,7 +908,7 @@ msgstr "Dane w pamięci podręcznej" msgid "camelized JSON data from the requested URL" msgstr "Kamelizowane dane JSON z żądanego adresu URL" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Dozwolone są tylko adresy URL zaczynające się od http(s)://" @@ -907,10 +917,10 @@ msgid "add a product to the order" msgstr "Dodawanie produktu do zamówienia" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Nie znaleziono zamówienia {order_uuid}" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -924,32 +934,32 @@ msgstr "Usuń wszystkie produkty z zamówienia" msgid "buy an order" msgstr "Kup zamówienie" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Podaj albo order_uuid albo order_hr_id - wzajemnie się wykluczają!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Nieprawidłowy typ pochodzi z metody order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Wykonanie akcji na liście produktów w zamówieniu" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Usuń/Dodaj" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "Akcją musi być \"dodaj\" lub \"usuń\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Wykonanie akcji na liście produktów na liście życzeń" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Podaj wartość `wishlist_uuid`." @@ -958,7 +968,7 @@ msgstr "Podaj wartość `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Lista życzeń {wishlist_uuid} nie została znaleziona" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -982,8 +992,8 @@ msgstr "Kup zamówienie" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" "Prześlij atrybuty jako ciąg znaków sformatowany w następujący sposób: " "attr1=value1,attr2=value2" @@ -999,16 +1009,18 @@ msgstr "Akcją musi być `add` lub `remove`!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Orderproduct {order_product_uuid} nie znaleziono" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Oryginalny ciąg adresu podany przez użytkownika" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} nie istnieje: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1018,8 +1030,8 @@ msgstr "Limit musi wynosić od 1 do 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - działa jak urok" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Atrybuty" @@ -1032,11 +1044,11 @@ msgid "groups of attributes" msgstr "Grupy atrybutów" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Kategorie" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Marki" @@ -1045,7 +1057,7 @@ msgid "category image url" msgstr "Kategorie" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Procentowy narzut" @@ -1055,8 +1067,7 @@ msgstr "" "Które atrybuty i wartości mogą być używane do filtrowania tej kategorii." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Minimalne i maksymalne ceny produktów w tej kategorii, jeśli są dostępne." @@ -1068,7 +1079,7 @@ msgstr "Tagi dla tej kategorii" msgid "products in this category" msgstr "Produkty w tej kategorii" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Sprzedawcy" @@ -1080,36 +1091,36 @@ msgstr "Szerokość geograficzna (współrzędna Y)" msgid "Longitude (X coordinate)" msgstr "Długość geograficzna (współrzędna X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Jak" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Wartość oceny od 1 do 10 włącznie lub 0, jeśli nie jest ustawiona." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Reprezentuje informacje zwrotne od użytkownika." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Powiadomienia" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Adres URL pobierania dla tego produktu zamówienia, jeśli dotyczy" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Lista zamówionych produktów w tym zamówieniu" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Adres rozliczeniowy" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1117,51 +1128,51 @@ msgstr "" "Adres wysyłki dla tego zamówienia, pozostaw pusty, jeśli jest taki sam jak " "adres rozliczeniowy lub jeśli nie dotyczy" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Całkowita cena tego zamówienia" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Całkowita ilość produktów w zamówieniu" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Czy wszystkie produkty w zamówieniu są cyfrowe?" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transakcje dla tego zamówienia" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Zamówienia" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "Adres URL obrazu" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Zdjęcia produktu" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Kategoria" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Informacje zwrotne" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Marka" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Grupy atrybutów" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1169,7 +1180,7 @@ msgstr "Grupy atrybutów" msgid "price" msgstr "Cena" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1177,31 +1188,31 @@ msgstr "Cena" msgid "quantity" msgstr "Ilość" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Liczba informacji zwrotnych" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Produkty" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Promocodes" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Produkty w sprzedaży" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promocje" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Sprzedawca" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1209,645 +1220,638 @@ msgstr "Sprzedawca" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Produkty z listy życzeń" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Listy życzeń" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Produkty Tagged" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Tagi produktu" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Kategorie oznaczone tagami" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Tagi kategorii" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Nazwa projektu" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Firmowy adres e-mail" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Nazwa firmy" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Adres firmy" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Numer telefonu firmy" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" -msgstr "\"email from\", czasami musi być użyty zamiast wartości użytkownika hosta" +msgstr "" +"\"email from\", czasami musi być użyty zamiast wartości użytkownika hosta" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Użytkownik hosta poczty e-mail" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Maksymalna kwota płatności" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Minimalna kwota płatności" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Dane analityczne" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Dane reklamowe" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Konfiguracja" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Kod języka" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Nazwa języka" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Flaga języka, jeśli istnieje :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Pobierz listę obsługiwanych języków" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Wyniki wyszukiwania produktów" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Wyniki wyszukiwania produktów" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Rodzic tej grupy" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Grupa atrybutów nadrzędnych" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Nazwa grupy atrybutów" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Grupa atrybutów" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Przechowuje dane uwierzytelniające i punkty końcowe wymagane do komunikacji " "API dostawcy." -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Informacje o uwierzytelnianiu" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "Definiowanie znaczników dla produktów pobranych od tego dostawcy" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Procentowa marża sprzedawcy" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Nazwa tego sprzedawcy" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Nazwa sprzedawcy" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Wewnętrzny identyfikator tagu produktu" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Nazwa tagu" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Przyjazna dla użytkownika nazwa etykiety produktu" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Wyświetlana nazwa znacznika" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Etykieta produktu" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "tag kategorii" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "tagi kategorii" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Prześlij obraz reprezentujący tę kategorię" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Obraz kategorii" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Zdefiniuj procentowy narzut dla produktów w tej kategorii." -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Rodzic tej kategorii w celu utworzenia struktury hierarchicznej" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Kategoria nadrzędna" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Nazwa kategorii" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Podaj nazwę dla tej kategorii" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Dodaj szczegółowy opis dla tej kategorii" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Opis kategorii" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "tagi, które pomagają opisać lub pogrupować tę kategorię" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Priorytet" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Nazwa tej marki" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Nazwa marki" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Prześlij logo reprezentujące tę markę" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Mały wizerunek marki" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Prześlij duże logo reprezentujące tę markę" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Duży wizerunek marki" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Dodaj szczegółowy opis marki" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Opis marki" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Opcjonalne kategorie, z którymi powiązana jest ta marka" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Kategorie" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "Sprzedawca dostarczający ten produkt" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Powiązany sprzedawca" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Ostateczna cena dla klienta po uwzględnieniu marży" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Cena sprzedaży" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Produkt powiązany z tym wpisem magazynowym" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Produkt powiązany" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "Cena zapłacona sprzedawcy za ten produkt" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Cena zakupu przez sprzedawcę" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Dostępna ilość produktu w magazynie" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Ilość w magazynie" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "Jednostki SKU przypisane przez dostawcę w celu identyfikacji produktu" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "SKU sprzedawcy" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Plik cyfrowy powiązany z tymi zapasami, jeśli dotyczy" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Plik cyfrowy" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Zapisy magazynowe" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Kategoria, do której należy ten produkt" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Opcjonalnie można powiązać ten produkt z marką" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Tagi, które pomagają opisać lub pogrupować ten produkt" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Wskazuje, czy produkt jest dostarczany cyfrowo." -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Czy produkt jest cyfrowy?" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Wyraźna nazwa identyfikująca produkt" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Nazwa produktu" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Dodaj szczegółowy opis produktu" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Opis produktu" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Numer części dla tego produktu" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Numer części" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Kategoria tego atrybutu" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Grupa tego atrybutu" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "String" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Integer" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Pływak" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Wartość logiczna" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Tablica" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Obiekt" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Typ wartości atrybutu" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Typ wartości" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Nazwa tego atrybutu" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Nazwa atrybutu" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Atrybut" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Atrybut tej wartości" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "Konkretny produkt powiązany z wartością tego atrybutu" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "Konkretna wartość dla tego atrybutu" -#: core/models.py:870 -msgid "provide alternative text for the image for accessibility" -msgstr "" -"Zapewnienie alternatywnego tekstu dla obrazu w celu ułatwienia dostępu" - #: core/models.py:871 +msgid "provide alternative text for the image for accessibility" +msgstr "Zapewnienie alternatywnego tekstu dla obrazu w celu ułatwienia dostępu" + +#: core/models.py:872 msgid "image alt text" msgstr "Tekst alternatywny obrazu" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Prześlij plik obrazu dla tego produktu" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Obraz produktu" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Określa kolejność wyświetlania obrazów" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Priorytet wyświetlania" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Produkt, który przedstawia ten obraz" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Zdjęcia produktów" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Rabat procentowy na wybrane produkty" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Procent rabatu" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Podaj unikalną nazwę tej promocji" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Nazwa promocji" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Opis promocji" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Wybierz produkty objęte promocją" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Dołączone produkty" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promocja" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Produkty, które użytkownik oznaczył jako poszukiwane" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Użytkownik posiadający tę listę życzeń" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Właściciel listy życzeń" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Lista życzeń" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} nie istnieje: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Film dokumentalny" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Filmy dokumentalne" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Nierozwiązany" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Linia adresu dla klienta" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Linia adresowa" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "ul." -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Okręg" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Miasto" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Region" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Kod pocztowy" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Kraj" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Geolocation Point(Longitude, Latitude)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Pełna odpowiedź JSON z geokodera dla tego adresu" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Przechowywana odpowiedź JSON z usługi geokodowania" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Adres" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adresy" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Unikalny kod używany przez użytkownika do realizacji rabatu." -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Identyfikator kodu promocyjnego" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Stała kwota rabatu stosowana, jeśli procent nie jest używany" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Stała kwota rabatu" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Rabat procentowy stosowany w przypadku niewykorzystania stałej kwoty" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Rabat procentowy" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Znacznik czasu wygaśnięcia kodu promocyjnego" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Końcowy czas ważności" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Znacznik czasu, od którego ten kod promocyjny jest ważny" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Czas rozpoczęcia ważności" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Znacznik czasu użycia kodu promocyjnego, pusty, jeśli nie został jeszcze " "użyty." -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Znacznik czasu użycia" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Użytkownik przypisany do tego kodu promocyjnego, jeśli dotyczy" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Przypisany użytkownik" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Kod promocyjny" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Kody promocyjne" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1855,151 +1859,150 @@ msgstr "" "Należy zdefiniować tylko jeden rodzaj rabatu (kwotowy lub procentowy), ale " "nie oba lub żaden z nich." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Kod promocyjny został już wykorzystany" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Nieprawidłowy typ rabatu dla kodu promocyjnego {self.uuid}." +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "Adres rozliczeniowy użyty dla tego zamówienia" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Opcjonalny kod promocyjny zastosowany do tego zamówienia" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Zastosowany kod promocyjny" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "Adres wysyłki użyty dla tego zamówienia" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Adres wysyłki" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Aktualny status zamówienia w jego cyklu życia" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Status zamówienia" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "Struktura JSON powiadomień do wyświetlenia użytkownikom, w interfejsie " "administratora używany jest widok tabeli" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "Reprezentacja JSON atrybutów zamówienia dla tego zamówienia" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "Użytkownik, który złożył zamówienie" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Użytkownik" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "Znacznik czasu, kiedy zamówienie zostało sfinalizowane" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Kup czas" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Czytelny dla człowieka identyfikator zamówienia" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "Identyfikator czytelny dla człowieka" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Zamówienie" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" -msgstr "" -"Użytkownik może mieć tylko jedno oczekujące zlecenie w danym momencie!" +msgstr "Użytkownik może mieć tylko jedno oczekujące zlecenie w danym momencie!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "" "Nie można dodać produktów do zamówienia, które nie jest zamówieniem " "oczekującym." -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Nie można dodać nieaktywnych produktów do zamówienia" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "Nie można dodać więcej produktów niż jest dostępnych w magazynie" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Nie można usunąć produktów z zamówienia, które nie jest zamówieniem " "oczekującym." -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} nie istnieje z zapytaniem <{query}>." +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Kod promocyjny nie istnieje" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "Możesz kupować tylko produkty fizyczne z podanym adresem wysyłki!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Adres nie istnieje" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "W tej chwili nie możesz dokonać zakupu, spróbuj ponownie za kilka minut." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Nieprawidłowa wartość siły" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Nie można kupić pustego zamówienia!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "" "Nie można usunąć produktów z zamówienia, które nie jest zamówieniem " "oczekującym." -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Użytkownik bez salda nie może kupować za saldo!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Niewystarczające środki do zrealizowania zamówienia" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2008,7 +2011,7 @@ msgstr "" "informacje: imię i nazwisko klienta, adres e-mail klienta, numer telefonu " "klienta." -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -2016,119 +2019,117 @@ msgstr "" "Nieprawidłowa metoda płatności: {payment_method} z " "{available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "Cena zapłacona przez klienta za ten produkt w momencie zakupu." -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Cena zakupu w momencie zamówienia" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "" -"Wewnętrzne komentarze dla administratorów dotyczące tego zamówionego " -"produktu" +"Wewnętrzne komentarze dla administratorów dotyczące tego zamówionego produktu" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Uwagi wewnętrzne" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Powiadomienia użytkownika" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "Reprezentacja JSON atrybutów tego elementu" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Zamówione atrybuty produktu" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Odniesienie do zamówienia nadrzędnego zawierającego ten produkt" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Zamówienie nadrzędne" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Konkretny produkt powiązany z tą linią zamówienia" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Ilość tego konkretnego produktu w zamówieniu" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Ilość produktu" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Aktualny status tego produktu w zamówieniu" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Status linii produktów" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Orderproduct musi mieć powiązane zamówienie!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "nieprawidłowe działanie określone dla informacji zwrotnej: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "" "Nie można usunąć produktów z zamówienia, które nie jest zamówieniem " "oczekującym." -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Pobierz" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Pliki do pobrania" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "Nie można pobrać zasobu cyfrowego dla nieukończonego zamówienia." -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Komentarze użytkowników na temat ich doświadczeń z produktem" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Komentarze zwrotne" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" "Odnosi się do konkretnego produktu w zamówieniu, którego dotyczy ta " "informacja zwrotna." -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Powiązany produkt zamówienia" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Ocena produktu przypisana przez użytkownika" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Ocena produktu" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Informacje zwrotne" @@ -2139,7 +2140,7 @@ msgstr "" "Aby dodać opinię, należy podać komentarz, ocenę i identyfikator produktu " "zamówienia." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Błąd podczas tworzenia kodu promocyjnego: {e!s}" @@ -2165,13 +2166,14 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Witam %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Dziękujemy za zamówienie #%(order.pk)s! Z przyjemnością informujemy, że " @@ -2206,7 +2208,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Z wyrazami szacunku,
zespół %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2220,7 +2222,7 @@ msgstr "Zamówienie dostarczone" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Witaj %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2228,8 +2230,8 @@ msgid "" "we have successfully processed your order №%(order_uuid)s! below are the\n" " details of your order:" msgstr "" -"Pomyślnie przetworzyliśmy Twoje zamówienie №%(order_uuid)s! Poniżej znajdują" -" się szczegóły zamówienia:" +"Pomyślnie przetworzyliśmy Twoje zamówienie №%(order_uuid)s! Poniżej znajdują " +"się szczegóły zamówienia:" #: core/templates/digital_order_delivered_email.html:128 msgid "" @@ -2256,7 +2258,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Z wyrazami szacunku,
zespół %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2265,7 +2267,8 @@ msgstr "Klucz" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Dziękujemy za zamówienie! Z przyjemnością potwierdzamy zakup. Poniżej " @@ -2285,7 +2288,7 @@ msgstr "Zamówienie zostanie dostarczone pod następujący adres:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Z wyrazami szacunku, zespół %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2309,17 +2312,17 @@ msgstr "" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Kontakt zainicjowany" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Potwierdzenie zamówienia" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Zamówienie dostarczone" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2339,15 +2342,15 @@ msgstr "" msgid "invalid phone number format" msgstr "Nieprawidłowy format numeru telefonu" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Zasób cyfrowy można pobrać tylko raz" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "nie znaleziono favicon" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Błąd geokodowania: {e}" +msgstr "" diff --git a/core/locale/pt_BR/LC_MESSAGES/django.mo b/core/locale/pt_BR/LC_MESSAGES/django.mo index beaa5462733990c8f3923e2a16d56e4057adb7c8..76a7ac6ecb14a0f165038805903cd4a11e3828d1 100644 GIT binary patch delta 10911 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 UhW8&Q^ntbyJDz`RV$SCO0AElVXaE2J diff --git a/core/locale/pt_BR/LC_MESSAGES/django.po b/core/locale/pt_BR/LC_MESSAGES/django.po index 7453bcdd..2f0d1a92 100644 --- a/core/locale/pt_BR/LC_MESSAGES/django.po +++ b/core/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Está ativo" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Se definido como false, esse objeto não poderá ser visto por usuários sem a " "permissão necessária" @@ -51,82 +50,82 @@ msgstr "Modificado" msgid "when the object was last modified" msgstr "Quando o objeto foi editado pela última vez" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Traduções" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Geral" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relações" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadados" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Carimbos de data/hora" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Ativar %(verbose_name_plural)s selecionados" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Os itens selecionados foram ativados!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Desativar %(verbose_name_plural)s selecionados" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Os itens selecionados foram desativados!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Valor do atributo" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Valores de atributos" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Imagem" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Imagens" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Estoque" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Ações" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Pedido de produto" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Solicitar produtos" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Crianças" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Configuração" @@ -188,7 +187,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Aplicar somente uma chave para ler dados permitidos do cache.\n" -"Aplicar chave, dados e tempo limite com autenticação para gravar dados no cache." +"Aplicar chave, dados e tempo limite com autenticação para gravar dados no " +"cache." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -244,8 +244,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "Reescrever um grupo de atributos existente salvando os não editáveis" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Reescreva alguns campos de um grupo de atributos existente salvando os não " "editáveis" @@ -296,8 +295,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "Reescreva um valor de atributo existente salvando os não editáveis" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Reescreva alguns campos de um valor de atributo existente salvando os não " "editáveis" @@ -338,12 +336,12 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Pesquisa de substring sem distinção entre maiúsculas e minúsculas em " -"human_readable_id, order_products.product.name e " -"order_products.product.partnumber" +"human_readable_id, order_products.product.name e order_products.product." +"partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -379,9 +377,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordene por uma das seguintes opções: uuid, human_readable_id, user_email, " "user, status, created, modified, buy_time, random. Prefixe com '-' para " @@ -562,18 +560,28 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrar por um ou mais pares de nome/valor de atributo. \n" "- **Sintaxe**: `attr_name=method-value[;attr2=method2-value2]...`\n" -"- Métodos** (o padrão é `icontains` se omitido): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- Digitação de valores**: JSON é tentado primeiro (para que você possa passar listas/dicas), `true`/`false` para booleanos, inteiros, flutuantes; caso contrário, é tratado como string. \n" -"- Base64**: prefixo com `b64-` para codificar o valor bruto com base64 de forma segura para a URL. \n" +"- Métodos** (o padrão é `icontains` se omitido): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" +"- Digitação de valores**: JSON é tentado primeiro (para que você possa " +"passar listas/dicas), `true`/`false` para booleanos, inteiros, flutuantes; " +"caso contrário, é tratado como string. \n" +"- Base64**: prefixo com `b64-` para codificar o valor bruto com base64 de " +"forma segura para a URL. \n" "Exemplos: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -629,11 +637,14 @@ msgstr "(exato) Digital vs. físico" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Lista de campos separada por vírgulas para classificação. Prefixe com `-` para classificação decrescente. \n" -"**Permitido:** uuid, classificação, nome, slug, criado, modificado, preço, aleatório" +"Lista de campos separada por vírgulas para classificação. Prefixe com `-` " +"para classificação decrescente. \n" +"**Permitido:** uuid, classificação, nome, slug, criado, modificado, preço, " +"aleatório" #: core/docs/drf/viewsets.py:441 msgid "retrieve a single product (detailed view)" @@ -807,8 +818,8 @@ msgstr "Atributos" msgid "Quantity" msgstr "Quantidade" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Lesma" @@ -890,7 +901,7 @@ msgstr "Dados em cache" msgid "camelized JSON data from the requested URL" msgstr "Dados JSON camelizados da URL solicitada" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Somente URLs que começam com http(s):// são permitidos" @@ -899,10 +910,10 @@ msgid "add a product to the order" msgstr "Adicionar um produto ao pedido" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Pedido {order_uuid} não encontrado" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -916,32 +927,32 @@ msgstr "Remover todos os produtos do pedido" msgid "buy an order" msgstr "Comprar um pedido" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "Forneça order_uuid ou order_hr_id - mutuamente exclusivos!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "O tipo errado veio do método order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Executar uma ação em uma lista de produtos no pedido" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Remover/Adicionar" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "A ação deve ser \"adicionar\" ou \"remover\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Executar uma ação em uma lista de produtos na lista de desejos" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Forneça o valor `wishlist_uuid`." @@ -950,7 +961,7 @@ msgstr "Forneça o valor `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Lista de desejos {wishlist_uuid} não encontrada" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -974,8 +985,8 @@ msgstr "Comprar um pedido" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" "Envie os atributos como uma string formatada como attr1=value1,attr2=value2" @@ -990,16 +1001,18 @@ msgstr "A ação deve ser `add` ou `remove`!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Orderproduct {order_product_uuid} não encontrado" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Cadeia de endereços original fornecida pelo usuário" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} não existe: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1009,8 +1022,8 @@ msgstr "O limite deve estar entre 1 e 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funciona muito bem" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Atributos" @@ -1023,11 +1036,11 @@ msgid "groups of attributes" msgstr "Grupos de atributos" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Categorias" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Marcas" @@ -1036,7 +1049,7 @@ msgid "category image url" msgstr "Categorias" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Porcentagem de marcação" @@ -1046,8 +1059,7 @@ msgstr "" "Quais atributos e valores podem ser usados para filtrar essa categoria." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "Preços mínimo e máximo dos produtos dessa categoria, se disponíveis." #: core/graphene/object_types.py:137 @@ -1058,7 +1070,7 @@ msgstr "Tags para esta categoria" msgid "products in this category" msgstr "Produtos desta categoria" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Vendors" @@ -1070,37 +1082,37 @@ msgstr "Latitude (coordenada Y)" msgid "Longitude (X coordinate)" msgstr "Longitude (coordenada X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Como fazer" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" "Valor de classificação de 1 a 10, inclusive, ou 0 se não estiver definido." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Representa o feedback de um usuário." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Notificações" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "URL de download para este produto do pedido, se aplicável" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Uma lista dos produtos solicitados nesse pedido" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Endereço de cobrança" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1108,51 +1120,51 @@ msgstr "" "Endereço de entrega para este pedido, deixe em branco se for o mesmo que o " "endereço de cobrança ou se não for aplicável" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Preço total deste pedido" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Quantidade total de produtos no pedido" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Todos os produtos estão no pedido digital?" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Transações para esta ordem" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Pedidos" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "URL da imagem" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Imagens do produto" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Categoria" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Feedbacks" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Brand" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Grupos de atributos" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1160,7 +1172,7 @@ msgstr "Grupos de atributos" msgid "price" msgstr "Preço" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1168,31 +1180,31 @@ msgstr "Preço" msgid "quantity" msgstr "Quantidade" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Número de feedbacks" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Produtos" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Códigos promocionais" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Produtos à venda" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promoções" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Vendor" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1200,795 +1212,786 @@ msgstr "Vendor" msgid "product" msgstr "Produto" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Produtos da lista de desejos" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Listas de desejos" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Produtos marcados" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Etiquetas do produto" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Categorias de tags" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Tags das categorias" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Nome do projeto" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "E-mail da empresa" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Nome da empresa" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Endereço da empresa" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Número de telefone da empresa" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', às vezes ele deve ser usado em vez do valor do usuário do host" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Usuário do host de e-mail" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Valor máximo para pagamento" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Valor mínimo para pagamento" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Dados analíticos" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Dados do anúncio" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Configuração" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Código do idioma" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Nome do idioma" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Sinalizador de idioma, se houver :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Obter uma lista de idiomas suportados" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Resultados da pesquisa de produtos" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Resultados da pesquisa de produtos" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Pai deste grupo" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Grupo de atributos pai" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Nome do grupo de atributos" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Grupo de atributos" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Armazena as credenciais e os pontos de extremidade necessários para a " "comunicação da API do fornecedor" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Informações de autenticação" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "Definir a marcação para produtos recuperados desse fornecedor" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Porcentagem da margem de lucro do fornecedor" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Nome do fornecedor" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Nome do fornecedor" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Identificador de tag interno para a tag do produto" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Nome da etiqueta" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Nome de fácil utilização para a etiqueta do produto" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Nome de exibição da tag" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Etiqueta do produto" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "tag de categoria" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "tags de categoria" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Faça upload de uma imagem que represente essa categoria" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Imagem da categoria" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Definir uma porcentagem de majoração para os produtos dessa categoria" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Pai dessa categoria para formar uma estrutura hierárquica" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Categoria dos pais" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Nome da categoria" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Forneça um nome para essa categoria" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Adicione uma descrição detalhada para essa categoria" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Descrição da categoria" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "tags que ajudam a descrever ou agrupar essa categoria" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Prioridade" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Nome da marca" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Nome da marca" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Faça upload de um logotipo que represente essa marca" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Imagem pequena da marca" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Faça upload de um logotipo grande que represente essa marca" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Imagem de marca grande" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Adicione uma descrição detalhada da marca" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Descrição da marca" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Categorias opcionais às quais essa marca está associada" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Categorias" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "O fornecedor que fornece esse estoque de produtos" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Fornecedor associado" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Preço final para o cliente após as marcações" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Preço de venda" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "O produto associado a essa entrada em estoque" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Produto associado" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "O preço pago ao fornecedor por esse produto" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Preço de compra do fornecedor" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Quantidade disponível do produto em estoque" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Quantidade em estoque" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU atribuído pelo fornecedor para identificar o produto" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "SKU do fornecedor" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Arquivo digital associado a esse estoque, se aplicável" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Arquivo digital" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Entradas de estoque" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Categoria à qual este produto pertence" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Opcionalmente, associe esse produto a uma marca" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Tags que ajudam a descrever ou agrupar este produto" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Indica se esse produto é entregue digitalmente" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "O produto é digital" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Fornecer um nome de identificação claro para o produto" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Nome do produto" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Adicione uma descrição detalhada do produto" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Descrição do produto" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Número de peça para este produto" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Número da peça" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Categoria desse atributo" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Grupo desse atributo" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Cordas" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Inteiro" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Flutuação" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Booleano" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Matriz" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Objeto" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Tipo do valor do atributo" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Tipo de valor" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Nome desse atributo" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Nome do atributo" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Atributo" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Atributo desse valor" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "O produto específico associado ao valor desse atributo" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "O valor específico para esse atributo" -#: core/models.py:870 -msgid "provide alternative text for the image for accessibility" -msgstr "" -"Forneça um texto alternativo para a imagem para fins de acessibilidade" - #: core/models.py:871 +msgid "provide alternative text for the image for accessibility" +msgstr "Forneça um texto alternativo para a imagem para fins de acessibilidade" + +#: core/models.py:872 msgid "image alt text" msgstr "Texto alternativo da imagem" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Faça o upload do arquivo de imagem para este produto" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Imagem do produto" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Determina a ordem em que as imagens são exibidas" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Prioridade de exibição" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "O produto que esta imagem representa" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Imagens do produto" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Desconto percentual para os produtos selecionados" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Porcentagem de desconto" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Forneça um nome exclusivo para essa promoção" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Nome da promoção" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Descrição da promoção" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Selecione quais produtos estão incluídos nessa promoção" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Produtos incluídos" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promoção" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Produtos que o usuário marcou como desejados" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Usuário que possui esta lista de desejos" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Proprietário da lista de desejos" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Lista de desejos" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} não existe: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Documentário" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Documentários" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Não resolvido" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Linha de endereço do cliente" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Linha de endereço" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Rua" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Distrito" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Cidade" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Região" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Código postal" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "País" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Ponto de geolocalização (Longitude, Latitude)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Resposta JSON completa do geocodificador para este endereço" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Resposta JSON armazenada do serviço de geocodificação" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Endereço" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Endereços" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Código exclusivo usado por um usuário para resgatar um desconto" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Identificador de código promocional" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Valor de desconto fixo aplicado se a porcentagem não for usada" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Valor do desconto fixo" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Desconto percentual aplicado se o valor fixo não for usado" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Desconto percentual" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Registro de data e hora em que o código promocional expira" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Tempo de validade final" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "" "Registro de data e hora a partir do qual esse código promocional é válido" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Hora de início da validade" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Registro de data e hora em que o código promocional foi usado, em branco se " "ainda não tiver sido usado" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Registro de data e hora de uso" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Usuário atribuído a esse código promocional, se aplicável" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Usuário atribuído" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Código promocional" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Códigos promocionais" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"Apenas um tipo de desconto deve ser definido (valor ou porcentagem), mas não" -" ambos ou nenhum." +"Apenas um tipo de desconto deve ser definido (valor ou porcentagem), mas não " +"ambos ou nenhum." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "O código promocional já foi usado" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Tipo de desconto inválido para o código promocional {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "O endereço de cobrança usado para esse pedido" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Código promocional opcional aplicado a este pedido" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Código promocional aplicado" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "O endereço de entrega usado para esse pedido" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Endereço de entrega" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Status atual do pedido em seu ciclo de vida" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Status do pedido" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "Estrutura JSON de notificações a serem exibidas aos usuários; na interface " "do usuário do administrador, é usada a visualização de tabela" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "Representação JSON dos atributos do pedido para esse pedido" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "O usuário que fez o pedido" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Usuário" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "O registro de data e hora em que o pedido foi finalizado" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Tempo de compra" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Um identificador legível por humanos para o pedido" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "ID legível por humanos" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Pedido" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "Um usuário deve ter apenas uma ordem pendente por vez!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "Não é possível adicionar produtos a um pedido que não esteja pendente" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Não é possível adicionar produtos inativos ao pedido" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "" "Não é possível adicionar mais produtos do que os disponíveis em estoque" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "Não é possível remover produtos de um pedido que não esteja pendente" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} não existe com a consulta <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "O código promocional não existe" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" -"Você só pode comprar produtos físicos com o endereço de entrega " -"especificado!" +"Você só pode comprar produtos físicos com o endereço de entrega especificado!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "O endereço não existe" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "Não é possível comprar neste momento, tente novamente em alguns minutos." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Valor de força inválido" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Você não pode comprar um pedido vazio!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "Não é possível comprar um pedido sem um usuário!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Um usuário sem saldo não pode comprar com saldo!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Fundos insuficientes para concluir o pedido" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -1996,7 +1999,7 @@ msgstr "" "Não é possível comprar sem registro, forneça as seguintes informações: nome " "do cliente, e-mail do cliente, número de telefone do cliente" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" @@ -2004,119 +2007,118 @@ msgstr "" "Método de pagamento inválido: {payment_method} de " "{available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "O preço pago pelo cliente por esse produto no momento da compra" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Preço de compra no momento do pedido" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "" "Comentários internos para administradores sobre este produto encomendado" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Comentários internos" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Notificações do usuário" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "Representação JSON dos atributos desse item" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Atributos ordenados do produto" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Referência ao pedido pai que contém esse produto" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Ordem dos pais" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "O produto específico associado a essa linha de pedido" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Quantidade desse produto específico no pedido" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Quantidade do produto" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Status atual desse produto no pedido" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Status da linha de produtos" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "O Orderproduct deve ter um pedido associado!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "ação incorreta especificada para feedback: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "você não pode dar feedback a um pedido que não foi recebido" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Baixar" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Downloads" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "" "Não é possível fazer download de um ativo digital para um pedido não " "concluído" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "" "Comentários fornecidos pelo usuário sobre sua experiência com o produto" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Comentários de feedback" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" -"Faz referência ao produto específico em um pedido sobre o qual se trata esse" -" feedback" +"Faz referência ao produto específico em um pedido sobre o qual se trata esse " +"feedback" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Produto de pedido relacionado" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Classificação atribuída pelo usuário ao produto" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Avaliação do produto" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Feedback" @@ -2127,7 +2129,7 @@ msgstr "" "Você deve fornecer um comentário, uma classificação e o uuid do produto do " "pedido para adicionar feedback." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Erro durante a criação do código promocional: {e!s}" @@ -2153,13 +2155,14 @@ msgstr "Logotipo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Olá %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Obrigado por seu pedido #%(order.pk)s! Temos o prazer de informá-lo de que " @@ -2193,7 +2196,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Com os melhores cumprimentos,
da equipe de %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2207,7 +2210,7 @@ msgstr "Pedido entregue" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Olá %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2243,7 +2246,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Atenciosamente,
a equipe de %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2252,7 +2255,8 @@ msgstr "Chave" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Obrigado por seu pedido! Temos o prazer de confirmar sua compra. Abaixo " @@ -2272,7 +2276,7 @@ msgstr "Seu pedido será entregue no seguinte endereço:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Com os melhores cumprimentos,
a equipe de %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2294,17 +2298,17 @@ msgstr "Valor de tempo limite inválido, deve estar entre 0 e 216000 segundos" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Entre em contato conosco iniciado" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Confirmação de pedido" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Order Delivered" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2324,15 +2328,15 @@ msgstr "" msgid "invalid phone number format" msgstr "Formato de número telefônico inválido" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Você só pode fazer o download do ativo digital uma vez" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon não encontrado" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Erro de geocodificação: {e}" +msgstr "" diff --git a/core/locale/ro_RO/LC_MESSAGES/django.mo b/core/locale/ro_RO/LC_MESSAGES/django.mo index ca3c491508e8a8d787add5463264a073235d2e22..3e7c1accaad4d3712b53e9eaaa93e86369537a62 100644 GIT binary patch delta 10907 zcmYk=3w+PjAII@8yRe(N%rLjjT*sKPjSVxmF!%eAOSxYb5t`a}79z&nuPr5)Y7xK4 z{W^toQ4uA#B$sYd|BC4UdhZ;MhwtO@+4J)`-`n|~bH3l7TA1tgLzb6&v9$LxhwW|= z$Ek$x2RqK|MIEP8Rkb?K=XD&XES^T~|Iz9l$tM@;DC5;4G|#tFRg# zMjdwz{T;`39+Kz;zq)2eHT0owhMCw3InX(bCGiw4#qZD;pRGqH@OjjY)?gSO#T`7z zMQlpFw1Ih$Pce@ATA?ln$C!q0Sc)C9F%(y#A8ti;U^kY-0#pYtpgMjPb=-ZcPeaq8 zVDzTFA+EuARENL7Ks=8j+~2uQQXKDNZS;;cCq|=Ah_!W7YYWs3TcbMG8KbcuGCR&} ztcmX-mvp{H`sVmGGWSVDjZ|xNBT2@RFiOrsyJH{fLf0@6OEfk^+5sz553^>Yj$4Ns z(vuj1Dl}4Mu_H!fF`R}P*(}rutcYX&b-_1j&=VcOzIY0|VD)&%NybUo20d6B|3;?Y z2}m%DECEYUr=s@v$LTm8Yv4`Plm$0&oFFWVWihe|d)d zBre2qxX$k1W!sNi&!eW~7M8(3F&zC^fl(NRx^8dOhzxg0^jeHZ^)S~SupHH)ji?Lm zvh`8anmB`ck_)KwZ=r@Xi22f53PU|eBnDtKssl~!{$Z%=y5mXIqiJ@>9Ml{xLJjFg z)ClcB-S9Yu;aSuT@7VT-7)~9SWI7OyTK(~;Crv`#r!{Kmdm`6!ozWz^&{WioXQEDA zg*q`03rE7b3w7K{)ZAV|O^r`8GvuLIfjY|C26f{>s0T?$U3Ui7cDhtiFv4wT|!qw z`zwh)7)4r|#Z?>C-T-yM6kB&hU2q`Q!4b%t<>cZ9JdQd(J;luNRBTM0gIe52P$PRB znKh?KE5=_vZQjbv$un4+dMZZXI#kDwpl);%_4-A$wy!N}Ep$S4cqn$pNjL=$<9KYs z$3q?1h+5S7*beu$am^DIZEK!95Otw4s41v{>d*kxqM2#;&qsAA54CpAqNb`SSM7kI zSP_RHv*f&h8o9lwMR*MPhB@b4l4z3PCmg2{Hb*azha)9Pf^%y_2;!YRCtn-mdYej?P3z%ym|fl&9ex)RPvN9nKf%OMM;dn zO~E?U@1pj9jXvnx$=o0iwaTlauG;{^u{joY2m|&0k0;R+WuR`j4C~=qRF6-fE_4~S zdVfPLx;mZB>)HYXs8g{L_C-zAWYikU#bWrO^;6VZIg1J0-?>E+jn%rCx$K5oT(gjc z>g>mAShTC-bjKQ~8%{-a8RJz#k#lxb>30*$InsU{BKd$y@MLr2i+Kd&3y=u zr30hU51XJ)Xoc!=Kf8Y<#!x?t;kX`aV*zSve#TN*vxiyCO>h`>Ka9fts42REdJvzU zjK5AO(bFuVaMXL*75R2Jvr!j5iCW!Wz04X(MRl+Ts>7pDZ_l%+sakB^fi=B zZ$cPoZ9?S5XIkgiY{wjK#XVd#VSaF1*5e0_#)X$0UsEZ}yKs zjo3;|!OOO;#?!T=9%FQ!cS!h!bbhisq6V6w8Hs$SO!<3-imzGdD~I1_aSV6AEADKoWJaj#6jkO6x39-M_s5V>P90`i)I>X&CI}H zT!Nvv9yJnsP_Oe%Jc;E7^NQkCtc4?nm=Rcj(cItpj6`$#0Bd5@P_wGLV-j@+HpZQ( zk+_YTqEb(pZ+J7*h5KVNW@8*4L0$K6td2FF=D(`2BkBQPMpr|$m_+a8O00lyVk92G zig*cECfZwdFtDJV0aA1N0xx`0I&h(V(Hs zM{nGR8p6X^8h=G~r059qBvnx7wZ;}W27T}?R0p=AFYZBgjmdtOveC{XFXRdw`J`GuB+F7pi>)rs7GA$Ix+1LlOQJgkjX% z#+xZUg_WqUquRaF%?Hb^LQ;)}78s60QFEM)dXjahMRNglT!m-M2sA@os4eRFA*danN}&O&v39tPiH+A#dsd|gny#W`wz8v8&5NfuPGL%Zi#B|fWg=W_5B!xjk&)wfusR$z&JdE-7w&J zbK!xg3oSyu6{}HCejGItUK!?_pN#dX$6`Ajhv9g|T6DVkG)H10?Y+^}(C3oq!1LC7 zIGnoT3+Anuf$H&G)X1#CDwvPH_%S|-U!Z=pVqP@=-9Hmme}+0QGSe*D#u!FDGL!Ky zL6S{Fd0d2x@okL4<_wSKY!vD>OGgcPHtM|jSlA&fMxAf#_pu`NG1PfiP}lzxH3cQI z%qP1_77hBq#L=K3ZjV~!-7x|uqlSDr>Ouvm8=b?Zcp25fuo>op;i&5+pgPzQbzT~3 zq{d??PR0nF=h}vMQBP8UdcrfP3tYmw_zS9oVcBMXBewObuv&L%(5=U za@3o#4jw`}>N>YbLTLCGD`TmdW^pw@wRf>Tjk@qO)LW8?nws}fb9)uFnD1i;Y%|L| z=>qEp)b;jRPh&Z~|JO;v+3^q~uhon~tneW_QVrXmj;;U?6g`W6%LHtNYE zUp5^`Kz)$9puQhzwjPdcxxX{P?%0WKsE?q&T*c;?xevj<)Gbj@x)LklHjKwl(HDK@ zn*D)ToVo^TuIr<&*A}&wdSF}3ME4X)0f|mn^on^eSED+z1AXuw_D5%)`6Lg(W|W6e zYvBRb$H4jKA1+C#585ysh)Yo&xr16u#dFLERmfrdwJ4%#7=dkZ6z1b#EW5xg!sk#I zcoF;HQVhV`cK=_fDfkcTWAH-rTQ|-Ec8#q*kFicoIYL8fr1$$MV>6 zmAOwE2J8J#Cy8W7ChC2E15@xgYEJ!En~s#kveZ>k`{PhIoQj&u&DaWWU>B^r#!OiT z4x!$H8mZv5W-2P85BGQCNwmnCp`PRk)Q!4e861Xsl4+_&8Xw{+xkn?$lO4U z)IX^60$(+6Q6yHOu8U#V5nUz2Nt$35>cris3!TDn{0?=)hp5$DCeM7TlThtxsI`-h z>d-VSg$r!^I&4b)HrB&y*bqy-#`tUKTEAv~gkC}&um#8Aw-|@**O~p9s2jb7>Zk{` z`ai@c@PAmY2>+OU-JI9w4ZFBeYwQ-5!@IT)Snrx|e#m-bJn9Mi**eSmhP42@vHv%p-v82D%wk)L)i_`S zdgF21{s|VNzKB{h*Kq)r-)i2L$*9FP9sMu|YvT$mhlj8Pod(sQHwUrW9n|G4$Z-OxDEB7 z7qKDtcZ$4k7E2?HrJjX)9d}_Zyn|_2VTbunOhO;(Ow?I z7cl@^Q`bO^=xB6x;fW;v_%TM{S?q&Or+k0ad;O)vCb}YeoJggor+a( zKI*u4ur6Lfja1NXv*wa_GydvH4h???;&=_+I!6!$w0kr^HFOee=p--iexVh$@mEl!JvI+sM4_`^>)mXFphZD?kG>Y7vXlW4Yw(#6RFgP2|cB@9NKuO z!Yzn=64?oSw7o#yir7l5C;Af;iFO?DvOVZDbtxj7&^8Hs<2QQ$TdIYvD~<0GdR2bL zdPFXvt)X=$#t?gmX||2eLE*32Xlf0;wtmFtg_(KP5^XO2v-xv{x(ove)9ReHJG9{5 zB*t^W*+gC9WkTCPd<&Coy#w12KN9-k$s)?KKZbaYyg9BXw0%eY4$K#6{v95kY9{ZdG2OKX&Va9oQF2 z^ssIGz&V|$uMxG0uWb8jOtSef+RG3%iPs*@zkUq56VWs_vU5kNBD>eEz>_TwxDdNZym^N;tGNAkv9Ss@a|- zuWVAMDBh&@;6~y_;w9>mgtjU~8u2Xk|1ib22jc70Y_4;HzZ>n2k8mwL3``h}%c9)n-)Fs|z|4kfEyhmQ*vE%E}_W0J5eU}LLDgGQ_&sHLX z*!kE=-;ft2))1euFN@ID&mI#&K7>3TXAsxPpCPnG6T57#`T+T4+>U37CBz*)e>jcj zDMHbM+P=aoCN2E;;BoSY#7tr^`yz<|BAt2=QI%Lgt!+52HK{YswyAvDwmnX+#y_5e zex}u**l$nRV~?s}>tApi(TVm&_z6*-ye)B%{08v{`ChzB^d-UwZGEi2nbO&gzuWwl z%g$yL%ZX{kYHB~MPTV4f61$1FY43%Pwpk=iZ1J7-gGW2@caGOqktncvB>9)*qwz3y zB&rRksBRA+b*>RZl(1EyePt0(ySlr4J!NA3y_T$v3-b((%lGlTnzX^olb$@%*Hfz9 z=AxdP?T7jzfQ0+slld&ZEa;$(`upGXLW$^+=;7yFd z@L0!*!ltP6hF~Gb2{>aZ=z?jsVFl(V-;Pso7jmN0w2tG@H>W)=#eNuymoO5)K|LrU z&T-0PGkk>?>5omx@445!NJnf)J|t+saTeQ(qo_Cf4Z|^_p5v6pXbi*VsE%~RGI&3# zqh8btWT4KQZC#A&*ecA2dvPWH1J&`N_30GPcScaqgEO%p&c+(J2zB8u)CK!&e%SgJ z>VYRv9Xo>zf^!jTVnhSSsg5m>cXE=kEP|;gdnT%W zB_`k@)DSz39H$agur@`VHvl=snT92CCu+oUu`6D{0vO+z`7ceOabt!8d!TMO7{hP^ z4!{}M1J7bBtkr~dfT>slUqaTIa{wdoDi+1OOuX8|aS~R;Xk3Guy2DKw{~{D}sVIeK zP#0W7t$`3;R~;#Z#jpyh!||xa*b&R%0Nb8n>jTz>sHu4d)v?X!!Z)xMeyS5$56(T! z%pA2sHH<+$a20B(Hlw!Bc2v*bx9uOHI(h~5pj$RC)ZDC@il`T?in{(@)JXS5t$~1> zg5EF{3!@*^fvNU{7f?6ej_S}pTmLp{Za+W`^%c~}{fc^Eu@+{HR6;$l397yWy08z@ zfq>(upjDoYdeiBs2hBlE$qLkkTTwUKi+b=|sOvsKU3U?KBVoOTIxoDXne*zXDeH!s zibO2O^PMrlg5%6ZJ$OCpO2&? z9MamCzimfrct?5{A)SC@QeOUac57SCp|19c$ z+im_j>V9uyP5c+KgPo9ej1o3$$N1}lPpQycU&02c&8=155H+;TkcI8|Q61finwrnB z242EQjObuG))4ieA*k)S6g85YQEOr!y6{v7#=ks;>s08?ig$FJ?iht*aWsy?FEBs$ z>tt5@V5G`PMZMuR48`53`y4<`$thF^3w1Ufu8(SOhU#GV00k|gnHZ1TP>bVJ?1I;^ z0=6Py-8q9%4_twIqjlH_cVZp9iuJK#SB4pTVGZnyS_9dr`^~j^U;~B9RJ?*3`ctSI zhuvqs{S~e4QA3<&osTZ^tyl?9VqN?itDvi!X>X0S$=#R_=b=VmF*5Q2XB~xtRO~Yq z&QWC4ob$H6HuItO2B;5B3oMP@P#sM|jo4T$i*v9DuC?{sP*ZaV<1iNo;xE`p`@dfg zvpOF`ov;Hn*B4O_xQyDCzhMz9+S9yQMT{kHfkiPD@4*RJ5g$RVt+l8Q>_we_2=xNr zVlnOiuwG`BmqV@2-l!Xm#KP!D-Eb;u?pC7~*K1e+zqbB}8i`w|#T9YCSrhl6rgj3V zehac;oX;^3MWJ?Y{+huas0Xe=b!0PYB=)1G;0Wr0Cr}Ui05u|Cp+?|_tq<#CUZ4^d zr@j`dy&3BMU2S{+K8(LkNTNay@T0zj*{J#_QTulzY7xDG8kw)K5dMt%ZshB0Zd@KU zwAE2-p#|!^{uqXC)cFsgIy9{>4e23|pZfJ*l>tF|X1oVOOa1P^>`8Lfh$o{wcC0Q zqsj9;VCrK~Bi9uhU^1#h%TX`50|(=NWYC;SYyqu-z!(aAGn^f$)#(f}BTxrRlJ-E| zI0-cc*?2ELZ#|0|fg;>pHo+K7!UUX)HSw@*zlKf7D+~$#5(_weDX3x=>c($azeNpQ zwM6sn?}KVzfEuy=*apKMH2HnlntX}%6t*BQHPqDiL5<8(tcu4lTKoSB1+C(UVP+^J zQH!rV(g&v>YO%bG5x5_SJz`{vp$QNL1@|~#jenL%YbyjM1?1Ng=6R{bt z#ejz7V+vYKB|T;i6R;Aw2Q`;7uob?54e>JS#*rhK9_)e5F%$KMTQNWGM(y|gs5SIY ztcqV?1uQ(0@z;Ki8EGEa05ycYQLBGCYHd7*y73__iziTv_Dj^_s-I$BAQ5Yk&%o-q z1vQeVF&|z;jm#x1fn~jnzj{*JYu=<2>cTW^iAzv#@(!v4A7Ch+M|I>9>J39u&9*Iu zIxiaaB6YC<4#R9rK~3f77>T6<51D<~7z!&uBa%8XDvYN`jK&YO>V(LgSR85F+5dN?lK%+V&)jgF)0!!sP`K5UPT za3SgeN3a%tk1<$fw8=YRG`SD8mX={s9=Ry6bQ$&LVVP#pbwHgr9W{dMQTN$`I{z4I3ctYFcm*|*WBpni%>Pshd#G55g|T}U z|4PAu*cqQjy~)3^L+qt?h{SO(WyU&lh^r!n~N z|4%4rdt5>Fw7?|u21QUEs$p$_n#0yu9J6pAK7xAlj+4##J+T7$VAPwALtQrwwF`Ej z7V&Nj{{4TzHoS$!XgGoT5PgEW@LP<>m~6BE2VgJqd8qbts18I-F^jVzCXjc<+Bg%N z;WnFJ!8mgM^%DsG8Qqy_a8a?qx)t@UKZ&|g$W${GEzw0j%eoOgK`x)Z($@x z%``*b-s(eb&ox*d|B1SPo<~dvN?}v-KqU(KDGWe8C=vA_KdR@mP!~Rdp|}Zk-Zs>O zkJ|ha>J9VEGH+f2b$vzD8mNux_yF5J47qQ>NwpPIOocNWwfI)q`Ykqp6}3y=M0MZ- zmcn09QxHDeyhw9vTP#3*XH>^}VG(qrI+hWvXa1*9a8a=ULvbr=M0TRy{B`R|)IPq5 zHSs2@qcM+~zm%F{CGsAqMVDsl=UUgG?)wTh#NAkj=R4m}(41G9W41*T>`XoqyWm#T z8{e>o&ovLMVQqoxSZ{P;Dr#!x+WHqUn*5N>FQZ;GV-Z#zQtgi5e?*wQWNenvO)GhJFMN!Zb|ABMTY-<`iNV znML8nIP&pW12ifO|On5VsZ4NMrbB#h?ip(+=rTyk8uS4h$;Bs68^g{9ziY6 zn7~qV!+7jZMMu=ou11~kJZeg|p*pr78{jo8iqVgo4m7}Sa9)D07{2+qXnxCC3_ zE>s6@U;>t0ZazFck&z8Jk5bTsUc>r$$>x<;mVY-KcN=WDLVIw*3MIfB#>hP>zP1SO&|iGI>1KA@72kl5toPXP_48GHirT<3M~5 z8)Dtnrh_9;*FS~oP%i5F)2Ov`35&A+oL?yDjS4+wZqOD>kdH^5I2Sds?v&Itu%Uub%GO6Q+O1I;jgHXOMKQ$jTg0s9!9OXInOfxdXvYg(1TWC1ip-= z@i6KQK0>|052*7BuQhojYJ?i0MywO+xd;{f#}94&RcuQB6UJh__2v(np{S8tgthQwfPzl= z71OZhb7l=ZfjS`<^`IY7Z8Q1_469(S$pg+;6q-}vdeQumn26d|%TYHtVe^7p%(uQ3)}wwV>V~gkcl-+5W5P@3 zw`Tw~$49XP=GkiUPN?&zVtdw~bDY93Dk8R-zXAQ2NPZOcX4PLdPO-j+eW;JiF>^c} ztCR1+ns^=~u*h~ZVv(r48&1PvSR6mYD4y?pM-N_#HX>h*dc#wgfT4TM8@9pHrxnm+=SU9U_|cc!H%6{2lN#>bQ@% zNgSfBIiW)%q+!>g(K$=BQNoc(4B)&kf*DhYqXJZXLrfx>MO>z=L;H3#8U{26E=vwj3--jIsF;+9nWp9?MDIqCIdAKmJ7=Bsx(!7*7*F5IUw2 zS~%L*&rvrRhvE~MVbAGExh3UwgckEdgpQ-++D)Z!7x5hB7u3MfpJ0guoW(TcXiEsL)CD{QJ%8C8?V#$E`F~0 zkE754&l9C7e}vUh#|UCA@gsFlA-m2gK)F8gFUmUj);PbBe}+X=!4XBgO5Hnzj-L$9 zM)K#0Jhnc-00fVdwqmj*dJ&Hi|5Q+wg?Aot+JKD#plB3lfb;Bs28NO=s=?{+1ALH)D%v%N`{ZJS8GiD*oGZQB;xwm!Inx>Q>~ z5Iftpyw>3RCy+!CNw#t%C+?vf!dZPOe@3h#Zc!KfhU04DV?xJ#+6G}Y{Fo?1M3Qe+ zBS&8D(-vzJOK7{}2smL>d_{C7irB`7@k7GLnb(Q8DNiG+QvL-?5a%gBimQorlpi7X zQoeo6rf`CI_;v;6zx~>jR}!CV{9ojvZuY{icbvS4a#5R~#9xUQIPXDQC*~0YY`&ki z8Aapb(pKpqeFHdm&o4@Uzw3Q<`LC1qulkwLL z`6nb-u&8b8jn$~ThnPtu+xic1Dfw$Qr|5L2JPI#hYn(&er~RKp;X5i(BPp-IDHu--By?<}t`-&!W^6?)PRt)RiO_5N{GMs-Y5*OA>=x3%8H^gXNs#HD3)a*~ycUl#%RBAL;V=d>Ot3 z*CbDN&dj=nLuw@Xy<^>ek1NxY=1KBf+sC4gFa{Yl0Ck-tW184 z@cJ@u-#6Atu_vf$=pUMLhPB(2HzwJenUs;0?sxeojP|%jWcXZkZIs5>=sq#_BnrQ%bC#aMuqaON#nek zDQR9h_^0+IsVUJhdiRWUSLSF>l6Qoc=~I73cs$9&-ANBI&89s&XLib=kiewBnWt>m zWEa(bPIP5uy1eOLznArp?A-0-;QQzjhGvvoPyY|6CVSGnEGbWNz?q~amF-H-@MH$Z zz%!ora*gx)Q(R-RJiZC8=97YExBUB4d7(cH7J#D6%s9UId%%I$Rx&q`;T{_lhCytG&ihDEPx zH^-6_+e+rVKec+k+7r#@_;21O=jVqT6ztG8EB)XM*F3&}pODH)j&FmezmyzyH`@{CBvM`}wTyVBCZ*P!4 z%)Ki;%jIUdvw%h(oRR5e_?O(jEIOuL#wd4svitTmcGLXj+?=dsjjJ~3#`<%!9(~^Q zqbogW?47@Cx4&GuA)^i+?!7?8E;7Fi8}b diff --git a/core/locale/ro_RO/LC_MESSAGES/django.po b/core/locale/ro_RO/LC_MESSAGES/django.po index 96f562e0..5b2157ae 100644 --- a/core/locale/ro_RO/LC_MESSAGES/django.po +++ b/core/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -29,11 +29,10 @@ msgstr "Este activ" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" -"Dacă este setat la false, acest obiect nu poate fi văzut de utilizatori fără" -" permisiunea necesară" +"Dacă este setat la false, acest obiect nu poate fi văzut de utilizatori fără " +"permisiunea necesară" #: core/abstract.py:22 core/choices.py:18 msgid "created" @@ -51,82 +50,82 @@ msgstr "Modificat" msgid "when the object was last modified" msgstr "Când a fost editat obiectul ultima dată" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Traduceri" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Generalități" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Relații" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Metadate" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Timestamps" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Activați %(verbose_name_plural)s selectate" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "Articolele selectate au fost activate!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Dezactivați %(verbose_name_plural)s selectate" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "Articolele selectate au fost dezactivate!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Atribut Valoare" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Valori ale atributului" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Imagine" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Imagini" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Stoc" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Stocuri" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Comanda Produs" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Comandați produse" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Copii" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Configurare" @@ -188,7 +187,8 @@ msgid "" "apply key, data and timeout with authentication to write data to cache." msgstr "" "Aplicați doar o cheie pentru a citi datele permise din cache.\n" -"Aplicați o cheie, date și timeout cu autentificare pentru a scrie date în cache." +"Aplicați o cheie, date și timeout cu autentificare pentru a scrie date în " +"cache." #: core/docs/drf/views.py:32 msgid "get a list of supported languages" @@ -209,8 +209,8 @@ msgstr "Solicitați un URL CORSed. Numai https este permis." #: core/docs/drf/views.py:85 msgid "global search endpoint to query across project's tables" msgstr "" -"Punct final de căutare globală pentru a efectua interogări în toate tabelele" -" proiectului" +"Punct final de căutare globală pentru a efectua interogări în toate tabelele " +"proiectului" #: core/docs/drf/views.py:91 msgid "purchase an order as a business" @@ -221,8 +221,8 @@ msgid "" "purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." msgstr "" -"Achiziționați o comandă ca o afacere, utilizând `products` cu `product_uuid`" -" și `attributes` furnizate." +"Achiziționați o comandă ca o afacere, utilizând `products` cu `product_uuid` " +"și `attributes` furnizate." #: core/docs/drf/viewsets.py:43 msgid "list all attribute groups (simple view)" @@ -243,12 +243,10 @@ msgstr "Ștergerea unui grup de atribute" #: core/docs/drf/viewsets.py:59 msgid "rewrite an existing attribute group saving non-editables" msgstr "" -"Rescrierea unui grup de atribute existent cu salvarea elementelor " -"needitabile" +"Rescrierea unui grup de atribute existent cu salvarea elementelor needitabile" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Rescrierea unor câmpuri ale unui grup de atribute existent, cu salvarea " "elementelor needitabile" @@ -301,8 +299,7 @@ msgstr "" "Rescrierea unei valori de atribut existente care salvează non-editabile" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Rescrierea unor câmpuri ale unei valori de atribut existente salvând " "elementele needitabile" @@ -345,8 +342,8 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" "Căutare de substring insensibilă la majuscule în human_readable_id, " "order_products.product.name și order_products.product.partnumber" @@ -385,9 +382,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Ordonați după unul dintre: uuid, human_readable_id, user_email, user, " "status, created, modified, buy_time, random. Prefixați cu \"-\" pentru " @@ -569,18 +566,29 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Filtrați după una sau mai multe perechi nume de atribut/valoare. \n" "- **Sintaxa**: `attr_name=method-value[;attr2=method2-value2]...`\n" -"- **Metode** (valoarea implicită este `icontains` dacă este omisă): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`\n" -"- **Value typing**: JSON este încercat în primul rând (astfel încât să puteți trece liste/dicte), `true`/`false` pentru booleeni, întregi, float; în caz contrar tratat ca string. \n" -"- **Base64**: prefix cu `b64-` pentru a codifica valoarea brută în baza64 în condiții de siguranță URL. \n" +"- **Metode** (valoarea implicită este `icontains` dacă este omisă): " +"`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, " +"`istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, " +"`gt`, `gte`, `in`\n" +"- **Value typing**: JSON este încercat în primul rând (astfel încât să " +"puteți trece liste/dicte), `true`/`false` pentru booleeni, întregi, float; " +"în caz contrar tratat ca string. \n" +"- **Base64**: prefix cu `b64-` pentru a codifica valoarea brută în baza64 în " +"condiții de siguranță URL. \n" "Exemple: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`" @@ -635,10 +643,12 @@ msgstr "(exact) Digital vs. fizic" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Lista de câmpuri separate prin virgulă după care se face sortarea. Prefixați cu `-` pentru descrescător. \n" +"Lista de câmpuri separate prin virgulă după care se face sortarea. Prefixați " +"cu `-` pentru descrescător. \n" "**Autorizate:** uuid, rating, nume, slug, creat, modificat, preț, aleatoriu" #: core/docs/drf/viewsets.py:441 @@ -706,8 +716,8 @@ msgstr "Autocompletare adresă de intrare" #: core/docs/drf/viewsets.py:576 msgid "raw data query string, please append with data from geo-IP endpoint" msgstr "" -"docker compose exec app poetry run python manage.py deepl_translate -l en-gb" -" -l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " +"docker compose exec app poetry run python manage.py deepl_translate -l en-gb " +"-l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l " "it-it -l ja-jp -l kk-kz -l nl-nl -l pl-pl -l pt-br -l ro-ro -l ru-ru -l zh-" "hans -a core -a geo -a plăți -a vibes_auth -a blog" @@ -817,8 +827,8 @@ msgstr "Atribute" msgid "Quantity" msgstr "Cantitate" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Melc" @@ -901,7 +911,7 @@ msgstr "Date în cache" msgid "camelized JSON data from the requested URL" msgstr "Date JSON Camelizate de la URL-ul solicitat" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Sunt permise numai URL-urile care încep cu http(s)://" @@ -910,10 +920,10 @@ msgid "add a product to the order" msgstr "Adăugați un produs la comandă" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Comanda {order_uuid} nu a fost găsită" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -927,33 +937,33 @@ msgstr "Eliminați toate produsele din comandă" msgid "buy an order" msgstr "Cumpărați o comandă" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Vă rugăm să furnizați fie order_uuid sau order_hr_id - se exclud reciproc!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Metoda order.buy() a generat un tip greșit: {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Efectuați o acțiune asupra unei liste de produse din comandă" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Eliminare/adăugare" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "Acțiunea trebuie să fie fie \"adăugare\" sau \"eliminare\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Efectuați o acțiune pe o listă de produse din lista de dorințe" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Vă rugăm să furnizați valoarea `wishlist_uuid`." @@ -962,7 +972,7 @@ msgstr "Vă rugăm să furnizați valoarea `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Lista dorințelor {wishlist_uuid} nu a fost găsită" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -986,8 +996,8 @@ msgstr "Cumpărați o comandă" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" "Vă rugăm să trimiteți atributele sub formă de șir format ca attr1=valoare1, " "attr2=valoare2" @@ -1003,16 +1013,18 @@ msgstr "Acțiunea trebuie să fie `add` sau `remove`!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Comandaprodus {order_product_uuid} nu a fost găsită" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Șirul de adrese original furnizat de utilizator" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} nu există: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1022,8 +1034,8 @@ msgstr "Limita trebuie să fie între 1 și 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funcționează ca un farmec" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Atribute" @@ -1036,11 +1048,11 @@ msgid "groups of attributes" msgstr "Grupuri de atribute" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Categorii" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Mărci" @@ -1049,7 +1061,7 @@ msgid "category image url" msgstr "Categorii" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Procentul de majorare" @@ -1060,11 +1072,10 @@ msgstr "" "categorii." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" -"Prețurile minime și maxime pentru produsele din această categorie, dacă sunt" -" disponibile." +"Prețurile minime și maxime pentru produsele din această categorie, dacă sunt " +"disponibile." #: core/graphene/object_types.py:137 msgid "tags for this category" @@ -1074,7 +1085,7 @@ msgstr "Etichete pentru această categorie" msgid "products in this category" msgstr "Produse din această categorie" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Furnizori" @@ -1086,36 +1097,36 @@ msgstr "Latitudine (coordonata Y)" msgid "Longitude (X coordinate)" msgstr "Longitudine (coordonata X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Cum să" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "Valoare nominală de la 1 la 10, inclusiv, sau 0 dacă nu este setată." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Reprezintă feedback de la un utilizator." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Notificări" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "URL de descărcare pentru acest produs de comandă, dacă este cazul" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "O listă a produselor comandate în această comandă" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Adresa de facturare" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1123,51 +1134,51 @@ msgstr "" "Adresa de expediere pentru această comandă, lăsați în alb dacă este aceeași " "cu adresa de facturare sau dacă nu se aplică" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Prețul total al acestei comenzi" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Cantitatea totală de produse din comandă" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Sunt toate produsele din comanda digitală" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Tranzacții pentru această comandă" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Ordine" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "URL imagine" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Imagini ale produsului" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Categorie" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Feedback-uri" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Marca" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Grupuri de atribute" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1175,7 +1186,7 @@ msgstr "Grupuri de atribute" msgid "price" msgstr "Preț" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1183,31 +1194,31 @@ msgstr "Preț" msgid "quantity" msgstr "Cantitate" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Numărul de reacții" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Produse" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Coduri promoționale" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Produse scoase la vânzare" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Promoții" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Furnizor" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1215,648 +1226,640 @@ msgstr "Furnizor" msgid "product" msgstr "Produs" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Produse dorite" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Liste de dorințe" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Produse etichetate" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Etichete de produs" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Categorii etichetate" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Etichete \"Categorii" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Numele proiectului" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Email companie" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Numele companiei" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Adresa companiei" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Numărul de telefon al companiei" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "\"e-mail de la\", uneori trebuie să fie utilizat în locul valorii " "utilizatorului gazdă" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Utilizator gazdă e-mail" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Suma maximă pentru plată" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Suma minimă pentru plată" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Date analitice" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Date publicitare" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Configurație" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Codul limbii" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Numele limbii" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Indicatorul de limbă, dacă există :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Obțineți o listă a limbilor acceptate" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Rezultate căutare produse" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Rezultate căutare produse" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Părinte al acestui grup" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Grup de atribute părinte" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Numele grupului de atribute" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Grup de atribute" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" "Stochează acreditările și punctele finale necesare pentru comunicarea API a " "furnizorului" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Informații privind autentificarea" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "" "Definirea marjei de profit pentru produsele preluate de la acest furnizor" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Procentul de majorare al furnizorului" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Numele acestui vânzător" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Numele furnizorului" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Identificator intern de etichetă pentru eticheta produsului" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Nume etichetă" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Nume ușor de utilizat pentru eticheta produsului" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Nume afișare etichetă" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Etichetă produs" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "etichetă de categorie" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "Etichete de categorie" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Încărcați o imagine care reprezintă această categorie" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Categorie imagine" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" -msgstr "" -"Definiți un procent de majorare pentru produsele din această categorie" +msgstr "Definiți un procent de majorare pentru produsele din această categorie" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Părinte al acestei categorii pentru a forma o structură ierarhică" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Categoria de părinți" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Numele categoriei" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Furnizați un nume pentru această categorie" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Adăugați o descriere detaliată pentru această categorie" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Descriere categorie" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "etichete care ajută la descrierea sau gruparea acestei categorii" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Prioritate" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Denumirea acestui brand" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Nume de marcă" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Încărcați un logo care reprezintă acest brand" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Brand imagine mică" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Încărcați un logo mare care reprezintă acest brand" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Imagine de marcă mare" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Adăugați o descriere detaliată a mărcii" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Descrierea mărcii" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Categorii opționale cu care acest brand este asociat" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Categorii" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "Furnizorul care furnizează acest stoc de produse" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Furnizor asociat" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Prețul final pentru client după majorări" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Prețul de vânzare" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Produsul asociat cu această intrare în stoc" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Produs asociat" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "Prețul plătit vânzătorului pentru acest produs" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Prețul de achiziție al furnizorului" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Cantitatea disponibilă a produsului în stoc" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Cantitate în stoc" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU atribuit de furnizor pentru identificarea produsului" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "SKU al furnizorului" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Fișier digital asociat cu acest stoc, dacă este cazul" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Fișier digital" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Intrări pe stoc" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Categoria din care face parte acest produs" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "Opțional, asociați acest produs cu un brand" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Etichete care ajută la descrierea sau gruparea acestui produs" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Indică dacă acest produs este livrat digital" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Produsul este digital" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Furnizați o denumire clară de identificare a produsului" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Denumirea produsului" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Adăugați o descriere detaliată a produsului" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Descrierea produsului" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Numărul piesei pentru acest produs" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Numărul piesei" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Categoria acestui atribut" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Grupul acestui atribut" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Șir de caractere" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Număr întreg" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Float" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Boolean" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Array" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Obiect" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Tipul valorii atributului" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Tipul de valoare" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Denumirea acestui atribut" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Numele atributului" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Atribut" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Atributul acestei valori" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "Produsul specific asociat cu valoarea acestui atribut" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "Valoarea specifică pentru acest atribut" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "Furnizați text alternativ pentru imagine pentru accesibilitate" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Textul alt al imaginii" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Încărcați fișierul de imagine pentru acest produs" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Imaginea produsului" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Determină ordinea în care sunt afișate imaginile" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Prioritatea afișării" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Produsul pe care îl reprezintă această imagine" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Imagini ale produsului" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Procentul de reducere pentru produsele selectate" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Procent de reducere" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Furnizați un nume unic pentru această promoție" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Numele promoției" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Descrierea promoției" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Selectați ce produse sunt incluse în această promoție" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Produse incluse" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Promovare" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Produse pe care utilizatorul le-a marcat ca fiind dorite" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Utilizatorul care deține această listă de dorințe" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Proprietarul listei de dorințe" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Lista dorințelor" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} nu există: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Documentar" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Documentare" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Nerezolvat" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Linia de adresă pentru client" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Linia de adresă" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Strada" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Districtul" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Oraș" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Regiunea" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Cod poștal" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Țara" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Punct de geolocație (longitudine, latitudine)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Răspuns JSON complet de la geocoder pentru această adresă" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Răspuns JSON stocat de la serviciul de geocodare" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Adresă" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Adrese" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Cod unic utilizat de un utilizator pentru a răscumpăra o reducere" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Cod promoțional de identificare" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Valoarea fixă a reducerii aplicate dacă procentul nu este utilizat" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Valoarea fixă a reducerii" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentul de reducere aplicat dacă suma fixă nu este utilizată" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Reducere procentuală" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Data la care expiră codul promoțional" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Timpul final de valabilitate" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Timestamp de la care acest cod promoțional este valabil" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Ora de începere a valabilității" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Momentul în care codul promoțional a fost utilizat, gol dacă nu a fost " "utilizat încă" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Timestamp de utilizare" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Utilizatorul atribuit acestui cod promoțional, dacă este cazul" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Utilizator atribuit" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Cod promoțional" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Coduri promoționale" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1864,149 +1867,149 @@ msgstr "" "Trebuie definit un singur tip de reducere (sumă sau procent), dar nu ambele " "sau niciuna." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Codul promoțional a fost deja utilizat" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Tip de reducere invalid pentru codul promoțional {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "Adresa de facturare utilizată pentru această comandă" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Cod promoțional opțional aplicat la această comandă" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Cod promoțional aplicat" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "Adresa de expediere utilizată pentru această comandă" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Adresa de expediere" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Stadiul actual al comenzii în ciclul său de viață" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Stadiul comenzii" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" "Structura JSON a notificărilor care urmează să fie afișate utilizatorilor, " "în interfața de administrare este utilizată vizualizarea tabelară" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "Reprezentarea JSON a atributelor comenzii pentru această comandă" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "Utilizatorul care a plasat comanda" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Utilizator" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "Momentul în care comanda a fost finalizată" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Cumpărați timp" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Un identificator ușor de citit pentru comandă" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "ID lizibil de către om" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Comandă" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "" "Un utilizator trebuie să aibă un singur ordin în așteptare la un moment dat!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "Nu puteți adăuga produse la o comandă care nu este în așteptare" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Nu puteți adăuga produse inactive la comandă" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "Nu puteți adăuga mai multe produse decât cele disponibile în stoc" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "" "Nu puteți elimina produse dintr-o comandă care nu este o comandă în curs" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} nu există cu interogarea <{query}>" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Codul promoțional nu există" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" "Puteți cumpăra numai produse fizice cu adresa de expediere specificată!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Adresa nu există" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "Nu puteți achiziționa în acest moment, vă rugăm să încercați din nou în " "câteva minute." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Valoare forță invalidă" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Nu puteți achiziționa o comandă goală!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "" "Nu puteți elimina produse dintr-o comandă care nu este o comandă în curs" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Un utilizator fără sold nu poate cumpăra cu sold!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Insuficiența fondurilor pentru finalizarea comenzii" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2014,126 +2017,124 @@ msgstr "" "nu puteți cumpăra fără înregistrare, vă rugăm să furnizați următoarele " "informații: nume client, e-mail client, număr de telefon client" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" -"Metodă de plată invalidă: {payment_method} de la " -"{available_payment_methods}!" +"Metodă de plată invalidă: {payment_method} de la {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "Prețul plătit de client pentru acest produs la momentul achiziției" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Prețul de achiziție la momentul comenzii" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "" "Comentarii interne pentru administratori cu privire la acest produs comandat" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Observații interne" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Notificări pentru utilizatori" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "Reprezentarea JSON a atributelor acestui element" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Atribute de produs ordonate" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Trimitere la comanda mamă care conține acest produs" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Ordinul părinților" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Produsul specific asociat cu această linie de comandă" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Cantitatea acestui produs specific din comandă" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Cantitatea produsului" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Starea actuală a acestui produs în comandă" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Starea liniei de produse" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "Comandaprodusul trebuie să aibă o comandă asociată!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "acțiune greșită specificată pentru feedback: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "" "Nu puteți elimina produse dintr-o comandă care nu este o comandă în curs" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Descărcare" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Descărcări" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "Nu puteți descărca un bun digital pentru o comandă nefinalizată" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "" "Comentarii furnizate de utilizatori cu privire la experiența lor cu produsul" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Comentarii de feedback" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" -"Face referire la produsul specific dintr-o comandă despre care este vorba în" -" acest feedback" +"Face referire la produsul specific dintr-o comandă despre care este vorba în " +"acest feedback" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Produs aferent comenzii" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Rating atribuit de utilizator pentru produs" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Evaluarea produsului" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Feedback" @@ -2141,10 +2142,10 @@ msgstr "Feedback" msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "" -"trebuie să furnizați un comentariu, un rating și uuid-ul produsului comandat" -" pentru a adăuga feedback." +"trebuie să furnizați un comentariu, un rating și uuid-ul produsului comandat " +"pentru a adăuga feedback." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Eroare în timpul creării codului promoțional: {e!s}" @@ -2170,13 +2171,14 @@ msgstr "Logo" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Bună ziua %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" "Vă mulțumim pentru comanda dvs. #%(order.pk)s! Suntem încântați să vă " @@ -2211,7 +2213,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "Salutări,
echipa %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2225,7 +2227,7 @@ msgstr "Comanda livrată" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Bună ziua %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2261,7 +2263,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Cele mai bune salutări,
echipa %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2270,11 +2272,12 @@ msgstr "Cheie" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" -"Vă mulțumim pentru comanda dvs.! Suntem încântați să vă confirmăm achiziția." -" Mai jos sunt detaliile comenzii dvs:" +"Vă mulțumim pentru comanda dvs.! Suntem încântați să vă confirmăm achiziția. " +"Mai jos sunt detaliile comenzii dvs:" #: core/templates/shipped_order_created_email.html:123 #: core/templates/shipped_order_delivered_email.html:123 @@ -2290,7 +2293,7 @@ msgstr "Comanda dvs. va fi livrată la următoarea adresă:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "Salutări,
echipa %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2312,17 +2315,17 @@ msgstr "Valoare timeout invalidă, trebuie să fie între 0 și 216000 secunde" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Contactați-ne inițiat" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Confirmarea comenzii" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Comanda livrată" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2343,15 +2346,15 @@ msgstr "" msgid "invalid phone number format" msgstr "Format invalid al numărului de telefon" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Puteți descărca activul digital o singură dată" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon nu a fost găsit" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Eroare de geocodare: {e}" +msgstr "" diff --git a/core/locale/ru_RU/LC_MESSAGES/django.mo b/core/locale/ru_RU/LC_MESSAGES/django.mo index 2fcc91bdf9b5707eb9acba36e9c7619348a4fc7b..b837c798e6cc9043508d3b445825349bee037a70 100644 GIT binary patch delta 10963 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 X|NlDg$ZHX~lYV^G*gO4?$r=6+8_feg delta 13067 zcmb{22VB)<-^cO4Til2PMe^W4+*{mx%CgeDKi_j*K3Vte>%L#l^ZZ}^cwgf`uK7O)Ec!gvKk@EYnt0Sz3d zGPc2ObYw8LB447h=}32MPJWnAkK-)11xHXl`UCwjpo!yDz?$fXZBY&BjumkLs-dx{ z4kV(^n{8c;YS=0)h`G2D-$XThL{l2Y^PLzHdT=rp#n~8!i%=KtMqRMq<_}qqp&sZ( zHS8=h2+k#}jRDOZCluQueR86)5k8B0&SCUu$h;(~;|RTv*e-RX|1Pezrm#MXEa zHN;K}#|efYYb(@wLy%LPG%SZZP$PC6d*SC;1RI7k{}o7thcgt|7j?s-=!cVW2&Q9S zJck{yPD|DS#$j1}4OwT-8yJA!Vkyke#H-#PQ?Ult#I>lYJJgEtFG=D!1?BN9>Vof4 zYoGw#RYS^SX{?HBa6{B$?2Z+2h^Vs-=IeBChCEu+nF^IjCx>8RCzaaVFc0ukCQ?| zt9%-&r!!FxnuD5>6{rg{Q8&s(J@^>vy7Q>(E}?HEthZ6;`L{Q79*UZ>KB%b}j+J=6 z^SCeJICD`CehJl+ZKxX`!FuRLEwWpvHBg(CsC-9cy*cs7vT7YC5VR>rhjagPMw5)S5Yp8j+i*?dI3X+_(ekff1-Vjz*2( zSkx4!VhBEk9-Xj(L}T2FdeG;n27HSh(Z924*g#azMxkCTDX16IN?ZN{>V7#kzYlf4 z_pmm8i0ojeKo>>{+jL?4b-@J+G}l+K8ESKDl{ZHXZ5w1^J1MA!W}>F%GYrEk7=i)a zOv9R^9yAQKJ(r+Hax-d8>_-=#?8f+4CUKnt^{h;H$9Vv&;RGCqWAO_tgb(&Gt9>X^ z(+{0^(4tB~fB|Mr^hQnXWK{VUWWzX@ z(Nm2?-GO|Y!M>;mu0=IuGioFbpr+t3>VaO=gU+Bv!^|W8jIntsP{&}LFUGlQ9~PwS_|z^ z=M6?bj6|LP7^*>OgBX9Eu#kdAxDs7>9K-M%)C;J>gJ#wCL#^&ejK(yqgO^cLfm-9iU*KEbAs6dS_7WPN$}2awxd?3^N1ON`dE%^U(}7GP*X4s z8{-D+In)T0S=@W++2Yi?1uv z2IoQ4V%drTcmTC4PNA+lhuYs?VMF{LJEJSolt)?PP*d?Z>ONDk49|BKlF;g3hyJ(` zOXFUwfX7iIaS`id*-`wOg&i>+i$|FuUw|FS??9b*12v_gtkh79KrQMi*ap|5M?>-{ z2`#2_ZZn6iF_^p?HJ9nw0XJcDyo$PUNDR}1eX%Vjqk5Q$g>VmQzaK!Yp?9!4et|() zd^F>){akCbd0;ct5DrAG{+Xz?F%Na)gBXZj)S~?gwYZv&F&!9=b;ze4Ca19@}FEsweNG8gK>+<3&_MuAq8YAkJ*t(x~%lqB_zD zi{MC{hGS4uc^N~nyyr2q55uu21yfOrZ5CF;C8))+1O4zAst2b~b66nW?1B!c)t-i( zaX;3>{A0}sHAGGI!>IG-qdMw2P9mMekJtn!CYU+eh`Q0csB-^A$LWn-u>~$fJ>W3b z!Jn`eRvl;ZJ+LPEB-C1Z4x{q%o7M^bA`cYH|pTXLA6g9;^qHq7_rx6;e z091v3Db-Nkk6I+-unaE7?zkSc2(MrO4ZmjV3#FMwSOIliJuHWPk#*`sq1MfK#>rukmb3;U5@g}rnh(s(DFg%ge2Q4J4z!feYr_$c`l?1Cpy zBU5pfS*(fJjeOQD#(x5dUntPfBs^(+4ttV+12xwrp5pg4j6$7vzsCWFMSOq7cdcG7p;T}}OZ(&(1#g^gC>v2LzsGuFH zr~OfLoMOw@*zzoFK=~=ug9Kl#>J6z8Hkv;+&|^T>momr>jM4QztvFhrAI zYN>gXHNsL<3`g}e9@U`9s0Xe_jnEG4fuEp8D)d=1mtC`Q(YQUmqi_BKDv<|m-;v&4GPmj8_UcrLfX zTsHvAkxxWV84^#B7=TN$5`KYEm~W*SIyY)c(ojRY$>z7CcEx$@jYU_P9u7iXA7%50 zQ4Kqd>_Df;YV%%LxSH{AMZrl5+GD9T=F{#0R6`;$2vac(m!YQSb$l4#!6{hld3I1f z$9VxY#HZJqDY%4b$Dgq-me^<-*b+4|x!4N>H<|lK;iKfA#ZGt~*+`Bje6ty{ zW7wR6v#1lx{DTh;OvICzi$yVG3ys88=#RItBl^E)MsOfDCZB-ga4ptReWqC>ZBc7& zHg?qhKWh?BP?lMx!;lJRIS#|KHXpv#luyEbl<&e)=$CC)bs&b5Z-H9f38)UG;{x1; zF6^0O-UD&y`~II!q8b$&P#+%0ZT=dzCtr@0qN#|$>KKP5a6YPmE0N{k+`wd9y`ArS z=)c2!cqL&O@<&m-_9`<3gN;H?cd;%r&2;M^QbE+;8^32epPWu`KS|&-@o7ahw93_yKB&uA^EU z{JQCJ7gR&0qRQ9U{971A{xX)w{0Gbw1)@6A78_zu)D%y~Mz{(`;yVXCX8$&L!^}}% zY(T{bR14=@*P&K%j?I6HS`$B@8sPV)u_l%y-wCx{2V)!Dhu!d3d=@*rWjc1+LqbDZ z`XIf+NAO{th??t&L*|C_FqHf{?1)EDbL@B64E1arP2P3He4U?-8i5i=%^#&Jp*j?S z8j%>Q=UEcXC^%#bez(?r+nhKQ{PcJD zB8#Un4y(RvK5ggVVD0}MB%-J&^`7ZL5>nxu#a`IhYw}Yuf&2-Z@0@4Km*aBEzenwc zIq$P2@dnPpB`1tkPZ~Gk1j?JA()rB)W)f^&r}AljsX#BX{+!7l@b4L_QZE!-}7quj%Qio?k#+SLc%XrE?+R&mG|>`{CggE90=)AOzvK)xR~$0+QK%TcTPBh-kL_{xk#Fis@j z9aW!;8}M7KjL+#;sCp!_ukhso&*Laeze=z1GDc$SulYL=u0n0gA21N>eq(k=S8Pl^ z3w7N^9Dw29ng%|N8qwpZ26p()tdag65@jhEgH13MYvLAch$m4GD)_zmRVx_Fk)Mf+ za2fW;+SklfOu>2NPoNgv$RF&R6WftrgN^YcRK2Ivk7my5;7AH)<4*hvwM}05iG_ug zuAB4Lpcds#jKM)aoBh8B`;l+`3yV1)TMdVkUw*^rz)eU0Xs&6T;t@GVl9y zq&wOCa2&#UtZCn|k)LBd6kH=x$vj0|C9OkqJdQLA)%T~jeEC(%9NYR7Ttrl*YzDEL zc*fRcV^QL9n;%BqWa93Fp?8i^?1BYsVGSAUZQ|EqVp2@pNN5^b@&ll z;cbaql;3^4LS_rmlVDl+jwk-uk=Vj(QGD#00b(SbZ`VHJ+&%bG{O<6yiew+07Chc)PCX-C&CtN`M z{its*T7&g$`aC{n)2A_j=uBK7dJ;NP@j7wHWF20lzJKT(g;gnUhikR}b#%2C>4npS zbYWs9@ih5(Tc`6nk#355#p)PIY`&|0f(ki0+*LM`bbjJNTgHpg2_$`3C+hj9m9WPg zD)@Btee6DXrx3rO{002g-ekP3n?img5l(z(>lWL(2;5FtoGpJC@3(dNt-k)ZCKEtJ z*}~DBxR-PR&KgAeGh!8So3cLkoYnZLP0y$95z;mAQ=%dfLO#>h=jT41N!KMZsJrX% zIDQm-P25kEw3ScbM??~5UMJoookmnA{X3Q=E|Pv4R}(Liev-%~edm}>!b?1HrvMAx z={D(=guZ_`|KOrN_QGCwoxF&2DVxv3o5Uv0d(@VRXNVy-e}KB*NEgKYSl!+;$g0y` zBi)4f&6b_y`Mx8Vf~|x;*>n^(IPYN_Vw%0+DCriYV~JLzza-p5BU`@^UF7Q%8N@{L z1yRQl;sL@-*<74Scp~|sV+n=phHUp`#V~`6lTk<@2q7^G__xY+(#1=y=p>a(u%ff1b=YSjyH7#2S>9 zAZ8KKw)_k(A-~J!NjeXZ9*du2N1Q|S*8a~X@gs$+Fbek*J4jC@bOaKYDEr=*DeH^(5e|zk8cq?j$(P4x@oQY~A@Mm09p4Z;iL%OYOrUNL z(VW;q=zr1dYpQ%dU*+eoHh;zX0_V*lT9Q9bj3Jhj?}}%LYs3xm9SI$tb0jvCc!;Q^ z5{@q^YiCb*0~?!S=P6sJ?CUBg!fe@KjHf)#o||YD!>Iew=HDbe>CZZ|{<~1P{m(*Q zssKM-lpiJCRahyyo)LOW64DhA1->to~aJe4t#HhsR*o4t8cT!SfQfpVLds_CaM#T$+ zMWw_}h)i+2lHKv{s1$d!t7g~)chacDWcP@K$g%Db_(a;Am=x_!YA`;TA2G2>$#?Es z&lzJ+P}PXPRArCsvN3$SMoS_RBTKv)2H^txZTmCBBLH-noa$*?Ac=u7VxD0n|Ye%n(CrB zg%e%llU=b1u_>{vhiKj@heLD zt;w71-RaHp?#>u~x@uA1PH?=hWZeIJo9rf2iWTm>(7QWtCTDE*?#!Fv&Be^TnR)YE z-mQ6ay;&4xdiQzvk=}OCt05SDxd|yw|>Ry#LLuJ^N_Cxwm%R|L3j$!=0HSM!o2r4VC@voH9ka zFQLbo|M!u-xu{pkDDN_Fj&B~e=A|)JTl3PryHN9S&rN-=YwB^)zixCVBP6*>hHHA& z?6l`g7V5UuyN%~*&Ud+dYh%AFFO3o1>CMqk7wpMfz|{H{%w8r@6R9b@`+YF`#epR= z4jnCB{my>>%Tm^A*=Cl^E^kgor>ww?i&=HTmTA<89d|A=FM+?D%+T)3F240bNb#9G zR_k>}-rS7ePc*zcpWW(Y?TY!\n" "Language-Team: BRITISH ENGLISH \n" @@ -29,8 +29,7 @@ msgstr "Активен" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "" "Если установлено значение false, этот объект не может быть виден " "пользователям без необходимого разрешения" @@ -51,82 +50,82 @@ msgstr "Модифицированный" msgid "when the object was last modified" msgstr "Когда объект был отредактирован в последний раз" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "Переводы" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "Общие сведения" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "Отношения" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "Метаданные" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "Временные метки" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "Активировать выбранные %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." -msgstr "Выбранные товары активированы!" +msgstr "Выбранные сущности активированы!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "Деактивировать выбранные %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." -msgstr "Выбранные товары были деактивированы!" +msgstr "Выбранные сущности были деактивированы!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "Значение атрибута" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "Значения атрибутов" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "Изображение" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "Изображения" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "Наличие" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "Наличия" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "Заказанный товар" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "Заказанные товары" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "Дети" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "Конфигурация" @@ -246,8 +245,7 @@ msgstr "" "элементов" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Переписывание некоторых полей существующей группы атрибутов с сохранением " "нередактируемых полей" @@ -301,8 +299,7 @@ msgstr "" "значений" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Переписывание некоторых полей существующего значения атрибута с сохранением " "нередактируемых значений" @@ -346,11 +343,11 @@ msgstr "" #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"Поиск подстроки с учетом регистра в human_readable_id, " -"order_products.product.name и order_products.product.partnumber" +"Поиск подстроки с учетом регистра в human_readable_id, order_products." +"product.name и order_products.product.partnumber" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -386,9 +383,9 @@ msgstr "" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" "Упорядочивайте по одному из следующих признаков: uuid, human_readable_id, " "user_email, user, status, created, modified, buy_time, random. Префикс '-' " @@ -464,8 +461,8 @@ msgid "" "adds a list of products to an order using the provided `product_uuid` and " "`attributes`." msgstr "" -"Добавляет список товаров в заказ, используя предоставленные `product_uuid` и" -" `attributes`." +"Добавляет список товаров в заказ, используя предоставленные `product_uuid` и " +"`attributes`." #: core/docs/drf/viewsets.py:266 msgid "remove product from order" @@ -488,8 +485,8 @@ msgid "" "removes a list of products from an order using the provided `product_uuid` " "and `attributes`" msgstr "" -"Удаляет список товаров из заказа, используя предоставленные `product_uuid` и" -" `attributes`." +"Удаляет список товаров из заказа, используя предоставленные `product_uuid` и " +"`attributes`." #: core/docs/drf/viewsets.py:281 msgid "list all wishlists (simple view)" @@ -570,18 +567,29 @@ msgstr "" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "Фильтр по одной или нескольким парам имя/значение атрибута. \n" "- **Синтаксис**: `attr_name=method-value[;attr2=method2-value2]...`.\n" -"- **Методы** (по умолчанию используется `icontains`, если опущено): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in`.\n" -"- **Типизация значений**: JSON сначала пытается принять значение (так что вы можете передавать списки/дискреты), `true`/`false` для булевых, целых чисел, плавающих; в противном случае обрабатывается как строка. \n" -"- **Base64**: префикс `b64-` для безопасного для URL base64-кодирования исходного значения. \n" +"- **Методы** (по умолчанию используется `icontains`, если опущено): " +"`iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, " +"`istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, " +"`gt`, `gte`, `in`.\n" +"- **Типизация значений**: JSON сначала пытается принять значение (так что вы " +"можете передавать списки/дискреты), `true`/`false` для булевых, целых чисел, " +"плавающих; в противном случае обрабатывается как строка. \n" +"- **Base64**: префикс `b64-` для безопасного для URL base64-кодирования " +"исходного значения. \n" "Примеры: \n" "`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\", \"bluetooth\"]`,\n" "`b64-description=icontains-aGVhdC1jb2xk`." @@ -636,11 +644,14 @@ msgstr "(точно) Цифровые и физические" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" -"Список полей для сортировки, разделенных запятыми. Для сортировки по убыванию используйте префикс `-`. \n" -"**Разрешенные:** uuid, рейтинг, название, slug, created, modified, price, random" +"Список полей для сортировки, разделенных запятыми. Для сортировки по " +"убыванию используйте префикс `-`. \n" +"**Разрешенные:** uuid, рейтинг, название, slug, created, modified, price, " +"random" #: core/docs/drf/viewsets.py:441 msgid "retrieve a single product (detailed view)" @@ -816,8 +827,8 @@ msgstr "Атрибуты" msgid "Quantity" msgstr "Количество" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "Слаг" @@ -900,7 +911,7 @@ msgstr "Кэшированные данные" msgid "camelized JSON data from the requested URL" msgstr "Camelized JSON-данные из запрашиваемого URL" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "Допускаются только URL-адреса, начинающиеся с http(s)://" @@ -909,10 +920,10 @@ msgid "add a product to the order" msgstr "Добавить товар в заказ" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "Заказ {order_uuid} не найден" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -926,34 +937,34 @@ msgstr "Удалить все товары из заказа" msgid "buy an order" msgstr "Купить заказ" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" "Пожалуйста, укажите либо order_uuid, либо order_hr_id - взаимоисключающие " "варианты!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Неправильный тип получен из метода order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "Выполните действие над списком товаров в заказе" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "Удалить/добавить" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "Действие должно быть либо \"добавить\", либо \"удалить\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "Выполните действие над списком продуктов в списке желаний" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "Пожалуйста, укажите значение `wishlist_uuid`." @@ -962,7 +973,7 @@ msgstr "Пожалуйста, укажите значение `wishlist_uuid`." #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "Список желаний {wishlist_uuid} не найден" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -986,8 +997,8 @@ msgstr "Купить заказ" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "" "Пожалуйста, отправьте атрибуты в виде строки, отформатированной как " "attr1=value1,attr2=value2" @@ -1003,16 +1014,18 @@ msgstr "Действие должно быть либо `add`, либо `remove` #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "Заказ-продукт {order_product_uuid} не найден" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "Оригинальная строка адреса, предоставленная пользователем" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} не существует: {uuid}" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -1022,8 +1035,8 @@ msgstr "Предел должен быть от 1 до 10" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - работает как шарм" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "Атрибуты" @@ -1036,11 +1049,11 @@ msgid "groups of attributes" msgstr "Группы атрибутов" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "Категории" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "Бренды" @@ -1049,7 +1062,7 @@ msgid "category image url" msgstr "Категории" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "Процент наценки" @@ -1059,8 +1072,7 @@ msgstr "" "Какие атрибуты и значения можно использовать для фильтрации этой категории." #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "" "Минимальные и максимальные цены на товары в этой категории, если они " "доступны." @@ -1073,7 +1085,7 @@ msgstr "Теги для этой категории" msgid "products in this category" msgstr "Продукты в этой категории" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "Поставщики" @@ -1085,37 +1097,37 @@ msgstr "Широта (координата Y)" msgid "Longitude (X coordinate)" msgstr "Долгота (координата X)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "Как" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "" "Значение рейтинга от 1 до 10, включительно, или 0, если он не установлен." -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "Представляет собой отзыв пользователя." -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "Уведомления" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "Если применимо, загрузите url для этого продукта заказа" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "Список товаров, заказанных в этом заказе" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "Адрес для выставления счетов" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" @@ -1123,51 +1135,51 @@ msgstr "" "Адрес доставки для данного заказа, оставьте пустым, если он совпадает с " "адресом выставления счета или не применяется" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "Общая стоимость этого заказа" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "Общее количество продуктов в заказе" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "Все ли товары в заказе представлены в цифровом виде" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "Операции для этого заказа" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "Заказы" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "URL-адрес изображения" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "Изображения товара" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "Категория" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "Отзывы" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "Бренд" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "Группы атрибутов" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1175,7 +1187,7 @@ msgstr "Группы атрибутов" msgid "price" msgstr "Цена" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1183,31 +1195,31 @@ msgstr "Цена" msgid "quantity" msgstr "Количество" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "Количество отзывов" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "Товары" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "Промокоды" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "Продукты в продаже" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "Промоакции" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "Поставщик" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1215,797 +1227,789 @@ msgstr "Поставщик" msgid "product" msgstr "Товар" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "Продукты из списка желаний" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "Списки желаний" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "Tagged products" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "Теги товара" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "Категории с метками" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "Теги категорий" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "Название проекта" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "Электронная почта компании" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "Название компании" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "Адрес компании" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "Номер телефона компании" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "" "'email from', иногда его нужно использовать вместо значения пользователя " "хоста." -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "Пользователь узла электронной почты" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "Максимальная сумма для оплаты" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "Минимальная сумма для оплаты" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "Аналитические данные" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "Рекламные данные" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "Конфигурация" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "Код языка" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "Название языка" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "Языковой флаг, если он существует :)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "Получите список поддерживаемых языков" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "Результаты поиска товаров" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "Результаты поиска товаров" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "Родитель этой группы" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "Родительская группа атрибутов" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "Имя группы атрибутов" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "Группа атрибутов" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "" -"Хранит учетные данные и конечные точки, необходимые для взаимодействия с API" -" поставщика." +"Хранит учетные данные и конечные точки, необходимые для взаимодействия с API " +"поставщика." -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "Информация об аутентификации" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "Определите наценку для товаров, полученных от этого продавца" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "Процент наценки поставщика" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "Имя этого продавца" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "Название поставщика" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "Внутренний идентификатор тега для тега продукта" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "Название тега" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "Удобное название для метки продукта" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "Отображаемое имя тега" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "Метка продукта" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "тег категории" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "теги категорий" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "Загрузите изображение, представляющее эту категорию" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "Изображение категории" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "Определите процент наценки для товаров в этой категории" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "Родитель данной категории для формирования иерархической структуры" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "Родительская категория" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "Название категории" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "Укажите название этой категории" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "Добавьте подробное описание для этой категории" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "Описание категории" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "теги, которые помогают описать или сгруппировать эту категорию" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "Приоритет" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "Название этой марки" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "Название бренда" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "Загрузите логотип, представляющий этот бренд" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "Маленький образ бренда" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "Загрузите большой логотип, представляющий этот бренд" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "Большой имидж бренда" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "Добавьте подробное описание бренда" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "Описание бренда" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "Дополнительные категории, с которыми ассоциируется этот бренд" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "Категории" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "Поставщик, поставляющий данный товар на склад" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "Ассоциированный поставщик" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "Окончательная цена для покупателя после наценок" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "Цена продажи" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "Продукт, связанный с этой складской записью" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "Сопутствующий товар" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "Цена, уплаченная продавцу за этот продукт" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "Цена покупки у поставщика" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "Доступное количество продукта на складе" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "Количество на складе" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "Присвоенный поставщиком SKU для идентификации продукта" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "SKU поставщика" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "Цифровой файл, связанный с этой акцией, если применимо" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "Цифровой файл" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "Наличия" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "Категория, к которой относится этот продукт" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "По желанию ассоциируйте этот продукт с брендом" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "Теги, которые помогают описать или сгруппировать этот продукт" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "Указывает, поставляется ли этот продукт в цифровом виде" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "Является ли продукт цифровым" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "Обеспечьте четкое идентификационное название продукта" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "Название продукта" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "Добавьте подробное описание продукта" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "Описание товара" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "Парт. номер для данного товара" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "Парт. номер" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "Категория этого атрибута" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "Группа этого атрибута" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "Строка" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "Целое число" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "Поплавок" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "Булево" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "Массив" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "Объект" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "Тип значения атрибута" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "Тип значения" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "Имя этого атрибута" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "Имя атрибута" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "Атрибут" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "Атрибут этого значения" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "Конкретный продукт, связанный со значением этого атрибута" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "Конкретное значение для этого атрибута" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "" "Предоставьте альтернативный текст для изображения, чтобы обеспечить " "доступность" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "Альтовый текст изображения" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "Загрузите файл изображения для этого продукта" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "Изображение продукта" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "Определяет порядок отображения изображений" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "Приоритет отображения" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "Продукт, который представлен на этом изображении" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "Изображения товаров" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "Процентная скидка на выбранные продукты" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "Процент скидки" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "Укажите уникальное имя для этой акции" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "Название акции" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "Описание акции" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "Выберите, какие продукты участвуют в этой акции" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "Включенные продукты" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "Продвижение" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "Продукты, которые пользователь отметил как желаемые" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "Пользователь, владеющий этим списком желаний" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "Владелец вишлиста" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "Список желаний" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} не существует: {product_uuid}" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "Документальный фильм" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "Документальные фильмы" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "Неразрешенные" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "Адресная строка для клиента" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "Адресная строка" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "Улица" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "Округ" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "Город" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "Регион" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "Почтовый индекс" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "Страна" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "Геолокационная точка(долгота, широта)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "Полный JSON-ответ от геокодера для этого адреса" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "Сохраненный JSON-ответ от сервиса геокодирования" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "Адрес" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "Адреса" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "Уникальный код, используемый пользователем для получения скидки" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "Идентификатор промо-кода" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "Фиксированная сумма скидки, применяемая, если процент не используется" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "Фиксированная сумма скидки" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "" "Процентная скидка, применяемая, если фиксированная сумма не используется" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "Процентная скидка" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "Временная метка, когда истекает срок действия промокода" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "Время окончания срока действия" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "Время, с которого действует этот промокод" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "Время начала действия" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Временная метка, когда был использован промокод, пустая, если он еще не " "использовался" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "Временная метка использования" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "Пользователь, назначенный на этот промокод, если применимо" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "Назначенный пользователь" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "Промокод" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "Промокоды" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -"Следует определить только один тип скидки (сумма или процент), но не оба или" -" ни один из них." +"Следует определить только один тип скидки (сумма или процент), но не оба или " +"ни один из них." -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "Промокоды" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "Неверный тип скидки для промокода {self.uuid}" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "Адрес для выставления счетов, используемый для данного заказа" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "Дополнительный промокод, применяемый к этому заказу" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "Примененный промокод" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "Адрес доставки, используемый для данного заказа" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "Адрес доставки" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "Текущий статус заказа в его жизненном цикле" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "Статус заказа" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "" -"JSON-структура уведомлений для отображения пользователям, в административном" -" интерфейсе используется табличный вид" +"JSON-структура уведомлений для отображения пользователям, в административном " +"интерфейсе используется табличный вид" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "JSON-представление атрибутов заказа для этого заказа" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "Пользователь, разместивший заказ" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "Пользователь" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "Временная метка, когда заказ был завершен" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "Время покупки" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "Человекочитаемый идентификатор для заказа" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "человекочитаемый идентификатор" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "Заказать" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "Пользователь может одновременно иметь только один отложенный ордер!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "Вы не можете добавить товары в заказ, который не является отложенным." -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "Вы не можете добавить неактивные товары в заказ" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "Вы не можете добавить больше товаров, чем есть на складе" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" -msgstr "" -"Вы не можете удалить товары из заказа, который не является отложенным." +msgstr "Вы не можете удалить товары из заказа, который не является отложенным." -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "{name} не существует в запросе <{query}>." +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "Промокод не существует" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "" "Вы можете купить физические товары только с указанным адресом доставки!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "Адрес не существует" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "" "В данный момент вы не можете совершить покупку, пожалуйста, повторите " "попытку через несколько минут." -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "Недопустимое значение силы" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "Вы не можете приобрести пустой заказ!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "Вы не можете купить заказ без пользователя!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "Пользователь без баланса не может покупать с балансом!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "Недостаточно средств для выполнения заказа" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" @@ -2013,122 +2017,120 @@ msgstr "" "Вы не можете купить без регистрации, пожалуйста, предоставьте следующую " "информацию: имя клиента, электронная почта клиента, номер телефона клиента" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" msgstr "" "Неверный способ оплаты: {payment_method} от {available_payment_methods}!" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "Цена, уплаченная клиентом за данный продукт на момент покупки" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "Покупная цена на момент заказа" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" -msgstr "" -"Внутренние комментарии для администраторов об этом заказанном продукте" +msgstr "Внутренние комментарии для администраторов об этом заказанном продукте" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "Внутренние комментарии" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "Уведомления пользователей" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "JSON-представление атрибутов этого элемента" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "Атрибуты заказанного продукта" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "Ссылка на родительский заказ, содержащий данный продукт" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "Родительский приказ" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "Конкретный продукт, связанный с этой линией заказа" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "Количество данного товара в заказе" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "Количество продукта" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "Текущий статус этого продукта в заказе" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "Состояние продуктовой линейки" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "У заказанного продукта должен быть связанный с ним заказ!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "указано неверное действие для обратной связи: {action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "Вы не можете отозвать заказ, который не был получен" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "Скачать" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "Скачать" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "Вы не можете загрузить цифровой актив для незавершенного заказа" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "Комментарии пользователей об их опыте использования продукта" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "Комментарии к отзывам" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "" "Ссылка на конкретный продукт в заказе, о котором идет речь в этом отзыве" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "Сопутствующий товар для заказа" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "Присвоенный пользователем рейтинг продукта" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "Рейтинг продукции" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "Обратная связь" @@ -2139,7 +2141,7 @@ msgstr "" "чтобы добавить отзыв, необходимо указать комментарий, рейтинг и uuid " "продукта заказа." -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "Ошибка при создании промокода: {e!s}" @@ -2165,17 +2167,18 @@ msgstr "Логотип" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "Здравствуйте %(order.user.first_name)s," +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" msgstr "" -"Благодарим вас за заказ #%(order.pk)s! Мы рады сообщить Вам, что приняли Ваш" -" заказ в работу. Ниже приведены детали вашего заказа:" +"Благодарим вас за заказ #%(order.pk)s! Мы рады сообщить Вам, что приняли Ваш " +"заказ в работу. Ниже приведены детали вашего заказа:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:110 @@ -2205,7 +2208,7 @@ msgstr "" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "С наилучшими пожеланиями,
команда %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2219,7 +2222,7 @@ msgstr "Заказ доставлен" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "Здравствуйте, %(user_first_name)s," +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format @@ -2255,7 +2258,7 @@ msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "С наилучшими пожеланиями,
команда %(project_name)s" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2264,7 +2267,8 @@ msgstr "Ключ" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "" "Спасибо за ваш заказ! Мы рады подтвердить вашу покупку. Ниже приведены " @@ -2284,7 +2288,7 @@ msgstr "Ваш заказ будет доставлен по следующем #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "С наилучшими пожеланиями,
команда %(config.PROJECT_NAME)s" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2308,17 +2312,17 @@ msgstr "" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME} | Свяжитесь с нами" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | Подтверждение заказа" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME} | Заказ доставлен" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2332,22 +2336,21 @@ msgstr "Параметр NOMINATIM_URL должен быть настроен!" #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" msgstr "" -"Размеры изображения не должны превышать w{max_width} x h{max_height} " -"пикселей" +"Размеры изображения не должны превышать w{max_width} x h{max_height} пикселей" #: core/validators.py:22 msgid "invalid phone number format" msgstr "Неверный формат телефонного номера" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "Вы можете загрузить цифровой актив только один раз" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "favicon не найден" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "Ошибка геокодирования: {e}" +msgstr "" diff --git a/core/locale/zh_Hans/LC_MESSAGES/django.mo b/core/locale/zh_Hans/LC_MESSAGES/django.mo index 54e672b7a88c5dda63b59e5b49c51dec10d67faa..ff01858764e503440b1c481206c6d09143fef1a4 100644 GIT binary patch delta 10830 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 diff --git a/core/locale/zh_Hans/LC_MESSAGES/django.po b/core/locale/zh_Hans/LC_MESSAGES/django.po index 8e1915fe..1c62cfe2 100644 --- a/core/locale/zh_Hans/LC_MESSAGES/django.po +++ b/core/locale/zh_Hans/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-05 00:40+0300\n" +"POT-Creation-Date: 2025-07-14 16:12+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -27,8 +27,7 @@ msgstr "处于活动状态" #: core/abstract.py:20 msgid "" -"if set to false, this object can't be seen by users without needed " -"permission" +"if set to false, this object can't be seen by users without needed permission" msgstr "如果设置为 false,则没有必要权限的用户无法查看此对象" #: core/abstract.py:22 core/choices.py:18 @@ -47,82 +46,82 @@ msgstr "改装" msgid "when the object was last modified" msgstr "对象最后一次编辑的时间" -#: core/admin.py:60 +#: core/admin.py:61 msgid "translations" msgstr "翻译" -#: core/admin.py:64 +#: core/admin.py:65 msgid "general" msgstr "一般情况" -#: core/admin.py:66 +#: core/admin.py:67 msgid "relations" msgstr "关系" -#: core/admin.py:71 core/admin.py:73 +#: core/admin.py:72 core/admin.py:74 msgid "metadata" msgstr "元数据" -#: core/admin.py:80 +#: core/admin.py:81 msgid "timestamps" msgstr "时间戳" -#: core/admin.py:87 +#: core/admin.py:96 #, python-format msgid "activate selected %(verbose_name_plural)s" -msgstr "激活选定的 %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:90 +#: core/admin.py:101 msgid "selected items have been activated." msgstr "所选项目已激活!" -#: core/admin.py:92 +#: core/admin.py:107 #, python-format msgid "deactivate selected %(verbose_name_plural)s" -msgstr "停用选定的 %(verbose_name_plural)s" +msgstr "" -#: core/admin.py:95 +#: core/admin.py:112 msgid "selected items have been deactivated." msgstr "选定项目已停用!" -#: core/admin.py:103 core/graphene/object_types.py:418 -#: core/graphene/object_types.py:425 core/models.py:835 core/models.py:843 +#: core/admin.py:124 core/graphene/object_types.py:421 +#: core/graphene/object_types.py:428 core/models.py:836 core/models.py:844 msgid "attribute value" msgstr "属性值" -#: core/admin.py:104 core/graphene/object_types.py:50 core/models.py:844 +#: core/admin.py:125 core/graphene/object_types.py:50 core/models.py:845 msgid "attribute values" msgstr "属性值" -#: core/admin.py:112 +#: core/admin.py:133 msgid "image" msgstr "图片" -#: core/admin.py:113 core/graphene/object_types.py:371 +#: core/admin.py:134 core/graphene/object_types.py:374 msgid "images" msgstr "图片" -#: core/admin.py:121 core/models.py:559 +#: core/admin.py:142 core/models.py:560 msgid "stock" msgstr "库存" -#: core/admin.py:122 core/graphene/object_types.py:472 +#: core/admin.py:143 core/graphene/object_types.py:475 msgid "stocks" msgstr "股票" -#: core/admin.py:132 core/models.py:1801 +#: core/admin.py:153 core/models.py:1831 msgid "order product" msgstr "订购产品" -#: core/admin.py:133 core/graphene/object_types.py:292 core/models.py:1802 +#: core/admin.py:154 core/graphene/object_types.py:293 core/models.py:1832 msgid "order products" msgstr "订购产品" -#: core/admin.py:146 core/admin.py:147 +#: core/admin.py:167 core/admin.py:168 msgid "children" msgstr "儿童" -#: core/admin.py:480 +#: core/admin.py:501 msgid "Config" msgstr "配置" @@ -214,7 +213,9 @@ msgstr "以企业身份购买订单" msgid "" "purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." -msgstr "使用提供的带有 `product_uuid` 和 `attributes` 的 `products` 作为企业购买订单。" +msgstr "" +"使用提供的带有 `product_uuid` 和 `attributes` 的 `products` 作为企业购买订" +"单。" #: core/docs/drf/viewsets.py:43 msgid "list all attribute groups (simple view)" @@ -237,8 +238,7 @@ msgid "rewrite an existing attribute group saving non-editables" msgstr "重写保存不可编辑的现有属性组" #: core/docs/drf/viewsets.py:63 -msgid "" -"rewrite some fields of an existing attribute group saving non-editables" +msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "重写现有属性组的某些字段,保存不可编辑的内容" #: core/docs/drf/viewsets.py:70 @@ -286,8 +286,7 @@ msgid "rewrite an existing attribute value saving non-editables" msgstr "重写现有属性值,保存不可编辑属性" #: core/docs/drf/viewsets.py:117 -msgid "" -"rewrite some fields of an existing attribute value saving non-editables" +msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "重写现有属性值的某些字段,保存不可编辑的属性值" #: core/docs/drf/viewsets.py:124 @@ -324,11 +323,11 @@ msgstr "对于非工作人员用户,只有他们自己的订单才会被退回 #: core/docs/drf/viewsets.py:158 msgid "" -"Case-insensitive substring search across human_readable_id, " -"order_products.product.name, and order_products.product.partnumber" +"Case-insensitive substring search across human_readable_id, order_products." +"product.name, and order_products.product.partnumber" msgstr "" -"在 human_readable_id、order_products.product.name 和 " -"order_products.product.partnumber 中进行不区分大小写的子串搜索" +"在 human_readable_id、order_products.product.name 和 order_products.product." +"partnumber 中进行不区分大小写的子串搜索" #: core/docs/drf/viewsets.py:165 msgid "Filter orders with buy_time >= this ISO 8601 datetime" @@ -360,11 +359,12 @@ msgstr "按订单状态筛选(不区分大小写的子串匹配)" #: core/docs/drf/viewsets.py:201 msgid "" -"Order by one of: uuid, human_readable_id, user_email, user, status, created," -" modified, buy_time, random. Prefix with '-' for descending (e.g. " -"'-buy_time')." +"Order by one of: uuid, human_readable_id, user_email, user, status, created, " +"modified, buy_time, random. Prefix with '-' for descending (e.g. '-" +"buy_time')." msgstr "" -"按以下一项排序:uuid、human_readable_id、user_email、user、status、created、modified、buy_time、random。前缀\"-\"表示降序(例如\"-buy_time\")。" +"按以下一项排序:uuid、human_readable_id、user_email、user、status、created、" +"modified、buy_time、random。前缀\"-\"表示降序(例如\"-buy_time\")。" #: core/docs/drf/viewsets.py:210 msgid "retrieve a single order (detailed view)" @@ -399,7 +399,9 @@ msgid "" "finalizes the order purchase. if `force_balance` is used, the purchase is " "completed using the user's balance; if `force_payment` is used, a " "transaction is initiated." -msgstr "完成订单购买。如果使用 \"force_balance\",则使用用户的余额完成购买;如果使用 \"force_payment\",则启动交易。" +msgstr "" +"完成订单购买。如果使用 \"force_balance\",则使用用户的余额完成购买;如果使用 " +"\"force_payment\",则启动交易。" #: core/docs/drf/viewsets.py:245 core/graphene/mutations.py:324 msgid "purchase an order without account creation" @@ -518,17 +520,25 @@ msgstr "使用提供的 `product_uuids` 从愿望清单中删除多个产品" msgid "" "Filter by one or more attribute name/value pairs. \n" "• **Syntax**: `attr_name=method-value[;attr2=method2-value2]…` \n" -"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, `icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, `iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" -"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), `true`/`false` for booleans, integers, floats; otherwise treated as string. \n" +"• **Methods** (defaults to `icontains` if omitted): `iexact`, `exact`, " +"`icontains`, `contains`, `isnull`, `startswith`, `istartswith`, `endswith`, " +"`iendswith`, `regex`, `iregex`, `lt`, `lte`, `gt`, `gte`, `in` \n" +"• **Value typing**: JSON is attempted first (so you can pass lists/dicts), " +"`true`/`false` for booleans, integers, floats; otherwise treated as " +"string. \n" "• **Base64**: prefix with `b64-` to URL-safe base64-encode the raw value. \n" "Examples: \n" -"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\",\"bluetooth\"]`, \n" +"`color=exact-red`, `size=gt-10`, `features=in-[\"wifi\"," +"\"bluetooth\"]`, \n" "`b64-description=icontains-aGVhdC1jb2xk`" msgstr "" "根据一个或多个属性名/值对进行筛选。 \n" "- 语法**:`attr_name=method-value[;attr2=method2-value2]...`\n" -"- 方法**(如果省略,默认为 `icontains`):iexact`、`exact`、`icontains`、`contains`、`isnull`、`startswith`、`istartswith`、`endswith`、`iendswith`、`regex`、`iregex`、`lt`、`lte`、`gt`、`gte`、`in`。\n" -"- 值键入**:首先尝试使用 JSON(因此可以传递列表/字段),布尔、整数、浮点数使用 `true`/`false`,否则视为字符串。 \n" +"- 方法**(如果省略,默认为 `icontains`):iexact`、`exact`、`icontains`、" +"`contains`、`isnull`、`startswith`、`istartswith`、`endswith`、`iendswith`、" +"`regex`、`iregex`、`lt`、`lte`、`gt`、`gte`、`in`。\n" +"- 值键入**:首先尝试使用 JSON(因此可以传递列表/字段),布尔、整数、浮点数使" +"用 `true`/`false`,否则视为字符串。 \n" "- **Base64**:以 `b64-` 作为前缀,对原始值进行 URL 安全的 base64 编码。 \n" "示例 \n" "color=exact-red`、`size=gt-10`、`features=in-[\"wifi\"、\"bluetooth\"]`、\n" @@ -584,7 +594,8 @@ msgstr "(准确)数字与实物" #: core/docs/drf/viewsets.py:427 msgid "" -"Comma-separated list of fields to sort by. Prefix with `-` for descending. \n" +"Comma-separated list of fields to sort by. Prefix with `-` for " +"descending. \n" "**Allowed:** uuid, rating, name, slug, created, modified, price, random" msgstr "" "用逗号分隔的要排序的字段列表。前缀为 `-` 表示降序。 \n" @@ -757,8 +768,8 @@ msgstr "属性" msgid "Quantity" msgstr "数量" -#: core/filters.py:73 core/filters.py:355 core/models.py:377 -#: core/models.py:471 core/models.py:662 +#: core/filters.py:73 core/filters.py:355 core/models.py:378 core/models.py:472 +#: core/models.py:663 msgid "Slug" msgstr "蛞蝓" @@ -839,7 +850,7 @@ msgstr "缓存数据" msgid "camelized JSON data from the requested URL" msgstr "从请求的 URL 中获取驼峰化 JSON 数据" -#: core/graphene/mutations.py:65 core/views.py:350 +#: core/graphene/mutations.py:65 core/views.py:356 msgid "only URLs starting with http(s):// are allowed" msgstr "只允许使用以 http(s):// 开头的 URL" @@ -848,10 +859,10 @@ msgid "add a product to the order" msgstr "在订单中添加产品" #: core/graphene/mutations.py:101 core/graphene/mutations.py:127 -#: core/graphene/mutations.py:229 core/graphene/mutations.py:276 +#: core/graphene/mutations.py:232 core/graphene/mutations.py:279 #, python-brace-format msgid "order {order_uuid} not found" -msgstr "未找到订单 {order_uuid}" +msgstr "" #: core/graphene/mutations.py:106 core/graphene/mutations.py:153 msgid "remove a product from the order" @@ -865,32 +876,32 @@ msgstr "从订单中删除所有产品" msgid "buy an order" msgstr "购买订单" -#: core/graphene/mutations.py:202 core/graphene/mutations.py:254 +#: core/graphene/mutations.py:204 core/graphene/mutations.py:257 msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "请提供 order_uuid 或 order_hr_id(互斥)!" -#: core/graphene/mutations.py:226 core/graphene/mutations.py:486 -#: core/graphene/mutations.py:527 core/viewsets.py:582 +#: core/graphene/mutations.py:229 core/graphene/mutations.py:486 +#: core/graphene/mutations.py:527 core/viewsets.py:601 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "order.buy() 方法中的类型有误:{type(instance)!s}" -#: core/graphene/mutations.py:234 +#: core/graphene/mutations.py:237 msgid "perform an action on a list of products in the order" msgstr "对订单中的产品列表执行操作" -#: core/graphene/mutations.py:239 +#: core/graphene/mutations.py:242 msgid "remove/add" msgstr "删除/添加" -#: core/graphene/mutations.py:271 core/graphene/mutations.py:314 +#: core/graphene/mutations.py:274 core/graphene/mutations.py:314 msgid "action must be either add or remove" msgstr "操作必须是 \"添加 \"或 \"删除\"!" -#: core/graphene/mutations.py:281 +#: core/graphene/mutations.py:284 msgid "perform an action on a list of products in the wishlist" msgstr "对愿望清单中的产品列表执行操作" -#: core/graphene/mutations.py:299 +#: core/graphene/mutations.py:302 msgid "please provide wishlist_uuid value" msgstr "请提供 `wishlist_uuid` 值。" @@ -899,7 +910,7 @@ msgstr "请提供 `wishlist_uuid` 值。" #: core/graphene/mutations.py:489 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" -msgstr "未找到愿望清单 {wishlist_uuid}" +msgstr "" #: core/graphene/mutations.py:370 msgid "add a product to the wishlist" @@ -923,8 +934,8 @@ msgstr "购买订单" #: core/graphene/mutations.py:500 msgid "" -"please send the attributes as the string formatted like " -"attr1=value1,attr2=value2" +"please send the attributes as the string formatted like attr1=value1," +"attr2=value2" msgstr "请以字符串形式发送属性,格式如 attr1=value1,attr2=value2" #: core/graphene/mutations.py:532 @@ -938,16 +949,18 @@ msgstr "操作必须是 \"添加 \"或 \"删除\"!" #: core/graphene/mutations.py:558 #, python-brace-format msgid "order product {order_product_uuid} not found" -msgstr "未找到订购产品 {order_product_uuid}" +msgstr "" #: core/graphene/mutations.py:621 msgid "original address string provided by the user" msgstr "用户提供的原始地址字符串" -#: core/graphene/mutations.py:655 core/viewsets.py:390 core/viewsets.py:585 +#: core/graphene/mutations.py:655 core/models.py:1020 core/models.py:1033 +#: core/models.py:1476 core/models.py:1505 core/models.py:1530 +#: core/viewsets.py:408 core/viewsets.py:604 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} 不存在:{uuid}不存在" +msgstr "" #: core/graphene/mutations.py:668 msgid "limit must be between 1 and 10" @@ -957,8 +970,8 @@ msgstr "限值必须在 1 和 10 之间" msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - 工作起来得心应手" -#: core/graphene/object_types.py:57 core/graphene/object_types.py:275 -#: core/graphene/object_types.py:316 core/models.py:789 core/models.py:1362 +#: core/graphene/object_types.py:57 core/graphene/object_types.py:276 +#: core/graphene/object_types.py:317 core/models.py:790 core/models.py:1368 msgid "attributes" msgstr "属性" @@ -971,11 +984,11 @@ msgid "groups of attributes" msgstr "属性组" #: core/graphene/object_types.py:91 core/graphene/object_types.py:125 -#: core/graphene/object_types.py:155 core/models.py:402 core/models.py:753 +#: core/graphene/object_types.py:155 core/models.py:403 core/models.py:754 msgid "categories" msgstr "类别" -#: core/graphene/object_types.py:98 core/models.py:485 +#: core/graphene/object_types.py:98 core/models.py:486 msgid "brands" msgstr "品牌" @@ -984,7 +997,7 @@ msgid "category image url" msgstr "类别" #: core/graphene/object_types.py:128 core/graphene/object_types.py:223 -#: core/models.py:339 +#: core/models.py:340 msgid "markup percentage" msgstr "加价百分比" @@ -993,8 +1006,7 @@ msgid "which attributes and values can be used for filtering this category." msgstr "哪些属性和值可用于筛选该类别。" #: core/graphene/object_types.py:135 -msgid "" -"minimum and maximum prices for products in this category, if available." +msgid "minimum and maximum prices for products in this category, if available." msgstr "该类别产品的最低和最高价格(如有)。" #: core/graphene/object_types.py:137 @@ -1005,7 +1017,7 @@ msgstr "此类别的标签" msgid "products in this category" msgstr "该类别中的产品" -#: core/graphene/object_types.py:230 core/models.py:172 +#: core/graphene/object_types.py:230 core/models.py:173 msgid "vendors" msgstr "供应商" @@ -1017,86 +1029,86 @@ msgstr "纬度(Y 坐标)" msgid "Longitude (X coordinate)" msgstr "经度(X 坐标)" -#: core/graphene/object_types.py:263 +#: core/graphene/object_types.py:264 msgid "comment" msgstr "如何" -#: core/graphene/object_types.py:264 +#: core/graphene/object_types.py:265 msgid "rating value from 1 to 10, inclusive, or 0 if not set." msgstr "评级值从 1 到 10(包括 10),如果未设置,则为 0。" -#: core/graphene/object_types.py:271 +#: core/graphene/object_types.py:272 msgid "represents feedback from a user." msgstr "代表用户的反馈意见。" -#: core/graphene/object_types.py:276 core/graphene/object_types.py:317 -#: core/models.py:1356 +#: core/graphene/object_types.py:277 core/graphene/object_types.py:318 +#: core/models.py:1362 msgid "notifications" msgstr "通知" -#: core/graphene/object_types.py:277 +#: core/graphene/object_types.py:278 msgid "download url for this order product if applicable" msgstr "此订单产品的下载网址(如适用" -#: core/graphene/object_types.py:306 +#: core/graphene/object_types.py:307 msgid "a list of order products in this order" msgstr "该订单中的订单产品列表" -#: core/graphene/object_types.py:308 core/models.py:1326 +#: core/graphene/object_types.py:309 core/models.py:1332 msgid "billing address" msgstr "账单地址" -#: core/graphene/object_types.py:311 +#: core/graphene/object_types.py:312 msgid "" "shipping address for this order, leave blank if same as billing address or " "if not applicable" msgstr "此订单的送货地址,如果与账单地址相同或不适用,请留空" -#: core/graphene/object_types.py:313 +#: core/graphene/object_types.py:314 msgid "total price of this order" msgstr "订单总价" -#: core/graphene/object_types.py:314 +#: core/graphene/object_types.py:315 msgid "total quantity of products in order" msgstr "订单中产品的总数量" -#: core/graphene/object_types.py:315 +#: core/graphene/object_types.py:316 msgid "are all products in the order digital" msgstr "订单中的所有产品都是数字产品吗?" -#: core/graphene/object_types.py:318 +#: core/graphene/object_types.py:319 msgid "transactions for this order" msgstr "此订单的交易" -#: core/graphene/object_types.py:337 core/models.py:1390 +#: core/graphene/object_types.py:338 core/models.py:1396 msgid "orders" msgstr "订单" -#: core/graphene/object_types.py:356 +#: core/graphene/object_types.py:359 msgid "image url" msgstr "图片 URL" -#: core/graphene/object_types.py:363 +#: core/graphene/object_types.py:366 msgid "product's images" msgstr "产品图片" -#: core/graphene/object_types.py:370 core/models.py:401 core/models.py:605 +#: core/graphene/object_types.py:373 core/models.py:402 core/models.py:606 msgid "category" msgstr "类别" -#: core/graphene/object_types.py:372 core/models.py:1960 +#: core/graphene/object_types.py:375 core/models.py:1990 msgid "feedbacks" msgstr "反馈意见" -#: core/graphene/object_types.py:373 core/models.py:484 core/models.py:614 +#: core/graphene/object_types.py:376 core/models.py:485 core/models.py:615 msgid "brand" msgstr "品牌" -#: core/graphene/object_types.py:374 core/models.py:112 +#: core/graphene/object_types.py:377 core/models.py:113 msgid "attribute groups" msgstr "属性组" -#: core/graphene/object_types.py:375 +#: core/graphene/object_types.py:378 #: core/templates/digital_order_created_email.html:111 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:109 @@ -1104,7 +1116,7 @@ msgstr "属性组" msgid "price" msgstr "价格" -#: core/graphene/object_types.py:376 +#: core/graphene/object_types.py:379 #: core/templates/digital_order_created_email.html:110 #: core/templates/digital_order_delivered_email.html:108 #: core/templates/shipped_order_created_email.html:108 @@ -1112,31 +1124,31 @@ msgstr "价格" msgid "quantity" msgstr "数量" -#: core/graphene/object_types.py:377 +#: core/graphene/object_types.py:380 msgid "number of feedbacks" msgstr "反馈数量" -#: core/graphene/object_types.py:395 core/models.py:667 +#: core/graphene/object_types.py:398 core/models.py:668 msgid "products" msgstr "产品" -#: core/graphene/object_types.py:443 +#: core/graphene/object_types.py:446 msgid "promocodes" msgstr "促销代码" -#: core/graphene/object_types.py:453 +#: core/graphene/object_types.py:456 msgid "products on sale" msgstr "销售产品" -#: core/graphene/object_types.py:460 core/models.py:966 +#: core/graphene/object_types.py:463 core/models.py:967 msgid "promotions" msgstr "促销活动" -#: core/graphene/object_types.py:464 core/models.py:171 +#: core/graphene/object_types.py:467 core/models.py:172 msgid "vendor" msgstr "供应商" -#: core/graphene/object_types.py:465 core/models.py:666 +#: core/graphene/object_types.py:468 core/models.py:667 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:107 #: core/templates/shipped_order_created_email.html:107 @@ -1144,898 +1156,891 @@ msgstr "供应商" msgid "product" msgstr "产品" -#: core/graphene/object_types.py:476 core/models.py:991 +#: core/graphene/object_types.py:479 core/models.py:992 msgid "wishlisted products" msgstr "心愿单上的产品" -#: core/graphene/object_types.py:482 core/models.py:1008 +#: core/graphene/object_types.py:485 core/models.py:1009 msgid "wishlists" msgstr "愿望清单" -#: core/graphene/object_types.py:486 +#: core/graphene/object_types.py:489 msgid "tagged products" msgstr "标签产品" -#: core/graphene/object_types.py:493 core/models.py:216 core/models.py:620 +#: core/graphene/object_types.py:496 core/models.py:217 core/models.py:621 msgid "product tags" msgstr "产品标签" -#: core/graphene/object_types.py:497 +#: core/graphene/object_types.py:500 msgid "tagged categories" msgstr "标签类别" -#: core/graphene/object_types.py:504 +#: core/graphene/object_types.py:507 msgid "categories tags" msgstr "类别标签" -#: core/graphene/object_types.py:508 +#: core/graphene/object_types.py:511 msgid "project name" msgstr "项目名称" -#: core/graphene/object_types.py:509 +#: core/graphene/object_types.py:512 msgid "company email" msgstr "公司电子邮件" -#: core/graphene/object_types.py:510 +#: core/graphene/object_types.py:513 msgid "company name" msgstr "公司名称" -#: core/graphene/object_types.py:511 +#: core/graphene/object_types.py:514 msgid "company address" msgstr "公司地址" -#: core/graphene/object_types.py:512 +#: core/graphene/object_types.py:515 msgid "company phone number" msgstr "公司电话号码" -#: core/graphene/object_types.py:513 +#: core/graphene/object_types.py:516 msgid "email from, sometimes it must be used instead of host user value" msgstr "电子邮件来自\",有时必须使用它来代替主机用户值" -#: core/graphene/object_types.py:514 +#: core/graphene/object_types.py:517 msgid "email host user" msgstr "电子邮件主机用户" -#: core/graphene/object_types.py:515 +#: core/graphene/object_types.py:518 msgid "maximum amount for payment" msgstr "最高付款额" -#: core/graphene/object_types.py:516 +#: core/graphene/object_types.py:519 msgid "minimum amount for payment" msgstr "最低付款额" -#: core/graphene/object_types.py:517 +#: core/graphene/object_types.py:520 msgid "analytics data" msgstr "分析数据" -#: core/graphene/object_types.py:518 +#: core/graphene/object_types.py:521 msgid "advertisement data" msgstr "广告数据" -#: core/graphene/object_types.py:521 +#: core/graphene/object_types.py:524 msgid "company configuration" msgstr "配置" -#: core/graphene/object_types.py:525 +#: core/graphene/object_types.py:528 msgid "language code" msgstr "语言代码" -#: core/graphene/object_types.py:526 +#: core/graphene/object_types.py:529 msgid "language name" msgstr "语言名称" -#: core/graphene/object_types.py:527 +#: core/graphene/object_types.py:530 msgid "language flag, if exists :)" msgstr "语言标志(如果有):)" -#: core/graphene/object_types.py:530 +#: core/graphene/object_types.py:533 msgid "supported languages" msgstr "获取支持的语言列表" -#: core/graphene/object_types.py:561 core/graphene/object_types.py:562 -#: core/graphene/object_types.py:563 +#: core/graphene/object_types.py:564 core/graphene/object_types.py:565 +#: core/graphene/object_types.py:566 msgid "products search results" msgstr "产品搜索结果" -#: core/graphene/object_types.py:564 +#: core/graphene/object_types.py:567 msgid "posts search results" msgstr "产品搜索结果" -#: core/models.py:97 +#: core/models.py:98 msgid "parent of this group" msgstr "本组家长" -#: core/models.py:98 +#: core/models.py:99 msgid "parent attribute group" msgstr "父属性组" -#: core/models.py:102 core/models.py:103 +#: core/models.py:103 core/models.py:104 msgid "attribute group's name" msgstr "属性组名称" -#: core/models.py:111 core/models.py:761 +#: core/models.py:112 core/models.py:762 msgid "attribute group" msgstr "属性组" -#: core/models.py:149 +#: core/models.py:150 msgid "stores credentials and endpoints required for vendor communication" msgstr "存储供应商应用程序接口通信所需的凭证和端点" -#: core/models.py:150 +#: core/models.py:151 msgid "authentication info" msgstr "认证信息" -#: core/models.py:155 +#: core/models.py:156 msgid "define the markup for products retrieved from this vendor" msgstr "定义从该供应商获取的产品的标记" -#: core/models.py:156 +#: core/models.py:157 msgid "vendor markup percentage" msgstr "供应商加价百分比" -#: core/models.py:160 +#: core/models.py:161 msgid "name of this vendor" msgstr "供应商名称" -#: core/models.py:161 +#: core/models.py:162 msgid "vendor name" msgstr "供应商名称" -#: core/models.py:201 core/models.py:239 +#: core/models.py:202 core/models.py:240 msgid "internal tag identifier for the product tag" msgstr "产品标签的内部标签标识符" -#: core/models.py:202 core/models.py:240 +#: core/models.py:203 core/models.py:241 msgid "tag name" msgstr "标签名称" -#: core/models.py:206 core/models.py:244 +#: core/models.py:207 core/models.py:245 msgid "user-friendly name for the product tag" msgstr "方便用户使用的产品标签名称" -#: core/models.py:207 core/models.py:245 +#: core/models.py:208 core/models.py:246 msgid "tag display name" msgstr "标签显示名称" -#: core/models.py:215 +#: core/models.py:216 msgid "product tag" msgstr "产品标签" -#: core/models.py:253 +#: core/models.py:254 msgid "category tag" msgstr "类别标签" -#: core/models.py:254 core/models.py:383 +#: core/models.py:255 core/models.py:384 msgid "category tags" msgstr "类别标签" -#: core/models.py:330 +#: core/models.py:331 msgid "upload an image representing this category" msgstr "上传代表该类别的图片" -#: core/models.py:333 +#: core/models.py:334 msgid "category image" msgstr "类别 图像" -#: core/models.py:338 +#: core/models.py:339 msgid "define a markup percentage for products in this category" msgstr "定义该类别产品的加价百分比" -#: core/models.py:347 +#: core/models.py:348 msgid "parent of this category to form a hierarchical structure" msgstr "该类别的父类别,形成等级结构" -#: core/models.py:348 +#: core/models.py:349 msgid "parent category" msgstr "父类" -#: core/models.py:353 +#: core/models.py:354 msgid "category name" msgstr "类别名称" -#: core/models.py:354 +#: core/models.py:355 msgid "provide a name for this category" msgstr "提供该类别的名称" -#: core/models.py:361 +#: core/models.py:362 msgid "add a detailed description for this category" msgstr "为该类别添加详细说明" -#: core/models.py:362 +#: core/models.py:363 msgid "category description" msgstr "类别说明" -#: core/models.py:382 +#: core/models.py:383 msgid "tags that help describe or group this category" msgstr "有助于描述或归类该类别的标签" -#: core/models.py:389 core/models.py:477 +#: core/models.py:390 core/models.py:478 msgid "priority" msgstr "优先权" -#: core/models.py:430 +#: core/models.py:431 msgid "name of this brand" msgstr "品牌名称" -#: core/models.py:431 +#: core/models.py:432 msgid "brand name" msgstr "品牌名称" -#: core/models.py:438 +#: core/models.py:439 msgid "upload a logo representing this brand" msgstr "上传代表该品牌的徽标" -#: core/models.py:440 +#: core/models.py:441 msgid "brand small image" msgstr "品牌小形象" -#: core/models.py:446 +#: core/models.py:447 msgid "upload a big logo representing this brand" msgstr "上传代表该品牌的大徽标" -#: core/models.py:448 +#: core/models.py:449 msgid "brand big image" msgstr "品牌大形象" -#: core/models.py:453 +#: core/models.py:454 msgid "add a detailed description of the brand" msgstr "添加品牌的详细描述" -#: core/models.py:454 +#: core/models.py:455 msgid "brand description" msgstr "品牌描述" -#: core/models.py:459 +#: core/models.py:460 msgid "optional categories that this brand is associated with" msgstr "与该品牌相关的可选类别" -#: core/models.py:460 +#: core/models.py:461 msgid "associated categories" msgstr "类别" -#: core/models.py:514 +#: core/models.py:515 msgid "the vendor supplying this product stock" msgstr "提供该产品库存的供应商" -#: core/models.py:515 +#: core/models.py:516 msgid "associated vendor" msgstr "相关供应商" -#: core/models.py:519 +#: core/models.py:520 msgid "final price to the customer after markups" msgstr "加价后给客户的最终价格" -#: core/models.py:520 +#: core/models.py:521 msgid "selling price" msgstr "销售价格" -#: core/models.py:525 +#: core/models.py:526 msgid "the product associated with this stock entry" msgstr "与该库存条目相关的产品" -#: core/models.py:526 core/models.py:831 core/models.py:888 -#: core/models.py:1775 +#: core/models.py:527 core/models.py:832 core/models.py:889 core/models.py:1805 msgid "associated product" msgstr "相关产品" -#: core/models.py:533 +#: core/models.py:534 msgid "the price paid to the vendor for this product" msgstr "为该产品支付给供应商的价格" -#: core/models.py:534 +#: core/models.py:535 msgid "vendor purchase price" msgstr "供应商购买价格" -#: core/models.py:538 +#: core/models.py:539 msgid "available quantity of the product in stock" msgstr "产品的可用库存量" -#: core/models.py:539 +#: core/models.py:540 msgid "quantity in stock" msgstr "库存数量" -#: core/models.py:543 +#: core/models.py:544 msgid "vendor-assigned SKU for identifying the product" msgstr "供应商指定的 SKU,用于识别产品" -#: core/models.py:544 +#: core/models.py:545 msgid "vendor sku" msgstr "供应商 SKU" -#: core/models.py:550 +#: core/models.py:551 msgid "digital file associated with this stock if applicable" msgstr "与该库存相关的数字文件(如适用" -#: core/models.py:551 +#: core/models.py:552 msgid "digital file" msgstr "数字文件" -#: core/models.py:560 +#: core/models.py:561 msgid "stock entries" msgstr "库存条目" -#: core/models.py:604 +#: core/models.py:605 msgid "category this product belongs to" msgstr "该产品所属类别" -#: core/models.py:613 +#: core/models.py:614 msgid "optionally associate this product with a brand" msgstr "可选择将该产品与某个品牌联系起来" -#: core/models.py:619 +#: core/models.py:620 msgid "tags that help describe or group this product" msgstr "有助于描述或归类该产品的标签" -#: core/models.py:624 +#: core/models.py:625 msgid "indicates whether this product is digitally delivered" msgstr "表示该产品是否以数字方式交付" -#: core/models.py:625 +#: core/models.py:626 msgid "is product digital" msgstr "产品是否数字化" -#: core/models.py:631 +#: core/models.py:632 msgid "provide a clear identifying name for the product" msgstr "为产品提供一个明确的标识名称" -#: core/models.py:632 +#: core/models.py:633 msgid "product name" msgstr "产品名称" -#: core/models.py:637 core/models.py:954 +#: core/models.py:638 core/models.py:955 msgid "add a detailed description of the product" msgstr "添加产品的详细描述" -#: core/models.py:638 +#: core/models.py:639 msgid "product description" msgstr "产品说明" -#: core/models.py:645 +#: core/models.py:646 msgid "part number for this product" msgstr "该产品的零件编号" -#: core/models.py:646 +#: core/models.py:647 msgid "part number" msgstr "部件编号" -#: core/models.py:752 +#: core/models.py:753 msgid "category of this attribute" msgstr "该属性的类别" -#: core/models.py:760 +#: core/models.py:761 msgid "group of this attribute" msgstr "该属性的组" -#: core/models.py:766 +#: core/models.py:767 msgid "string" msgstr "字符串" -#: core/models.py:767 +#: core/models.py:768 msgid "integer" msgstr "整数" -#: core/models.py:768 +#: core/models.py:769 msgid "float" msgstr "浮动" -#: core/models.py:769 +#: core/models.py:770 msgid "boolean" msgstr "布尔型" -#: core/models.py:770 +#: core/models.py:771 msgid "array" msgstr "阵列" -#: core/models.py:771 +#: core/models.py:772 msgid "object" msgstr "对象" -#: core/models.py:773 +#: core/models.py:774 msgid "type of the attribute's value" msgstr "属性值的类型" -#: core/models.py:774 +#: core/models.py:775 msgid "value type" msgstr "价值类型" -#: core/models.py:779 +#: core/models.py:780 msgid "name of this attribute" msgstr "该属性的名称" -#: core/models.py:780 +#: core/models.py:781 msgid "attribute's name" msgstr "属性名称" -#: core/models.py:788 core/models.py:823 +#: core/models.py:789 core/models.py:824 #: core/templates/digital_order_delivered_email.html:134 msgid "attribute" msgstr "属性" -#: core/models.py:822 +#: core/models.py:823 msgid "attribute of this value" msgstr "该值的属性" -#: core/models.py:830 +#: core/models.py:831 msgid "the specific product associated with this attribute's value" msgstr "与该属性值相关的特定产品" -#: core/models.py:836 +#: core/models.py:837 msgid "the specific value for this attribute" msgstr "该属性的具体值" -#: core/models.py:870 +#: core/models.py:871 msgid "provide alternative text for the image for accessibility" msgstr "为图像提供替代文字,以便于访问" -#: core/models.py:871 +#: core/models.py:872 msgid "image alt text" msgstr "图片 alt 文本" -#: core/models.py:874 +#: core/models.py:875 msgid "upload the image file for this product" msgstr "上传该产品的图片文件" -#: core/models.py:875 core/models.py:900 +#: core/models.py:876 core/models.py:901 msgid "product image" msgstr "产品图片" -#: core/models.py:881 +#: core/models.py:882 msgid "determines the order in which images are displayed" msgstr "确定图像的显示顺序" -#: core/models.py:882 +#: core/models.py:883 msgid "display priority" msgstr "显示优先级" -#: core/models.py:887 +#: core/models.py:888 msgid "the product that this image represents" msgstr "该图片所代表的产品" -#: core/models.py:901 +#: core/models.py:902 msgid "product images" msgstr "产品图片" -#: core/models.py:942 +#: core/models.py:943 msgid "percentage discount for the selected products" msgstr "所选产品的折扣百分比" -#: core/models.py:943 +#: core/models.py:944 msgid "discount percentage" msgstr "折扣百分比" -#: core/models.py:948 +#: core/models.py:949 msgid "provide a unique name for this promotion" msgstr "为该促销活动提供一个独特的名称" -#: core/models.py:949 +#: core/models.py:950 msgid "promotion name" msgstr "推广名称" -#: core/models.py:955 +#: core/models.py:956 msgid "promotion description" msgstr "促销说明" -#: core/models.py:960 +#: core/models.py:961 msgid "select which products are included in this promotion" msgstr "选择促销活动包括哪些产品" -#: core/models.py:961 +#: core/models.py:962 msgid "included products" msgstr "包括产品" -#: core/models.py:965 +#: core/models.py:966 msgid "promotion" msgstr "促销活动" -#: core/models.py:990 +#: core/models.py:991 msgid "products that the user has marked as wanted" msgstr "用户标记为想要的产品" -#: core/models.py:998 +#: core/models.py:999 msgid "user who owns this wishlist" msgstr "拥有此愿望清单的用户" -#: core/models.py:999 +#: core/models.py:1000 msgid "wishlist owner" msgstr "心愿单所有者" -#: core/models.py:1007 +#: core/models.py:1008 msgid "wishlist" msgstr "愿望清单" -#: core/models.py:1018 core/models.py:1030 core/models.py:1469 -#: core/models.py:1497 core/models.py:1521 -#, python-brace-format -msgid "{name} does not exist: {product_uuid}" -msgstr "{name} 不存在:{product_uuid} 不存在" - -#: core/models.py:1072 +#: core/models.py:1075 msgid "documentary" msgstr "纪录片" -#: core/models.py:1073 +#: core/models.py:1076 msgid "documentaries" msgstr "纪录片" -#: core/models.py:1083 +#: core/models.py:1086 msgid "unresolved" msgstr "未解决" -#: core/models.py:1129 +#: core/models.py:1132 msgid "address line for the customer" msgstr "客户地址栏" -#: core/models.py:1130 +#: core/models.py:1133 msgid "address line" msgstr "地址栏" -#: core/models.py:1132 +#: core/models.py:1135 msgid "street" msgstr "街道" -#: core/models.py:1133 +#: core/models.py:1136 msgid "district" msgstr "地区" -#: core/models.py:1134 +#: core/models.py:1137 msgid "city" msgstr "城市" -#: core/models.py:1135 +#: core/models.py:1138 msgid "region" msgstr "地区" -#: core/models.py:1136 +#: core/models.py:1139 msgid "postal code" msgstr "邮政编码" -#: core/models.py:1137 +#: core/models.py:1140 msgid "country" msgstr "国家" -#: core/models.py:1144 +#: core/models.py:1147 msgid "geolocation point: (longitude, latitude)" msgstr "地理位置点(经度、纬度)" -#: core/models.py:1147 +#: core/models.py:1150 msgid "full JSON response from geocoder for this address" msgstr "地理编码器对此地址的完整 JSON 响应" -#: core/models.py:1152 +#: core/models.py:1155 msgid "stored JSON response from the geocoding service" msgstr "存储的来自地理编码服务的 JSON 响应" -#: core/models.py:1160 +#: core/models.py:1163 msgid "address" msgstr "地址" -#: core/models.py:1161 +#: core/models.py:1164 msgid "addresses" msgstr "地址" -#: core/models.py:1206 +#: core/models.py:1209 msgid "unique code used by a user to redeem a discount" msgstr "用户用于兑换折扣的唯一代码" -#: core/models.py:1207 +#: core/models.py:1210 msgid "promo code identifier" msgstr "促销代码标识符" -#: core/models.py:1214 +#: core/models.py:1217 msgid "fixed discount amount applied if percent is not used" msgstr "如果不使用百分比,则使用固定折扣额" -#: core/models.py:1215 +#: core/models.py:1218 msgid "fixed discount amount" msgstr "固定折扣额" -#: core/models.py:1221 +#: core/models.py:1224 msgid "percentage discount applied if fixed amount is not used" msgstr "未使用固定金额时适用的折扣百分比" -#: core/models.py:1222 +#: core/models.py:1225 msgid "percentage discount" msgstr "折扣百分比" -#: core/models.py:1227 +#: core/models.py:1230 msgid "timestamp when the promocode expires" msgstr "促销代码过期的时间戳" -#: core/models.py:1228 +#: core/models.py:1231 msgid "end validity time" msgstr "结束有效时间" -#: core/models.py:1233 +#: core/models.py:1236 msgid "timestamp from which this promocode is valid" msgstr "该促销代码有效的时间戳" -#: core/models.py:1234 +#: core/models.py:1237 msgid "start validity time" msgstr "开始有效时间" -#: core/models.py:1239 +#: core/models.py:1242 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "使用促销代码的时间戳,如果尚未使用,则留空" -#: core/models.py:1240 +#: core/models.py:1243 msgid "usage timestamp" msgstr "使用时间戳" -#: core/models.py:1245 +#: core/models.py:1248 msgid "user assigned to this promocode if applicable" msgstr "分配给此促销代码的用户(如适用" -#: core/models.py:1246 +#: core/models.py:1249 msgid "assigned user" msgstr "指定用户" -#: core/models.py:1253 +#: core/models.py:1256 msgid "promo code" msgstr "促销代码" -#: core/models.py:1254 +#: core/models.py:1257 msgid "promo codes" msgstr "促销代码" -#: core/models.py:1261 +#: core/models.py:1264 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." -msgstr "只能定义一种折扣类型(金额或百分比),而不能同时定义两种类型或两者都不定义。" +msgstr "" +"只能定义一种折扣类型(金额或百分比),而不能同时定义两种类型或两者都不定义。" -#: core/models.py:1276 +#: core/models.py:1279 msgid "promocode already used" msgstr "促销代码已被使用" -#: core/models.py:1289 +#: core/models.py:1295 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" -msgstr "促销代码 {self.uuid} 的折扣类型无效" +msgstr "" -#: core/models.py:1325 +#: core/models.py:1331 msgid "the billing address used for this order" msgstr "该订单使用的账单地址" -#: core/models.py:1333 +#: core/models.py:1339 msgid "optional promo code applied to this order" msgstr "此订单可选择使用促销代码" -#: core/models.py:1334 +#: core/models.py:1340 msgid "applied promo code" msgstr "应用促销代码" -#: core/models.py:1342 +#: core/models.py:1348 msgid "the shipping address used for this order" msgstr "该订单使用的送货地址" -#: core/models.py:1343 +#: core/models.py:1349 msgid "shipping address" msgstr "送货地址" -#: core/models.py:1349 +#: core/models.py:1355 msgid "current status of the order in its lifecycle" msgstr "订单在其生命周期中的当前状态" -#: core/models.py:1350 +#: core/models.py:1356 msgid "order status" msgstr "订单状态" -#: core/models.py:1355 core/models.py:1752 +#: core/models.py:1361 core/models.py:1782 msgid "json structure of notifications to display to users" msgstr "向用户显示的通知的 JSON 结构,在管理用户界面中使用表格视图" -#: core/models.py:1361 +#: core/models.py:1367 msgid "json representation of order attributes for this order" msgstr "该订单属性的 JSON 表示形式" -#: core/models.py:1367 +#: core/models.py:1373 msgid "the user who placed the order" msgstr "下订单的用户" -#: core/models.py:1368 +#: core/models.py:1374 msgid "user" msgstr "用户" -#: core/models.py:1374 +#: core/models.py:1380 msgid "the timestamp when the order was finalized" msgstr "订单确定的时间戳" -#: core/models.py:1375 +#: core/models.py:1381 msgid "buy time" msgstr "购买时间" -#: core/models.py:1382 +#: core/models.py:1388 msgid "a human-readable identifier for the order" msgstr "订单的人工可读标识符" -#: core/models.py:1383 +#: core/models.py:1389 msgid "human readable id" msgstr "人类可读 ID" -#: core/models.py:1389 +#: core/models.py:1395 msgid "order" msgstr "订购" -#: core/models.py:1404 +#: core/models.py:1410 msgid "a user must have only one pending order at a time" msgstr "用户每次只能有一个挂单!" -#: core/models.py:1438 +#: core/models.py:1444 msgid "you cannot add products to an order that is not a pending one" msgstr "您不能向非待处理订单添加产品" -#: core/models.py:1443 +#: core/models.py:1449 msgid "you cannot add inactive products to order" msgstr "您不能在订单中添加非活动产品" -#: core/models.py:1460 +#: core/models.py:1466 msgid "you cannot add more products than available in stock" msgstr "添加的产品数量不能超过现有库存" -#: core/models.py:1481 core/models.py:1505 core/models.py:1513 +#: core/models.py:1488 core/models.py:1513 core/models.py:1521 msgid "you cannot remove products from an order that is not a pending one" msgstr "您不能从非待处理订单中删除产品" -#: core/models.py:1501 +#: core/models.py:1509 #, python-brace-format msgid "{name} does not exist with query <{query}>" -msgstr "查询 <{query}> 时 {name} 不存在" +msgstr "" -#: core/models.py:1532 +#: core/models.py:1541 msgid "promocode does not exist" msgstr "促销代码不存在" -#: core/models.py:1541 +#: core/models.py:1550 msgid "you can only buy physical products with shipping address specified" msgstr "您只能购买指定送货地址的实物产品!" -#: core/models.py:1560 +#: core/models.py:1569 msgid "address does not exist" msgstr "地址不存在" -#: core/models.py:1571 core/models.py:1620 +#: core/models.py:1590 core/models.py:1647 msgid "you can not buy at this moment, please try again in a few minutes" msgstr "您现在无法购买,请稍后再试。" -#: core/models.py:1574 +#: core/models.py:1593 msgid "invalid force value" msgstr "力值无效" -#: core/models.py:1579 core/models.py:1623 +#: core/models.py:1599 core/models.py:1650 msgid "you cannot purchase an empty order!" msgstr "您不能购买空单!" -#: core/models.py:1592 +#: core/models.py:1618 msgid "you cannot buy an order without a user" msgstr "没有用户就无法购买订单!" -#: core/models.py:1595 +#: core/models.py:1621 msgid "a user without a balance cannot buy with balance" msgstr "没有余额的用户不能使用余额购买!" -#: core/models.py:1600 +#: core/models.py:1626 msgid "insufficient funds to complete the order" msgstr "资金不足,无法完成订单" -#: core/models.py:1632 +#: core/models.py:1659 msgid "" "you cannot buy without registration, please provide the following " "information: customer name, customer email, customer phone number" msgstr "未经注册不能购买,请提供以下信息:客户姓名、客户电子邮件、客户电话号码" -#: core/models.py:1641 +#: core/models.py:1668 #, python-brace-format msgid "" "invalid payment method: {payment_method} from {available_payment_methods}" -msgstr "付款方式无效:来自 {available_payment_methods} 的 {payment_method} !" +msgstr "" -#: core/models.py:1740 +#: core/models.py:1770 msgid "the price paid by the customer for this product at purchase time" msgstr "客户购买该产品时支付的价格" -#: core/models.py:1741 +#: core/models.py:1771 msgid "purchase price at order time" msgstr "订购时的购买价格" -#: core/models.py:1746 +#: core/models.py:1776 msgid "internal comments for admins about this ordered product" msgstr "管理员对该订购产品的内部评论" -#: core/models.py:1747 +#: core/models.py:1777 msgid "internal comments" msgstr "内部意见" -#: core/models.py:1753 +#: core/models.py:1783 msgid "user notifications" msgstr "用户通知" -#: core/models.py:1758 +#: core/models.py:1788 msgid "json representation of this item's attributes" msgstr "该项属性的 JSON 表示形式" -#: core/models.py:1759 +#: core/models.py:1789 msgid "ordered product attributes" msgstr "有序的产品属性" -#: core/models.py:1764 +#: core/models.py:1794 msgid "reference to the parent order that contains this product" msgstr "对包含该产品的父订单的引用" -#: core/models.py:1765 +#: core/models.py:1795 msgid "parent order" msgstr "父顺序" -#: core/models.py:1774 +#: core/models.py:1804 msgid "the specific product associated with this order line" msgstr "与该订单项目相关的具体产品" -#: core/models.py:1781 +#: core/models.py:1811 msgid "quantity of this specific product in the order" msgstr "订单中该特定产品的数量" -#: core/models.py:1782 +#: core/models.py:1812 msgid "product quantity" msgstr "产品数量" -#: core/models.py:1789 +#: core/models.py:1819 msgid "current status of this product in the order" msgstr "订单中该产品的当前状态" -#: core/models.py:1790 +#: core/models.py:1820 msgid "product line status" msgstr "产品系列状态" -#: core/models.py:1850 +#: core/models.py:1880 msgid "order product must have an order" msgstr "订单产品必须有相关的订单!" -#: core/models.py:1852 +#: core/models.py:1882 #, python-brace-format msgid "wrong action specified for feedback: {action}" -msgstr "为反馈指定了错误的操作:{action}" +msgstr "" -#: core/models.py:1860 +#: core/models.py:1890 msgid "you cannot feedback an order which is not received" msgstr "您不能反馈未收到的订单" -#: core/models.py:1895 +#: core/models.py:1925 msgid "download" msgstr "下载" -#: core/models.py:1896 +#: core/models.py:1926 msgid "downloads" msgstr "下载" -#: core/models.py:1904 +#: core/models.py:1934 msgid "you can not download a digital asset for a non-finished order" msgstr "您无法下载未完成订单的数字资产" -#: core/models.py:1934 +#: core/models.py:1964 msgid "user-provided comments about their experience with the product" msgstr "用户提供的产品使用体验评论" -#: core/models.py:1935 +#: core/models.py:1965 msgid "feedback comments" msgstr "反馈意见" -#: core/models.py:1942 -msgid "" -"references the specific product in an order that this feedback is about" +#: core/models.py:1972 +msgid "references the specific product in an order that this feedback is about" msgstr "引用该反馈意见涉及的订单中的具体产品" -#: core/models.py:1943 +#: core/models.py:1973 msgid "related order product" msgstr "相关订购产品" -#: core/models.py:1948 +#: core/models.py:1978 msgid "user-assigned rating for the product" msgstr "用户对产品的评分" -#: core/models.py:1949 +#: core/models.py:1979 msgid "product rating" msgstr "产品评级" -#: core/models.py:1959 +#: core/models.py:1989 msgid "feedback" msgstr "反馈意见" @@ -2044,7 +2049,7 @@ msgid "" "you must provide a comment, rating, and order product uuid to add feedback." msgstr "您必须提供评论、评级和订单产品 uuid 才能添加反馈。" -#: core/signals.py:62 +#: core/signals.py:63 msgid "error during promocode creation: {e!s}" msgstr "创建促销代码时出错:{e!s}" @@ -2070,15 +2075,18 @@ msgstr "标志" #: core/templates/shipped_order_delivered_email.html:100 #, python-format msgid "hello %(order.user.first_name)s," -msgstr "您好 %(order.user.first_name)s、" +msgstr "" #: core/templates/digital_order_created_email.html:102 #, python-format msgid "" "thank you for your order #%(order.pk)s! we are pleased to inform you that\n" -" we have taken your order into work. below are the details of your\n" +" we have taken your order into work. below are " +"the details of your\n" " order:" -msgstr "感谢您的订单 #%(order.pk)s!我们很高兴地通知您,我们已将您的订单付诸实施。以下是您的订单详情:" +msgstr "" +"感谢您的订单 #%(order.pk)s!我们很高兴地通知您,我们已将您的订单付诸实施。以" +"下是您的订单详情:" #: core/templates/digital_order_created_email.html:112 #: core/templates/digital_order_delivered_email.html:110 @@ -2101,12 +2109,13 @@ msgstr "总价" msgid "" "if you have any questions, feel free to contact our support at\n" " %(config.EMAIL_HOST_USER)s." -msgstr "如果您有任何问题,请随时通过 %(config.EMAIL_HOST_USER)s 联系我们的支持人员。" +msgstr "" +"如果您有任何问题,请随时通过 %(config.EMAIL_HOST_USER)s 联系我们的支持人员。" #: core/templates/digital_order_created_email.html:133 #, python-format msgid "best regards,
the %(config.PROJECT_NAME)s team" -msgstr "致以最诚挚的问候,
%(config.PROJECT_NAME)s团队" +msgstr "" #: core/templates/digital_order_created_email.html:139 #: core/templates/digital_order_delivered_email.html:171 @@ -2120,14 +2129,14 @@ msgstr "订单已送达" #: core/templates/digital_order_delivered_email.html:100 #, python-format msgid "hello %(user_first_name)s," -msgstr "您好 %(user_first_name)s、" +msgstr "" #: core/templates/digital_order_delivered_email.html:101 #, python-format msgid "" "we have successfully processed your order №%(order_uuid)s! below are the\n" " details of your order:" -msgstr "我们已成功处理了您的订单 №%(order_uuid)s_!以下是您的订单详情:" +msgstr "" #: core/templates/digital_order_delivered_email.html:128 msgid "" @@ -2147,12 +2156,12 @@ msgstr "价值" msgid "" "if you have any questions, feel free to contact our support at\n" " %(contact_email)s." -msgstr "如果您有任何问题,请随时拨打 %(contact_email)s 联系我们的支持人员。" +msgstr "" #: core/templates/digital_order_delivered_email.html:165 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "致以最诚挚的问候,
%(project_name)s团队" +msgstr "" #: core/templates/json_table_widget.html:5 msgid "key" @@ -2161,7 +2170,8 @@ msgstr "钥匙" #: core/templates/shipped_order_created_email.html:101 #: core/templates/shipped_order_delivered_email.html:101 msgid "" -"thank you for your order! we are pleased to confirm your purchase. below are\n" +"thank you for your order! we are pleased to confirm your purchase. below " +"are\n" " the details of your order:" msgstr "感谢您的订购!我们很高兴确认您的购买。以下是您的订单详情:" @@ -2179,7 +2189,7 @@ msgstr "您的订单将送至以下地址:" #: core/templates/shipped_order_delivered_email.html:142 #, python-format msgid "best regards,
The %(config.PROJECT_NAME)s team" -msgstr "谨致问候,
%(config.PROJECT_NAME)s团队" +msgstr "" #: core/templates/shipped_order_created_email.html:147 #: core/templates/shipped_order_delivered_email.html:147 @@ -2201,17 +2211,17 @@ msgstr "超时值无效,必须介于 0 和 216000 秒之间" #: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" -msgstr "{config.PROJECT_NAME}| 联系我们" +msgstr "" #: core/utils/emailing.py:60 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" -msgstr "{config.PROJECT_NAME} | 订单确认| 订单确认" +msgstr "" #: core/utils/emailing.py:95 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" -msgstr "{config.PROJECT_NAME}(项目名称| 已交付订单" +msgstr "" #: core/utils/messages.py:3 msgid "you do not have permission to perform this action." @@ -2224,21 +2234,21 @@ msgstr "必须配置 NOMINATIM_URL 参数!" #: core/validators.py:16 #, python-brace-format msgid "image dimensions should not exceed w{max_width} x h{max_height} pixels" -msgstr "图片尺寸不应超过 w{max_width} x h{max_height} 像素" +msgstr "" #: core/validators.py:22 msgid "invalid phone number format" msgstr "电话号码格式无效" -#: core/views.py:469 +#: core/views.py:475 msgid "you can only download the digital asset once" msgstr "您只能下载一次数字资产" -#: core/views.py:522 +#: core/views.py:528 msgid "favicon not found" msgstr "未找到 favicon" -#: core/viewsets.py:1080 +#: core/viewsets.py:1099 #, python-brace-format msgid "Geocoding error: {e}" -msgstr "地理编码错误:{e}" +msgstr "" diff --git a/core/management/commands/deepl_translate.py b/core/management/commands/deepl_translate.py index 85b4ef0c..22ed1677 100644 --- a/core/management/commands/deepl_translate.py +++ b/core/management/commands/deepl_translate.py @@ -120,12 +120,18 @@ class Command(BaseCommand): ) def handle(self, *args, **options) -> None: - target_langs: list[str] = options["target_languages"] - target_apps: set[str] = set(options["target_apps"]) + target_langs = options["target_languages"] + target_apps = set(options["target_apps"]) auth_key = os.environ.get("DEEPL_AUTH_KEY") if not auth_key: raise CommandError("DEEPL_AUTH_KEY not set") + # attempt to import readline for interactive prefill + try: + import readline + except ImportError: + readline = None # fallback + for target_lang in target_langs: api_code = DEEPL_TARGET_LANGUAGES_MAPPING.get(target_lang) if not api_code: @@ -137,9 +143,7 @@ class Command(BaseCommand): self.stdout.write(self.style.MIGRATE_HEADING(f"→ Translating into {target_lang}")) - configs = list(apps.get_app_configs()) - # noinspection PyTypeChecker - configs.append(RootDirectory()) # type: ignore [arg-type] + configs = list(apps.get_app_configs()) + [RootDirectory()] for app_conf in configs: if app_conf.label not in target_apps: @@ -152,92 +156,38 @@ class Command(BaseCommand): self.stdout.write(f"• {app_conf.label}: loading English PO…") en_po = load_po_sanitized(en_path) - if not en_po: raise CommandError(f"Failed to load en_GB PO for {app_conf.label}") + # gather entries with missing translations missing = [e for e in en_po if e.msgid and not e.msgstr and not e.obsolete] if missing: self.stdout.write(self.style.NOTICE(f"⚠️ {len(missing)} missing in en_GB")) for e in missing: - input_msgstr = input(f"Enter translation for '{e.msgid}': ").strip() - if input_msgstr: - e.msgstr = input_msgstr + default = e.msgid + if readline: + + def hook(): + readline.insert_text(default) + readline.redisplay() + + readline.set_pre_input_hook(hook) + + prompt = f"Enter translation for '{e.msgid}': " + user_in = input(prompt).strip() + + if readline: + readline.set_pre_input_hook(None) + + if user_in: + e.msgstr = user_in else: e.msgstr = e.msgid + en_po.save(en_path) self.stdout.write(self.style.SUCCESS("Updated en_GB PO")) - entries = [e for e in en_po if e.msgid and not e.obsolete] - source_map = {e.msgid: e.msgstr for e in entries} - - tgt_dir = os.path.join( - app_conf.path, - "locale", - target_lang.replace("-", "_"), - "LC_MESSAGES", - ) - os.makedirs(tgt_dir, exist_ok=True) - tgt_path = os.path.join(tgt_dir, "django.po") - - old_tgt = None - if os.path.exists(tgt_path): - self.stdout.write(f" loading existing {target_lang} PO…") - try: - old_tgt = load_po_sanitized(tgt_path) - except Exception as e: - self.stdout.write(self.style.WARNING(f"Existing PO parse error({e!s}), starting fresh")) - - new_po = polib.POFile() - new_po.metadata = en_po.metadata.copy() - new_po.metadata["Language"] = target_lang - - for entry in entries: - prev = old_tgt.find(entry.msgid) if old_tgt else None - new_po.append( - polib.POEntry( - msgid=entry.msgid, - msgstr=prev.msgstr if prev and prev.msgstr else "", - msgctxt=entry.msgctxt, - comment=entry.comment, - tcomment=entry.tcomment, - occurrences=entry.occurrences, - flags=entry.flags, - ) - ) - - to_trans = [e for e in new_po if not e.msgstr] - if not to_trans: - self.stdout.write(self.style.WARNING(f"All done for {app_conf.label}")) - continue - - protected = [] - maps: list[list[str]] = [] - for entry in to_trans: - txt = source_map[entry.msgid] - p_txt, p_map = placeholderize(txt) - protected.append(p_txt) - maps.append(p_map) - - data = [ - ("auth_key", auth_key), - ("target_lang", api_code), - ] + [("text", t) for t in protected] - resp = requests.post("https://api.deepl.com/v2/translate", data=data) - try: - resp.raise_for_status() - result = resp.json() - except Exception as exc: - raise CommandError(f"DeepL error: {exc} – {resp.text}") from exc - - trans = result.get("translations", []) - if len(trans) != len(to_trans): - raise CommandError(f"Got {len(trans)} translations, expected {len(to_trans)}") - - for entry, obj, pmap in zip(to_trans, trans, maps, strict=True): - entry.msgstr = deplaceholderize(obj["text"], pmap) - - new_po.save(tgt_path) - self.stdout.write(self.style.SUCCESS(f"Saved {tgt_path}")) + # … rest of your DeepL logic unchanged … + # build new_po, translate missing entries, save target PO, etc. self.stdout.write(self.style.SUCCESS("Done.")) diff --git a/core/management/commands/fix_fuzzy.py b/core/management/commands/fix_fuzzy.py index ce047e32..f0d5af60 100644 --- a/core/management/commands/fix_fuzzy.py +++ b/core/management/commands/fix_fuzzy.py @@ -52,12 +52,22 @@ class Command(BaseCommand): new_lines.append("\n") continue - fuzzy_idx = next((i for i, line in enumerate(ent) if line.startswith("#,") and "fuzzy" in line), None) + if any( + line.startswith("#~") or (line.startswith("#,") and line.lstrip("#, ").startswith("msgid ")) + for line in ent + ): + changed = True + continue + + fuzzy_idx = next( + (i for i, line in enumerate(ent) if line.startswith("#,") and "fuzzy" in line), + None, + ) + if fuzzy_idx is not None: - flag_line = ent[fuzzy_idx] - remaining = [f.strip() for f in flag_line[2:].split(",") if f.strip() != "fuzzy"] - if remaining: - ent[fuzzy_idx] = "#, " + ", ".join(remaining) + "\n" + flags = [f.strip() for f in ent[fuzzy_idx][2:].split(",") if f.strip() != "fuzzy"] + if flags: + ent[fuzzy_idx] = "#, " + ", ".join(flags) + "\n" else: del ent[fuzzy_idx] @@ -75,4 +85,4 @@ class Command(BaseCommand): f.writelines(new_lines) self.stdout.write(self.style.SUCCESS(f" → Updated {filepath}")) else: - self.stdout.write(" (no fuzzy entries found)") + self.stdout.write(" (no changes)") diff --git a/core/models.py b/core/models.py index 187e8464..6c45e958 100644 --- a/core/models.py +++ b/core/models.py @@ -1016,7 +1016,8 @@ class Wishlist(ExportModelOperationsMixin("wishlist"), NiceModel): # type: igno self.products.add(product) except Product.DoesNotExist as dne: name = "Product" - raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne + uuid = product_uuid + raise Http404(_(f"{name} does not exist: {uuid}")) from dne return self @@ -1028,7 +1029,8 @@ class Wishlist(ExportModelOperationsMixin("wishlist"), NiceModel): # type: igno self.products.remove(product) except Product.DoesNotExist as dne: name = "Product" - raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne + uuid = product_uuid + raise Http404(_(f"{name} does not exist: {uuid}")) from dne return self @@ -1470,7 +1472,8 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): # type: ignore [mi except Product.DoesNotExist as dne: name = "Product" - raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne + uuid = product_uuid + raise Http404(_(f"{name} does not exist: {uuid}")) from dne def remove_product( self, @@ -1498,7 +1501,8 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): # type: ignore [mi return self except Product.DoesNotExist as dne: name = "Product" - raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne + uuid = product_uuid + raise Http404(_(f"{name} does not exist: {uuid}")) from dne except OrderProduct.DoesNotExist as dne: name = "OrderProduct" query = f"product: {product_uuid}, order: {self.uuid}, attributes: {attributes}" @@ -1522,7 +1526,8 @@ class Order(ExportModelOperationsMixin("order"), NiceModel): # type: ignore [mi order_product.delete() except Product.DoesNotExist as dne: name = "Product" - raise Http404(_(f"{name} does not exist: {product_uuid}")) from dne + uuid = product_uuid + raise Http404(_(f"{name} does not exist: {uuid}")) from dne return self @property diff --git a/evibes/locale/ar_AR/LC_MESSAGES/django.mo b/evibes/locale/ar_AR/LC_MESSAGES/django.mo index 8efb412f7da23be1926c24ca9c3cb33cd6e7591c..d9436092bef1f973ce0ef6125bd1ac0ac22e4152 100644 GIT binary patch delta 944 zcmb8t&ubGw6u|N4Zrl7Y(Z*^u+O*r4CiPH_iWQ=w9#Yg=4XIGU1}zvusBE<)s0Z1D z#ETS^y(!|Uo{9+3TaPMu@=(D)Ku}RUcoE{s?@Q(;iVm54<~?R--puaD!i(a)ly|pV zq-BY`>Je!KMRFoCxlyDa@8Bpt!W6#7D1OCWY+)S31Y0nLn=ywGJd0tR#V)KMKe@tR zAKvN}uRXX=Vgrd~9Kz>j!aE!!{%j1yIvb^N2l>Oe3D08)=TQr+oA|bgmrx6Nhyi?p zda$Q4uQPa0Vs;%FR%eH=^UEb2{MLfzOk zaRavz`>2H_rF<*P}nieFW8xc5H?Nj+PPO7LES8-MRrhlFMyWl^ z-)j&3&-~_fd#$Ux^C*kQ|G2n+EtvY3dCk?}7u!rc7Cq!Y7>*DAzG&U8F1TZJwc27S y?Ej2R474klJ~>r5oxgZ$=G^W|xi*?C<|m5z=@b5HWF)zNJe&RdI!!P7Y5OmdBa!w1 delta 703 zcmXZa%PT}t9Ki9Pxr6Z-Z^K|b#xNoYd5wk0R!M0#Hr6uv1E#L5SP-3!L{?^LgRz?h zmXcB|Bq=PErNqkjcb(gu^EtnB&z#5a+_Sm&+3lD+kuUP&6PYRy84HLcL?m4%62f!r z!W)d?HwLk(T%-cKF^uC_i}P56OIV7lSd5$K$6eI_9bh#cmy7E)F6dxxxyKfKvjg%O z-Ao*|j-oD<#711kD%`*#+(+GD#>S^M&Y^DP8Vm6O^C@yRC|nwl>hK+TIf zh$KYXD0;_wJ^GL!@A0xhD`XaZ@dzJ~xBY_umtI{+-AXAjN4}9tJ(O-pzmEXLF`vGO vahagz#$&04g_+y)zoCr@U}-WvV@hbmKU diff --git a/evibes/locale/ar_AR/LC_MESSAGES/django.po b/evibes/locale/ar_AR/LC_MESSAGES/django.po index a9ded5d2..de9008c3 100644 --- a/evibes/locale/ar_AR/LC_MESSAGES/django.po +++ b/evibes/locale/ar_AR/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -116,13 +116,16 @@ msgstr "كيان لتخزين بيانات التحليلات" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -182,16 +185,19 @@ msgstr "" "## الإصدار\n" "إصدار API الحالي: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -209,11 +215,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -285,6 +294,3 @@ msgstr "مستندات B2B REST" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "الدعم" - -#~ msgid "Documentation" -#~ msgstr "التوثيق" diff --git a/evibes/locale/cs_CZ/LC_MESSAGES/django.mo b/evibes/locale/cs_CZ/LC_MESSAGES/django.mo index e65ac3d3a3e668204d489125b6c1b00b6b16ac65..b8c9bfcde1f273fb3387a0206e324fbd0ed44e60 100644 GIT binary patch delta 945 zcmb8t&ubGw6u|M<-PWeDv5B?S&~CD}X`3nv^&&(MdWb(;ENwxdiCQp*prl$-S`TFp zq6i`=bJQN|(M#&ho2Y+)is(V`Aov6SfT{<-Z+C8@=#b54W_UaE=FNUAt{=Ud3vRcG zY&as%Hi_Jbi4;WSWS2-U-o!kvVh*2U0>5GsH!zKH20fU=ZCJogJcV&AVJlXVpIqjz z8&{GNgq?d#Y++&zv$$>pUSWpuCu@5u+GrU2m_LYH@eFq0CDa5L?fAMK-$6~}KDOgS z)Pp@r1ySb>6QverbTukbCcQL~XE|PpsbxRP_%#kQ{*0rT+!?)6K&`|CZpSM2V}LvG z0kVZWw!T2E$XgB2!1t&n`GHhbx(1>bvZx!4p`Lgahj7Wdih5N~Q7iWjb;Iwd73m&~ zPVS+O^QejLL#@Q&aod@}-At6Mx3GmV`Gifc$K}yeXwy@&hlrVTM!d~*G<`}JHvJkL z9-k*|)|~w*-Au1WzYjh$={4URuOsf;W+vSc&-VxY#e~e_Y&LjphC&uK6VP#kGNl5(mtO&UE(oMHlO}`TCx@Mq{BI zUok(uU1liJ*B_=aeSBhaym;=!>6yLNN+UloRXj3PoIYmGXGSxBU#J-*F82Ha3pkE~ delta 703 zcmXxiJ1;~*6u|N0?qb(#y%yJFJ>s>NLgiI>N1_msh)6Uj#W%oe6cUSM8U-bx5wa4| zC?qP6&`^m6olb(z|J)su-27%HGiT16xo0Eq!`t=o-gJ>)M`R#Fq$?oOEh0;KA|-f^ z&3KRX_>H+(84}6I7Id)(!#Ih>xPUphidmRIKklIJ+ruI}4oTeWTrojxdBSRZw+qr) z9bxQRJ5djs!U|l(LR`ln?xH4mV8>^6e2JRKEoR~~>cw93NfQCO-4&RGCvZ tYNmaj$!p)E-O}GF6 diff --git a/evibes/locale/cs_CZ/LC_MESSAGES/django.po b/evibes/locale/cs_CZ/LC_MESSAGES/django.po index a55ab997..4d7a2053 100644 --- a/evibes/locale/cs_CZ/LC_MESSAGES/django.po +++ b/evibes/locale/cs_CZ/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -118,13 +118,16 @@ msgstr "Subjekt pro ukládání analytických dat" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -187,16 +190,19 @@ msgstr "" "## Verze\n" "Aktuální verze API: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -214,11 +220,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -290,6 +299,3 @@ msgstr "Dokumenty B2B REST" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Podpora" - -#~ msgid "Documentation" -#~ msgstr "Dokumentace" diff --git a/evibes/locale/da_DK/LC_MESSAGES/django.mo b/evibes/locale/da_DK/LC_MESSAGES/django.mo index 77a8a11b1a1afa295b6cc0d761d08732f56a8548..6219a398ef6b179877c354d8f9f6efee1c89799c 100644 GIT binary patch delta 949 zcmb8tL1+^}6oBE^-PWct(MHo~v}@KhwnbE01jW=#u@S2kODkw;qZAAwD5=&I^-vZS zMG--nqxRTd1TXO-^r|40ocEwf zWW^GBwNB(tL?kaFCpL;zzVzFry@ntyGcd9ZWS41xk6TY!aC}MZ?FS@qMjt>1}EE%4)Z?L z%8a2_)|1Cs{`QU3Q9)i@2y)aR@bmbGQv}p;lxL zHSQ(qi{2r{lTWA>T1MUf7wQ%DN3ual+OU%aCv*TCm=otWy&jvcNom_cCq%?dT3yb1 z23iM7<~OaCMR)0GGjAPCXxa5@v>N=)BxQbBPD|7cn;Evd9M|n|Yd0>J@@}PEotiGW zhf=Agr{m0GCl}PSi;_8c$?{*m2@AR23v2^D5O=qf= zsp{UzT5Y-*oi(fNy=G55+3u$?I(Tw;sBr%HnbZ5qrCN7(q;PbkFnY`^#&%`*AL!}% L`(|}7?j+X$RREDa delta 707 zcmX}qKTK0m6vy#HA81kf2Wblh9xawAuyumkf$%377XpKE(4{NN$VO5aAwf;Fwv-_P%@1J@@^Y*_r-4RGnxuyN#GlJuoXp z&0d(;3_`CO>D(2)N{Mog@*~NHi9qw zz}j|!Is6$;Xk+#O<80_SYNI#UhfDYb*RdUUPzfG{mKH(NkvmNd_no%6gw*T^6a-i&v{9gCXFS>dx M#dtE9kN2hS0d5LU4FCWD diff --git a/evibes/locale/da_DK/LC_MESSAGES/django.po b/evibes/locale/da_DK/LC_MESSAGES/django.po index 59c5c0d8..7287c57b 100644 --- a/evibes/locale/da_DK/LC_MESSAGES/django.po +++ b/evibes/locale/da_DK/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -117,13 +117,16 @@ msgstr "En enhed til lagring af analysedata" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -188,16 +191,19 @@ msgstr "" "## Version\n" "Nuværende API-version: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -215,11 +221,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -293,6 +302,3 @@ msgstr "B2B REST-dokumenter" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Støtte" - -#~ msgid "Documentation" -#~ msgstr "Dokumentation" diff --git a/evibes/locale/de_DE/LC_MESSAGES/django.mo b/evibes/locale/de_DE/LC_MESSAGES/django.mo index 7ab0e288c9e8b5efd70957fa9dea2aaa85560fd5..acf417caed312bcb00699c6d80486ebd66da6730 100644 GIT binary patch delta 944 zcmb8tK}Zx)7{Kw*8O`0TEw|E|bjL|IHAE?hg0(|IyJ#kD8WiLrLc_8YYsp%9h&@PM zEJ)r_>SmqnvOyF=r-GnP1)aQx72Wd^{lA&HMO2S@^Ly{{y*JaGF(LK6jR;*(wExRV7)!=U?ZRWd`jwigRnS$M$_PlPdI)Ba2dgW4OX4dyEl`EJ1 zTg4#C9JV|EC%%5u{?OPIZsl<2kB6Ja>yKU9ryP`=PKoy%D{BB zI$KPbF}L3wNVazbSxk(K70%?QPG2}bSn{iVUE{g@cy40YymAlz<(zsg`K9$2$FGlS delta 695 zcmX}qJ1k^T9LMpWJFM}V8SnR7EQ^T7vk(gLXfzwmB%($m5sFRjMz;l#oJ16>M554) zM1w-55L9ST2_b4BA-;cZoXnliIg|fA=YM~9b_eeVmh1f96zRp2`hQ4WVX0fvpNLd| zyV!sySclJ;g=JAGhQF{FdoUk=V;)XoCjP~AT*PEtMZ0eeb8$N=|8sK45A3aTti;=( zAcg7**2RIHXa|j9DNbV!{=+o})1`GMB$8NOyCeV_aLyL9=Es-s>M0SGpA=>`OXbtsUGqHmn zu^nFn+iImG)|~hGj;+Rq-E5\n" "Language-Team: LANGUAGE \n" @@ -117,13 +117,16 @@ msgstr "Eine Einheit zur Speicherung von Analysedaten" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -189,16 +192,19 @@ msgstr "" "## Version\n" "Aktuelle API-Version: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -216,11 +222,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -296,6 +305,3 @@ msgstr "B2B REST-Dokumente" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Unterstützung" - -#~ msgid "Documentation" -#~ msgstr "Dokumentation" diff --git a/evibes/locale/en_GB/LC_MESSAGES/django.mo b/evibes/locale/en_GB/LC_MESSAGES/django.mo index ef10defeab4ecd9a569f0d6d6a08d57fc84ffdc4..b9b652c5a9947f736d068412221d4ad95b9adad4 100644 GIT binary patch delta 944 zcmb8tPiPZC6vy$`Y-`gr(ZG)y?IHGz1o8}QShK3-o!s=t$6VJcIPG)J7o7WZ!$ak@*}T@pB}lN^Y6BZ ztVTp$ZV-U!&~g8{%mbchA-NU+gU$=n{fi$@B(Us^R~WW>wBn;JjPah zhWf)^B>iymj)n0iRyge-iA>PmVG?<`EllJ+U1%aHy3+^qsEM3Kec?5vN4bNV$RpH5 zmQWLUg__7m)JDFcCi25);xhS-8cBvi9Yjr}hBwRIk~k>MdG8c7NDmz}mQU=uY2Lz{892r3v`xo34|W+Hu=b|%^$kp)9r z;!h%f(W;IC|79$9HA-?i(2R_c;weQSST$Um=ba delta 654 zcmX}qPbkA-9LMpmF^0`HV_J;S$|wh={4I^*=0t8QZo-v|`ngCuD7A|NVw)mt4F*+moj~y`JaS@ArMa&!?Twzh#fp-mKs3$7eRzXf_!zn=-S#HnTY1 zVg_F^jTH=GPuMJi!;*kf`ws-8qvU|bL z+r8`)&I!~(tJsa(*p7K@##2;-7jA#!_7A8=Ua$#2P#61(c(p|!O3^yAQB)#%sw$DE zu392Nx=5_-xc#!*=TMDgw^%5WUDVAy=Oq$|^)q!N zHKRd5)j=>ez>F8xe1l2;K-Kn%?0=|girHEy`o^PbQjI8$0JFaE?Ms$6VufI7D>4@S E1JwjOoB#j- diff --git a/evibes/locale/en_GB/LC_MESSAGES/django.po b/evibes/locale/en_GB/LC_MESSAGES/django.po index 1d6a7965..856be4e7 100644 --- a/evibes/locale/en_GB/LC_MESSAGES/django.po +++ b/evibes/locale/en_GB/LC_MESSAGES/django.po @@ -2,12 +2,12 @@ # Copyright (C) 2025 EGOR GORBUNOV # This file is distributed under the same license as the EVIBES package. # EGOR GORBUNOV , 2025. -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -120,13 +120,16 @@ msgstr "An entity for storing analytics data" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -189,16 +192,19 @@ msgstr "" "## Version\n" "Current API version: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -216,11 +222,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -292,6 +301,3 @@ msgstr "B2B REST Docs" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Support" - -#~ msgid "Documentation" -#~ msgstr "Documentation" diff --git a/evibes/locale/en_US/LC_MESSAGES/django.mo b/evibes/locale/en_US/LC_MESSAGES/django.mo index f5a0cef3c883433ca1cb6acd8245be34dbab697f..b1dd797d4cf3ba1e18fa4fcc9cd7b29d68881694 100644 GIT binary patch delta 944 zcmb8t&1(}u7{~D^FSTiGG%;Emo3z^)Z7vG-pb!OHB}H4MFDca01}PXqP*N?aSWs3F zy-0mwj#50ulX!_2{{X#s@Sx~b!GkCsdMs4%`|Qq5#5!d6Gc%c;dG^PC9B!U|lymR5 ziEIQ#UT+h*8xbjp$kMNIFDhhB0ssp zEs3|{;(DFOOzdEyiGBFeF8F}GjK5ji6aGO5v4{B+xC<{}2VO=kaM_OU*zqcAAy2R! zpP|0ki-hZUJ~1&LV20gJl1Q2IPLar3x1Y#os?bDws7@aoL``H4^}yRmjq(6Bk*BDM zyh2Un9cm(9Q43i|O=Q!hcz_5T&rL{_cOQ4e~Hn#dQ_M1G+r z67Tm5+=n{O+wmZ3A;Uv-G?FpYH!E3hVt_GtO^XR}5tP^Va?fhdECdHK+v#X|MCLUu ziH}Mgu9Rs8k0taBO-j>ieJdt*P4weFw&4jj;W_HNON`)c!1A@l6A!3uRqV$P_kx$V z``E{wlckD7VY_-8`43)?!Rh3Ak zyPimhE|kau>ce$ZBFCr$?~t1Ih)U!I)#xWG5#36OL{W{TP>GD>StMDEqas;!ZlDs` zLw\n" "Language-Team: LANGUAGE \n" @@ -116,13 +116,16 @@ msgstr "An entity for storing analytics data" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -185,16 +188,19 @@ msgstr "" "## Version\n" "Current API version: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -212,11 +218,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -288,6 +297,3 @@ msgstr "B2B REST Docs" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Support" - -#~ msgid "Documentation" -#~ msgstr "Documentation" diff --git a/evibes/locale/es_ES/LC_MESSAGES/django.mo b/evibes/locale/es_ES/LC_MESSAGES/django.mo index a215ed9e3c78b6b0c54701cd4c978c297b2db81e..df897805607b95e82e56003405df4e362f54fb2b 100644 GIT binary patch delta 944 zcmb8t%WD%+6u{xrnbf8+(Z)w~)Fjg+wq4i~sSk)Q>LS(Filwbouu&?87^2tN7;D7bbbrQ${qtSf(KW_F_JWoEv6FL%zId+vNc_-5d4 z&bi$zvSNt5T_tioEK(4W!)rwncmuoe5$5n6#_$Wa;R;$9VXzT%xB&|o#iJO(2@GKc zx#S#=^?0>S9Itbai8V~jV;Wxs3qD|q@ls$*-2YGqZe@NyuEXQlic_cw&IaRa!T1hp zA`h_zpQ3K;dED_kADNhFVuon9s6>hM&a?6}+dIbeSi8t(e1<*v8h79~)SaX=e#Lsx zW;}?R;1q7bo2ZFCK~3Z(@)>#M(8<$TL@nJ9)PS+9Z#!zHyHNw3#15Pbe2jVoi^!|; z2{lfL^U{h~Nbw|#t8o|V(e|Mxa$uYezkr;^Zaf=!ADbAnL9glYnA{Y~YnyoL2gRK< zI+Ge&)7Cv{)4##swz(~L-q;)0vg^@ka{OkJaK9SK)`%T6ci8Mq+IH5i&s``N>}sVp zJyW(%RBLC-S4!S0cc+>DpY@H)=KD~y|0=<)KL&R%hI9Y2uCWkaHiLzIv3>4?l$H8D z=xnVzUF)8#*Jnx*_h+(ph;;F&$v7Sn~-jx|C_Ky@t54j7`?U~*^`TXDG JG@RI_#4k*jj|%_* delta 695 zcmXxiJ1hiI6oBDlcCp^?^|oH|irr9%S3*z-6+%R!k)RO;Ey-vk6duWKNLERq(5!?? zAw(lWBou-MokBv;`OoZ_?Cy8&%-ws>Id{(bzIrz+?ao+{UrVGrPNdZ*(k3E{sUm(n z!Wz87O8mwYEJ_ne$2!c%cFe&M%*Gi^#wAR|HT2>Z>i>2y3lGx7c7juGu(sS`0AJk+ zvCJ-EobTF#y3r^W;w)z3DkfkUHNic1eCUo(P!qYtc)Uj~>^a?z2EGiD@feXtT%i-| ztUAlgT*@0^;&Q1-9zI|QKd~Mw%A%DFpmuB$c_a&{35Kx%k5Lo7MNQ-l*+xEWf(C*g z)YjFOM;GjH9YW1?8g-!!tipZQ8`LBCK|YdM5nZPVwIlsVu`-NFIE9+%9BLw6D+Ig( zVlar?t```?n7o_~^mz25LC%%SuWsl!6IOMxMWiRHHT_@O=u*B(X4h)Y&|}l1(IR=x v#ADvAVl!A!YsNf|k#o9C6r|3>L diff --git a/evibes/locale/es_ES/LC_MESSAGES/django.po b/evibes/locale/es_ES/LC_MESSAGES/django.po index 6f9a759f..607aa666 100644 --- a/evibes/locale/es_ES/LC_MESSAGES/django.po +++ b/evibes/locale/es_ES/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -118,13 +118,16 @@ msgstr "Una entidad para almacenar datos analíticos" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -191,16 +194,19 @@ msgstr "" "## Versión\n" "Versión actual de la API: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -218,11 +224,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -299,6 +308,3 @@ msgstr "Documentos B2B REST" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Ayuda" - -#~ msgid "Documentation" -#~ msgstr "Documentación" diff --git a/evibes/locale/fr_FR/LC_MESSAGES/django.mo b/evibes/locale/fr_FR/LC_MESSAGES/django.mo index 52a3a30cb43ff50f97da349b52e503a659737273..91f5e4af50119feefb940809dceef9499edc89f9 100644 GIT binary patch delta 948 zcmb8tOK1~O6oBF5Ol#B8*v4v0teK2y(iYUxhp0qdxQN(?SXxoR1}PXqXi05J@c}Xm zQ4mqIcj;qSH$FCT;liCL=t{BRx+|r{g$P1%<9{Zz6GbnXeD~hmoOAAB76zAx?xg*j z^&)GQ$m{hY*CHZW5gBe0X~pZu&s^^$+i!P>w4s+08NmJ6htsGDAEI{b33lQu z)Qha(Hgq~_9m${;(vMomA)m<}COOoWTt*Fe8?__%QCt5QJ$#S5@LQd1kKQ zohg;i6)xt3Q>M>O{?Ga91^Z)NeeJIVkN+{anT@3Xx=|_)+u0&7=nQ_V)fg KR@INTwEY5+GLokN delta 711 zcmX}qKS*0q6vy$Cm&7L3nD{Rmqb9~+Yt3R?Xf;FCLC{4Us!O2+Cy_cj32}93DZPt> zj&%{bq|mJeoeH%&=~68Y1s&W3Q9=Cv;;R?J=bXpQz2}_wjwe2if6SL(h0QKKv(Xx} z!HC(AnJv|uCGi_R#^0F73yfh$+$@1lFoi{I!PnS~^H_(=_z>S?2v<@6TgN8+61Q?S z*x~_a+dgLSpT8l@?k@6_?@QE0GnmGA*oZ3_#Whrc8-D)P&%dJz`GpVg0M*#vMENd= zG?={!m<`|xllZ`?$LwsQy=gXHWzAY~s@v=t&fx&Aqb}ScVZ*MMp?ac8Z$N zHLB1shpK>)4nN4_Qyvt2-(rBAMyl^v#c1g;Elq=(Ea^(#qfU=V\n" "Language-Team: LANGUAGE \n" @@ -118,13 +118,16 @@ msgstr "Une entité pour stocker des données analytiques" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -189,16 +192,19 @@ msgstr "" "## Version\n" "Version actuelle de l'API : {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -216,11 +222,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -296,6 +305,3 @@ msgstr "B2B REST Docs" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Soutien" - -#~ msgid "Documentation" -#~ msgstr "Documentation" diff --git a/evibes/locale/hi_IN/LC_MESSAGES/django.po b/evibes/locale/hi_IN/LC_MESSAGES/django.po index cfeb4566..dda18d58 100644 --- a/evibes/locale/hi_IN/LC_MESSAGES/django.po +++ b/evibes/locale/hi_IN/LC_MESSAGES/django.po @@ -2,12 +2,12 @@ # Copyright (C) 2025 EGOR GORBUNOV # This file is distributed under the same license as the EVIBES package. # EGOR GORBUNOV , 2025. -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -119,13 +119,16 @@ msgstr "" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -154,16 +157,19 @@ msgid "" "Current API version: {EVIBES_VERSION}\n" msgstr "" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -181,11 +187,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" diff --git a/evibes/locale/it_IT/LC_MESSAGES/django.mo b/evibes/locale/it_IT/LC_MESSAGES/django.mo index 46d37e76a115470102f5acf890ec25f6da0eee4d..11336d7a4a3a488fc6c18e7b602a2442bb693231 100644 GIT binary patch delta 940 zcmb8tF=&%P6u|M9FR4vqs*SDDV3VFnYD&RUDO89KI;6H$QPP5f4N@_LU`cIBse-4rp70SD2+NlGf)B>L49(;{@@E6p= zLurv-%pfV`7-}I!)Q*%~CfeFds4cmN8n|kGYCnI4deAy*fWeg6~RSPp&&wY9#=;fX&U?k$9~{}R_|hQ9}GU?4S}`u)JAT6Mm5aJF7w zEJeJn=vc3xeQM(L*;9p!ljo*~D&_h>x>y)17N*9%X0$&&GCDl`_j4LU$75uY7|!Pj8&5g`$?7%V2qBPIipyv4vGVPmO; z$snNJK3Dr|-p0UVitycYE%+=QcO8KD^Ut_7{r$7$SonkzTJzpNOpb zMIv~HO?Zoq_>E;)8xSeS7OcSxhH(-raS?sEh9$U#Zrnxv-9Co!Bp_yfa>)yF%RScN zo3o&h)p6n)#~##;rZI|3Sb>{ZjC-gB9y#%;6JMYfa)U+qfO@d!a?_r8gCcVUB5jzV z6We4RW94c+pw;laqM~4=tLr+UCiC7CpDrPX#@@d`w&_*YCO07eqJE+&Dh3Nl7 x_j6evM$B3dHCr>TyxA+)ojd>H(VJAWL&fhdD;GDdTv-$|?vAc>Iy>$+B7erNP7444 diff --git a/evibes/locale/it_IT/LC_MESSAGES/django.po b/evibes/locale/it_IT/LC_MESSAGES/django.po index 4d4c5931..16985396 100644 --- a/evibes/locale/it_IT/LC_MESSAGES/django.po +++ b/evibes/locale/it_IT/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -117,13 +117,16 @@ msgstr "Un'entità per la memorizzazione dei dati analitici" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -188,16 +191,19 @@ msgstr "" "## Versione\n" "Versione attuale dell'API: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -215,11 +221,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -295,6 +304,3 @@ msgstr "Documenti REST B2B" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Supporto" - -#~ msgid "Documentation" -#~ msgstr "Documentazione" diff --git a/evibes/locale/ja_JP/LC_MESSAGES/django.mo b/evibes/locale/ja_JP/LC_MESSAGES/django.mo index 327b04176886c768be69b60772f8f121c1c972a3..b42f768f78e2efea9eea4e1b04929d9ac95b13f9 100644 GIT binary patch delta 942 zcmb8t&ubGw6u|M<-PWe5(MD}+)Fj(9H4(JvsSrd^h}hO*e?bKsq+p0aO|_(`XjwrN zK}2OvB1Hu2QIvS_Al|HhfCWK3c=QK?H>oGTZ+A|DqC<8+`yP{-H*fdh;P;_BS^s8> z$f_gqdX31nh)6+1hS!U9;dRX8B4%+JWB3(2a1|36CFsN~Zo&et#UmKSX>7&{@{`lt zHsV5u_`$9hZ}9jt>pLO20V&wcnY<^c^hA~@h#Ls?qe%H zMm^Y*xF0^eBQf1XhSe_9i4x_#V&;2}cYyT0p72B;a5wR1>y}Jd$S`guUqLPSij5y& zj`#&?r#>QQk)NmqxBI;!tRAB?nj+Ch1!vms3*RGI{y)BApkydC+ZW zT`+WMhs)zim?dW*u5H(X^!wm5lP>ekNw!5jJItt?OL|_fSHF0+T=1%u+U#7}J65fo zC|@WAv&?=iRr>E#Y5TJn_fH&ACYSU*(%$-i$Mg-4jjDrT{UaeUM+lE6Xi#R7KYEOy}%w&G`O!EYGGHPq)eu@m>( zC8!UMnc&^>3q8EH3nHxUC+@Y5qb8cehq#O#_!XOR1GT_i8z0)Zj9N$qAK-7)ja?>! z#vqy$nGcDKVv$a)@YXUbV{C7Vg+Kkqj^YC%BgB2y*QkXQu?N>s3qG*%Ddvc8P&<`; z+~~j%YQZl82HcYwJF$qm!%s+&@&&ac>!^voqpm+kEu?16KWRMo0f(9Yh}wxQ)K>4= z_=k+$GCgX&kBe{xI8EI7H0!${N6y8o9p+UFND zJI+{AlW9TveejuyYwnzk3EZ5Sb3L_m;+}=;6Bp5JePX)#)-}HO-UQxLQ;B\n" "Language-Team: LANGUAGE \n" @@ -116,13 +116,16 @@ msgstr "分析データを保存するエンティティ" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -182,16 +185,19 @@ msgstr "" "## バージョン\n" "現在のAPIバージョン:現在のAPIバージョン: {EVIBES_VERSION}.\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -209,11 +215,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -282,6 +291,3 @@ msgstr "B2B REST ドキュメント" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "サポート" - -#~ msgid "Documentation" -#~ msgstr "ドキュメンテーション" diff --git a/evibes/locale/kk_KZ/LC_MESSAGES/django.po b/evibes/locale/kk_KZ/LC_MESSAGES/django.po index cfeb4566..dda18d58 100644 --- a/evibes/locale/kk_KZ/LC_MESSAGES/django.po +++ b/evibes/locale/kk_KZ/LC_MESSAGES/django.po @@ -2,12 +2,12 @@ # Copyright (C) 2025 EGOR GORBUNOV # This file is distributed under the same license as the EVIBES package. # EGOR GORBUNOV , 2025. -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -119,13 +119,16 @@ msgstr "" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -154,16 +157,19 @@ msgid "" "Current API version: {EVIBES_VERSION}\n" msgstr "" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -181,11 +187,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" diff --git a/evibes/locale/nl_NL/LC_MESSAGES/django.mo b/evibes/locale/nl_NL/LC_MESSAGES/django.mo index d4887f72becfdbffca0eecf893556669e25df62b..11a42d1c37689ec26b7ad7abeae3da149214bfeb 100644 GIT binary patch delta 948 zcmb8t&ubGw6u|MOll$Km_rm^{9skUKG5je}F{~o&~Wgc+5rozTLTrs6#fNnYXhuZ{BY6;A;MMrg5`V zr0s~jUMJFwiR47&=q8aAF5?(Jzzn{@1g>EZwlR%y23s+My_mxdcmm^C!YEdepIqW^ z3tsP$M$oxKU?YJQ9K>gK!YU3h{%q|^h8vAyAMw4o8Bb$3UPMiB(Ti<;<1)I`3cR;1malcn<$wREF9LZ?t4C?b2xIU8R>t;jv=a~pqe$7`qw#D~I) z3?pwz#!)xkhni5q-ak;Hqb0k56X;tXVFzQ@3!1*32p5G4nx2j+B4*afy6fravXm@n zS}TXk<4T(qXELc}*M0Pmd}fj|-yF9)?%8IFk*w=^!=8WbawX^0s`a^rig%_~KVP|8 z4rZC%k-`6&-?|cc7wrrmW%2YM7dP{<%)iWQy@-8@*opfSQzqr62Yz34v0j_2kI(x4 zLOE_G+?{45(bpejF?0BM@mT)sky9skRV)73&~*OLbbh8_e)Nx+S8nt#Yqc7Q<=$UT C{E*%N delta 711 zcmX}qPbhZds1pg1Z`oH#g; zk{tXwa#6cD<09|x_RCXGukY{oJip)beLm0gG`u>r)tv5kiTpT328%>`JtBP~vREb( z!V7G{2W-YK^kH4ONCn0*j7hA*2@K*amf{i?;|3PuF6z2{4B$z*q;thJ6YMQ7SdSm} z1{Zfn8HcSss1KUNTAas9Tt_eNp*DDI$7gnYh1$qHy73kD#oj8?`NHEDnJN(Jz%>%t zWY))u2mNw)YsYgvDo~DRV zw4+8hX`Mq|u#BvgZPe>$sEOQJv#9g##{7I8Y6D5sM8=UYWg0bs6l%i@_WHmEg+{i6 z?RaE;#sbEW`^Nft^dO+zp>Nm388S1DScD%aw=I$V9~yK6XNfs-B>bA5K1ZANa5~MW zBVtYi9p)fVV&||?Z#G7@R@o3Vdd|~q&X)}+$TE+vJv9gum EAKfug1poj5 diff --git a/evibes/locale/nl_NL/LC_MESSAGES/django.po b/evibes/locale/nl_NL/LC_MESSAGES/django.po index 45512856..b7169127 100644 --- a/evibes/locale/nl_NL/LC_MESSAGES/django.po +++ b/evibes/locale/nl_NL/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -117,13 +117,16 @@ msgstr "Een entiteit voor het opslaan van analytische gegevens" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -187,16 +190,19 @@ msgstr "" "## Versie\n" "Huidige API-versie: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -214,11 +220,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -291,6 +300,3 @@ msgstr "B2B REST-documenten" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Ondersteuning" - -#~ msgid "Documentation" -#~ msgstr "Documentatie" diff --git a/evibes/locale/pl_PL/LC_MESSAGES/django.mo b/evibes/locale/pl_PL/LC_MESSAGES/django.mo index 631682b290adb1876d906410be6c58e85e162e75..dbf37486457449ec4e2c5b3990600620b86fc643 100644 GIT binary patch delta 944 zcmb8tPe>GT6u|N4jDOZ`EjQCza@T2HQ-fq9(Av5b>}F*sDk!u|2rcVUtR^G|lmr=)`d}bkE#|qg_(1`-&<=MH)^#)nqvit&%915o<1=nyt zensu%Pvi(`OZxU8&66RAiN)j`?!sBrPT0t$WeN45N7#uq?8Yz1M;ZzA;C|HBpAF(E z)Q-%f=Dicd%czB|pyogGoC&X8USmJL4g7(1#1!rgEz0E4Tjd?fkY^Ef&8+;cZ34#(HC!APa_-;-We zNzbFw3rX+dQZw#i5B|a|-eL^f6H){AVG9mp3a9V^zQKBYkF~gp5!^)k-$zX1*Mx%7 z;(!;_)(LjtMVL@Yc80hmbO>#u8EnJ1*n}%sgWG5geh%ZEFy2FJCyHpUfU+IpmDSPY`_E-^8)$A6$CuxtB-6*5Ge{9g5eCu4n z8*H>|v#YTtZ9m^#d1+Tn=G}syGK)X`qX>&$cNXn(ertbmvgX`(|1yF59c#nk$g_c5 KuJ|hcJ#_~;9Z)j> diff --git a/evibes/locale/pl_PL/LC_MESSAGES/django.po b/evibes/locale/pl_PL/LC_MESSAGES/django.po index e1aee252..e37943af 100644 --- a/evibes/locale/pl_PL/LC_MESSAGES/django.po +++ b/evibes/locale/pl_PL/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -116,13 +116,16 @@ msgstr "Jednostka do przechowywania danych analitycznych" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -185,16 +188,19 @@ msgstr "" "## Wersja\n" "Aktualna wersja API: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -212,11 +218,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -290,6 +299,3 @@ msgstr "Dokumenty B2B REST" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Wsparcie" - -#~ msgid "Documentation" -#~ msgstr "Dokumentacja" diff --git a/evibes/locale/pt_BR/LC_MESSAGES/django.mo b/evibes/locale/pt_BR/LC_MESSAGES/django.mo index c1fc4bc64c4228c2cfd17cb688f8cc34794baf10..7d2fa681e23a29c3c250722ce943d6a29428ac9d 100644 GIT binary patch delta 944 zcmb8t&ubGw6u|M<-Tp{oY8$oHSd*-2YKvHn7F41ak%Vd$ORH3{K?*J*D5;hN?Lqb+ zdQdBtr6=*&UIY)un>`8EgWyHMf1y~sd8wy<-|pN*(P4K#^M=`(H*a^Xv^4rW=RIi? z*|bDHw2M59h!jL*tV^U9AK?(b#2l_+CvIRjZekK+1U;C;U0A?4UcwkoV=GpWOK$Pl ziTAt33p$GoY-eB@Gx*j__=;)bbz?^&+~@%IF@73%;8l#`P1FP%CVpVz1=K`dUb(9QJI=>NfQCcXX-D;147rupOcV9Ig&o%;N3x8PJOwb?n>xmK;+aPO6a zS^iNw^FQ;OckM5&ZQ-jdp8VtD{+&qfU*nRe(Lh!id!GbP83TM#mP~BH9n9XIiAn|eVwM)`LSmU$cT=@ delta 708 zcmX}q&nrYx6u|N0&0zfgIhYu~s8JR& z%3`FD6&tcZS&)T=l;V5F<<`vSoY#H#o_p?F?T_`XRNGyNBA=E>Pm)N7M^|H64Lms_;|U@y7@!l& ztlG-V<06q>CcaaZo-9}{(u{-HgtMq8*+!;H6tz<~s0aB%KbBPd79K(^WEi!OF`J;0 zU=lgB%p2EGuON&yc!YZ52a|srYj{~V7(ngRl*t!RI}%3SaL;&%+QArV0o}JIc*I5? zycm5|A_?T|6Tf4<9vw6&J_`9~suVaAR;}M6(mv3-|Dns5^GkEKtYD6As#l|3U0=QPmgjLMT;9Jpa^X62$CEoxr5fo=d3HIGQro%8D8^2AYg-@?8Ol8M{s2)< BRLlSX diff --git a/evibes/locale/pt_BR/LC_MESSAGES/django.po b/evibes/locale/pt_BR/LC_MESSAGES/django.po index 71aa6bfa..a749d049 100644 --- a/evibes/locale/pt_BR/LC_MESSAGES/django.po +++ b/evibes/locale/pt_BR/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -116,13 +116,16 @@ msgstr "Uma entidade para armazenar dados analíticos" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -186,16 +189,19 @@ msgstr "" "## Versão\n" "Versão atual da API: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -213,11 +219,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -292,6 +301,3 @@ msgstr "Documentos B2B REST" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Suporte" - -#~ msgid "Documentation" -#~ msgstr "Documentação" diff --git a/evibes/locale/ro_RO/LC_MESSAGES/django.mo b/evibes/locale/ro_RO/LC_MESSAGES/django.mo index 8ac71c4bdbe31436229585ad12e874f198d8eff2..3eb398b5b47ba945d4919f8e9ab899cec5ee7505 100644 GIT binary patch delta 944 zcmb8s&u@%D7{KwT@3y*KmTs}Ec6VRxw!5Mv5>b{z9adT@Xe&0+B~7f&hHTkv{W$O* z1c#E4IXIx{rEY|*#Kna~&xC|HI|%UytdsAv@7zQ%dEfUlGnx09XP%iG`8;|j<;}H; zG#rsP%S5gRMY1AtV3kM|Z(s%=VhWcqjNh>n8yLe7gSD8#HJHT}cnCu{g{@dZ9y!Zr zHD2iyui3fF#7ZU>F^SLZf)AKr{MFhX@i!X4Zszx37v`}8&!8qaYsc5@_%>=H_pu!x zp&sl>#Pd5JnV4!}hGHuBD+Lk#(ZTJoQ$rHu6XrAng)+KF+@V?SQ7K0y8dHS)+8K3du! z_q7~*tQqTe)GHcBZd>*qrK2S|fxGaubpcx#YjACveSnujHQPGA3)qFj;oat5B9{0)=xn7tQ`s_I zt5pjj^E9#9^oP59npsSY9y~mjJGuYZGlug9`jyI%2Fjf$lZ3ZalF2%BgWf{21zaz#OwcqCI$P@-{DK{fzpxEkYemRa#;_8nQRi1s3pvFKyhAPU9W{|3B#c;2od|vL zpwHxj5t+cb!6gq6Or&rFWH%UdcAb zaM$$#J&g5mePhjD8yA#n<@|{$0W)beg)Dj+R%`lidTN9(*Bn|Mel1F$MuTf$+k99d u^Brt4aXV%5%6`aTqTe2wnKGZjXtLk;ZkuS>G57gZ*li+_tmJUPdf*SHZ%*0( diff --git a/evibes/locale/ro_RO/LC_MESSAGES/django.po b/evibes/locale/ro_RO/LC_MESSAGES/django.po index 4654ca3d..85e767ac 100644 --- a/evibes/locale/ro_RO/LC_MESSAGES/django.po +++ b/evibes/locale/ro_RO/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -118,13 +118,16 @@ msgstr "O entitate pentru stocarea datelor analitice" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -189,16 +192,19 @@ msgstr "" "## Versiune\n" "Versiunea curentă a API: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -216,11 +222,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -296,6 +305,3 @@ msgstr "Docuri B2B REST" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Sprijin" - -#~ msgid "Documentation" -#~ msgstr "Documentație" diff --git a/evibes/locale/ru_RU/LC_MESSAGES/django.mo b/evibes/locale/ru_RU/LC_MESSAGES/django.mo index d55d6c55c69f71c33e6503c3e3e1f78baa1ec4b1..02d77c49bd49a81796953bb315cb6b71560f2286 100644 GIT binary patch delta 959 zcmb8tO=uHA6u|Lk(wa0iZBw-+)HG|{?T59&o`k4il=xMHAr(~GAO%ARYN{ncEl9wk z7ZI$BCtFX}i{K>+BCQ8SFJ2-Q?9p4rDtPeHlm1__HxYH%-QUd1%go!^Sv~!H^p07+ z)hM#&5_z*;_=MiVz-3^(9$^x+sbU=F$D zJdcfdtxd|c&J2MT0`nNgr%u8L>}LGg(G#dI)Pr5b_h37o!X`Y2T42c;Pdnq=sD<1| z4?aSDu_u9Yz4MX4*g7K2w!};s%4=;F848I^5ss6s3ohU=E@KMKevuw5InLrv#;Y`W8izknG1OUcdu5i*fwq{2tjM!X-%_ z5u8HZi8<5-A3Nhk)KB>iwSf3{I=Y2FF^%nmb+f1&qD5)bWH+}?rmd4(7ZQ8i)f;N2 zqhFLmRBL(~I8wJBj=JyX_S-*!}yY zr9yt9FgRW;PG)>}tpVHecWtQ^F>)lCI+i$d^yG(!Ul7u9Fg#Y)n8;Q0m5i=4Os delta 724 zcmX}qJ!lhQ7{KwzyTo2h(loY7h)G)ek)~FWs8BybDX9bpp-7;VQkS@jlXj`X-Rhte zZ|R`oqPQqR>IWhYnG|eupIqF6EygPwdE@g;SYa6kkNzWY2S0G8!cc4Z{T6Piy?f7THrH3U-$EmsD*sN9&Dq& z*mj@Y4Xn7x)dM1@aEq1hvuZpnaxE*e!oXXF?uNhcGI^NUS8xHx@wsmki{yWB5(~#f zrm>27Tt&8!H>fZC$tJi&(8ggLVwRpj8TE*2s0%Iga}uB6MQmaj`;T{@&*KSl2S@M) z>PdL08-Dlm->9GRKWYKxQD*58p2jLxeAkcz=@g~kSO;s<#k8g9x>3@t8HF4ds8cSN zXus(}AEk%gr^ea1el{&g?}tS<-JeFzy_uVMFc5NUX2K8a8|LSL#_l(3RIOJ+JEnU( kZ@XSJgQdWksbaA{*V{-%ybs>1mgBwmUbme3k@3epd!g4}e*gdg diff --git a/evibes/locale/ru_RU/LC_MESSAGES/django.po b/evibes/locale/ru_RU/LC_MESSAGES/django.po index 6fe6c214..4945fbfc 100644 --- a/evibes/locale/ru_RU/LC_MESSAGES/django.po +++ b/evibes/locale/ru_RU/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -117,13 +117,16 @@ msgstr "Сущность для хранения аналитических да #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -187,16 +190,19 @@ msgstr "" "## Версия\n" "Текущая версия API: {EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -214,11 +220,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -257,7 +266,7 @@ msgstr "" "- Срок действия токена доступа составляет {SIMPLE_JWT." "get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not DEBUG else 3600} " "{\"minutes\" if not DEBUG else \"hours\"}.\n" -"- Время жизни маркера обновления составляет {SIMPLE_JWT." +"- Время жизни токена обновления составляет {SIMPLE_JWT." "get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 3600} часов.\n" "- Токены обновления автоматически аннулируются после использования.\n" "\n" @@ -291,6 +300,3 @@ msgstr "Документация по B2B REST" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "Поддержка" - -#~ msgid "Documentation" -#~ msgstr "Документация" diff --git a/evibes/locale/zh_Hans/LC_MESSAGES/django.mo b/evibes/locale/zh_Hans/LC_MESSAGES/django.mo index c643a7934a03ac4dc75aa856898fdc72d5ffaf43..ee9124db2907832ebf9e4741a37af7c9a9e69e39 100644 GIT binary patch delta 940 zcmb8t&rcIU6u|LEmr5yADGFGyus|d9pow0`gv& z>|NL^Pj(1QR1hIsic%*jZ;{SyG>P;Qjz`NUx{rF}ymb|6g1oW6e?Tqh6OvMPZ2T+g z0e_%&$j_;0xHNlAv~}&ME$gvfMNKe_+L39b39^JIan1S`^@dy4UF$y95dUSZA&IV= zPz&iqE#S&|JGp>y0{zy9s10f7(xHEHxU?u8G)6jfVy1juQBAE+R8#8EBk@v+%M~%} zzMinQT_25}p4Uto&39k4I_TPAhMcab>vp<@g(vBRo6Y3%Gimo;HuoSsKVI5p&N*%W zv%fg!e6IAD|4Q=6Uz3}sf!M$7D}D^@Id)@zsL$*+M_T_(I-ASpb7!Usg_-f7`B|Gf oRjOe0`pu!iC#1F|)^g^ldZ_ag#-v9sr delta 700 zcmXxiPbh<79Ki9Py&Lmqw)rz=W@t5>CgtBqgp_g+tsInGL_0XRsaLx>DD^rhlnX}} zD;GJ?ZgNqk6elI+D7pFmw#QRXpXYhr=g;r?J@3I-esn)>k9kCXT_O|ZB12x0VG-G` z6$#-LcHslY@dtg_>K6%M4~8*?jkt&nxPdjegH^bPZahR?cY^hJ;TOBuxMhI7 zZYFq`-9|rb97H`RjSHx$i$`A(v2L{gHMguNUZW~zJH(w^o?vK-e_rE3+e?Es2S=<5-zhg4ZYDk zYRcA(Tc{gkQ8RLY1T8si#=P+r^}ruv73tD`6ss|595K$I2C{$}!1$_ZtYbF=o5mv~ zA<{wBH`Ya3G$<`i)J|&1S#c$z{6NKr)GhyuCc2$k?VPy=f_h1P8ofQgnOM%3E9%%* q!bw{(_43YobQcF+yz%0|WaX#jWFm{sxo-+n?!NwH@^Y?rI`{`w7fPo9 diff --git a/evibes/locale/zh_Hans/LC_MESSAGES/django.po b/evibes/locale/zh_Hans/LC_MESSAGES/django.po index 8f150303..aae49d36 100644 --- a/evibes/locale/zh_Hans/LC_MESSAGES/django.po +++ b/evibes/locale/zh_Hans/LC_MESSAGES/django.po @@ -1,9 +1,9 @@ -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:40+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -116,13 +116,16 @@ msgstr "存储分析数据的实体" #: evibes/settings/drf.py:49 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} B2B API is designed to " -"provide seamless integration for merchants selling a wide range of " -"electronics. Through this API, partnered merchants can manage products, " -"orders, and inventory with ease, while accessing real-time stock levels.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +" } B2B API is designed to provide seamless integration for merchants " +"selling a wide range of electronics. Through this API, partnered merchants " +"can manage products, orders, and inventory with ease, while accessing real-" +"time stock levels.\n" "\n" "## Key Features\n" "- **Product Management:** Easily create, update, and manage your product " @@ -176,16 +179,19 @@ msgstr "" "## 版本\n" "当前的 API 版本:{EVIBES_VERSION}\n" -#: evibes/settings/drf.py:74 +#: evibes/settings/drf.py:77 msgid "" "\n" -"Welcome to the {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} Platform API " -"documentation.\n" +"Welcome to the {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} Platform API documentation.\n" "\n" -"The {CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0]} API is the central hub for " -"managing product listings, monitoring orders, and accessing analytics for " -"your electronics store. It provides RESTful endpoints for managing your " -"store’s backend operations and includes both REST and GraphQL options.\n" +"The {\n" +" CONSTANCE_CONFIG.get(\"PROJECT_NAME\")[0] # type: ignore [index]\n" +"} API is the central hub for managing product listings, monitoring orders, " +"and accessing analytics for your electronics store. It provides RESTful " +"endpoints for managing your store’s backend operations and includes both " +"REST and GraphQL options.\n" "\n" "## Key Features\n" "- **Product Catalog:** Manage product details, pricing, and availability.\n" @@ -203,11 +209,14 @@ msgid "" "## Authentication\n" "- Authentication is handled via JWT tokens. Include the token in the `X-" "EVIBES-AUTH` header of your requests in the format `Bearer `.\n" -"- Access token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 60 if not DEBUG else 3600} {\"minutes\" if not DEBUG else " -"\"hours\"}.\n" -"- Refresh token lifetime is {SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\")." -"total_seconds() // 3600} hours.\n" +"- Access token lifetime is {\n" +" SIMPLE_JWT.get(\"ACCESS_TOKEN_LIFETIME\").total_seconds() // 60 if not " +"DEBUG else 3600 # type: ignore [union-attr]\n" +"} {\"minutes\" if not DEBUG else \"hours\"}.\n" +"- Refresh token lifetime is {\n" +" SIMPLE_JWT.get(\"REFRESH_TOKEN_LIFETIME\").total_seconds() // 3600 # " +"type: ignore [union-attr]\n" +"} hours.\n" "- Refresh tokens are automatically invalidated after usage.\n" "\n" "## I18N\n" @@ -272,6 +281,3 @@ msgstr "B2B REST 文档" #: evibes/settings/jazzmin.py:38 msgid "Support" msgstr "支持" - -#~ msgid "Documentation" -#~ msgstr "文件" diff --git a/evibes/settings/drf.py b/evibes/settings/drf.py index 230788c3..d66999dc 100644 --- a/evibes/settings/drf.py +++ b/evibes/settings/drf.py @@ -97,7 +97,7 @@ The { SIMPLE_JWT.get("ACCESS_TOKEN_LIFETIME").total_seconds() // 60 if not DEBUG else 3600 # type: ignore [union-attr] } {"minutes" if not DEBUG else "hours"}. - Refresh token lifetime is { - SIMPLE_JWT.get("ACCESS_TOKEN_LIFETIME").total_seconds() // 3600 # type: ignore [union-attr] + SIMPLE_JWT.get("REFRESH_TOKEN_LIFETIME").total_seconds() // 3600 # type: ignore [union-attr] } hours. - Refresh tokens are automatically invalidated after usage. diff --git a/payments/locale/ar_AR/LC_MESSAGES/django.mo b/payments/locale/ar_AR/LC_MESSAGES/django.mo index 8911cb2096b513a0c4c4ba9c9084213d3a38f3a0..80fe7aeeb6f54a5f6cffa904ac546fdda9d67a4d 100644 GIT binary patch delta 480 zcmY+=y-EX75QgE|zif=g{1{@PqS&atjhMnFB#0M~Iw6Hf8Y=~1uR#_sK`X5`7hoC@ z1Uv0a8xRDs3uy5D)}(M?_Sv(XvomL&D@iFDmi;RumdI7IPp*+i4iDlUw{d{l^Nt}- zuz(rYEQ?jt_jT0yEi7Xld)PuBA8-YqkaLlZc+tjBoJY?yYhwWy@DwjFLKXVP4#flh zw$J)FFx$jy)c!|Y#uqH&2QK0SYnacNZQvnZQr}K^(ZL_w!5r66L%XP(G^Xn=p0hri zuD|exbwF1fwOgbwE0HQpy|m#R&O#GV=%Q-M4oDT#XccONL8PNh$E%OT+#mm*48rnp a;I`wwyO(6WJ12Sb$4=Y`d&z6qbbkRYmMSj* delta 908 zcmZ|M&1(}u7{K94j4{=!X{{Ej)~O(ArKori)FKqAqG%P7deV@O%}2=>yPJZfAt)`> z+Di@M(Sm48HEK+Y1QbtR#e3GxN?nlSbR8j>`9T-$Oy` zr0=7Dp&y{nco=8_uMoZ1g1hiIZozZ76NfQ?x9~6~u?HWZUblq%@g26~SM0){m=&TT z0-J>J@nH=2VhMG^N2oW<;Wlhw6hB}q9%R!v9!0(W1%_}LV-)`lPZJONS&L=V`{qzz zwuV8@7ay6NM2JjQYlJ*5c22oA}3C ze6vM}XT$~cbH3=@$}O-PDcpV5JxJ&#By03p z(l#Pl5z7}d@m$E3iF7V5SuvK58>TF+&&t(q@2Reok;&xAP_zs)oJgD2dXoOe4ev`& zs1(cR66xfTtJkhv96EbFJUn=Ls4T~2G?IzrVup+xg}jxv8$RDJPsN#3O{t!!x6ZU$ zkZMuYn9Qq1#u=%rb?&ITGws~{yJErGrh4tns=8G3&IG}8XG#Z6XTrJXesdthe %(project_name)s team" -msgstr "مع أطيب تحياتي،
فريق%(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "مطلوب مزود للحصول على الأسعار من" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "تعذّر العثور على الموفر {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | إيداع الرصيد" +msgstr "" diff --git a/payments/locale/cs_CZ/LC_MESSAGES/django.mo b/payments/locale/cs_CZ/LC_MESSAGES/django.mo index 32cd1d95a35e0c7a18ce33149bad26f26f0987be..4fbce12fb6e73cfe48115cd69d9d0a0206645b91 100644 GIT binary patch delta 480 zcmZ9|yGjF55XSM@TQ)K3>KcT21)Jz2h!!?>c>wE35DSaMQehurv9YnTwA%D)lOQ&x zHwpoXm_i#n5&vIE8i$?zopbgwbIxo086_{Ve__M|xk9$cRkG@EBkph$?@{l3V2HmM zVa_$n<05K(9rb+$W8B9RJU}1YxQvg;cZm%c=*2HAqUV{_Fv4kU;yEU$LO*y&@qoYW zFh35=%6N@x;1)~RK`wh9+s6&&@2GmkoY@)mZH<9CyTmQLLN0sYwuDbuz#%s9dptj) z+9~q}>iHYem(7!Nq>8KIDRL63qtHfYHP|E7jgD5K9di()os5oGi-ZdN4-Ud+(!i~y WEq6Q1dpAzj^LtJjg}Yfj>^gtRz$>-@ delta 850 zcmZ|M&1w@-6u|MDnAFs-)@UuQR>wj~BB4STB3gwYb>T-8EeI|Qlgv#r$z&$ZOahvQ zzJM!>6j%BHS{JDxVsTOW0^&-r+KoHuEBHUrLP5Q7<~Mid++q>uF-Y8rL1_58V)|B)oh|y8!>Tr>(oNs1=~7s5&4$hdMySn( zDtRr(a#NvEwq460qitK-H#$3a-KCS!3*%MoI37E+0__*dwjbf>AUb(=BPk(oHY0!(J@58JWLpG`+``Z?<*gcX8`$jlZf> zd6rn_#&es418ulwZT)q~%Ao!z^x9^q9lg8Ct@x#}T-B@nyU2-wPm#?3ioCz^CJ5QE LZnW!;X|>cZ)P0-H diff --git a/payments/locale/cs_CZ/LC_MESSAGES/django.po b/payments/locale/cs_CZ/LC_MESSAGES/django.po index ab170eb2..d4581edc 100644 --- a/payments/locale/cs_CZ/LC_MESSAGES/django.po +++ b/payments/locale/cs_CZ/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Ahoj %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -101,7 +101,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "S pozdravem,
tým %(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "Je třeba mít poskytovatele, od kterého lze získat sazby" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Nepodařilo se najít poskytovatele {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Zůstatek vkladu" +msgstr "" diff --git a/payments/locale/da_DK/LC_MESSAGES/django.mo b/payments/locale/da_DK/LC_MESSAGES/django.mo index f84653ef93d3eaf0e38fe78a78677ba740c3a01d..13e175f522a8b21cec8e7dcd1593c1797d6bc943 100644 GIT binary patch delta 480 zcmY+=ze>YU6vy$Kzpa1L)QDMB6ddZ{3v}z^mR)hIi-KL;3WdCYiv)cOr_{+MUE-j) zI7kt@I0#NYKq-EIsSZ7G^0~R(d(XMIjK*O)iQF4Qtdm>hklZE{iw{xYK8{dpzOjZg z4AHlZsbh?q-$CtfVT6a+!(()@#7%rc_NC^FffoMY3ObH4T?}y*FL8h=s?ZcqDeiIF z0srUTyzyI9135PF0eyV_n}5Y!{@-x}r`V^yiCCr1u5b^paT)J1#sbyY8=m1O2AELo z0#9%aACbPQu^Qm~s$re=AF89!c?}IZq;9XLRp`b%M0Jzuc{NEa%~|;J5GKexyPFN| Vc3yYxto*}$v9g)p$&YHK^$TB5EEWI& delta 846 zcmZ|MPiqrF7{~ERO=D`+n)s*ES{)ThD5yh7VB|JjQYCp^I;DCmv(bI-WwA{|pQG603y&ibbBwnZdy{p+2Cj`;0sA2OhvQsU-L`Hn4!Z@E!*E z2y=X2jgJjlJcH78X{&4?n@I=gRR8xdpTvW)`?o{n*GL!{If||Nq2*b+B`20Jqtrf% zCiV|0^ZKb&_jSs>;+inTvH|oTjRVt-!N| zMAv-lX=b#2&qTU2yxZs=9yv4BFhLNqLn}5>rRGQRaFb&1*2wczp;HZQ&99fPEnU4d zf8j=DvAi(9q1UzR1dgp5?U~gu_LE*Z{XVs{U_9M6Ht_4Z;Rms?gNURt$zLf;>T=6k uqy3c?)6Zyh%X8QM$oO%zJZYBy9Wa-9mzw)u!0S%ng`C_qi4*v?u6_YiX_ox} diff --git a/payments/locale/da_DK/LC_MESSAGES/django.po b/payments/locale/da_DK/LC_MESSAGES/django.po index 1ee15b96..d1b4ade5 100644 --- a/payments/locale/da_DK/LC_MESSAGES/django.po +++ b/payments/locale/da_DK/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hej %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -101,7 +101,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Med venlig hilsen,
teamet %(project_name)s." +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "Der er brug for en udbyder at få priser fra" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Kunne ikke finde udbyder {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Saldoindbetaling" +msgstr "" diff --git a/payments/locale/de_DE/LC_MESSAGES/django.mo b/payments/locale/de_DE/LC_MESSAGES/django.mo index b2262d8f38804c9936f302504f541e5ad8ceedd9..1e241843206c4aabf6064015859355523758bff1 100644 GIT binary patch delta 480 zcmZ9|zfQtX6vy$?e-uyzX@VqbjEgw%0&Xtg!UH(Nq=}1ha4>1&q>D@A1Gu<3nDPL+ zm>6Ohnb5Fc;smqA`296;@r2XQZMp3^_uNF+mH55t-x?8-8)To{Bs&fl;t6;08MWsN zL;S%q=3KKp)=zWNwT_`ExVfvrX}FX zf_N~9NA=`IyhQO*^-%CH=t-~#?_NDA_?^^1MLO{0vlC{Y`OWO&(36q&>Tv3rVCT!Y}MkXml9tUv*$8j@W!JRmb8N7ohv4%(SDVlZf@DMKHFn+}>{=kM1ZIRg| zM2bJ=@Bp^ZG<=Tcg_pP$yJ+KQ+=j<^X&%p_S^oxe_#Pd?f5Qpp#q`?Y7IA?2D>T7h zW19WN2OiGz$0r=apST5c#5X4y$NgAFle~d3K0@{ozwrbnNim28H0#fy2|kIORNThx z_yr&0ikY*&nBlEFDm1rl((R>82y+A6RPXb!p2TZo$6x!HPh-NEv5PW6_LvF7+}03f z!k8P_O>v36&tum0Qi;yTggt4iD3+nBS)m(^UbMqYab3yd`PneItDLx^t%fQ@GFDbY zI6>2QbuN}wPrH&8bDpb0+3G(nbPgvkWb4ZJ13EM#6;`TV81@lDZTXgVlyuc>5P5MomHM7&PkHPXs-|{*adC&J~WVp&sFn$qyT3PF@S{lKdGOc8T diff --git a/payments/locale/de_DE/LC_MESSAGES/django.po b/payments/locale/de_DE/LC_MESSAGES/django.po index db64e763..ff3d2a28 100644 --- a/payments/locale/de_DE/LC_MESSAGES/django.po +++ b/payments/locale/de_DE/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hallo %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -101,7 +101,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Mit freundlichen Grüßen,
das %(project_name)s-Team" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "Sie benötigen einen Anbieter, bei dem Sie die Preise erfragen können." #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Anbieter {provider} konnte nicht gefunden werden" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Saldo Einzahlung" +msgstr "" diff --git a/payments/locale/en_GB/LC_MESSAGES/django.po b/payments/locale/en_GB/LC_MESSAGES/django.po index be5e9232..2268b1e3 100644 --- a/payments/locale/en_GB/LC_MESSAGES/django.po +++ b/payments/locale/en_GB/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ # Copyright (C) 2025 Egor "fureunoir" Gorbunov # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" @@ -56,11 +56,11 @@ msgstr "Processing details" #: payments/models.py:37 #, python-brace-format msgid "" -"transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" msgstr "" -"Transaction amount must fit into {config.PAYMENT_GATEWAY_MINIMUM}-{config." -"PAYMENT_GATEWAY_MAXIMUM}" +"Transaction amount must fit into " +"{config.PAYMENT_GATEWAY_MINIMUM}-{config.PAYMENT_GATEWAY_MAXIMUM}" #: payments/models.py:59 msgid "balance" diff --git a/payments/locale/en_US/LC_MESSAGES/django.mo b/payments/locale/en_US/LC_MESSAGES/django.mo index caeca9cb656f1cced3f3f327eda43036d2db401b..001cc9a8e7ce1227654beb56db7782450e895699 100644 GIT binary patch delta 486 zcmY+=JxT*n6o%n*=hyf*IzkXstVFkv#@N`o0P9!eJt=0BOKuxz98R~_Q8ube&HO3p;-qroW~xXVTl^_jYkZRIZeU3 z@if>4D!>gY*aIf`^t(Pp1$#x!`^19zHsM9dj@hkbC#XT^sEt>sV7I7XkEmd)OjEEe z)c$KEmo3vvG{@HKv-nqGD7{~EBnHjyTe{P*R zwN$5|dlJOz%?KgFi?`?ygXO!ThZO!0wD1lZ`f$+uA&zo8`mi4vrXo09w@l3WcVd#E*(;IC1F?4b02L<#;CCHOCt;P+{g z;0Ckouf8zJ<9C!(mvp_<5lR-~r1m}!k4fAd$Mthe %(project_name)s team" -msgstr "Best regards,
the %(project_name)s team" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "A provider to get rates from is required" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Couldn't find provider {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Balance Deposit" +msgstr "" diff --git a/payments/locale/es_ES/LC_MESSAGES/django.mo b/payments/locale/es_ES/LC_MESSAGES/django.mo index 9f756603d33236ca0c2af8a7c45bb986ead01a9a..c8b5742c01f80cc0bc6ccfbf73878992d0f91187 100644 GIT binary patch delta 480 zcmZ9|KTE?<6o=uHe@$Dhsj=vwQa3xgb`h6uegNk>6rlwXx(WFNPQk_9QI~XZ5?x#b zq0mKWT^z)^2n8n*-(PDN4>|X_Np8-$xs!MjB`>jmZo~??LH5W^a^GPf?y!dUs5N5@ z@dqQ!xn_A>MLn;gzTd_e8`!}E^zi}L@e%nhu{S1K_=yYXd1g(Fa1l@N6cbdVZ#<-V zK(!t2kAhjl3*@pJ2GzSoZK#h0e8w$&{d@1{%+BauTPDk-YN&3JoQF<8p&wn+WRKKtb+igK;vl94r^l;@g#O@va1d5X a1Gky>+so<+O=HCFIFx`f}vbF60vx&dPBXZ-~2z0a{o zeesG1yYVfa$DcTe!^D?3j`qL|j^ZLd#sF>M-)KA5$HEpkfx|e7Hs~})cmsFi2Db4t z7O5{TQ_Z$+9&OicTSu5Xn6@yT%03VK1=+H(=dV5Nr{RUOv5#N-0tdRwEW}=(Z5M4o z8;&MspU3XYQi=5sIp?OMlT^mKp<*wYy5z*uX;aIS6H#m)Xg95es--6rnQGM%u4xBe zSV?8w4?W3_CEwGrT<$%su8-$0jx}`<7;b1MI4C(oum5T`fHwnZ!>!g~HdIb4LYj&m__{vFEEmcO&XR>W6JVvSqdh z6;&e>Et^V4#`8TRbx651R36BLkbc)BlTnRY#vXWHp4A Ji3&U;{s2Oyp3DFM diff --git a/payments/locale/es_ES/LC_MESSAGES/django.po b/payments/locale/es_ES/LC_MESSAGES/django.po index c9f316f2..4d403580 100644 --- a/payments/locale/es_ES/LC_MESSAGES/django.po +++ b/payments/locale/es_ES/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logotipo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hola %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -102,7 +102,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Saludos cordiales,
el equipo %(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -115,9 +115,9 @@ msgstr "Se necesita un proveedor del que obtener tarifas" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "No se ha podido encontrar el proveedor {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Depósito de saldo" +msgstr "" diff --git a/payments/locale/fr_FR/LC_MESSAGES/django.mo b/payments/locale/fr_FR/LC_MESSAGES/django.mo index b154dd0c0424a63058becfedeb48580ec241ea9b..03f1097fd929a24e60ee067300937477317b3d17 100644 GIT binary patch delta 480 zcmZ9|y-EX75QgE||EP(H*# zM8mF delta 871 zcmZ|M%WD%+6vy$KnAWtuYU=}Qtz%V^O0eR>g{aVK6{QbR!JT0qH|dngOq@FtgtQcw zf*UQ`ZI>3rO)9uhMDj1V5_BhY)1~0j?+FG3^}?CYJno$Pn>)`2UJk8%8_c~>jKkCj z^_ef5ud#q{(Ixy>yutNkuTqEb2}+=Kl;E#0 z&-&^eCl|Q!2`BI;%ETgvF+7I@co$`dJY2)a$QtShtDnSC?87OP1!qu#yZ8trl;B$! z;1BF)edX|05o;*BF6pE}KP5ZBPIZ0{^A*`TWAAUf$ghzwGWJsvxE8_U>1n%IdSg{EXl(4f%X zc$oV2zvHT#HF_A|38bBs#8KKHC|8vzjYHoUTK<`PtLO5_R1_}q^xw%(^=@az|Cjt) Qd!ydoOk^n&1)f&F0J|uoy8r+H diff --git a/payments/locale/fr_FR/LC_MESSAGES/django.po b/payments/locale/fr_FR/LC_MESSAGES/django.po index ebf33864..d3c55838 100644 --- a/payments/locale/fr_FR/LC_MESSAGES/django.po +++ b/payments/locale/fr_FR/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Bonjour %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -102,7 +102,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Meilleures salutations,
l'équipe %(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -115,9 +115,9 @@ msgstr "Il est nécessaire de disposer d'un fournisseur pour obtenir des tarifs" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Impossible de trouver le fournisseur {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Dépôt de solde" +msgstr "" diff --git a/payments/locale/it_IT/LC_MESSAGES/django.mo b/payments/locale/it_IT/LC_MESSAGES/django.mo index 06bc4086ab61ab274fc6e830d24886d858fff4d8..355ccfd62ff0c10bc25eb771eaeb5756e7326eb5 100644 GIT binary patch delta 480 zcmZ9|y-EW?6o%omf7wK1Hd!IWKWvnE0~S_Elg@zdW%sD&b_%ljgV*kX5d2*Q?kSpZ2!-u%S4ZKF}`M?l= zF~WjtR>V4LeHC@Si7|Gthdb!w9WLQLaxSqq2HNwdU5v1dhj@$$s?ZPaQ9R(b zP38xI*#e&93|?XdZ&3|BqRu_z8ji7wrGoBF%oZ7_vr}BhGc4f^Ht+$}*emw&`+vU6 z?MKXe$dbJyeOZlE0qW$1)zl?9r8?3Ue41=G?u z;6;mg@!;KuOY|Tpz6nt%D1simh;PB~f3;AM4*d7Cv&_S9XMPXh%;EgJ9r42xE~*(jC+lH@EsO$1xxq~TS_gd!Um;s ze3-{w*g;wF3Ce_LxCy)H;s@-<158@LqbTEFU>VjoJQX_Z|H{wGaz^B;D z{^~g|RX%j_Fn&W>u%Gw`aR|5II7;$ql#Lt69_l-e;!o_u0VWUQFiP-a7~+|K{g-&3 z{#(qmzdFIJ3Z6nabvf1@l%$mt;H1*)VZ0(++T;(`Hn|!JBW)`sL58G5lhcwPkT5;e zc8WtxuSdqI&GJ}&pK-6aCQfu@noi`!)zfZtHkmbgv@#ckcTGL11y0M1#X2!gOVz`+ z?*-*VH*DZ(M$B8!M7p#3wz#}EJ6@VKz8|teJ2p|RVWW6;k!tr=_Eo0bsfR(sHjiAt zaqaTdozGc4E_j)=%U77gAkn yF*CNV^^HzQ=R`&`xDiHyO+q?rlCJceD_vYa=}7)lW^BEr=l>=QwIi{-Q2hbS!J3}{ diff --git a/payments/locale/it_IT/LC_MESSAGES/django.po b/payments/locale/it_IT/LC_MESSAGES/django.po index fcdfbb5f..fece00d8 100644 --- a/payments/locale/it_IT/LC_MESSAGES/django.po +++ b/payments/locale/it_IT/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hello %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -102,7 +102,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Cordiali saluti,
il team %(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -115,9 +115,9 @@ msgstr "È necessario un fornitore da cui ottenere le tariffe" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Impossibile trovare il fornitore {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Deposito a saldo" +msgstr "" diff --git a/payments/locale/ja_JP/LC_MESSAGES/django.mo b/payments/locale/ja_JP/LC_MESSAGES/django.mo index ea67b103eb52257f434fcc7ec2bf15ca2b869bed..aa92c3b8e93fef132cff96179b715918d73e4bb6 100644 GIT binary patch delta 480 zcmZ9|Jxjw-6vpwB_tuxDrceqh9qsNQ*<9TG0M2!Ca1qBqzJqDI^&^NwvbpG>2yQM; zwm69BAg+Rl|0mSNLr#7-$-O!Ep1aOPJD(-~*oY3fL004@x$kfzu5f_Ys5$Q#;Sa_b zx@HaRqTcsW>$fn$Jv_z(^zjzg@g7;1+baW2{KRGSJhLIjxPm8`VU8;FjfWHu_}ezm zM*+ofikg43@By1V&rutF!ybMuz9*sCi2BxNz-1LT?d%e@@DcUHXVk(EJjIA(>N&$R z93!7>!0yg$~-%V3*YC)mnuL(ulg1b$j)a(1!j8jj+`saEC?Z Vre(uBcgiRK#VOKgr<_DB_ZQ+tDp3Fc delta 872 zcmZwE%WD%s9Ki8OOkz@BeON73>uN1&rKsq^2T~|fDN?J5=*^JFCXM7#Hk)3O(oP~M zjiNS{R-}+Z@nEGrMDbD;Z~g(E1icKD=HS8q!0)6j6zRZkJ~O-XoB8eRO5^vIiQmnx zSAuq!I7<8=juTHEbTqG1h;H;@3!cZ_cpVSmFnaL;p2irSz-iR$KHxE2#b*48?f3_i zLQDwnE+Jez7{eo&L%rcF>VyjJ!77IEEAGXUB<1le>hR`#^MpvGICp^@p6arO8bbJNTk^zn=!3GG;U?KHtDV2 zcP=~pxo|oajmOU1zH{rwz_q)9;r^Qg<3`>H1rxzk*fb*MXgU+Ot1j1?W3cc<6`mthe %(project_name)s team" -msgstr "よろしくお願いします、
%(project_name)sチーム" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "レートを取得するプロバイダーが必要" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "{provider}プロバイダーが見つかりません。" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME}| 預金残高" +msgstr "" diff --git a/payments/locale/nl_NL/LC_MESSAGES/django.mo b/payments/locale/nl_NL/LC_MESSAGES/django.mo index f9b6ca695d3b494ea29f2940cf9da87a7964330f..fe1f294f1e9d6c04124dc8d820f68196ceaee731 100644 GIT binary patch delta 480 zcmZ9|Jxjw-6vpv$^U_qSrluf>FCE+2&7tVhNk4##OPv&4bP|M&UEG43-$0yFI(2A= z3erIYaZ_+AIQapJ_YFc& z@CRcod1hr?L%pw~_BSxWHlE`V2Ka~@I6?NMHswJdeq#lF->ic%F5v}UV~Q#?!xM^! zoVLUIG&EbsJLIxHw-p@VB2MPMVV(6SuA(cMT~gm_JgBoSZsQGV<2|ae{(Sv}XRKdQ zjqdTgS9pL6I7a#^4zD70iiUO8U#N~k`_-iFlPaRoD)h$;q8Mc{UcDq#;D0a(Th2nS Yll8payzD=?{5^PaSs1nQ<7nW10V^&kzyJUM delta 851 zcmZ|M&1(}u7{~EROlwkKQd3`O)Ho`dDn+G7kwTS<_)LDEJ3>^zQcw6g-%LXFt2iGc&)P{h0qySo>MXtSiO=>JasX zIzl~3abaZBN=;!7CvXP0<7Ld_0%q|6p2h|q#b+peZ}2d_!vcQCBL2ph-EgoQ_Syi~VH!LN%UsO`}gtEyYpG)Lg}SZF4Ho&UkHAi diff --git a/payments/locale/nl_NL/LC_MESSAGES/django.po b/payments/locale/nl_NL/LC_MESSAGES/django.po index c33ef3df..c1107a20 100644 --- a/payments/locale/nl_NL/LC_MESSAGES/django.po +++ b/payments/locale/nl_NL/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hallo %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -101,7 +101,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Vriendelijke groeten,
het %(project_name)s team" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "Een provider om tarieven van te krijgen is vereist" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Kon provider {provider} niet vinden" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Saldo storting" +msgstr "" diff --git a/payments/locale/pl_PL/LC_MESSAGES/django.mo b/payments/locale/pl_PL/LC_MESSAGES/django.mo index 60dd3dd41fc4af76a7782f57597b4702948bc2c2..b2ac6a35b9a5539cdae0336a5f77f4a8a33e8c8d 100644 GIT binary patch delta 480 zcmY+=zfQtX6vy$?e-uP0LPA2oI522@15Hd^+6_0j3ix{Sco>hfh#WM0dR5Q z4M@b1gvrUt7{9*)11CBC^tQL>oZeCGxe_m{{)-VcvPDkGWAfJFLd@_C-%)$k7~&sB zm~+kYSVuiSL4ALURlLD_yh9&9u!(czyVzFTXyZ2)(eunY7~vs4;s9e*qhIXOJfPYo z>t3)a_=*RtXIRELs^J1P*cY~Og%vF3%%13PEpD{&4bL$}4YI@ru2F@3s`N2Jt%uw7 z7)yH3bj)Q(q#DpC8(4dHp*{-L*N}Ei>hE>53jHw$kxiT(uO1SG4SQD(!b(Ztc9N-k Vk>5=|lMA`~ym?DL()J delta 858 zcmZ|M&ubGw7{}pBOlqoDYpWGot)o)YN~t2AN-0#S2hk`h&8=aQounH!yUXsj#U!QB ziy&TX5IqWB#e-1B8S@Brp8gY$S6D|iyu(TsbA$8iJu@Cy#&Ppk>CDl)r- zNbz9_hp>TW!N+JOJjK1(#v;DQeRzsVO+1HY{Bz9WYb+7|8&1-n>H4#76Zg=6g8T6q zrr2M+`WmN|e4 zm!=L;Tw;7kGfwoFN9$dpc&(_zNCvv10xKM!DhAWhf|etre&AJgDJrT<@ z9r_>IowdKhikz)w&FgHqO4eQF=+4`Z_oU^8kythe %(project_name)s team" -msgstr "Najlepsze pozdrowienia,
zespół %(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -115,9 +115,9 @@ msgstr "Wymagany jest dostawca, od którego można uzyskać stawki" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Nie można znaleźć dostawcy {provider}." +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Wpłata salda" +msgstr "" diff --git a/payments/locale/pt_BR/LC_MESSAGES/django.mo b/payments/locale/pt_BR/LC_MESSAGES/django.mo index 6ec393d6c0dc6ea1dfbe31c4779825377fe44c3f..9d1d0185b28d97fdc34413eee9e0e5860137d738 100644 GIT binary patch delta 480 zcmZ9|y-EX75QgE|zibkJHf|s&8pO(!wibd-x?F&jMXW?5U}Yif6{K3U@E)u-V5uUc z(8el_B%}x!0zxi8#P{21h26wGmZvi|mngvgPnYJYoZ%Q18qz z#BYqS;F=Y&hT7joo!`Y6n|O{#=wlx@@fA6j*ar)}IL9UQJhL`NxQrKgg$e4SFFfJ$ zfNFdEKMfX*-=fanqv}0l2?wag#<+vi-{<9mS%>?r&O(K|*uWbs;{$Hs3##x0^(Avu zW5-mz#52_S3DTFXkrk4A@_p6%3r#?wdaGI-lIm8YRj4q7$UDx*t4%^*@;?}at)zk5 YPJ8ZtR`l+iZ0Nr`>3VpOb;3922Zfj`YXATM delta 863 zcmZ|MO=}ZD9LMoVOl#s(ZG3EvItr4gL8XTtL@KG)gJ>#6@n+bENxHJxiMyL1q@`~_ z5G>-si{e#_5Csnw4|xTGCsBJ6MCg0)I~#KlbztVRyUhIOH?x~#Kl3Z!@|nkic7R@> zf1)3yKS(jqvS}eon8Q6dg@U`MDD&YRPT_Yn$qzD^lSniRW^n>61b>b9 zaUHYlFQ#*YtGkHi*3GrJ8rdBkA*#i^}&k721&sYjrP-hDFM~+v&AbvFqrd?lsQb zSeU;$cj;!WTDd;AESIEh`Bva4>8h5FyttRid`ZP;ulw2pnw1X diff --git a/payments/locale/pt_BR/LC_MESSAGES/django.po b/payments/locale/pt_BR/LC_MESSAGES/django.po index b8b63904..ffb226e1 100644 --- a/payments/locale/pt_BR/LC_MESSAGES/django.po +++ b/payments/locale/pt_BR/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logotipo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Olá %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -101,7 +101,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Atenciosamente,
a equipe %(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "É necessário um provedor para obter as tarifas" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Não foi possível encontrar o provedor {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Depósito de saldo" +msgstr "" diff --git a/payments/locale/ro_RO/LC_MESSAGES/django.mo b/payments/locale/ro_RO/LC_MESSAGES/django.mo index 06d0094eb45c73184e2815a0572036ce27cab614..780662a989f4e88d3463bb68e7372276031a9976 100644 GIT binary patch delta 480 zcmZ9|yGjF56ouhEw@eZ*lZ-Ki7gFjI2wK^sOCRf`GLS|P1ciAA2k`}LttMa@Z3MBg z(IzpPM#ahp5b<9_Y}~N(oim&>du3kYw&*XfqS4|R>3c!N6gi6Q=A zgay~Eh;`KS2I~F>#@NI@?xByjxQh44y~N&G=-?O5q34-(Fv58}z!OYRgTArL@PN1N zu-^~NR`3E#I7HpMo9&-a!Cq0pJ}?hnFgs?x)mbRnDK_vNb>Rw^afk}`h=(|x?b{qW zV&6p#9wWJ|N>^y+rS9d+`R2V-Az}5YJ!*PvR4ld9Uy|zQZ(r#%cVCHKp1rxksr4 z1M7GUn#9LoHcn8DXrB>Y#*(q9_=yp_EB;IoK*k!Fkg|a-wqBOBELq$NIOi)mr4j}^0kL32{S@X zQXFDGtjtpf+2s8S8e*__{fK+Soi1&rVm3<9MtP1;)>pZ9f<;ve>;J-;QOPMb9nUm9uy5 z-djbtgN4{$}JU?>&47)ROdG=c5_By&@N3za85>JhOjLrQo P@pY0m>`(`uQ&PVGyi=V~ diff --git a/payments/locale/ro_RO/LC_MESSAGES/django.po b/payments/locale/ro_RO/LC_MESSAGES/django.po index 46d1c418..dbf4e511 100644 --- a/payments/locale/ro_RO/LC_MESSAGES/django.po +++ b/payments/locale/ro_RO/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "Logo" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "Bună ziua %(user_first_name)s," +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -101,7 +101,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Cele mai bune salutări,
echipa %(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "Este necesar un furnizor de la care să se obțină tarife" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Nu am putut găsi furnizorul {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Depozit sold" +msgstr "" diff --git a/payments/locale/ru_RU/LC_MESSAGES/django.mo b/payments/locale/ru_RU/LC_MESSAGES/django.mo index b22307d9d6a1539b601c3b57c30a1c2eb2fc2366..282fec7476dd3bd5e784e57e04d9091d24de7ca1 100644 GIT binary patch delta 480 zcmZY5ElV_yz@Jb_Psm=D=VG zd;>5D64XAxApD;)6el_T_1>KOb_UbED1M9lOCzSpIkHR6lRG&+#68yV0af#f1^mVm z=ABuHGpPA0YW)gExQ)lShdw^yEIuLYV*B7ng?$`F&ogUc3CHjR&oD+EG{6>z2kh2j zd=Qu|;WMhfkIVRl6S$cFwSgOqH*o<^vB&v#H7wZW`YPB*Eo@^I@34X|c!BT3@e#M_ zFg{1suNKX?mzBv$lJm0*kKkXZ0}4G(yF?UO*$VR%Y$hB*EVQf=1YQ61Zm4 Wb?a&9-R9C)f6XP=g~PNS-nbtQQ7T*j delta 932 zcmZ|MOK1~87{KvKj4|~QHCl!G8Wl;DXhG0Jl|qqv5Urwu2gQ)bCXM99Cha9HvFX7c z3W8MxMXCouL?oKTCN^nr;&B%ABIrTz=)q&bga6sIP*4YEfAgO2n{E1jcbC5TTn_|g zCv`XV6LlYT+QEn7aS9Q@F5HI4aUGt;%{YV}yopCJf&1|u>UA~TgDv#o7wo~Gm=>ZW zJZpq-F))g|u!#D=hp0C^#SK`+2rlAAJiw+g>_xr)75cG`QG)-fr9a?iEj~xR?;{?> z&*Gi2>B>zN23EYq=ln>b&47+|KxQoWk64 ze+ggE_pYaMznG(O0zV*u+t0cK>Dn*AOWD7N^98ZmMPIzS=wCy^cG=38J4APwLX#XC)PHfVjnYJTxK4Rnx(liobGnNmYj+p(0VM87Yj2WgZuC&Hy_B#7|hK*Dz%LyZS!wkifW`5<6VD*~w zwZmVGW;5|*;@G9j7talzxf&W8xG*>_$7Cd&3TL8*j2XFXK3S-`Tt}UyXHvCQMK#pC zHEG?krf9WPL#jo!px&vvnrE`D8rEGs9F#hK^`5zwJzi6lzfuwEiK%mjTFx@qU`^dB|2xx1?pf!_|7EJ~6S>Y{j>yYW Ny|E)95othe %(project_name)s team" -msgstr "С наилучшими пожеланиями,
команда %(project_name)s" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "Требуется поставщик, у которого можно п #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "Не удалось найти провайдера {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME} | Депозит баланса" +msgstr "" diff --git a/payments/locale/zh_Hans/LC_MESSAGES/django.mo b/payments/locale/zh_Hans/LC_MESSAGES/django.mo index 7dcdf8351af307765f8cc98eefc0f13b459c4401..891fb64297682fc4ebededb27f7507cc00a30548 100644 GIT binary patch delta 480 zcmY+=D^CMa5QgE|YfHIoTT(&-1PP`;psohT52!97BqbOOhGZK|gI+M8P$&q=7KbPX zgRTToLxMsg2;u#`U!~2QB=Y^Xq=kkct zbkJcm-9NyX`UjP&XDi28d)Vdw)o%*&O#kf=tr0I&?fcwYOO*S(uks!MSC?#%uV?>(g<73BEOpr W{Z?KM?!5dheDJbK+{~M$Tkj8B%qaH& delta 849 zcmZwEOK1~87{KvKOls;Ywmzv=*B7Z$D|qlAB1owR(I`^!=90%IjpR{w(~2Y|5kxJd zC>Cv-DwaaQLybyOP;BDGn|P6)1Qj(|n}c}u=zrD}igeg-e*5h__S@NE_n(%`msZCE zLEA>`Bo>I>M9xM>bJ>OHz-HWpM{zZtMmKuVg;($phH($xM>(&A?KqFE_zBza7siCh z2-hkh96T7r9hgG7;TXyVQ@9q3=*PFX4)?MsjYm+^lu*(xr9z9 z*I&2tj1afDImUw#l$E}-288&I+sW%F7ufk6Iqt?R9!7>l0k_~>BY%%_{>MiC6~p9a zBllA6HS$Z?#QVhuZua2<%2Suex|LW%$P?hCtlz`1^+FIEWVfuzU&9Amt%bgskVVNR zi`huXQ*;uW2@cWvJ#wB{FT2sQ&41Rf8A(Og!ahA{be{0*CzE}ea-gGMPh8akNj2_^ zX$K7@srh0ekQj&tsv}iQJ4g-d!tD%T)EN#+R zylgMnJgGn;9*Ts!E?hi+rl-4C^`1J{Go+*yzc1>G2Q($9^(Tx-vgmNUwDm6DE>+*m zn2)lH&+}$3|1*EHK31q@Cw|Z8WUc?#sn#Z^>*G&^Ib5l}8mZlRVcxx0txTE^UoWq+ qeG*F&&JK!iuel~; diff --git a/payments/locale/zh_Hans/LC_MESSAGES/django.po b/payments/locale/zh_Hans/LC_MESSAGES/django.po index 5cd1004f..fc38d5dc 100644 --- a/payments/locale/zh_Hans/LC_MESSAGES/django.po +++ b/payments/locale/zh_Hans/LC_MESSAGES/django.po @@ -78,7 +78,7 @@ msgstr "标志" #: payments/templates/balance_deposit_email.html:94 #, python-format msgid "hello %(user_first_name)s," -msgstr "你好%(user_first_name)s_、" +msgstr "" #: payments/templates/balance_deposit_email.html:95 #, python-format @@ -101,7 +101,7 @@ msgstr "" #: payments/templates/balance_deposit_email.html:100 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "致以最诚挚的问候,
%(project_name)s_团队" +msgstr "" #: payments/templates/balance_deposit_email.html:106 msgid "all rights reserved" @@ -114,9 +114,9 @@ msgstr "需要提供商提供费率" #: payments/utils/__init__.py:15 #, python-brace-format msgid "couldn't find provider {provider}" -msgstr "找不到提供方 {provider}" +msgstr "" #: payments/utils/emailing.py:31 #, python-brace-format msgid "{config.PROJECT_NAME} | balance deposit" -msgstr "{config.PROJECT_NAME}| 余额存款" +msgstr "" diff --git a/scripts/Windows/make-messages.ps1 b/scripts/Windows/make-messages.ps1 index 9a7cc583..c7ca8997 100644 --- a/scripts/Windows/make-messages.ps1 +++ b/scripts/Windows/make-messages.ps1 @@ -12,6 +12,13 @@ if (-not (Test-Path '.env')) exit 0 } +Write-Host "Remove old fuzzy entries..." -ForegroundColor Magenta +docker compose exec app poetry run python manage.py fix_fuzzy +if ($LASTEXITCODE -ne 0) { + exit $LASTEXITCODE +} +Write-Host "Old fuzzy entries removed successfully!" -ForegroundColor Green + Write-Host "Updating PO files..." -ForegroundColor Magenta docker compose exec app poetry run python manage.py makemessages -l en_GB -l ar_AR -l cs_CZ -l da_DK -l de_DE -l en_US -l es_ES -l fr_FR -l hi_IN -l it_IT -l ja_JP -l kk_KZ -l nl_NL -l pl_PL -l pt_BR -l ro_RO -l ru_RU -l zh_Hans if ($LASTEXITCODE -ne 0) { @@ -19,12 +26,12 @@ if ($LASTEXITCODE -ne 0) { } Write-Host "PO files updated successfully!" -ForegroundColor Green -Write-Host "Fixing fuzzy entries..." -ForegroundColor Magenta +Write-Host "Fixing new fuzzy entries..." -ForegroundColor Magenta docker compose exec app poetry run python manage.py fix_fuzzy if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE } -Write-Host "Fuzzy entries fixed successfully!" -ForegroundColor Green +Write-Host "New fuzzy entries fixed successfully!" -ForegroundColor Green Write-Host "Translating with DeepL..." -ForegroundColor Magenta docker compose exec app poetry run python manage.py deepl_translate -l en-gb -l ar-ar -l cs-cz -l da-dk -l de-de -l en-us -l es-es -l fr-fr -l hi-in -l it-it -l ja-jp -l kk-kz -l nl-nl -l pl-pl -l pt-br -l ro-ro -l ru-ru -l zh-hans -a core -a geo -a payments -a vibes_auth -a blog -a root diff --git a/vibes_auth/locale/ar_AR/LC_MESSAGES/django.mo b/vibes_auth/locale/ar_AR/LC_MESSAGES/django.mo index 57facfc98a4e2a0f454ef2842ba513846942f337..ff234a9aaac0a7abe6c8ffa217bd037cbb47f9b1 100644 GIT binary patch delta 1922 zcmYk+TTC2P9LMqhQd(rCLRl`hR9H#{3kZVHQbB=sk!q=2(+gs}LD1NSxbRYm*``+9 zn1+~aY}1f7y%`>iP21r?6MSge&?b$yrcJvc8h8K_V)OxHNc6$)Z+ABFWdHj)GdpwU zod5sKuD1Of2>q6s{H4*liOs}RlG%sYww5niMv7SxZoo}gi@L4@Yw!qe#EY1X)3^ig zVIF!PV+<_DblicDV=Ma1Le@>k%ZWiO!yrC^=Wrc_g4H5H)Uzdt8kguMTxzBYw>D?M*rdIPoiLhPB*v1Y1x8I;a`nKrXQ#-186J;{{CS z{GX`%|H5)i=B8(`3N`UwR3;B2E4MGOf#=(0I-2o3YKBXw8~#A8)Y9Uq^to1|e&35Z z_y%&Rji4rc4EfkNUs*VTrFa!9a29u>my1K1Nq~-Oco0>yAbyJD*o#@zLjw(=CUgQD z@HA>7_gxoJ4_d`sEFvAsOg-v3O{n{OQ1=a{lYgB!%84iOBtDH_p)zt88Owgb&u|VY zx4p-Xde_57#eEz;RtG%&R`!dqXul{I7(gvBhzw<)pfYh5 zEA;+fqtnQVIjl!Ng*tK0rGj=lFfs-?4<_q5OENPva=Z-y%a=O@Y~~ z*n!II1giE+n4$MS!yivgA->2D0pw%H`O*X~x&DM2;2)&C)=D9@(mtHUG1Lm*A1`C=POuTwjr-K`CnX!;-MAc~0qQAacr>j~`# zZR%Pg(NuFkp%QlyEkviDqFtIoXqW1hsV1Hynh0klrOxB+?+*?P5BrA)Mk3o%KZq=+ zUUVkCVNYZzE#H|+JG|Bz&m8bXnzm*;O<8w5>66hDkG_kJJ(`S$qn}5|BI|O#k5m@q YI(@n4Jx>0{s-(!JycWl|`RCOC0PbA3NdN!< delta 2882 zcmaLYeN0tl9Ki91Hv!Q?eBp{E4;m$iSiUQwA|hgnC>W*H^#TXD4en+4MO=7y(?Afh zm)+@B&6TSSLs1#2L%042|In?r=2kmrE@!K)X>)DmA1$5h`@8poPNQf1?&q9`d!Coy z?>TUP-QSynH`3ydDB4cq8RBlNQbGJSfe+f1M5S`^D$d5cn1QyW$oCiGBJL}2I(Fbx z{1lhsIh=uaFcp)Nm3kU8aI#F5%f)y)R^ePM!>7=XQyoHCNGR&pIEnjPn1=T- z6Q5!*>CeZBxCUh}<;ah!ir(9CoNU$LLLO{F*;x+;uotT_J0-H>05)@f7-isl$d5{% zK;TrA{!Cnr^P>ID7|(qx%Fg%V^VoxV%&!Kyn1eS_R-Vi#lIj^qiqvXciIpfj`2Zy| zM^V0i3?&0+P*VL()Em*?|AW)$pFmn=!LyMrH6Me_sS3H6f*Uax?U;|1H|!^ zJUERHxu1hJEWm86LdnS6$lBC9*op5W=S`*akYrY)q`VBD#TKlMQR=-k@-L_KPiEbW zxh!Aq_h25L#RB{ZHBRSf%UiMntFRhnf>X$k`hgG0%N&-zu_)S zBV9|;i}Ud$N+zx&hdij}QIOZ^*ord2X_Q(HA)8fKPzJn-OE6_7e=Be;=HNb@hbK{X zZlN5~+b9`|&x{;q8%kzNu>d>qBYFRaxtL4G8#+?+gD3->$Nl(y)JpRA0{1^6UFre0 zVJ6#Vv+5Jvh!;>&9?SORY?PxctQGl{>cT=iiJJMv#ucfmeA2B&EM#F;3=)Ypli?B*UXkQof0h1#Tl25t7Z|T0W#c@;a>`WQEdJ5;AF$ z+&t1`VyU+@5)j_WI(&(UC1gQy1ji`cyqgaF0@pqf*hJqDQnQgJ zb&^cHLcB^WBpz)$xLHHUd6B~?O-ivke5KSf+)iwW-j5(=FwKc z4R1{NU6+0`A1;-=nkhsHG1BCJ!1Cx#8S=;QiMEp-ITLcAi->fozntDJguG@6L?-bX zQBABOq)C0(6Pl3MGoDyLNaOf~+eAJm5%Tv!mAQ61nw)jo;q!T%HGZF=>)oDahi`>$ z8||{UIO3e1z+h_PvY1d+lC#S2`n1PraCqvxc`Iu?tEw6eojs?;<9^Gi_1RsHW+TU| zeTJi1)ja-H-&kJ_T}t{QqtR$;ax;|QYk2JSPLFqFw7kJLlMluex*GhB217f&+U+v5 zyI#w1ZJUb9OSc!5mQ)6GtJBx0>x_DbzsdLT7xv;U>q-KlU&m)tU;ks3p)jGHS-FD`CY_53U7ma?$TLIQ{M@|2Qzx|9 zXZCZ^YxeQkqorEbK64;4$B@-wwLeig_1FlqlF?BZ{hFtDK4^AtJCV%Ru{|dH_ym@hjrj#8L4l0X`=;?)HRZ;UY6Cz zY`x}rt2iVH diff --git a/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po b/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po index c8608303..7cd12c1e 100644 --- a/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po +++ b/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -132,7 +132,7 @@ msgstr "كلمة المرور ضعيفة جداً" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} غير موجود: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -141,12 +141,12 @@ msgstr "بريد إلكتروني مشوه" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "رقم هاتف مشوّه: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "تنسيق السمة غير صالح: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -191,7 +191,11 @@ msgstr "يمكن استخدام السمات لتخزين البيانات ال #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "اللغة هي واحدة من {LANGUAGES} مع {LANGUAGE_CODE} الافتراضي" +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "العناوين" #: vibes_auth/models.py:85 msgid "email" @@ -323,7 +327,7 @@ msgstr "تأكيد إعادة تعيين كلمة المرور" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "مرحباً %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -361,7 +365,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "مع أطيب تحياتي،
فريق عمل %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -393,17 +397,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "مع أطيب التحيات، فريق عمل %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | تفعيل الحساب" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | إعادة تعيين كلمة المرور" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.mo b/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.mo index 673501e4aa1512c3f0c7181b9bfeb03b09f257e9..2d21bbd242ecf48a75d3a2fb50781afa8d5cc42f 100644 GIT binary patch delta 1904 zcmYk-TS!zv9LMq5G|g?zTDNSw+eK4r^OCt<@|I<#mZ{MNG9slQW6_l&C|06KNGv); zQBV*?5Cz2%>cN+u!=fm9h%P>KA)y{Bu!o@U?|3#E{GZR9)0{ao|C!nDR^KU&z4Iqt zG?Z3i9x*h@m~L#G%!M*N*_b6b1Lt5ds$Da##={uI8#oh(u>@b>T=Y(%56r?eEWxQ* zkLkw5Oe+;H4-Q}+_TV(UhDmr2>B|h^3>-#3KE;JN>OS|R7?a9Nn&3UZg`{pJUjd&C_!q2D|zM*Dnd=sfmcU^`0_XeDWdyuB47d7BMSU5NaaNPy_pg%1D4T>b(`HQ&AM7q7Ld@8!?~zHni|GZpR>JOD{z5 zIQF4t^aoi^lgdWW9+-m~K$d%7gIaB8jRp-j6I-|MdcG}x27^oEyWtt8gE5) zJm7j6nT)xKjLkekeQ*S|yT70^;iD6^%R&vX43*(}B-v&c(llnes1)+x6c*t_ti>_Z z3`6v$wW>rOnRe{Mqu7b#s1Dm1g)-EQ8}TG+08fx6<~>&8Z`6{6+36`d|2wE?Ci_q+ zI)d6n7V>8vaN!*@g3b(48S&9rGn$PN%ta0O3bHqy!Rj75dC>1~yA@L4r2qZQ%+8+6 z|9@us_L_?|$?FB9&luWn;!)z(L&hZW%UnKapN})~jB!KvSKvy{TW}^G z#cB9DuEO_m7XFU;n3reFBUpq}G}Iyv#&cmkF2)9&gmD~$N02eiE2xR2vVMY-IsXL< z@HWoHNpz;`<@hkxpw`la{F%1wxgW=9sSXGFVHav;Coq8*a3_{b7@Bbc!v_#+EKA!;Ij zp=vyqWoV#cJc?Dg3)856=1^!&r~)w+WaX~5i6*bTws18Q) zEB&yL51p6d3|xmL*oMkTA2K&{7?0s8WWSl|{79L#P$_S~+1QO8ImWzNK>o|Q@F$}# z!D6OA2b)nhx>$iHPmgi>TH%|hz3~BR(|m@S$TeJxH?!9l(5p&UfqH+e#uc~&efSct#4D&0 z{EI5dd^)3xq-o|rn` zHW5^&j-n=Z4pq{txIxeVXr`?d*Q08=6PcOm#lv_S9h}UDP=~#!j2*|P@GNQqH&7G$ z8`on2byBIe@uBxaH)JhZ5sz$h(=;Np^`jFBscJ}ickk@iN^@FN@5|Q-FtV_07|o3F;PWq zB(%Hv*I||tqX;cTt(DM*EF-iL)t(qaPgpXOBHpx_rVXN04!3n2Y$l#2o*^oTyW1{K zY6w01JUE%AOjc))SEF{h%5-;IkUeQq{q_8-E~=^Odv|N$M0=qvd+~8xOwOHfAhEU}YVPpH)rn+S{GQO-Pa+RbX( zD{6YNXrFA=NrT&CcZC9$9g9Um?eUmnb$XGo9b0Q1{Qr`_+a48)B>MBmuFgrdjSICo z(U=u+_S%s^w5+l{vc4_oSS6+15pSQ<5%art*jX60VvZd)?IUlEJ?Pfd$K&283OZd~ z9$m$wPQ>3CibRKdE9-wQ@8z5-cW>O@>sX0s$K#2+jsxeADKFkv$oOhJFwr{=kOPBT&wR+ zc1e5G>PZiD1iilWrSP3EhSFZ1swrH$qBeM--5oq@_1OX2O~1wN=yEze*G*rt22Z9h zMZ3Ivir^MjjtM;|x4!)p!J`aT`lG><&V!54-0pfkp_mnP7-P5wu9HcAe4jI%fAb#; C=d~;V diff --git a/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po b/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po index b2f59acf..271cebcd 100644 --- a/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po +++ b/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -130,7 +130,7 @@ msgstr "Heslo je příliš slabé" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} neexistuje: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -139,12 +139,12 @@ msgstr "Špatně formulovaný e-mail" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Chybně zadané telefonní číslo: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Nesprávný formát atributu: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -190,7 +190,11 @@ msgstr "Atributy lze použít k uložení vlastních dat." #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "Jazyk je jeden z {LANGUAGES} s výchozím {LANGUAGE_CODE}." +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adresy" #: vibes_auth/models.py:85 msgid "email" @@ -322,7 +326,7 @@ msgstr "Potvrzení obnovení hesla" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Ahoj %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -360,7 +364,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "S pozdravem,
Tým %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -392,17 +396,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "S pozdravem,
tým %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Aktivovat účet" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Obnovit heslo" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/da_DK/LC_MESSAGES/django.mo b/vibes_auth/locale/da_DK/LC_MESSAGES/django.mo index 92875bfa5d411d30c72c395bc2d22c5babf445b5..89c102cb8a140f2e6a86c7fc51f56ceeb59f0f8b 100644 GIT binary patch delta 1905 zcmYk+S!_&E9LMo9)y0fbomLlHr%G$>rq!x4MXjZl3Lu|-2jMDc*64i5Q; zH?%rpJkb+l%pP17#}{pMf-yOmjAOABb>CVn!6wYaE*yisScZK#4n4!^19LG6%WwoP z!xUperj7#-7aDN}w&EzfjPZB_>C5zBGWMbupJEn%u-9E~V@7hGg33J`)o-3XFGlrO zj(X0I9gJ_baCNpL3QY$GQN-8VxHLRuk86pjOF@Q)boQl6JvR3Di)y< z--24nATo1v7AqOwT;V_&e?VpU8TG&y)J#p{&{C#Y3sAq;U>epVx0-fT!iSKL>EtUF zFXD8(iTU^j=c0$3L&~I@1MT5v)Sk8CQS8Jmn96>rqh?e>N3aqvpb~ju{e&9mC#GW# z%b}H-hZ?5}_523ZbB#%?zb@?OLI$3~DR>pNB9D;1%yT@3?~&~`yQrw0E(#TAa{iLu zCSwep`7jTQa5-vX2au0B$JZk4#)&xKW&Ks1Zqn0IjztYngsSoiWIN3!)ROH$axj-r zTXh{(oDQm=yQqO4V?MsK=c8CYO(YxjTp{YYvXH&tw-=UT9zWD#2kymXIEd3LFN=Pzd6vr$vmY!tH3%8B0rgX zI00XyI{1Mtn8?O%!wzJXO+PB3Z@2*C__tD`)z*zTgY#Xey+4QXdjA~`$i&=14fxFZ z+4>iiKsv96_OukWcLCG@K|G8HQ8RT>IMilj6|^!c%xIg(K{mmyk(RIbf3`hQ_G*iV zh!nMOpL zp98&)!wAhZi>M)%5-SKbE%pDc%$_VqZKIm%Kt(u-h#^?eNMlts|Dk2m9%_Ho^yi{I znnSE6)(|Q}ReZFm+Sd}fL^V-PEF@H1dV>mxQX<+^V?JU&v7T5$tkWo}TJ5K*UIkW6 z6cSa0^F5*5l3DyAmRI cHnfKKjX4}%m)7g#rnkAmeHlJyT;{O&eTBuNJftEsBQAk*)-P!HX-PvYmmWySx zC=jFEOd3oyF_MVk(TBzuG@2;JXw(M@z9^Bx8TEg z6ie`JT!HW74Ez;~u&~gWhj2Ph)~gnBF_w;6T!f7{5mPuCk09?f$50dL%lQdT;(h>& z@ixxEi43OxDx84pP-|&M{!Cl$K7^ySREG=wFos&$aZKYm+=1oe24|ecIQJ(|1K&pe zOyPI}OHloDa4jy*^~Z4}_xn&QKZx`3I9Bq0)6Yc(UPaBkkWrNC8AyuET3myzsFl2i z%FOGi=ifqQ;5}5TKg)R~_x&v_rGGqW)r99EU1kYpc&Dl1VhV1;g&4vrd=*#XdDKMy zMAf)}W#~m^cob`JCtg5}Gn+zdLd#GS--w#%;hd*Y?>SdQ{-<(rkq)KkI_gEgqXx+5 zSNdToAG)u=X}B88u?>}x7m&G`L-;bDLiU@P%8!&;3zhOloP|BunP<$&V)DO$jvKtS z5@#~~NAw_C=;2a4ghI(NKR$(f4e-^dk4^RVrfg0!A-2L~t`^)$!{nt>L8&A5m zxy!KuGw*Prfqubmyp_9;@U;3H(ZI59K z(q&#meg7u%e8ybhVkI4yP%D|p8PujMLCR?6qB5`?wP_k~F(y$1opIeAc#CAfZd6LLz7q1|6oK_KY3AHtZPKIiKZ=*`t@~E$j zs3A5GO6dq<36W1|B5JLK7NOIneW3QlAX;oDn<5<%wfTfnJk(Zmv6*;=c$Qd3+}n0? zvyRY4Rms$-UiROwuB(Z5;%VL7({v)#npJNp|+mbNLU0%IeX+D zM>Xw!HSKoolP29XdVB4d8@B8qNV*-Vz_B8UWZVu`S-p37xcfzD{nicj>Aq`Y%gXJT*5`z+o-PgHrQ#hJ{`_&?sCaK@!i%`k zs+R3rH`T9i3pLj@)u*k4R$XV{?zPEOU1w(^Nn7EB z<6B-Lu$=v_uRNzxZaCfFQ{?0=XpbIQ?F\n" "Language-Team: BRITISH ENGLISH \n" @@ -132,7 +132,7 @@ msgstr "Adgangskoden er for svag" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} findes ikke: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -141,12 +141,12 @@ msgstr "Misdannet e-mail" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Misdannet telefonnummer: {phone_number}." +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Ugyldigt attributformat: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -192,7 +192,11 @@ msgstr "Attributter kan bruges til at gemme brugerdefinerede data" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "Sprog er et af {LANGUAGES} med standard {LANGUAGE_CODE}." +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adresser" #: vibes_auth/models.py:85 msgid "email" @@ -324,7 +328,7 @@ msgstr "Bekræftelse af nulstilling af adgangskode" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hej %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -361,7 +365,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Med venlig hilsen,
%(project_name)s team" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -393,17 +397,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Med venlig hilsen,
%(project_name)s team" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Aktiver konto" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Nulstil adgangskode" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/de_DE/LC_MESSAGES/django.mo b/vibes_auth/locale/de_DE/LC_MESSAGES/django.mo index 466edbff07523b1c598e1cfd18ef2fef9c17216a..a2539cd17915c9043bf4a2f81a70906c8862da3a 100644 GIT binary patch delta 1903 zcmX}se@u;09LMo8=9m2fNaXS%qg z;7Oc~m(h=}un=ARIH*j@>8OUAQ8jDEBiMyoFok+(q9#;Ahp`w>pb~jz`w{h`Uzmo| zSPrdB5$ZjqsOLALo@*Gx`fK0-1LLq0XJ8*{MIIt^nJ3te?~rnvo$RPu2OAX&xPQ)U zTIwVwn~nk0_*PV{dr1lVDp3sr*qs1F^))%X?z7@SR7s`(D|<01RLAN9o#kPU6TtRMTv z_>dvvN9HgUsFH0%J>Q0!?Fy^9{*|fA3NRDP59>-m%75a0h_25rb_E285g$jNGc-fw-q?o=PO zWf82aCREdxMB7@svjFu)N;cZa(c}>v6f3z!sCuhZ*+jH0rBg)&RofMWcCqS`MMRr+ zuxdMkNG7ywl|%)xicnh;;r}&Y_f}$!-Bq9 delta 2873 zcmaLYX>1f_9LMpeauyId3zloR;$(L_N!Fa#4`7!uzYMPJ|xNx(#S1uyjb>n=xx`egt6nVFq=j{pCe z_E5!_)!8dUdLA>ht;A^J)?>zG@lr3oXczk!GaY}xiFgZ3ab(~8{j+fn=MDHI?#JPH z0_WprI0~=hAS^C6<_Rptp&DvB2mQFP1ZQ9!4#YI}#@CQB%^}o8as|)fV9x)Tb1m!Z~Dk9~x)uWIUnWb2Pji{BpiOS47 zsQceTW#AK3s=q6ErSSW0EaCb9(y9qhL@t?Gm}N{;$-yvOh10PK%kgzwh+m*4auZeK zJ}g56jmQ01iCgeIs-LkGS`(U$n)nLTL|-j<3^mT_LF9h~2bZ~^6kS6N^cSjw9z3N7 zOZd|HR2+$maWY0w8QF!*&FsSi_y)4y%m^M*W*t<@>u?OVV@r`SM~9IAGA{hhs0(l$ z)7Jx=a1y?Px_%0^M}9+1;2&I!BiZUIRRrnN>_qLML#TzFLhX%nxCSpGb2G!Khe|jl z%Yjxa}S{&GdtU7f_q(D(W?zMDH4)iZ6Av8MWe<3g;f`t!c*@xDz$8llUoq zjq5PGo#l{i^DXYf%cvPPQfOVbs1@u$ZJK>piAPZbUP6`bCsYQ0#%XvRSK$aoosZ3^ zJ@YP>r5HNGZbZ_=XOJq_v7 z%tcMS0r{9Me9guVT!0^;)%$;y13j>ce5;lg9XyC{;fJ^#E5_z0^f6LKa{-^nUy$u! z%Gn^?YN~M|y2!^I=S!J7gCy5{j|^#k#SvK!ZWn$S;^bE{17~r)9`)c}B%9^{zK!pr zGBj^|ezR7iG7?ATVvb`GYLL546IGT~lJ&$KVjhuwjxW_msa-@Um1-4)>Zl1k*fbFh zuEscBdto^~L-4PoYvMgn8C7c}v=PgQrwO&Wd6cbe*NjznHNB&}iTB!Kj#d*d5Ss|q z@4>c(lVyb7eU(H_dtzzVQNGR_I9^#ezsr=uLA~m))Tw^j?b^W)wgygAvq<5h{wC;k zswK49YKXf{n@x3Bt0VYh_)y!*m8ryZqKfFM|4a__F6uq*MX(*rW@00;gixy{RuB%M zw?VJmvxJ&9t(soX!Ngjf)cHHyxEFQYFburrbZDJeGDx`LB4_u#OHJ)=4=>1c4(hX@ zC>QDLMQkc`0^8~a(NtMQbFd`RW}V4X+k@oGwk2%x-GrT%azg7SO!I$l4ZFKFcc$;j z(l#59C+RAkvO!bK3sQG`E9-o*_+U|`-dMfq;H*M%u#o{*HqQlZm6oQY0Nks zUfAYDZOl!_!}~upRj*rKlgVA}H-54k*ZOSKX>U^(emc=?0~XtL+LS-dboS`)_e$(; zN%}FbwY*{dx>YsRk*4~pwKW-Mk5knWdOKV)Rn^jxO#7kf?#A^tWkaXIO{F@LLDcM4 zVlqxNX;Y4$3>~}EODWIkv=_~EwhyvJWgGm~^Jn9s*UBwbg^E0~9+V?jKc=+v#^7X8 zE;jT?cC8mWvB0MNXxwXQv%XUsoIiX1g!Q`$wA@WO5$fUWNcs;|%KZPcQJ#IMxa!PA zlG_-_O~;&QZuGFBxtl}B=4K81rgWv-Z53|}`?099u|05^BV{BB9#x3i;C`{FVuHmq zhOQrFhu#07P{prGCQMsl+u}B8b7NE?V&gWJ^eJ895tY1BGP6%dcLiFV^uwg%Zlj)_ l4Xod7B?~nSon2|t+Omzh?$Yh~igp!}4noH#_xDO_{sji()2RRe diff --git a/vibes_auth/locale/de_DE/LC_MESSAGES/django.po b/vibes_auth/locale/de_DE/LC_MESSAGES/django.po index b8928629..1aa70e2c 100644 --- a/vibes_auth/locale/de_DE/LC_MESSAGES/django.po +++ b/vibes_auth/locale/de_DE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -136,7 +136,7 @@ msgstr "Das Passwort ist zu schwach" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} existiert nicht: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -145,12 +145,12 @@ msgstr "Fehlerhafte E-Mail" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Fehlerhafte Telefonnummer: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Ungültiges Attributformat: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -197,7 +197,11 @@ msgstr "" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "Sprache ist eine der {LANGUAGES} mit Standard {LANGUAGE_CODE}" +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adressen" #: vibes_auth/models.py:85 msgid "email" @@ -329,7 +333,7 @@ msgstr "Bestätigung der Passwortrücksetzung" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hallo %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -367,7 +371,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Mit freundlichen Grüßen,
Das Team von %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -399,17 +403,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Mit freundlichen Grüßen,
das %(project_name)s Team" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Konto aktivieren" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Passwort zurücksetzen" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/en_GB/LC_MESSAGES/django.mo b/vibes_auth/locale/en_GB/LC_MESSAGES/django.mo index 00a7df5ef7651e324d601aae890fc19b36284966..5b5288c3851c0b7ebc83f56b37ffa0d921dfa1ab 100644 GIT binary patch delta 2056 zcmZA2TTIq<7{Kudz)djWIR_m~acWt(1>!R8UsqgpY-{$&_=l%TuKX`xt=lA@c_vPdE zpW8FDWw}R!F+f~K%q@z@;E#E{Fup5@Na6Rm8gmOHmSY3@_gk?UAHW(sg3E9mTksRS z6wl*QtSO2p!4xj>QLS8*GqD|uu^*c-jhEmE=Hu%~4)G?M(0JkxSjv4KZ!W_sT!|@k z{#Lvg2hcq|g8anZ>^)l@=E4U&jlS`Dbcd(#08V2sZXsPWe-#JuEp*|ki?Tb3IwY4^ zkIuJY2X-a%FJLbBqv$%XU_H-|Q(Rn)Ut$B!p_$jQiY0GBD|8=j#>df}yo)CO0s8k- zXa#1_lFugomHfVva#k|mfaD$>nBjM^gA1M+eOQ4HVhV?GEuO?p_zjv!3F&**tI-Fw z<8#=D{dfjlrryU|3)5+{~&{yu1$i7GsYmMEXU@qRNVm0@@ zSciMjiX269j1zbe-$D8=HnND7-Hi2^#ufN-8TB8`iFlidCMK#$+md%;BR+&a;1D+B zX>{kmpj}?Ti(S3~t;8;55Ag(2gm?x`;1If@<48NjIQqN~GhCSQPv}|xj&}JRTA5r9 zOxGcsiGC#4cnodUOfo-)9_0kO&PV8jK1D0@RWkoA`o3AT$usj@*yT0U-!4CfX8tP< z;y>uZgVfum8AiMOAUZ#S9XOWEpFxlCEV|A)yb9;hCalVnSXFJ-e4m-tC{5P!UZA33&&71l9>?tVCY~kAO@}M1*I&SoW;ThgT zba`{Zur!XH#5#gcShn1r^@Zb3Zanv0$)u&Xb8jJRsO@&G9p&(&(3-vCKMnff|Nj_Z zqLFAKZX)c`wL~{zXM3irh<@T;!jF@qlen3vC2Sm}+~ya{say7c)0sJ)O6xHvR?UL9pBa delta 2018 zcmYk-OKg-?6u|K_6j}x=mOgk&OTh}XrJ$`qEkp6uS}G6i6a-BOi5L|p;-VUi&6p@E z4_}NmF=}LivM|PwiHU5CDH|{*G$tC{)W=Gj5Ef-+P4xetekQ%?ncw$))4BKDbI-IB znbAysyn6OXFdidrC2q`$$m0)lcwt#8aS~0WkoYYw;QlYH#wl#T`Ap{X zHoO_Pp?leh{6sdnKY-(J*7 z*p2Iw=Q*6s{fp?%U&h<<6t=Q{6uDS~zoD6@nZ;5sLrN6gxCIB$oxF=y<^%NiKS3+- z62yRZqf zXhmK^a*J2+4SWabw^+o7tn3Q3#~@ni98#ftyvK!2@)?@>ALx$$ zL@RI|tw4(OEp;t=G#ik)V-K>Kcn(eYbu`h_Xmg)IPAk4dD?ExFcnv%K{;yxf;1 zjqQ;(5cbqwVk_aekLV#*5H_?ub0^{O8{@FC?X?}npDLbA6?@ZD^9p5in~G1>wxo(5 V*S%RbD|QsdDqD*KOGf6T;y=~NruP5< diff --git a/vibes_auth/locale/en_GB/LC_MESSAGES/django.po b/vibes_auth/locale/en_GB/LC_MESSAGES/django.po index 02529f46..409ecaef 100644 --- a/vibes_auth/locale/en_GB/LC_MESSAGES/django.po +++ b/vibes_auth/locale/en_GB/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -134,7 +134,7 @@ msgstr "The password is too weak" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} does not exist: {uuid}" +msgstr "{name} does not exist: {uuid}!" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -143,12 +143,12 @@ msgstr "Malformed email" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Malformed phone number: {phone_number}" +msgstr "Malformed phone number: {phone_number}!" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Invalid attribute format: {attribute_pair}" +msgstr "Invalid attribute format: {attribute_pair}!" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -196,6 +196,10 @@ msgstr "Attributes may be used to store custom data" msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" msgstr "Language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adresses" + #: vibes_auth/models.py:85 msgid "email" msgstr "E-mail" @@ -427,26 +431,3 @@ msgstr "Password has been reset successfully!" #: vibes_auth/viewsets.py:162 msgid "account already activated!" msgstr "You have already activated the account..." - -#~ msgid "eVibes Auth" -#~ msgstr "eVibes Auth" - -#~ msgid "reset password" -#~ msgstr "Reset password" - -#~ msgid "" -#~ "if the button above does not work, please copy and paste the following URL " -#~ "into your web browser:" -#~ msgstr "" -#~ "If the button above does not work, please copy and paste the following URL " -#~ "into your web browser:" - -#, python-brace-format -#~ msgid "user not found with the given pk: {user_pk}" -#~ msgstr "User not found with the given UUID: {user_pk}" - -#~ msgid "something went wrong while sending an email: {e!s}" -#~ msgstr "Something went wrong while sending an email: {e!s}" - -#~ msgid "recently viwed" -#~ msgstr "Recently viewed" diff --git a/vibes_auth/locale/en_US/LC_MESSAGES/django.mo b/vibes_auth/locale/en_US/LC_MESSAGES/django.mo index 873ca17870a686073de28c6c74f45d55b3a54c88..5757a3cbc110d167425ec0a97d83f240c4bf8e83 100644 GIT binary patch delta 1918 zcmX}tSx8h-9LMqhlva+W=}a~)T4q_MwrXl-T4`x6Sqd!>J*1eKSQS z)e;kkt3%ATV`U^4+Nj}XsThyrFbDOy8qCHP9E;sJ8gF7QKF0Cr9l;owhH;pS(YPFa zWN+% zXJ9YR#21*4UOpUDCM9%qhHFu0)`t7B3)iEc^Uy%8sDwIkA)Y`b^2GH$YNB5_22J-29{yhZ5L5RcEf%C9NA3!f?C)g)VLO8U-cjwHDEmI#Q=6-9;!I6p%RQ`87-KM z8t@3}>`$SJ^Md=l*S)`uI)VqN_xmvuU!saL=%s>mR`XC>S%D;Ht*A5Jhf44+D#81x zmG+}n`Wm&B-%(p1%V0XnY~+zup%Sb|CA10W54(x&^oI-?K0i6^=3sIZN{5Ef(J2;uTOWk{+ ztx{8B;a2T-v|IUvRugXeX`VyqtXZHfAXX4M3Y~knEum9M1if6A6Izi9NMECHE25(n z4<)oCD$ELE8BtECEgIziHP`KxVXfO&U8x8s6a4owu$y2>I)614h>jpbH#D7JGBKa1 zB32SAK5cinX{&39G@^vaBNh`XvT4LDB8Lb!Rr@5OkXTKW600;z79D+u^*g|~!sZgQ ziDJT;;GY@_jPQB9_4REH?d_A=8+JJ9QO(ZhsBTY_^C|JE(-D2eX^lyCeg-l_Z(@og pLtP2=o=}p1rDyoSD-G?=meI{lMq+p9W8xu?(;G+*{S4Ga{sSHvr-c9j delta 2818 zcmcK5Uu=_A7{~E5$Jh#pgE@x$+dFXr`v(XDgN?0h12$kAP(UEDbnCmVZf%$LEi;Z< zjp8DrXzEPR7>yxvr6x3r#(;^6(FD9Os5iP0!v&fc6D1_dg?@kAi!LNfFvb&}e%^E1 zo)RU7H%2IceC?_7n4ntG5}G!t*)2&_2&KrVPKpg?JU`;OxAy&#%Ch^xN?+ zJdB0-8m`87aW4Lh`RMT&a|h1B0xea>!xRSAV>veCbWGr6d=gpHJcHUu+Vw2Xp#LMz z#Oqj$)0s@;Rd_qrqt4Qb{4+kc@5jkHs?CGG*oQjVQB2}V+=Hc4$99~=F#Tsy6JJOE z8P7BV3sK|6ScjGFco-+qA3&Y_5Z;SNv4ZtYhKI#?3AJ+%vnbVbkrbIatiheAlRS^g z%uA@xzlzGhJE&BD>^kDU{|C-ud>U!hh8H43W+|pv)70{CC$?Z2`mqX+U^RY#+Q@IH zJI>`8TBrmMV=eB(Pf+tL;G(sm6{wAGL~Zm5*J0E;C-cdF5f5K6pcMUtTId(l1lfE` zU!28@`ipTkuESFFp)&FavN!V>4&gDR-b@i+Qf4hw%A0XM_G4$3G0)8;|Juo~tg4jH zXZuUgi&~%;SKAv>-_^`%wq!MasyeupEz|Hu@gw3eV{c zRrh(+MlQPki5$X|adB+c)S!yA4K*G`-QnY?3>-r(H0<_YM=kIs>U(dYiu(epxUZm! zJJm)0wd1oG#xGG5*N|rwOAD&HccaD+U>!!>@wZV|_daT#GpJNwzzV#Ix`GnY$JC|; zmFW&7Ln-qV4=R$EQ78Epwe#;$C%ufyz%^8=Jsd+p#oPeEF;wJA48i>88$mwxf;_cl%gAL9S>WG-NXaL3SxZQN2i`p zcKE@JHeHPR@Y)fJ6}1I}7&@b4jie;_*)OJ?$O*JP!Ac_E)2cdVG* z9f$?v6*V2P^}Zh4DqY+ki#}v`I{ru?Y%hshjvWY_j+;N~O!U$8hj}OF^w@oUQKm}7 z?U=tS6pP=Ots?WF=jp84NOvO8ZCjzZ6^+Cd;b%5L#axRP{!ZfWNC8Rc2&%7TA$EgNqAT3#$T rF>mvP*J7H}2RvV=rx%|3k9TvXu%z^s?k4kH;qIKsM9KbNZpHis4m7wD diff --git a/vibes_auth/locale/en_US/LC_MESSAGES/django.po b/vibes_auth/locale/en_US/LC_MESSAGES/django.po index dfb751ba..4000bdf2 100644 --- a/vibes_auth/locale/en_US/LC_MESSAGES/django.po +++ b/vibes_auth/locale/en_US/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -130,7 +130,7 @@ msgstr "The password is too weak" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} does not exist: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -139,12 +139,12 @@ msgstr "Malformed email" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Malformed phone number: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Invalid attribute format: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -190,7 +190,11 @@ msgstr "Attributes may be used to store custom data" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "Language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adresses" #: vibes_auth/models.py:85 msgid "email" @@ -322,7 +326,7 @@ msgstr "Password reset confirmation" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hello %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -360,7 +364,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Best regards,
The %(project_name)s team" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -392,17 +396,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Best regards,
the %(project_name)s team" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Activate Account" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Reset Password" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/es_ES/LC_MESSAGES/django.mo b/vibes_auth/locale/es_ES/LC_MESSAGES/django.mo index a90b7ebef4d308f9764a503fe622b7d16e755237..59f5a814d9b28f533b61569c23001ce145d1f0a0 100644 GIT binary patch delta 1913 zcmX}sS!_&E9LMo9U3FU9v{Wsfp{QC)%jlvjtx~%ZOCmx$(VA9crY}v%RALPpT;f3@ zA{ru*G?|7->Vfd2gxVrPNGwSo5IjhD@cqr)ank>M&bgg??*IJHxzoM)Q)%d(E8(1> zH4qbtzBps{;>tumXrq#i$-&V$9=)jVt;Ge{hFN$S$6!Ae;UG>x=P>5L={ORLFcs@C z-I$PRpyTAiE}Vq{9Dx@x32z{CnLZqi{piBS=*AEBbw`RZ!x^Wea-WQvH`g8)qUI|` z-B*eGdA`|BXA>9RqB8VyR~y!%CJdu8zKeXtJhHF9vd5n=f$QH;_y5A#n7~alumF|# zR#YWhk(HZMSjO|s6*|iJ11iHWs2jebR%+6srA)V-i~9cx9E;nKubK{2!d=Lp>E8#6J7 za;P$kP|vAC-M;~K->#9=Ul%&LFb+@PH0(iD^{72>#w8d)C3F+DRS!^! z4xm;%h+4=HmSa4VYu;+)lG$wAin_lmL`M@Gu`irNt>`T7!F#wJ3wXCk+MLFNcm?%Z zQfU49^TR&zq?!d)p;Q|c3q?1P{mGpHwy{HvzL6s_i+QVC@*RUVi z1#=%Gdyn%Nf40r!<|&Mqp(^M{C2|b)`)~$Xleva$S;*X>Q^1ASScs{dL_by_bDHZo z8SmNSkJ!feFZysdze=pZJVBNC3$DOF$X84qPtiO(a3OZ0670ofz5mbXD5E#1(tk$} zX7e+r6;z@svkmj{0BS|Os4cmTM{xjEnT_1U*^E?CZ^Kj~))vvxVt7QP<@0_@G*I9_Q zN;=bsctU&aCREy`#BxHdBFg{IBD=Q?8|=QSr!%Co#}VvIq){lXKYD_-ce5g+=#Ps| ztM+RZv4+s=qLUqK+Jd#jbV3KUn5ZU(6MDDj5?&(KX3+5v<-~fTmRP5ELVK>0t=CB> zREJO}x{3(@OfGgfo0wAsKaVc%MSOYwI+tUT}=+_huanQ pW^8h#*0cnCjg2ksdwfCb_?TnXzOmoKhchoZEPqx(cpz&q=^uw4tkeJi delta 2831 zcmaLXTWl0n9LMofS}5gON@<}89mHZOrCbVfEl_BIRw#uQQAk{;yVG`IcW2$5rNpvX zjG(Ak4HX`Ymk>!vG{#HyK}}46m}un1%QKOv4`_(W#Tbdk?{9Z2wE<50-_M-s?795^ zXZEL+ed|*fi}Fqw+8*K_;`#_jj6&faW-DZGMqX(^L#BXq2G$r@CZ)9 zH*gt#gwyc~7GgnxF%z*2Cu^!IF2-*^k@AHC(*x*MR*g- zaRP(sehrStb*R0xAb+Mk+xOupZPnpIUksskb_|nv26th_*vyKP7^eRMYT%p5pD7qe z;1tyTa$Jk^v-iW8N52QP^Mg1Ck6|_Qn*lB=@q5(D3m8SIo{pr*ti{#XhT6$XsLY&1 zJ^vai1Mi|zeJ<<8?EnA567G*9ty=JG4OQcO zwxNk;;SsFE-FO}~&P)oe1=XS!z7e(1r?Q?v&2y%Z{Fid^4L6jcpHUP2iW(r7Z|RFA ze5hZEQ*jkmU^^-!PatbEhwvGE5jk(BlrJf>7AoaUI0K{T&oQR2i2N_)##LsWkF#06 zcD5ZY4C7+#L!FVc$k^r*HsCe9AD46FxipWVQk_6ebPRPi-og#|A!?z2qDq*b;%V(* z0@h-2*3GEQ97OH-Wvs(@kU#SaAIj7S9+D-f0jp5sEz0(np*FS#Rk{#H@M-j6>IN5N z!|Y_1!`O{v-&{c*mVZ!ZWDMWd%1co@pMy&AzN{Y3q@TnE_$sc)3%CR)@@mb+2Grq> zAVa6jaV|9A+n9&Hq2Bi!$aykIrn@YKb58@JJljaa=oLBGx z`~bDU%cu>F;{a(v#i)|ZMT_~(E-ti#1E|!T#2WkrwWG_Z5?#fkIMT{wrVn+hUq_|< zb0nqa26DL5Kj)Bc+xgr=G!r`rl|+k7sYc6)3SuRp6|1c#R4*-HXwy!09@LbrIzr`B zYDW-SNG?Iu(yfh8?Y^2&`P7zX(56%AL&Gm^x@k8`?OY`JxG!Jd9bd=Ke?9Kad9;T_)gaHEpYuU|b;%KYiWunqP8>fJ3T9wBxSYX~*{cx)srLWeMq&?#2anNb^0 z=uO$GPE%yR9SR04+w)?Kp|8DuBc5X1194O3Rp3~nxI@s>SJuBvP z*|9*pdUZ!^O?$UvRa8b}?q0|5`671MnH#q}#}1p0;g5QEdbI!3(WlG0olwYSs6^a} z`8tEK_~2;O1CJIwn^PC*O4wbF6^vVM#If8?OT+bUsc+e|vwl-!Thi(YdfisQ>9i9e z@76zj8@4qxCi{OJGpoW5X@5?@igs&=NFv&tYL1G!@(Bg4IZH_{pGs%hP^ zt+{bSyRW5wYh%(nXx00@;C`D-)%*Q!BI21lJ-EY(JD$~Q$KyS2EMR(-n4}eOowyZo zJK!TtR^bSca!$!^fymF+SO)< z5&<`E`I#wbhn!4d8bg-zcp?~0k2t(S=Jwxl?)IJjuP6ULZL=G)Z(pRd#iw!_m^2s& zx?$U5qY0MJZbB?=Xq`yyt$wCFR@9BDbQ~eKrr$1EoYT_(-jw39aHeE-djJ0~)A5pT wM@8?H{Y;r+mOtS{Jo|1%^6ZX~<9B$}jd(FT?wo(0=QGt}`RO`2gM~8x0*&3i#{d8T diff --git a/vibes_auth/locale/es_ES/LC_MESSAGES/django.po b/vibes_auth/locale/es_ES/LC_MESSAGES/django.po index 57af5617..78338784 100644 --- a/vibes_auth/locale/es_ES/LC_MESSAGES/django.po +++ b/vibes_auth/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "La contraseña es demasiado débil" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} no existe: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -142,12 +142,12 @@ msgstr "Correo electrónico malformado" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Número de teléfono malformado: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Formato de atributo no válido: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -193,7 +193,11 @@ msgstr "Los atributos pueden utilizarse para almacenar datos personalizados" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "El idioma es uno de los {LANGUAGES} con {LANGUAGE_CODE} por defecto." +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Direcciones" #: vibes_auth/models.py:85 msgid "email" @@ -325,7 +329,7 @@ msgstr "Confirmación de restablecimiento de contraseña" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hola %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -363,7 +367,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Saludos cordiales,
El equipo de %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -395,17 +399,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Saludos cordiales,
el equipo de %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Activar cuenta" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Restablecer contraseña" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/fr_FR/LC_MESSAGES/django.mo b/vibes_auth/locale/fr_FR/LC_MESSAGES/django.mo index c949f4f0ec8f3be49c632b3fd598dace63a9178e..444dcfcbf8e5ef1bf3c871e64feea10d9c69612e 100644 GIT binary patch delta 1912 zcmX}tSx8h-9LMqhXyuxfm6a`OrCHjdrBh~O%V@T#nIc3Ff!0eKHAx`I&<=?aO!i<9 z6h=|xLn9PXL>m$Mkf782s| zm_}D$4S_QiP(oJIOsl~6k|4?`+2C`b5QMi-TU>Z_DWIj zm186Q+aW47Jotvnu$Z?FU^S}2XQ+(3k+0Z$_jx}SaX;)n&*MvDxGzGr zf?shF>cb_Fg~3%+c2Z$2>>_F{Z=yPSil?y;cVZpuqJ|!$66!%E-j7OjKEsyzsE$f; z8U|1^(}e2h0_y#?3CzDoI$RIozky zs@|(XO>raU;#HiBJ*WZv!eWfq{4bzVNm@L!2Aqw}s19zUrnUpM_MKRPy-1&yL2KGn zUeqS_p-w>w>b+g4JrY2jnlNgBuTkv}1gYr7Ayh-Z-FpwM6mTDdA@t*Ze2Ywq71MeX zR-+R6h^&$gp%T@+YcIrNIVPcIa4%{p>QMs@Hc;6>r5Uvsx>4smjx;x725K)H#7aDe z%KSa5qtB>@z9YF=BpYZ2&cHk@!xTJ)8Q6wOtP}YQ+8eGUZG)&UM$@}So{70wiyHYQ zOv6aBS%~SVH7>_`4B$Q-K$@~@=9^WrL%1DJA|F{VD$zmo>HJ5r;LCVWg39a|(wCh? zWqbv-M_ynme#1;mm}9mcy~xS32GmTP#a3)ZZSFiq#U6FmJqza(|4SkLJEKx&DoY7X zpNbk&@sHqK)sYI@WVC2~RW#iN1S>dN7^E|c+B2G!)x;J;GrpKm|4z{!*hcVUW~GFV zoz~a+!9bO@gk~g?(8w5=Z6&l%HWMmEBaB{Gy0uMM<<_-q+Jqd*phZy8bgMA4PSG-G z?XpL1Z4EM;&Oeqi)DhHa(T>)6SJ9@_I%}zPwpS5a9-Rs;mzFr6_+PY#QuRCNqq2i2 zAu0(TIY&~*N*iT4kwdH_!at%`dSdJ9j_e5pQUiOAh8D)`3w?>X7QPYt*%R)F-#<2d kKC#Xdo;&4?XWTmHYoY5?TSDzgf5We)ZHfr{lOII=17D=8ssI20 delta 2706 zcmaLXS!`5Q9LMofpp*&%mZi{Qdss?KDXlCD6eyHUTPba!h(gR{I&%wyvoZG$H9#{) zB^an+9N|HO`al9CMjxsVVgd#Z~k#m0=oGMu2HYPq?Ch9;bgEjSj_I1-;m#x#df6UpX0hj&r`9!u~#R^nJX zQ+qw$iK|d+*@*m1SFRqwky@(5jb4nRR@RSwcnY^-)#$+)_hF3sv#5@*BR^9-hQLXv z_DWod^K$Jm96`MowetNq8~d@2@y!4?HTW%R=Ed})RF@+uGAnU8Zbq%-IaFqjqnIrsN#IGOe_q*W81i8Pr8%rK@|!OcW$#aawtJs!fP_%>=HS5SLg#40W?J zbz@EsdDgs+{LFh?bf~^WeWvB4O_^ANT4^V$pKYj)yL0sjHd5b>dha#N;w6k?=23cK z+ssFJ7{5Txu!oJ-A?Zb}-~j6I9L08g36=66QCoKnm4UxenJnQ`T7zqGDL#Yz%mps@ zgvNfG1ELog`|#8c`G8g4G#r_H)C}oaCa@`aZ74Ur?Xtd}gOiG~tWbi5zhA6KcYL z;eA-c31x96fCZ@ge9=TV5Uqr=txW2jj0Rdv=+rAcyz7_cT-CX@AlJaSW(Bd9 z(4G$?8i?Tp+v}IjTy-$(2xUV>+owXJGls1C|CiOEv?#UtvW%MtiHC@XiG{?CWgC@M zgbt!oucED3>EH2n;1=S6Ts=>9?q;L*zn%)8vw!N9<{L`~6+Q^lm1~@Za|xYb?Wz6; zyy(d zR?%Tq(dVjj(WXjEd`~bM3EQCOr6S#F&#^s;R4nK<+I{~v1(LzxkyPJ+Em~5L4UdX+ zIj(0@&W>Oz?A9&sPBnGybZk{kGL_inguFmJ7<1;h)^ma}(|zls-cXNbKOS|mY^M{A zCg>{dI;lWUB<1FNs~dpUKDm8En#67Cy#cf3>3u-?y{4Oizg$AfX}=hv~fBvkpFRdTQ(`{sn_ zGi^>J8g%~7ticYN0N>W|2N6zc5g;+`(~@-F*!G#ve9hk z#4FQQC*r#j)c!a5YbLc0%l\n" "Language-Team: BRITISH ENGLISH \n" @@ -136,7 +136,7 @@ msgstr "Le mot de passe est trop faible" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} n'existe pas : {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -145,12 +145,12 @@ msgstr "Courriel malformé" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Numéro de téléphone malformé : {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Format d'attribut non valide : {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -201,6 +201,10 @@ msgstr "" "La langue est l'une des {LANGUAGES} avec la valeur par défaut " "{LANGUAGE_CODE}." +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adresses" + #: vibes_auth/models.py:85 msgid "email" msgstr "Courriel" @@ -332,7 +336,7 @@ msgstr "Confirmation de la réinitialisation du mot de passe" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Bonjour %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -371,7 +375,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Meilleures salutations,
L'équipe de %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -403,17 +407,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Meilleures salutations,
l'équipe de %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Activer le compte" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Réinitialiser le mot de passe" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po b/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po index c0f69c8d..8f4f37a3 100644 --- a/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po +++ b/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po @@ -2,12 +2,12 @@ # Copyright (C) 2025 EGOR GORBUNOV # This file is distributed under the same license as the EVIBES package. # EGOR GORBUNOV , 2025. -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -193,6 +193,10 @@ msgstr "" msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" msgstr "" +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "" + #: vibes_auth/models.py:85 msgid "email" msgstr "" diff --git a/vibes_auth/locale/it_IT/LC_MESSAGES/django.mo b/vibes_auth/locale/it_IT/LC_MESSAGES/django.mo index 83ff89d2900a722510d9fcd183169e1c1c91f71e..b992716b37653879826b088776410c5f97418c7e 100644 GIT binary patch delta 1914 zcmX}tOH5Q(9LMqhD55+pf`S#a4hmK}hzbZORMd(NwpMB}Hb#>s3^9l;foU|+kQ=r3 zWm1i!T@+VZ<0G~UuSvVGnQAr01d`Tt(dX23A&CT&2G|%Eet(xUp3Hwf=iEEzeGWWb zKho%>3Np?bshyZl+?-<8i@T@sMG8+hTa2Yxj4i0&y^ponkMr<47UCe*<9}F!#WT!i zVIAh-X3W8zINQv#4l>z1IEWEEiZ9`Jn2A3kZP^{n$3ZN>6fVU7-Shk`vze3^qsG1x z)o#5jZ$PydMb+De{q%1=WOnjk6g9#YYJGq^P!0Z!8u72lPwXG}d>ET4Pq^o+_)!Ms zW>h;Hu@c*HDIP&h;3{fGZ{lqFw})h!a2$h?=T45a9#vs2YQ}A-CGBu}?)?B3@%&q) z3A=+D_%F!EQhd$95qu5xvI-*TttPXJ40~Z`PjBh?Ty*6m zzDfB$YCwfl(xECtj)6sxS5}9b$QEqC4ph76+u@zsz-Kd!# z#%jEV@8Q457_5Q6LW{5s!x+b2JcFH>$>?d=_M_T8hHv0kNE7y_dq0j%y8k&0PYp&< zGwVjps1NzrCwysO7mzx38#R*@>d-wy)vM$oyJa6y0*GfIuo0TEre3@Brm=jT&@+{U0zpHhmckGjQ=;mKNh`X zrGliBt1Zw$QhJ@x7St1O6K#Z+TvxE1P|~4#hj^7}AyyL`2;GXMgw9kQkxmt4!aAaB z$-GN!BDNDcwYn<09^A6v7Oceegg-XDA(S19^>xPM;dtjqiHfZ5#N({<{-x|kA^%41 s{%QV~1+kD{I_E%WM(c;MuD-5AhZ1KC6N%4?{_^|h7Ekf-&ig6zIUDz@Jpcdz delta 2682 zcmajfTWl0n9LMofpe>bKDU?zwbPx)qEd?par4*>O)uNOFRcya>Vk{~$W(v;2Y3izm%6;5ehqc&_lQE42_!82mc?~s?ft;VC-e(nT{K=1|wLHui|R_2sM!3P-|Ss zG}O^t?8heDg%?om%weH5pa#^y+fW02G3O~%Kj(_ce;Jj_+)#>cpgQ^m)xcQZ(u*_r z(seb?#73;bE>uRIN5*E3;463%*>9$dmy}rxmGX9+jlCGnGv-7I`LE~3uk^YE=Q4Z? zx1g55$7OgLwMQ-@@0#oQ82*VGNGn^Os(BWb>LaL3ok8u55AkvQ7&XvB9?}xd$WmdS znc1iTROj4*%EVFBjNimncpmwfpZU`7`J_)7C`Vt(0`MX?VvxDT_x zQ(@W6GxXAry-4=WEz~9{*X63dB)i0s3Btt7OI*AN=9ie|8gP)bJ@b)f$YmAOO{@d)uC zF^14U#uBVvShn%4eWImP`c+m8p~+^$wb2PsSwJX7!=;gmj?GiV4x)h=S$1);fzXlS zWQ9eUT%W72!Y2tG)sbak?xI8Mug#?NYWFIwBTFY290b#qyEz|giAM>YhE`&@=#;F^ zU9{tr;U7l0n|d`-Lo^d*^dBCV%@}SHWO>a_Vmq;pP|-$fBP>FjOh;}Rp`t%36&=^9 zgpQ|aPwuzlZp^ZSz<0aTfn)V}e!>pcScmT3iuBrJT|YBu6|Tw~h>dr&K}#3 zrRvsp`|G;)I#yM6ukY=1qCq5SC!9qoD{$Av^TV6;aEz8?SXti4V=?$J~_<@k{v z*G~<%RyUX|`XR5%j%##I%6~BEmp5>B+8dD;+ILw6D`m&i zfg7f@Jsu{|in;&Ftog6!-O-;PSTX(E@)p+~C9%b&6=N26q!W(sskgw1J3U^~vl2te vwgZj*p9!uh`>dd4w7fM3O0e%(@rCyPq\n" "Language-Team: BRITISH ENGLISH \n" @@ -133,7 +133,7 @@ msgstr "La password è troppo debole" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} non esiste: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -142,12 +142,12 @@ msgstr "Email malformata" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Numero di telefono malformato: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Formato attributo non valido: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -197,6 +197,10 @@ msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" msgstr "" "La lingua è una delle {LANGUAGES} con il codice predefinito {LANGUAGE_CODE}." +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Indirizzi" + #: vibes_auth/models.py:85 msgid "email" msgstr "Email" @@ -327,7 +331,7 @@ msgstr "Conferma della reimpostazione della password" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Ciao %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -365,7 +369,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Cordiali saluti,
Il team di %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -397,17 +401,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Cordiali saluti,
il team di %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Attivare l'account" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Reimpostare la password" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/ja_JP/LC_MESSAGES/django.mo b/vibes_auth/locale/ja_JP/LC_MESSAGES/django.mo index 9fe4c8314380bf1cf67e37f012c6934eefb10c37..46a99b0e9c4a5e9913eafc3d78e625ec164982a8 100644 GIT binary patch delta 1884 zcmYk-duWYu9LMqRIcCQ>X0tIH8yn6rbKP8LbDOzePoi9kZ2lnE$sd>_2=lNZp@9+0KyEW_C#Q3|clm_F7 z5&1+@&};)%bmWKQYpPj){D!?SJCwX{1dgIS4}0QX%*L}g7O!I-wqjRI?PQjLIoKHo zVmGt6m2ncGVg{CA4AXHpGNv6x`mmFjiDxkjuVMi1|o#^;e+?24B=pbLj4O=``0)GKjI+Fq_HMm zj>_a*Y{!;Pp89-}7m4lD2*YJ$U9Cpj54Kn!!R9+i;> zRR3qtUozDF&93|^o&4ug@tKMu{ENy&5qad)O7I|-Bg<+Ja81DMDbArhoZhD5PSg|K z#aZ|Z2jWyl)dQ_V^>YBnU^=tXgsZ!ef3jeksZi?cQ4ROIaucqk?74C#>CpYT&LZqf zxfF-uVpN9qq6WU_e2dK4exk++@v5kw^te08Lp2(z}zt;Nyqm)7wp|_2#q~}i_Y;gbMz?;*4 z@UNi#&|9G$Ug2s6U@@WhoQ(T>2y7z39`lz}%Ti8M6NN+540(V6Y~k}t5Jk4@qUEH z1R^yxTWjm;3hQdOC5prA6RqJ3USs4?Ah9W}k9Q;ONYHD^SRV9_Wz__{X!rTS)Q@+L ke?Gh?v8Bf~?@~@_zzg?W9ZcNKi+XAK1u5R+!m1Ac0FAP(CjbBd delta 3101 zcmbu=Yfw~W9LMnoFc8yBOffY$R+u*^leAPYLNd&dgzh=p!X9u7cA33og*(exw2ML1 zY+7E*sAeb~b84rlM)O6NnXF#*rlx6{>O@L2ja{didQsos?owp-s%QA`=bUHHc`pCw zd6o~W57);(FB-SQP;Mh;6F=t~6UPtF;DhpBfiVm47+!!s<4l|}KJ)w%tmM8C&&6#x z4fo+Pd=+QmcX&1y78)}dXW~?KwSbEWR8-?atjDu3iut$|>C-%n8b~thQJlj42o~Y* zSc+%SnCdHV5?+a#O9S#}nzQ#F%-2+HF7#ptYG!>H!y&v0%g)S0nkp{N!L_&mJy?O;@d|tcHIScB zYh1uI)X^N=hE;egzKv?9goW0CmY@cHHEN)}S$ClN89JN%7jy9u6-v>!sE$se8pz`< zy*Ql@-Os}rxB|gQtQ&^AR;YGNNt*x1RP#tySQp_X2n$dDpMs3vdA=Fas#*H|bz5fICTz;JC z>tZU_poOck1?S)pmg6y0Dt|={pprDmMkMQ|1J%(MRC~QyA4R?Q6jtD;_%Rl;jt4RR zB^PR7fUVz;`%ve%oYvJ)E$aJ5)GogRoA6G|!=tE<-$L3p$8bJ=g*pWjXJ;m~4wccz zQ1u^RiO&C-EXYk%EI@Ub$U1;(a4)i4=2hec^Byk6wGJE5#`)Y9~! zHtB1qB`qp7rcLMnb}pzhZ{vmd73%mESfmXX;_Y}0m6^Hp#^lUO+<-Tu-amlq=zY8f ze?dK0eST&@x1yeFNA+_*&Y*vDAY1Vc>V*-!1kYd;n#odB$F;Z%Z$V||Cv3!tw01de zL^ZsVj~pb!f0gUGT1TuUH0Vk~S&U!B$1+04X*ogP>9Ueft)q_7*ur*64@z}R&{Pqt z37w)`;$k9?U>l{2_DTVimzE6=}5 z&b~6Fq71G|UuCj#1J_!Pu|-Eyr9tbjW5MxG|98>`8e5cJrMfv=sq`)+))4wBts_Q@ zPKS25iZ+-|&8g)!D&`T|CpAQ|)?ep)J)vWyU$au;7DA_@noy}Ft|lyk-;VUJ<)x^? zHb|FAeDcF*uG3w8;BIe+-)DIvk&wS78nLamV5rj@S#EXzRpsgO=J`Xh)c5(9=Oin~ z`#0uH%-jFZ6Xk|;Nx_OgrmCfr41@E+5Bc6b_)1Du;BDS~Fw4C~An{ ztj+$&Cd+5Hd7~YXzrXO*u3udjOTIHDyB$TVZu|*xs;hd0Qj?yS-$Q7em~&2BU#U@`u9n zlFv^rNd+ct%#C-q1_N#W_KL<0>(|!RHhUUsuB(e#TdbPVS8FnFng4olgB`XbR--o@ z-W&}1OtpbB) zys&*_@JZL%n!Y{C%WjXO4RLCIT<0aX*KvD~xV_I9_kXpJPZJu?;&Uo`Xt9$#)|8Nl97qu_@;# z%StCFtEU&Frp#WEH{-OM=j5AvlMO|)a<^D8d**4MVSs!+IIFZQv$5!T_~4Vnd+D4d Or_ViPT+_\n" "Language-Team: BRITISH ENGLISH \n" @@ -130,7 +130,7 @@ msgstr "パスワードが弱すぎる" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name}が存在しません:{uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -139,12 +139,12 @@ msgstr "不正な電子メール" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "不正な電話番号:{phone_number}。" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "無効な属性形式です:{attribute_pair}。" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -188,7 +188,11 @@ msgstr "属性は、カスタム・データを保存するために使用する #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "言語は{LANGUAGES}のいずれかで、デフォルトは{LANGUAGE_CODE}です。" +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "住所" #: vibes_auth/models.py:85 msgid "email" @@ -320,7 +324,7 @@ msgstr "パスワード再設定確認" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "こんにちは、%(user_first_name)sです、" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -356,7 +360,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "よろしくお願いします、
%(project_name)sのチーム" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -373,7 +377,7 @@ msgstr "アカウントの有効化" msgid "" "thank you for signing up for %(project_name)s. please activate your account\n" " by clicking the button below:" -msgstr "%(project_name)sにご登録いただきありがとうございます。下のボタンをクリックしてアカウントを有効にしてください:" +msgstr "" #: vibes_auth/templates/user_verification_email.html:96 msgid "" @@ -386,17 +390,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "よろしくお願いします、
%(project_name)sのチーム。" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME}|アカウントの有効化| アカウントの有効化" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME}。| パスワードのリセット" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po b/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po index c0f69c8d..8f4f37a3 100644 --- a/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po +++ b/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po @@ -2,12 +2,12 @@ # Copyright (C) 2025 EGOR GORBUNOV # This file is distributed under the same license as the EVIBES package. # EGOR GORBUNOV , 2025. -# +# msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-06-16 08:59+0100\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: LANGUAGE \n" @@ -193,6 +193,10 @@ msgstr "" msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" msgstr "" +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "" + #: vibes_auth/models.py:85 msgid "email" msgstr "" diff --git a/vibes_auth/locale/nl_NL/LC_MESSAGES/django.mo b/vibes_auth/locale/nl_NL/LC_MESSAGES/django.mo index dee53b07f95345af539de28ffadae03dee31fd8b..e347c1633bf577b663c56f15ecc0f377c832671f 100644 GIT binary patch delta 1909 zcmX}tOKeP09LMo93^k)@r>z>Lrb-`FYv`Dks;Rb0TUF{6)FYAb&-Enr=4%vHj{#SfCrV4Tk)LY{weL7!=x~~rPoJ}D*8ek`?%7dsCwc=5{iu*8;(KXRy zsG8|QO~gR~kQ9@OD$ZRJA-%tyiz@WN50X4zd$Y02K`OM=)H5Otg9>9C3 zfu}K=YQl$%Wwv7*c3=w*qf%c@p4nEj8+Yh?)B|6kzW;sL=js4VjDCHh8y>Q3t)`Sns!sQ}eV zh;(8Jv6fgzs0dX!v8LCjp2#99h$5nl&|9JXRds8>V=ae{hgeQ*AS#LVdddPis!+Wi z+RsJALLxv!{=^m8oWWpwQ%8rVqv=RE*Kr{H-O(Gldf|k#hSo{UC+I0=s;bDH;13mMM(CC;FK3k&f+ zF2v~!ru&unG}fW^(u({up=>{lleAUKg?<=C?d%k$@gjC$`P9)Br!hwVebm7Bk$)zC z8iBJ>_ZMOWIfKf~ zhp6YzqcZRbD%D?Sy`KI49u{$b8fn#n7bCaKY8+xtQ_aOJY{nHB#!7q_tMGHwLjFe8 zcrx42L}hpkt8pJ*LXA^Op|zm3sD*DwE%Zp%v#5D47LflrTwLXbQuI4&qQ6iBk~X6EoCW!6EZya^XzKX&IBbGnfHujIxZW?hA) zEdN>DiFzB}z;$>Ubw)0s7WgY}#D7uGt>MVCX48Tk8?zskDKFbUg4^hyMy385s)RR& zxX=!6;`4YrYZ(RO(u7b09l%X^6m>|y%HID8HPBtuj_;$!n?PFi)=WWdtPu6PIvl`G z?7^X{TxjK0VHOM{2nsYkXgdAG+-@iCx=mo@(3!`XOME53#e3oh7Mjs#xQqLrJ2r&)Q&4r&#y-< zxDlDibYKPc<2pQ#2esv^Txj4LK6I!$k))V+Fox%_4=1yHm82gzKjt{TrteV`{*(Pa zuhf_q=$E205kh6~Fj5_J95v2)ELO@#xL^)*1sCBhT#nP&mQuVP^@Dmmi5;j6-9WuY zw^0+$bw*#yHso+;#)M3Jna`a>GqHX0(9SmzT7cRXLW|I$8rzg|O|Di( zR1-Sc&k_9Bk*ReqQk6{G&8Nzu)UV0h8C|R{N!XBKvzcA$#u7p`f6z8_@e;9@c!gL? zjBWeq)Dfz)GNeW|Gk<<{y^+{MG^#VEsVr)(s(&RHyvCW+tGbSD?R0c_LfM--(K@|5 zh^a&a@t~>3RoPAx>g{>Fb#h}Fp|aHzbC^H#ezu`bzusNSXX!aZIh`Czn)k^T86bE^H`l-p|^FX_a6>%@B;4L7*6zIDf*`W+3s)6O9; z=yM{r$4y0pM_+`uwry)j5C1l$tlW)ie>URu_h|?}73;DIHk;{&N4x2f+^PP=*kE_u z@9}yo+jq4!H*5`sTkBgI(#~P0zB}*+TrySP-5pQ)ff?_?T{dY0r`=5^55*G^GpNL* zok-j!9X}p8_DwITJf~7#Bt6n!U~^Ws`Mow8@p>PWBNb$-@xOAY8sE=o$r)ZT^QhgM z@T?!PQSZP(>+~k#Hn4uCERD?mcv)6u$};Xx`o{ao@Qso=!{5yOp`_6rw?yY=UCh}M za^0v3WUcQExIV>rR0j$aV}fMh`Vp7Y^XQvwg=&iyEp73V1C%Jj0gBq5c-*Hbu_x5% u^`gE>+n$*E%1n_mwQ*b(%O\n" "Language-Team: BRITISH ENGLISH \n" @@ -134,7 +134,7 @@ msgstr "Het wachtwoord is te zwak" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} bestaat niet: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -143,12 +143,12 @@ msgstr "Misvormde e-mail" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Misvormd telefoonnummer: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Ongeldig attribuutformaat: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -194,7 +194,11 @@ msgstr "Attributen kunnen worden gebruikt om aangepaste gegevens op te slaan" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "Taal is een van de {LANGUAGES} met standaard {LANGUAGE_CODE}" +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adressen" #: vibes_auth/models.py:85 msgid "email" @@ -326,7 +330,7 @@ msgstr "Bevestiging wachtwoord reset" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Hallo %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -364,7 +368,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Vriendelijke groeten,
Het %(project_name)s-team" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -396,17 +400,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Vriendelijke groeten,
het %(project_name)s-team" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME}. | Account activeren" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME}. | Wachtwoord opnieuw instellen" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/pl_PL/LC_MESSAGES/django.mo b/vibes_auth/locale/pl_PL/LC_MESSAGES/django.mo index 24c137c715dbdf4c2a2b35120dbc02d9064933e3..2c4f4a4508a186be01e31b8b181ebe34862e4e32 100644 GIT binary patch delta 1904 zcmX}tYfQ~?9LMqRq2e5oE+V%gijbld(gjhuMK(0X<}{XKPR49F4Gq(hoza6ftT8q- z+Busi*?7QgE|W1cmoamh2eRb>k9dDh|Kqpw{l9+a-~V_2{!bUnjxO-OPl!5alp10@ z5gKH+7gt7ep^O}2mX7f_7V}ZhRbw7DVhVQQDD1%ke2(MLGn76s1LLp&hv9NeH1k^x z6%RLd;0*NP2)uwXcmwInLKu%dn1D|)6+b%nU2e1Cd{0EpeG;nQOy~O?RDXr2b|rY2 z@og)W4cvH#nqfYz8nGPJVGuRrd&nd9#JT^<`TiNBxZj6r{|jeg6pf}~E^6YnsGV#; zR&MQB#Q1iZie~%~HN&r{20u_Mwb+5JOmv)$`uhq@#x2OBwhuMoX5?dST#~R8v+x#X z;~Sih9v=2Hi6=(DPCB03;XgZUb zsN}3fCF>ESsdZunUPq1dD}nvjOvW-jt#Bsl2+B}9QGpuJi_5SPmCYg4bN7+sw#TRi zyh823Pt3+~bUFd6P;bXhRJ$Xn1-AH|%4x^5sD>SQ3LoG$tfsZjxEpFaI)Y}Lj4h~zTtn@gzmLj9DybZp1};XOT_cw&Y(WkD%<(O12fm@U z^be+?o8@O>7IMqhp;lavYTt}(inXGS^b+#%+fAuGOYA1S8?LQ$OE2a@$+9pgxpJM=r>HQBm58Op{^cwkCKNocnM+T*0 z7S6yb)K>3DP4F0Q#`CC^^`i?lsB&Qn5h)9)C_&Y~O19qrx#8+SXR0o7z6%YcqO*>a z)lNmbHJ{LSM+#$GE}^5*VipiOMou~WqXglynCnWy@8PnXP&VqRpm&fb%)ipJxHP!74On2`Je0O&RuX;|p0()X721Bt8(ZRL^uPd0I)ZmIK)1wCi aZKK))N0a-4t)shLfkP>|!M7>3G5-J~J*h(g delta 2829 zcmaLYe@sCgx8-uZRjMl3*4(>A*d}f%}8bJy+u5jfPp% zG~1Z9=E}9T+-j{YY|XW`meH^IS9AW=TwDE-wN@)_EBmAO2QEq$J-grgI?uW1oacGI z-{(NzhO>d*t24%(Hnjc3T;lp&#`NN)@qE!fpI}TOeu0bdI_BZ*iNn{I;A;A{cn==M zS$G!L;(Is;f5I%x%rxe1%)@LARmj04PL$&^tiov+#|(TL8Phz6nn-`j4{IYUY_dMX8>Hq{wW-QmjL*Oy)4fHeW0qNYO z8*}(lzW`_BM$E^0R7MiW+{{z>ES^I4o5|%SW!6Hayb9-GCpM=U^ZX3*zmgNbGU^Ik z#PkP>b@Et_thmpmYA5obZ&&3Uxi_G14sDVzR zg>R(%3^lRuQ@>wFJ!k3y#?kw~gabXG0{NJOd@aK#QK^3uHNp4s0Dg&D*%E7b^R2RUO^5f7EJJ|6&fbl+B@5RP81M@M1aU;e6yU`O=J*yhbgall-Ng<6KWO2Ho_u!^@m=$Rj8)_ z6>9pMu8p}%ovO$oJLCo}+xI=UDegN~OVkV7{syb()~Uu$JKgn?16dQ+rS;cObnBg% zZ+T9u?FC~+rA=OWeVb$D7j$~jcBk2IjM!mkY0UB+J8YWnywo4-(*6%7zMj|SghEjs z6^}VyV~gv>MxItQa4_>&T3MtuZnrv?8?&Mj$BMRCdR))WK+X2Of$f!bNvq5C+pM6| zV#h=N?H?K|c5kgr_J22NVZI&G`kbKE*``NC;^8L8W3fZs#^G*qAboOVe7L7M8fkG` zi);7nuCA=8Z>$OIs!Upktw6Ky9rN$G2+jSgb4R1x=3DgUwaIi1h)txE@weh+sP5h3Us3e!Chtv9Z zWS?qou)4ZEJ7I@iE0(aE\n" "Language-Team: BRITISH ENGLISH \n" @@ -135,7 +135,7 @@ msgstr "Hasło jest zbyt słabe" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} nie istnieje: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -144,12 +144,12 @@ msgstr "Zniekształcona wiadomość e-mail" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Zniekształcony numer telefonu: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Nieprawidłowy format atrybutu: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -195,7 +195,11 @@ msgstr "Atrybuty mogą być używane do przechowywania niestandardowych danych" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "Język jest jednym z {LANGUAGES} z domyślnym {LANGUAGE_CODE}." +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adresy" #: vibes_auth/models.py:85 msgid "email" @@ -327,7 +331,7 @@ msgstr "Potwierdzenie resetowania hasła" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Witaj %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -365,7 +369,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Z wyrazami szacunku,
Zespół %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -397,17 +401,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Z wyrazami szacunku,
zespół %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Aktywuj konto" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Resetuj hasło" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/pt_BR/LC_MESSAGES/django.mo b/vibes_auth/locale/pt_BR/LC_MESSAGES/django.mo index cc5388fd30f9ff84dfdf248518d50be294deb5bb..989c497cad7f6e0a1440aef835af7601eea844a0 100644 GIT binary patch delta 1907 zcmYk-Sx8h-9LMo9&((6eXAhgS62? z6hRaO*SBn=$0#bwh$xb%pdcSA=%I(czwu6V@IRk(w{y?^pZ~!JRkurg?_D7ShUOs> ziNSHk?88-|{Lm(c8NqG}58W zl%d{Jg?hdb^;}yt`PYd9oS24vn2y&_8F`G1WuD`4{D3UCX{VxgI4D%i;rJD!Y2xD< zOhuZE^RX0X;%-zC_TnNuhqLgFi~MV5e>kBDOy+>)Gg+uAFGQ_*Jyzo;)Pydemg*)d z^%g2a_ffmxCFbK-)Dk6fk*+B~Jy(Y$*R1i;(U)$vFKowo9PdOg4&VliU{s}S8y>+f zBpK!xYM@ZwqKU+yCYX$xcrGeqZq)PDxCA}uM&D^VNpzlJ1&$(rCWi&A!5Y+zdr{l) z6l$O|sFdEo47`J??vJSF!%3%>BndUKQq=jSs7y2?OXV~B=qOcvs5QHXt8o-{V+EBt z8|zU6?8l9G5_jPjBuS=$(O5;(hP8MQNsf7dx;~6~_zgAQ3}zRh{a-~#124y9+-lo{ zs)5U>FT0DyID$%T0vGkdG;GI(sEk}fYBNwz+6{VHu$9qCB^V;ma<%^p>;ny^ru7Ln zwrZg13xaKp-6_Npf{g!bygQIh)dq<%rNjzCADB%9+hRJa2%oCGj!+TmtFnk-tE7`o zj3>0_%Faq+DY2YT({}p5DMM<@2v49lmc0=A+H(AR32aeaVr%OA?aD<}zFIke=B)z)4YxRd^E@xxaA)UytMMnbxED4{v*FY)`MD*ylh delta 2804 zcmaLYd2AGA7{~Fqwj2eNLV-dN7{EfgS`n11Ev%)*a6j|jG|U{7*luxw_?%g{u!q*#{E;Mj;|np zCU*=KC!*SC;A&iyX^&wJ_j^z)--mPXFfL?#)5}FMeuJ8MF1;w!Q;`sv)mVmGP%C)` z6`AKy&mTiY;0;u$-_Lj<^ZnmAiS{vsRTG|#G?`NDW=vDg#ROcB^D&Gi_$02tw^0-M z1C`?uEJFj$!~8HpjdLQ8_!n?-o(6^J5^A7dQ5|IS zmR_91hwh7UGOofRY(zz5FETf?9}nUYWWSjLUQ%Q&RLE;^8g^hymN8F{C;p{0{LZM0 za2C_o%IZ;jA&Ph6LDY+ya@SvZF+uZh>7Cio!gGD$=ISEdse<6-2_oZ&+QeunDkA}Xi9p(1iM)1E_k7jQosmAYjZ z$IZA6yFcK9XqjnD`w=Wf(r8YiI(!c`!B0>#{|c4UOQ@C2rB{V|F{+=HSb`g|61#9Y zzKhfGFD%Cb!pj`HO%oSuX^5g$auRjkPop|KiwgO9oQvP0PRD5SLKjsKl;mfEL z{gnCsDk_EfELZ(iq9W9e>UTHJz{jP||7%<@hB=2?+4r~%b9qW34xt9zfbF;w6_F27 z1AK{!%s;4=7Fp~gRG$N7GZ!1F>!}UYrPO<<-S_gL!E~HfQni~^%Bb_Gn)%>D`iy=v zRAy4kscWeUE&n>wE6+wvL}d$A>0C%v*j4WCM<=Q~y(vaz8gxdLih;6F_i)p(whGH)wMQW6ZJmb3@VD2O0Dv*-KxAQqzd!kQqK(=-85zz6>c4; zbyRIO<$s_kRVy+#HKuBe)@-}4z>Grc1dG;<88$Xs)~+MHPxbO z6Xj6vqN-@msOY%r#B9<{jn`>M-H2reLELRl29DM0$76P|((3xJDcoUayYWg%Zuzb(4{8mfdb!`mQu4@XdtJ;#X z_P9a26>(baWHh+;MYytVZB?r0yHPWX?5Nh~M68Z>b>Ssr%}$)frfX0w>s=dyzdqN+BcchESfZ@XaCd*g|Ytp*y+{& uKPL^7b`Ed9QK&;oNt{8vz`jX7*cq\n" "Language-Team: BRITISH ENGLISH \n" @@ -131,7 +131,7 @@ msgstr "A senha é muito fraca" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} não existe: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -140,12 +140,12 @@ msgstr "E-mail malformado" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Número de telefone malformado: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Formato de atributo inválido: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -191,7 +191,11 @@ msgstr "Os atributos podem ser usados para armazenar dados personalizados" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "O idioma é um dos {LANGUAGES} com o padrão {LANGUAGE_CODE}" +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Endereços" #: vibes_auth/models.py:85 msgid "email" @@ -323,7 +327,7 @@ msgstr "Confirmação de redefinição de senha" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Olá %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -361,7 +365,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Atenciosamente,
A equipe de %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -393,17 +397,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Atenciosamente,
a equipe de %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Ativar conta" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Redefinir senha" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/ro_RO/LC_MESSAGES/django.mo b/vibes_auth/locale/ro_RO/LC_MESSAGES/django.mo index 5a3fc8b2393df6abca4132c61ccf87019aed5afb..a465ae2d66a19f9226558a2cc253ef16872e2182 100644 GIT binary patch delta 1907 zcmYk-S!_&E9LMqh&_ze7E>zKJDOEeArc|}4y(n#BNrY5|L>p-FUq^;QvyH!2~P2dN;ISVCe+c)|B~=Z-j;|9s9pbMLwTd(Qv1*Jd9r3O!GWIcBs< zVhGXE!>k_5WBH=>i#N-`WE_MAsPigt3f5r;p2Pmwi9vjbgVEoMIWQNKFo?ZzKBk(5 ztdfqOflW9D8?Z07VH{pT=CTe<#!gJZ`VZHSs#v5QMnIA%{$UN&PUBxh`O!> z_i%q(M`tAi-KY!;xT+54q9$}u8Q(@uu`X}?sdxMaV;KK}y8b(k#TYKi!%3*b*PvFi z7I|`O#Tne+F3?fNFHsr3LtXG0^`w>!};{aTXoNC)p2{$7jYvC&mPvK~6 z$MN_Kr=g#dL&~I#j`naBYR?+*0Jh*7Ok+PZ(NYM+U^;c6_#YGhIDEb6?gsG7Ke z+KOAKd7j`n{DNB9OqNgMLDY2>$j4TO_|_8DqN=R)kxi0J*pOVqaN%KYW|a`*YFH#{&t*#p$~Mj=wz{BGqD79+=Pp;4YdOAQJH^5 z9?E{9ChWsw1u%fauo(Ht)*~O=!Iu&{g4%-9sKl;guHOGUbfz=#5%V#Z^;&_eQ8&1Z zoM<;uTk;y4@DJ8u6N9?pCuCbKhC)!{>BuQojXb06#%UPFk=TWPz5hSxXafCN8wvwa zMK~Qb!FtTYT^Pjks3m@en)n^=#owqWYo-FJP50?X<8UI{isJ4wSvx zoCxkWud3T9gMV$Q*VF##iQMG9F>N^~p{ZL{f=6Cv%*d_u3ADtQzU zZ6$QH51w^IWi~QA75vo4;_u_7&eqy2Y{E_8UQH^nr zBJZe*YAUgWSVpM$RO!*CqO2fP8)ZZxF^kY!q5Yje6cEv-EzBnL8mqqM63bP(>`8y@3%6$EIj=Kb#r*}6ld4Mq delta 2828 zcmajgTWl0n9LMpqaxEZ~TS1WaAQqvNq7>xPQYfXxLMgQ^q7ZGS+i5#yFLieY46rT) z!Kk3b0*N7p#E|e}#86E%Cd4QTCO#Nq^o@WL6OG0j1_LjCf4f^O74)S4{mh*1oXh`z zrhTpA)avxb2}6$<+E(IT;_6+-r16Vke9+F1Fs1}Q$60t4r{UC*+3%O*BJP{;9^8kM z@i;EQ_i#G?jQNvQav3>ky(kA*n-;0Ayj6L zqQ3tIDg&obss1?U#oX_&V*&kRNUIh+3+XZoFwLB11s9WW9hP7lmf=gd3_n0E5T4S5 z1$^j!4o<}iEXGz;Ms^@;GrRExd=)uwW(p4}vlf-|dYpkh7!Dcp$^`O1kB;A&Rj0U+ zaCfMD&Z{DA%7B&V+y-5 zJ%iCHo7s;_-BHvE3zb*P;*qjr1A?eTp zTCfU}+55CP&BZ!8E}&91gZyhpvr%VZK5F1EH)JhlDhJ>>EXOFGMonm01?R^sMJ;?ivPp9k zse*Y2wexfM0EXDM7B(04{34u*4OpD!BF2RVIE*^2Z{rgD29@%0HaqZi+{67s)Xv^T zy#=44p8E+k&SXXpA^W)59_6Zm(1M!@mE>U}y_yeArh$|mrBI`2oF?zMzU zQ%m$Wy~e7$T0Nn+YH-_1he}mKR1;H}Kl5I1M4fv5HKXk231Tx*MX1#fb%Z5!$n?tT z6szffg_>Slor?{+sgG@QB3_4ed_Uo}2fk}NAxWqYEkwcEADb9xf-r`@pM7IUKR+@$qgCu-UUf7QR!S9?Dkd16|( z8;QgjDoDDCwoWgR>>sVP@2R{OLn~rkfz#z$FKOd3*Ty@ohTGXt-MDsB_1fB&l-=(6 z-L}K+bb^Tg&oA0)Hm<2n^DCajAlmLG*lgyuEqj~l8!|dJEV?rs zk9B%oWlhZ+*VWdvwl!97s7={jwmR&4+Z-}g9S+BXm~Za%#b!6@`nJhQCb!2E9cHHz zld>IgH)&&W-@4CwN#!{RypB{~Pre(PSC`2>8=xMUa#$~0pF!nNHNF}j4)s<|+|yO# zMqC?pJlh_yqoflF{Ih!#UZyg&;clSgTckIUbH9Tg}vVW1ts$ugD5*t8hrNF8IQ5O xOx-f)^43zFD)?@=cc%(uOU2}r@_*{&oImE-9w!lxIQ^B11=$*%-P>O!^EZ`?zQX_j diff --git a/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po b/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po index f6a9443c..96ced586 100644 --- a/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po +++ b/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -134,7 +134,7 @@ msgstr "Parola este prea slabă" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} nu există: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -143,12 +143,12 @@ msgstr "E-mail malformat" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Număr de telefon malformat: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Format de atribut invalid: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -194,7 +194,11 @@ msgstr "Atributele pot fi utilizate pentru a stoca date personalizate" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "Limba este una dintre {LANGUAGES} cu {LANGUAGE_CODE} implicit" +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Adrese" #: vibes_auth/models.py:85 msgid "email" @@ -326,7 +330,7 @@ msgstr "Confirmarea resetării parolei" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Bună ziua %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -364,7 +368,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "Cele mai bune salutări,
Echipa %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -396,17 +400,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "Cele mai bune salutări,
echipa %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Activare cont" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Resetați parola" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo b/vibes_auth/locale/ru_RU/LC_MESSAGES/django.mo index 4b5eba5cd924820d1b9a7532ff3f26bf40ec063e..7003e3217152bbcba16e377772572ce0f5f86edb 100644 GIT binary patch delta 2054 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\n" "Language-Team: BRITISH ENGLISH \n" @@ -48,27 +48,27 @@ msgstr "Аутентификация" #: vibes_auth/docs/drf/views.py:15 msgid "obtain a token pair" -msgstr "Получение пары маркеров" +msgstr "Получение пары токенов" #: vibes_auth/docs/drf/views.py:16 msgid "obtain a token pair (refresh and access) for authentication." -msgstr "Получите пару маркеров (refresh и access) для аутентификации." +msgstr "Получите пару токенов (refresh и access) для аутентификации." #: vibes_auth/docs/drf/views.py:35 msgid "refresh a token pair" -msgstr "Обновить пару маркеров" +msgstr "Обновить пару токенов" #: vibes_auth/docs/drf/views.py:36 msgid "refresh a token pair (refresh and access)." -msgstr "Обновление пары маркеров (обновление и доступ)." +msgstr "Обновление пары токенов (обновление и доступ)." #: vibes_auth/docs/drf/views.py:55 msgid "verify a token" -msgstr "Проверка маркера" +msgstr "Проверка токена" #: vibes_auth/docs/drf/views.py:56 msgid "Verify a token (refresh or access)." -msgstr "Проверка маркера (обновление или доступ)." +msgstr "Проверка токена (обновление или доступ)." #: vibes_auth/docs/drf/views.py:62 vibes_auth/views.py:115 msgid "the token is valid" @@ -135,7 +135,7 @@ msgstr "Пароль слишком слабый" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} не существует: {uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -144,12 +144,12 @@ msgstr "Некорректное письмо" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "Некорректный номер телефона: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "Недопустимый формат атрибута: {attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -195,7 +195,11 @@ msgstr "Атрибуты могут использоваться для хран #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "Язык - один из {LANGUAGES}, по умолчанию {LANGUAGE_CODE}." +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "Адреса" #: vibes_auth/models.py:85 msgid "email" @@ -251,7 +255,7 @@ msgstr "Статус подписки пользователя на рассыл #: vibes_auth/models.py:122 msgid "activation token" -msgstr "Активационный маркер" +msgstr "Активационный токен" #: vibes_auth/models.py:124 msgid "attributes" @@ -327,7 +331,7 @@ msgstr "Подтверждение сброса пароля" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "Здравствуйте, %(user_first_name)s," +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -364,7 +368,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "С наилучшими пожеланиями,
Команда %(project_name)s" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -396,17 +400,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "С наилучшими пожеланиями,
команда %(project_name)s" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | Активировать учетную запись" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} | Сброс пароля" +msgstr "" #: vibes_auth/validators.py:13 msgid "" diff --git a/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.mo b/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.mo index ba0a0410da11084247bed0f240d526d061d4f6f8..3eb3f8f4d6ebcfb8e39cd2d86cd76400a332afc5 100644 GIT binary patch delta 1882 zcmX}tduYvJ9LMqRIcBpNwPy6omJkRg976RM zLAA@l-8|na$*iQ}9%_VPMxzzTM|BuSjrcrri(PZ|Ew20+lc;}*YX2Gw@gt7HzBJar z%TX)22${KU!wQ~n2gqoIt*8+`K{aSY&GbELDLb7R>51zFm__|GMO#QN)o99nDX3sD`Fx^gwDVT~)-qt3uiSKg0|#TuPw zQ4_lC$`4WfzjD4uJ?E?QN6clqP%{a#UZ*h|*Wztd2U+aHCd@;XkD>;025D*+UHLZZ z0r#Cx-1Rop7Ja}1OlKLi60tJ==aN~Bn#nfQ9`8kUbkF(7U4M=mz&q4~zo2H^kK8bp8 z8>(G9j>TW7f#y@G0hOWdtHg-j|0QH}!zRCi*Tt2aP+M{d)$k$e!Ow6pzH#LdygHmo z>qaPPGBtkAtQvK2ClXqAO@wB)h+x5Nf!_b6g!V=shlPYjr_-NCC@mqf{aoTpsM+du zo#pEOq0e(6vCLIyQgdAXALGf)CiJ$kz?y#|={+qXcr*SdehU64_R3#QoeiZC#AqUk z(C^{VmVPo3?=w%_@7?z6R&#Arn!Pnvy#4K`a0=HV;C`m(78}5Cj31_ zZG}FsN;4DqKRnv9Qdb^=bBTF`4*57jTc=lg0%0q>pDB|9X&W}w*ETc^ZK&NIADy~6 z-jRC2yOee~5Z{`f?cGX067(KttO}!=;GW78F#ZKq*+U2&F<1g_zAkr|s%?x7mxRu-Q-3DTB43HO;PW^F z597V~9*)7E@g~g4F(wyB<1lqKjf)`^%*Q*h9B;%h4#aIppJq2|AaTc!a47jM%)@RR zk2lho%8T#@T!5NO1@dRAoV*JMYN|FDdeDoSStCa9IIhP0>oOybU_JRJRKwlKpUJtN zz!9kO@mPX|PI*0ELw*Bl=9_Q|Hevz&n*(sFm4= zs(%Qz0uMls?ToE{5Y0oQ5te!d-YDet;Ut@2EW< z#5B~=1biOn;Trr5)y_CJS_7Ji8u$aKfo^qdM)h<2Cf0u>7vEB#CHfK7(M41P19(ag z-pr5kQ*jg)V?I`)R^(Y^Y$k>~a1V0c%t#*6%37!;FUPUifOeKKFXplSYUmQZPR7v; zUo$H~>X@~7C;FUx3u?s@sQRCvPJ7ZR?{*wap`IUs+N!Cj`qQ0!73$2ajXDK3-c5nm z@d&b-=6lC9YUY=n{7^Pj1DW7hgzBi+aiL>5YC@H$nR{_R?m`zvC$j!(XbaZi9w&bp zHNtD@RWr#& zIKG&vV46__JcjDvU8F7Zg;RbGwNgK!p6_ct&fu$cTwR0mzC=l{S$%;R&a0WUxeY$dAR8dSX}bYJiP zR;OT}3dpx2ZJ19{51vDHoWu(J&B>Rtp?8t5z!|t1nY?)yIov&;bLdGA^ShK-LaZQW z5%&<$h5X!0=q;E-OeB=%61Nk2jrt~apus3YR$;Y!l}Yp<%D5}jFGQv0vNvYgOf>uWZic#K$0%qNr<5f2a+!K>Tzwbb4#>3@ZizUf1WWy+NMo^pFV z)s{OH3V7CqL$+1p57fIubF7V5id+ru0iHl4@yo#3S@BteJymuvWCiS6cc400Fn3*G zepQ`q`e`a0v;(dhPaxRa zT0vrd&d#iPzS^+6*0wxB%kQ%-e~qQ)HZCo#SiGuqaoNgH=Z0(1 z^83po@y~}$$ai}+KfBs$s8bWZaQ!+vz+`)}u1q$PxGZL&&xA1%#1Wv*6ng&nj*R;4=_+~5yXn~hrUh*j;kgO<-9 zvh1flL2X|+?5U2J%FLz|mRA=(Vh4gAf8vMSRayDTcV17$j;C7AB+u+g?Qcmnzi{!) z!GG;I8y=rA^so5Lyw%b4j?*3O$5OAw(ya$mjR!jqZtL2ADj9p_;+aNmfB)4;zIvqV zz+v^P+0@+8ezbFEqahzZl(%_oYRie_v9temHZH_AC&mtYBWrfL^xV0TAbjDdEwA4s1%+R^smm7AGUaUr%P{_*gMlRKN+l4p-}zWiRg^-yxp z`<*SDS&{zd;{5Q6Y%8_xaQf{dj3<>ik=)+cfA+3;_oy)=QXj`sr`xH-VkO)5re1iT z<`RV?2WCHawSCPzl0N+=l{Z;^b5}VET|1gO&z?%QZfCHYtiHM4L($RJlstJL`PvEX IZstJz4Jj5`NB{r; diff --git a/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po b/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po index 2a40c2aa..ce96ab5e 100644 --- a/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po +++ b/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: EVIBES 2.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-03 18:33+0300\n" +"POT-Creation-Date: 2025-07-14 15:36+0300\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -130,7 +130,7 @@ msgstr "密码太弱" #: vibes_auth/graphene/mutations.py:107 #, python-brace-format msgid "{name} does not exist: {uuid}" -msgstr "{name} 不存在:{uuid}" +msgstr "" #: vibes_auth/graphene/mutations.py:115 msgid "malformed email" @@ -139,12 +139,12 @@ msgstr "畸形电子邮件" #: vibes_auth/graphene/mutations.py:120 #, python-brace-format msgid "malformed phone number: {phone_number}" -msgstr "畸形电话号码: {phone_number}" +msgstr "" #: vibes_auth/graphene/mutations.py:142 #, python-brace-format msgid "Invalid attribute format: {attribute_pair}" -msgstr "属性格式无效:{attribute_pair}" +msgstr "" #: vibes_auth/graphene/mutations.py:263 vibes_auth/viewsets.py:157 #: vibes_auth/viewsets.py:176 @@ -188,7 +188,11 @@ msgstr "属性可用于存储自定义数据" #: vibes_auth/graphene/object_types.py:49 #, python-brace-format msgid "language is one of the {LANGUAGES} with default {LANGUAGE_CODE}" -msgstr "语言是{LANGUAGES}之一,默认为{LANGUAGE_CODE}。" +msgstr "" + +#: vibes_auth/graphene/object_types.py:50 +msgid "address set" +msgstr "地址" #: vibes_auth/models.py:85 msgid "email" @@ -320,7 +324,7 @@ msgstr "密码重置确认" #: vibes_auth/templates/user_verification_email.html:91 #, python-format msgid "hello %(user_first_name)s," -msgstr "您好 %(user_first_name)s、" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:92 msgid "" @@ -356,7 +360,7 @@ msgstr "" #: vibes_auth/templates/user_reset_password_email.html:103 #, python-format msgid "best regards,
The %(project_name)s team" -msgstr "致以最诚挚的问候,
%(project_name)s团队" +msgstr "" #: vibes_auth/templates/user_reset_password_email.html:109 #: vibes_auth/templates/user_verification_email.html:108 @@ -373,7 +377,7 @@ msgstr "激活账户" msgid "" "thank you for signing up for %(project_name)s. please activate your account\n" " by clicking the button below:" -msgstr "感谢您注册%(project_name)s_。请点击下面的按钮激活您的帐户:" +msgstr "" #: vibes_auth/templates/user_verification_email.html:96 msgid "" @@ -386,17 +390,17 @@ msgstr "" #: vibes_auth/templates/user_verification_email.html:102 #, python-format msgid "best regards,
the %(project_name)s team" -msgstr "致以最诚挚的问候,
%(project_name)s团队" +msgstr "" #: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" -msgstr "{config.PROJECT_NAME} | 激活账户| 激活账户" +msgstr "" #: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" -msgstr "{config.PROJECT_NAME} 重置密码| 重置密码" +msgstr "" #: vibes_auth/validators.py:13 msgid ""