diff --git a/core/docs/drf/viewsets.py b/core/docs/drf/viewsets.py index a859597a..8c42d655 100644 --- a/core/docs/drf/viewsets.py +++ b/core/docs/drf/viewsets.py @@ -1,15 +1,23 @@ from django.utils.translation import gettext_lazy as _ -from drf_spectacular.utils import extend_schema +from drf_spectacular.utils import OpenApiParameter, extend_schema from rest_framework import status from core.docs.drf import BASE_ERRORS from core.serializers import ( AddOrderProductSerializer, AddWishlistProductSerializer, + AttributeDetailSerializer, + AttributeGroupDetailSerializer, + AttributeGroupSimpleSerializer, + AttributeSimpleSerializer, + AttributeValueDetailSerializer, + AttributeValueSimpleSerializer, BulkAddWishlistProductSerializer, BulkRemoveWishlistProductSerializer, BuyOrderSerializer, BuyUnregisteredOrderSerializer, + CategoryDetailSerializer, + CategorySimpleSerializer, OrderDetailSerializer, OrderSimpleSerializer, ProductDetailSerializer, @@ -24,15 +32,15 @@ from payments.serializers import TransactionProcessSerializer ATTRIBUTE_GROUP_SCHEMA = { "list": extend_schema( summary=_("list all attribute groups (simple view)"), - responses={status.HTTP_200_OK: ProductSimpleSerializer(many=True), **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeGroupSimpleSerializer(many=True), **BASE_ERRORS}, ), "retrieve": extend_schema( summary=_("retrieve a single attribute group (detailed view)"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeGroupDetailSerializer, **BASE_ERRORS}, ), "create": extend_schema( summary=_("create an attribute group"), - responses={status.HTTP_201_CREATED: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_201_CREATED: AttributeGroupDetailSerializer, **BASE_ERRORS}, ), "destroy": extend_schema( summary=_("delete an attribute group"), @@ -40,26 +48,26 @@ ATTRIBUTE_GROUP_SCHEMA = { ), "update": extend_schema( summary=_("rewrite an existing attribute group saving non-editables"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeGroupDetailSerializer, **BASE_ERRORS}, ), "partial_update": extend_schema( summary=_("rewrite some fields of an existing attribute group saving non-editables"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeGroupDetailSerializer, **BASE_ERRORS}, ), } ATTRIBUTE_SCHEMA = { "list": extend_schema( summary=_("list all attributes (simple view)"), - responses={status.HTTP_200_OK: ProductSimpleSerializer(many=True), **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeSimpleSerializer(many=True), **BASE_ERRORS}, ), "retrieve": extend_schema( summary=_("retrieve a single attribute (detailed view)"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeDetailSerializer, **BASE_ERRORS}, ), "create": extend_schema( summary=_("create an attribute"), - responses={status.HTTP_201_CREATED: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_201_CREATED: AttributeDetailSerializer, **BASE_ERRORS}, ), "destroy": extend_schema( summary=_("delete an attribute"), @@ -67,26 +75,26 @@ ATTRIBUTE_SCHEMA = { ), "update": extend_schema( summary=_("rewrite an existing attribute saving non-editables"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeDetailSerializer, **BASE_ERRORS}, ), "partial_update": extend_schema( summary=_("rewrite some fields of an existing attribute saving non-editables"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeDetailSerializer, **BASE_ERRORS}, ), } ATTRIBUTE_VALUE_SCHEMA = { "list": extend_schema( summary=_("list all attribute values (simple view)"), - responses={status.HTTP_200_OK: ProductSimpleSerializer(many=True), **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeValueSimpleSerializer(many=True), **BASE_ERRORS}, ), "retrieve": extend_schema( summary=_("retrieve a single attribute value (detailed view)"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeValueDetailSerializer, **BASE_ERRORS}, ), "create": extend_schema( summary=_("create an attribute value"), - responses={status.HTTP_201_CREATED: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_201_CREATED: AttributeValueDetailSerializer, **BASE_ERRORS}, ), "destroy": extend_schema( summary=_("delete an attribute value"), @@ -94,26 +102,26 @@ ATTRIBUTE_VALUE_SCHEMA = { ), "update": extend_schema( summary=_("rewrite an existing attribute value saving non-editables"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeValueDetailSerializer, **BASE_ERRORS}, ), "partial_update": extend_schema( summary=_("rewrite some fields of an existing attribute value saving non-editables"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: AttributeValueDetailSerializer, **BASE_ERRORS}, ), } CATEGORY_SCHEMA = { "list": extend_schema( summary=_("list all categories (simple view)"), - responses={status.HTTP_200_OK: ProductSimpleSerializer(many=True), **BASE_ERRORS}, + responses={status.HTTP_200_OK: CategorySimpleSerializer(many=True), **BASE_ERRORS}, ), "retrieve": extend_schema( summary=_("retrieve a single category (detailed view)"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: CategoryDetailSerializer, **BASE_ERRORS}, ), "create": extend_schema( summary=_("create a category"), - responses={status.HTTP_201_CREATED: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_201_CREATED: CategoryDetailSerializer, **BASE_ERRORS}, ), "destroy": extend_schema( summary=_("delete a category"), @@ -121,11 +129,11 @@ CATEGORY_SCHEMA = { ), "update": extend_schema( summary=_("rewrite an existing category saving non-editables"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: CategoryDetailSerializer, **BASE_ERRORS}, ), "partial_update": extend_schema( summary=_("rewrite some fields of an existing category saving non-editables"), - responses={status.HTTP_200_OK: ProductDetailSerializer, **BASE_ERRORS}, + responses={status.HTTP_200_OK: CategoryDetailSerializer, **BASE_ERRORS}, ), } @@ -247,3 +255,57 @@ WISHLIST_SCHEMA = { responses={status.HTTP_200_OK: WishlistDetailSerializer, **BASE_ERRORS}, ), } + +PRODUCT_SCHEMA = { + "list": extend_schema( + summary=_("list all products (simple view)"), + responses={ + status.HTTP_200_OK: ProductSimpleSerializer(many=True), + **BASE_ERRORS, + }, + ), + "retrieve": extend_schema( + summary=_("retrieve a single product (detailed view)"), + parameters=[ + OpenApiParameter( + name="lookup", + description=_("Product UUID or slug"), + required=True, + type=str, + location=OpenApiParameter.PATH, + ), + ], + responses={ + status.HTTP_200_OK: ProductDetailSerializer, + **BASE_ERRORS, + }, + ), + "create": extend_schema( + summary=_("create a product"), + responses={ + status.HTTP_201_CREATED: ProductDetailSerializer, + **BASE_ERRORS, + }, + ), + "destroy": extend_schema( + summary=_("delete a product"), + responses={ + status.HTTP_204_NO_CONTENT: {}, + **BASE_ERRORS, + }, + ), + "update": extend_schema( + summary=_("rewrite an existing product, preserving non-editable fields"), + responses={ + status.HTTP_200_OK: ProductDetailSerializer, + **BASE_ERRORS, + }, + ), + "partial_update": extend_schema( + summary=_("update some fields of an existing product, preserving non-editable fields"), + responses={ + status.HTTP_200_OK: ProductDetailSerializer, + **BASE_ERRORS, + }, + ), +} diff --git a/core/locale/ar_AR/LC_MESSAGES/django.mo b/core/locale/ar_AR/LC_MESSAGES/django.mo index f8388751..3b496f8d 100644 Binary files a/core/locale/ar_AR/LC_MESSAGES/django.mo and b/core/locale/ar_AR/LC_MESSAGES/django.mo differ diff --git a/core/locale/ar_AR/LC_MESSAGES/django.po b/core/locale/ar_AR/LC_MESSAGES/django.po index 23002c5f..164ae1c0 100644 --- a/core/locale/ar_AR/LC_MESSAGES/django.po +++ b/core/locale/ar_AR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -80,7 +80,7 @@ msgstr "الصورة" msgid "images" msgstr "الصور" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "المخزون" @@ -88,7 +88,7 @@ msgstr "المخزون" msgid "stocks" msgstr "الأسهم" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -96,35 +96,35 @@ msgstr "الأسهم" msgid "price" msgstr "السعر" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "تصنيف المنتج" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "معلومات أساسية" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "تواريخ مهمة" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "الترجمات" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "طلب المنتج" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "اطلب المنتجات" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "هل الأعمال" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "التكوين" @@ -220,141 +220,141 @@ msgstr "" "اشترِ طلبًا كعمل تجاري، باستخدام \"المنتجات\" المتوفرة مع \"معرّف_المنتج\" " "و\"السمات\"." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "سرد كل مجموعات السمات (عرض بسيط)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "استرداد مجموعة سمة واحدة (عرض تفصيلي)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "إنشاء مجموعة سمات" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "حذف مجموعة سمات" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "إعادة كتابة مجموعة سمات موجودة تحفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 msgid "" "rewrite some fields of an existing attribute group saving non-editables" msgstr "إعادة كتابة بعض حقول مجموعة سمات موجودة تحفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "سرد جميع السمات (عرض بسيط)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "استرداد سمة واحدة (عرض تفصيلي)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "إنشاء سمة" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "حذف سمة" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "إعادة كتابة سمة موجودة تحفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "إعادة كتابة بعض حقول سمة موجودة تحفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "سرد جميع قيم السمات (عرض بسيط)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "استرداد قيمة سمة واحدة (عرض تفصيلي)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "إنشاء قيمة السمة" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "حذف قيمة سمة" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "إعادة كتابة قيمة سمة موجودة تحفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 msgid "" "rewrite some fields of an existing attribute value saving non-editables" msgstr "إعادة كتابة بعض حقول قيمة سمة موجودة حفظ غير قابل للتعديل" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "قائمة بجميع الفئات (عرض بسيط)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "استرداد فئة واحدة (عرض تفصيلي)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "إنشاء فئة" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "حذف فئة" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "إعادة كتابة فئة موجودة حفظ غير المواد غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "إعادة كتابة بعض حقول فئة موجودة حفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "قائمة بجميع الفئات (عرض بسيط)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "بالنسبة للمستخدمين من غير الموظفين، يتم إرجاع الطلبات الخاصة بهم فقط." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "استرداد فئة واحدة (عرض تفصيلي)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "إنشاء سمة" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "لا يعمل مع المستخدمين من غير الموظفين." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "حذف سمة" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "إعادة كتابة فئة موجودة حفظ غير المواد غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "إعادة كتابة بعض حقول فئة موجودة حفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "سعر الشراء وقت الطلب" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -363,102 +363,131 @@ msgstr "" "ينهي أمر الشراء. إذا تم استخدام \"فرض_الرصيد\"، يتم إكمال عملية الشراء " "باستخدام رصيد المستخدم؛ إذا تم استخدام \"فرض_الدفع\"، يتم بدء المعاملة." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "شراء طلب شراء بدون إنشاء حساب" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "إنهاء طلب الشراء لمستخدم غير مسجل." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "إضافة منتج إلى الطلب" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." msgstr "يضيف منتجًا إلى طلب باستخدام \"معرّف_المنتج\" و\"السمات\" المتوفرة." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "إزالة منتج من الطلب" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." msgstr "يزيل منتجًا من أحد الطلبات باستخدام \"معرّف_المنتج\" و\"السمات\" المتوفرة." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "سرد جميع السمات (عرض بسيط)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "بالنسبة للمستخدمين من غير الموظفين، يتم إرجاع قوائم الرغبات الخاصة بهم فقط." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "استرداد سمة واحدة (عرض تفصيلي)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "إنشاء سمة" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "لا يعمل مع المستخدمين من غير الموظفين." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "حذف سمة" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "إعادة كتابة سمة موجودة تحفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "إعادة كتابة بعض حقول سمة موجودة تحفظ غير القابلة للتعديل" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "إضافة منتج إلى الطلب" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "يضيف منتجًا إلى قائمة أمنيات باستخدام 'product_uid' المتوفرة" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "إزالة منتج من قائمة الرغبات" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "يزيل منتجًا من قائمة أمنيات باستخدام 'product_uid' المتوفرة" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "إضافة العديد من المنتجات إلى قائمة الرغبات" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "يضيف العديد من المنتجات إلى قائمة الرغبات باستخدام 'product_uids' المتوفرة" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "إزالة منتج من الطلب" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "يزيل العديد من المنتجات من قائمة الرغبات باستخدام 'product_uids' المتوفرة" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "قائمة بجميع المنتجات (عرض بسيط)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "استرداد منتج واحد (عرض تفصيلي)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "معرف المنتج UUID أو سبيكة المنتج" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "إنشاء منتج" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "حذف منتج" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "إعادة كتابة منتج موجود، مع الحفاظ على الحقول غير القابلة للتحرير" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "تحديث بعض حقول منتج موجود، مع الحفاظ على الحقول غير القابلة للتحرير" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "لم يتم توفير مصطلح بحث." @@ -493,7 +522,7 @@ msgid "add a product to the order" msgstr "إضافة منتج إلى الطلب" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "الطلب {order_uuid} غير موجود" @@ -510,44 +539,48 @@ msgstr "إزالة جميع المنتجات من الطلب" msgid "buy an order" msgstr "شراء طلبية" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +msgid "please provide either order_uuid or order_hr_id - mutually exclusive" +msgstr "يرجى تقديم إما Order_uuid أو order_uid_hr_hr_id - متنافيان!" + +#: core/graphene/mutations.py:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "جاء نوع خاطئ من طريقة order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "إضافة منتج إلى الطلب" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "قائمة الأمنيات {wishlist_uuid} غير موجودة" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "إزالة منتج من الطلب" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "إزالة منتج من الطلب" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "إزالة منتج من الطلب" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "شراء طلبية" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" msgstr "الرجاء إرسال السمات كسلسلة منسقة مثل attr1=قيمة1، attr2=قيمة2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - يعمل مثل السحر" @@ -697,7 +730,7 @@ msgstr "الرموز الترويجية" msgid "products on sale" msgstr "المنتجات المعروضة للبيع" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "العروض الترويجية" @@ -713,11 +746,11 @@ msgstr "البائع" msgid "product" msgstr "المنتج" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "المنتجات المفضلة" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "قوائم التمنيات" @@ -779,11 +812,15 @@ msgstr "علم اللغة، إذا كان موجوداً :)" msgid "supported languages" msgstr "الحصول على قائمة باللغات المدعومة" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "نتائج البحث عن المنتجات" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "نتائج البحث عن المنتجات" + #: core/models.py:62 msgid "parent of this group" msgstr "والد هذه المجموعة" @@ -861,8 +898,8 @@ msgstr "سمة هذه القيمة" msgid "the specific product associated with this attribute's value" msgstr "المنتج المحدد المرتبط بقيمة هذه السمة" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "المنتج المرتبط" @@ -958,7 +995,7 @@ msgstr "ربط هذا المنتج اختياريًا بعلامة تجارية" msgid "tags that help describe or group this product" msgstr "العلامات التي تساعد في وصف أو تجميع هذا المنتج" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "علامات المنتج" @@ -978,7 +1015,7 @@ msgstr "توفير اسم تعريفي واضح للمنتج" msgid "product name" msgstr "اسم المنتج" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "إضافة وصف تفصيلي للمنتج" @@ -1077,7 +1114,7 @@ msgstr "الحالة الحالية للطلب في دورة حياته" msgid "order status" msgstr "حالة الطلب" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "بنية JSON للإشعارات التي سيتم عرضها للمستخدمين، في واجهة مستخدم المشرف، يتم " @@ -1128,7 +1165,7 @@ msgid "you cannot add more products than available in stock" msgstr "لا يمكنك إضافة منتجات أكثر من المتوفرة في المخزون" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} غير موجود: {product_uuid}" @@ -1178,180 +1215,180 @@ msgstr "طريقة الدفع غير صالحة" msgid "you cannot create a momental order without providing a billing address" msgstr "لا يمكنك إنشاء طلب مومنتال دون تقديم عنوان إرسال الفواتير" -#: core/models.py:778 +#: core/models.py:779 msgid "the price paid by the customer for this product at purchase time" msgstr "السعر الذي دفعه العميل لهذا المنتج وقت الشراء" -#: core/models.py:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "سعر الشراء وقت الطلب" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "تعليقات داخلية للمسؤولين حول هذا المنتج المطلوب" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "التعليقات الداخلية" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "إشعارات المستخدم" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "تمثيل JSON لسمات هذا العنصر" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "سمات المنتج المطلوبة" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "الإشارة إلى الطلب الأصلي الذي يحتوي على هذا المنتج" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "ترتيب الوالدين" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "المنتج المحدد المرتبط بخط الطلب هذا" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "كمية هذا المنتج المحدد في الطلب" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "كمية المنتج" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "الحالة الحالية لهذا المنتج بالترتيب" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "حالة خط الإنتاج" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "معرّف العلامة الداخلي لعلامة المنتج" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "اسم العلامة" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "اسم سهل الاستخدام لعلامة المنتج" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "اسم عرض العلامة" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "علامة المنتج" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "توفير نص بديل للصورة لإمكانية الوصول" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "النص البديل للصورة" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "تحميل ملف الصورة لهذا المنتج" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "صورة المنتج" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "يحدد الترتيب الذي يتم عرض الصور به" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "أولوية العرض" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "المنتج الذي تمثله هذه الصورة" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "صور المنتج" -#: core/models.py:950 +#: core/models.py:951 msgid "unique code used by a user to redeem a discount" msgstr "الرمز الفريد الذي يستخدمه المستخدم لاسترداد قيمة الخصم" -#: core/models.py:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "معرّف الرمز الترويجي" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "مبلغ الخصم الثابت المطبق في حالة عدم استخدام النسبة المئوية" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "مبلغ الخصم الثابت" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "النسبة المئوية للخصم المطبق في حالة عدم استخدام مبلغ ثابت" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "النسبة المئوية للخصم" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "الطابع الزمني عند انتهاء صلاحية الرمز الترويجي" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "وقت انتهاء الصلاحية" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "الطابع الزمني الذي يكون هذا الرمز الترويجي صالحاً منه" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "وقت بدء الصلاحية" -#: core/models.py:983 +#: core/models.py:984 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "الطابع الزمني عند استخدام الرمز الترويجي، فارغ إذا لم يتم استخدامه بعد" -#: core/models.py:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "الطابع الزمني للاستخدام" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "المستخدم المعين لهذا الرمز الترويجي إن أمكن" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "المستخدم المعين" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "الرمز الترويجي" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "الرموز الترويجية" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1359,144 +1396,144 @@ msgstr "" "يجب تحديد نوع واحد فقط من الخصم (المبلغ أو النسبة المئوية)، وليس كلا النوعين" " أو لا هذا ولا ذاك." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "تم استخدام الرمز الترويجي بالفعل" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "نوع الخصم غير صالح للرمز الترويجي {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "النسبة المئوية للخصم على المنتجات المختارة" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "نسبة الخصم" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "تقديم اسم فريد لهذا العرض الترويجي" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "اسم الترقية" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "وصف الترقية" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "حدد المنتجات المشمولة في هذا العرض الترويجي" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "المنتجات المشمولة" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "الترقية" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "البائع الذي يورد هذا المنتج المخزون" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "البائع المرتبط" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "السعر النهائي للعميل بعد هوامش الربح" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "سعر البيع" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "المنتج المرتبط بإدخال المخزون هذا" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "السعر المدفوع للبائع مقابل هذا المنتج" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "سعر الشراء من البائع" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "الكمية المتوفرة من المنتج في المخزون" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "الكمية في المخزون" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU المعين من قبل البائع لتحديد المنتج" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "وحدة تخزين البائع" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "الملف الرقمي المرتبط بهذا المخزون إن أمكن" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "ملف رقمي" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "إدخالات المخزون" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "المنتجات التي حددها المستخدم على أنها مطلوبة" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "المستخدم الذي يمتلك قائمة الرغبات هذه" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "مالك قائمة الرغبات" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "قائمة الرغبات" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "تنزيل" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "التنزيلات" -#: core/models.py:1202 +#: core/models.py:1203 msgid "you can not download a digital asset for a non-finished order" msgstr "لا يمكنك تنزيل أصل رقمي لطلب غير مكتمل" -#: core/models.py:1214 +#: core/models.py:1215 msgid "documentary" msgstr "فيلم وثائقي" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "الأفلام الوثائقية" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "لم يتم حلها" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "خطأ أثناء إنشاء الرمز الترويجي: {e!s}" @@ -1682,17 +1719,17 @@ msgstr "يجب أن يكون {model} نموذجًا" msgid "{data} must be list object" msgstr "يجب أن تكون {data} كائن قائمة" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | بدء الاتصال بنا" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | تأكيد الطلب" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | تم تسليم الطلب" @@ -1710,10 +1747,10 @@ msgstr "يجب ألا تتجاوز أبعاد الصورة w{max_width} x h{max_ msgid "invalid phone number format" msgstr "تنسيق رقم الهاتف غير صالح" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "يمكنك تنزيل الأصل الرقمي مرة واحدة فقط" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "الرمز المفضل غير موجود" diff --git a/core/locale/cs_CZ/LC_MESSAGES/django.mo b/core/locale/cs_CZ/LC_MESSAGES/django.mo index 628931cd..2a4f7c52 100644 Binary files a/core/locale/cs_CZ/LC_MESSAGES/django.mo and b/core/locale/cs_CZ/LC_MESSAGES/django.mo differ diff --git a/core/locale/cs_CZ/LC_MESSAGES/django.po b/core/locale/cs_CZ/LC_MESSAGES/django.po index eeb0bf15..86716334 100644 --- a/core/locale/cs_CZ/LC_MESSAGES/django.po +++ b/core/locale/cs_CZ/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -82,7 +82,7 @@ msgstr "Obrázek" msgid "images" msgstr "Obrázky" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Stock" @@ -90,7 +90,7 @@ msgstr "Stock" msgid "stocks" msgstr "Zásoby" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -98,35 +98,35 @@ msgstr "Zásoby" msgid "price" msgstr "Cena" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Hodnocení produktu" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Základní informace" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Důležitá data" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Překlady" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Objednat produkt" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Objednat produkty" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Je podnikání" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Konfigurace" @@ -223,152 +223,152 @@ msgstr "" "Zakoupit objednávku jako podnik s použitím zadaných `produktů` s " "`product_uuid` a `atributy`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Seznam všech skupin atributů (jednoduché zobrazení)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Získání jedné skupiny atributů (podrobné zobrazení)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Vytvoření skupiny atributů" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Odstranění skupiny atributů" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Přepsání existující skupiny atributů s uložením neupravitelných položek" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Seznam všech atributů (jednoduché zobrazení)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Získání jednoho atributu (podrobné zobrazení)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Vytvoření atributu" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Odstranění atributu" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "Přepsat existující atribut a uložit neupravitelné položky" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Přepsání některých polí existujícího atributu s uložením neupravitelných " "položek" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Seznam všech hodnot atributů (jednoduché zobrazení)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Získání jedné hodnoty atributu (podrobné zobrazení)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Vytvoření hodnoty atributu" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Odstranění hodnoty atributu" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 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:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Seznam všech kategorií (jednoduché zobrazení)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Vyhledání jedné kategorie (podrobné zobrazení)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Vytvoření kategorie" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Odstranění kategorie" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Přepsání existující kategorie ukládající neupravitelné položky" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Přepsat některá pole existující kategorie a uložit neupravitelné položky" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Seznam všech kategorií (jednoduché zobrazení)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Uživatelům, kteří nejsou zaměstnanci, se vracejí pouze jejich vlastní " "objednávky." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Vyhledání jedné kategorie (podrobné zobrazení)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Vytvoření atributu" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Nefunguje pro uživatele, kteří nejsou zaměstnanci." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Odstranění atributu" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Přepsání existující kategorie ukládající neupravitelné položky" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Přepsat některá pole existující kategorie a uložit neupravitelné položky" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Nákupní cena v době objednávky" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -378,107 +378,139 @@ msgstr "" " s použitím zůstatku uživatele; pokud je použito `force_payment`, zahájí se " "transakce." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "zakoupení objednávky bez vytvoření účtu" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "dokončí nákup objednávky pro neregistrovaného uživatele." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Přidání produktu do objednávky" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." msgstr "" "Přidá produkt do objednávky pomocí zadaného `product_uuid` a `attributes`." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Odstranění produktu z objednávky" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." msgstr "" "Odebere produkt z objednávky pomocí zadaného `product_uuid` a `attributes`." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Seznam všech atributů (jednoduché zobrazení)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "Uživatelům, kteří nejsou zaměstnanci, se vrátí pouze jejich vlastní seznamy " "přání." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Získání jednoho atributu (podrobné zobrazení)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Vytvoření atributu" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Nefunguje pro uživatele, kteří nejsou zaměstnanci." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Odstranění atributu" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "Přepsat existující atribut a uložit neupravitelné položky" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Přepsání některých polí existujícího atributu s uložením neupravitelných " "položek" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Přidání produktu do objednávky" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "Přidá produkt do seznamu přání pomocí zadaného `product_uuid`." -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Odstranění produktu ze seznamu přání" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "Odebere produkt ze seznamu přání pomocí zadaného `product_uuid`." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Přidání mnoha produktů do seznamu přání" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 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`." -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Odstranění produktu z objednávky" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Odebere mnoho produktů ze seznamu přání pomocí zadaných `product_uuids`." +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Seznam všech produktů (jednoduché zobrazení)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Vyhledání jednoho produktu (podrobné zobrazení)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "Identifikátor UUID produktu nebo Slug" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Vytvoření produktu" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Odstranění produktu" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "" +"Přepsání existujícího produktu se zachováním polí, která nelze editovat" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Aktualizace některých polí existujícího produktu se zachováním polí, která " +"nelze upravovat." + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Nebyl zadán žádný vyhledávací termín." @@ -512,7 +544,7 @@ msgid "add a product to the order" msgstr "Přidání produktu do objednávky" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Objednávka {order_uuid} nebyla nalezena" @@ -529,38 +561,42 @@ msgstr "Odstranění všech produktů z objednávky" msgid "buy an order" msgstr "Koupit objednávku" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 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:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Přidání produktu do objednávky" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Seznam přání {wishlist_uuid} nebyl nalezen" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Odstranění produktu z objednávky" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Odstranění produktu z objednávky" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Odstranění produktu z objednávky" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Koupit objednávku" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -568,7 +604,7 @@ msgstr "" "Prosím, pošlete atributy jako řetězec ve formátu " "attr1=hodnota1,attr2=hodnota2." -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funguje jako kouzlo" @@ -719,7 +755,7 @@ msgstr "Propagační kódy" msgid "products on sale" msgstr "Produkty v prodeji" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Propagační akce" @@ -735,11 +771,11 @@ msgstr "Prodejce" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Produkty uvedené na seznamu přání" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Seznamy přání" @@ -800,11 +836,15 @@ msgstr "Příznak jazyka, pokud existuje :)" msgid "supported languages" msgstr "Získat seznam podporovaných jazyků" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Výsledky vyhledávání produktů" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Výsledky vyhledávání produktů" + #: core/models.py:62 msgid "parent of this group" msgstr "Rodič této skupiny" @@ -882,8 +922,8 @@ msgstr "Atribut této hodnoty" msgid "the specific product associated with this attribute's value" msgstr "Konkrétní produkt spojený s hodnotou tohoto atributu" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Související produkt" @@ -979,7 +1019,7 @@ msgstr "Volitelně přiřadit tento produkt ke značce" msgid "tags that help describe or group this product" msgstr "Značky, které pomáhají popsat nebo seskupit tento produkt" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Štítky produktu" @@ -999,7 +1039,7 @@ msgstr "Uveďte jasný identifikační název výrobku" msgid "product name" msgstr "Název produktu" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Přidejte podrobný popis produktu" @@ -1100,7 +1140,7 @@ msgstr "Aktuální stav zakázky v jejím životním cyklu" msgid "order status" msgstr "Stav objednávky" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "JSON struktura oznámení pro zobrazení uživatelům, v uživatelském rozhraní " @@ -1152,7 +1192,7 @@ 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:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} neexistuje: {product_uuid}" @@ -1203,179 +1243,179 @@ msgstr "Neplatný způsob platby" msgid "you cannot create a momental order without providing a billing address" msgstr "nelze vytvořit momentální objednávku bez uvedení fakturační adresy." -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Nákupní cena v době objednávky" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "Interní komentáře pro administrátory k tomuto objednanému produktu" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Interní připomínky" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Oznámení uživatele" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "JSON reprezentace atributů této položky" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Objednané atributy produktu" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Odkaz na nadřazenou objednávku, která obsahuje tento produkt" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Objednávka rodičů" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Konkrétní produkt spojený s touto objednávkou" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Množství tohoto konkrétního produktu v objednávce" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Množství produktu" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Aktuální stav tohoto produktu v objednávce" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Stav produktové řady" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Interní identifikátor značky produktu" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Název štítku" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Uživatelsky přívětivý název pro značku produktu" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Zobrazení názvu štítku" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Štítek produktu" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "Poskytněte alternativní text k obrázku kvůli přístupnosti." -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Text alt obrázku" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Nahrát soubor s obrázkem tohoto produktu" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Obrázek produktu" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Určuje pořadí, v jakém se obrázky zobrazují." -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Priorita zobrazení" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Výrobek, který tento obrázek představuje" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Obrázky produktů" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Identifikátor propagačního kódu" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "Pevná výše slevy, pokud není použito procento" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Pevná výše slevy" -#: core/models.py:965 +#: core/models.py:966 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:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Procentuální sleva" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Časové razítko ukončení platnosti promokódu" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Doba ukončení platnosti" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Časové razítko, od kterého je tento promokód platný" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Čas zahájení platnosti" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Časové razítko použití" -#: core/models.py:989 +#: core/models.py:990 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:990 +#: core/models.py:991 msgid "assigned user" msgstr "Přiřazený uživatel" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Propagační kód" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Propagační kódy" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1383,144 +1423,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:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Promo kód byl již použit" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Neplatný typ slevy pro promocode {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Procentuální sleva na vybrané produkty" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Procento slevy" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Uveďte jedinečný název této propagační akce" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Název akce" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Popis propagace" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Vyberte, které produkty jsou zahrnuty do této akce" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Zahrnuté produkty" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Propagace" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "Prodejce dodávající tento výrobek na sklad" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Přidružený prodejce" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Konečná cena pro zákazníka po přirážkách" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Prodejní cena" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Produkt spojený s touto skladovou položkou" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "Cena zaplacená prodejci za tento výrobek" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Kupní cena prodejce" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Dostupné množství produktu na skladě" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Množství na skladě" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU přidělený prodejcem pro identifikaci výrobku" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "SKU prodejce" -#: core/models.py:1117 +#: core/models.py:1118 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:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Digitální soubor" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Zápisy do zásob" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Výrobky, které uživatel označil jako požadované" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Uživatel, který vlastní tento seznam přání" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Majitel seznamu přání" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Seznam přání" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Stáhnout" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Ke stažení na" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Dokumentární film" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Dokumentární filmy" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Nevyřešené" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Chyba při vytváření promokódu: {e!s}" @@ -1712,17 +1752,17 @@ msgstr "{model} musí být model" msgid "{data} must be list object" msgstr "{data} musí být objekt seznamu" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Kontakt iniciován" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Potvrzení objednávky" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Dodaná objednávka" @@ -1741,10 +1781,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Nesprávný formát telefonního čísla" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "Digitální aktivum můžete stáhnout pouze jednou" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon nebyl nalezen" diff --git a/core/locale/da_DK/LC_MESSAGES/django.mo b/core/locale/da_DK/LC_MESSAGES/django.mo index 186bf007..d61cddce 100644 Binary files a/core/locale/da_DK/LC_MESSAGES/django.mo and b/core/locale/da_DK/LC_MESSAGES/django.mo differ diff --git a/core/locale/da_DK/LC_MESSAGES/django.po b/core/locale/da_DK/LC_MESSAGES/django.po index 8d43edd6..cfcaf924 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: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -81,7 +81,7 @@ msgstr "Billede" msgid "images" msgstr "Billeder" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Lager" @@ -89,7 +89,7 @@ msgstr "Lager" msgid "stocks" msgstr "Aktier" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -97,35 +97,35 @@ msgstr "Aktier" msgid "price" msgstr "Pris" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Produktvurdering" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Grundlæggende information" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Vigtige datoer" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Oversættelser" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Bestil produkt" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Bestil produkter" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Er forretning" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Konfig" @@ -221,155 +221,155 @@ msgstr "" "Køb en ordre som en virksomhed ved hjælp af de angivne `produkter` med " "`produkt_uuid` og `attributter`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Liste over alle attributgrupper (simpel visning)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Hent en enkelt attributgruppe (detaljeret visning)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Opret en attributgruppe" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Slet en attributgruppe" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Omskriv en eksisterende attributgruppe, der gemmer ikke-redigerbare " "attributter" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Liste over alle attributter (simpel visning)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Hent en enkelt attribut (detaljeret visning)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Opret en attribut" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Slet en attribut" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "Omskriv en eksisterende attribut, der gemmer ikke-redigerbare filer" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Omskriv nogle felter i en eksisterende attribut og gem ikke-redigerbare " "felter" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Liste over alle attributværdier (simpel visning)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Hent en enkelt attributværdi (detaljeret visning)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Opret en attributværdi" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Slet en attributværdi" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" "Omskriv en eksisterende attributværdi, der gemmer ikke-redigerbare filer" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Liste over alle kategorier (enkel visning)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Hent en enkelt kategori (detaljeret visning)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Opret en kategori" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Slet en kategori" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Omskriv en eksisterende kategori, der gemmer ikke-redigerbare filer" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Omskriv nogle felter i en eksisterende kategori og gem ikke-redigerbare " "felter" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Liste over alle kategorier (enkel visning)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "For ikke-ansatte brugere er det kun deres egne ordrer, der returneres." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Hent en enkelt kategori (detaljeret visning)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Opret en attribut" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Virker ikke for ikke-ansatte brugere." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Slet en attribut" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Omskriv en eksisterende kategori, der gemmer ikke-redigerbare filer" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Omskriv nogle felter i en eksisterende kategori og gem ikke-redigerbare " "felter" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Købspris på bestillingstidspunktet" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -379,19 +379,19 @@ msgstr "" "ved hjælp af brugerens saldo; hvis `force_payment` bruges, igangsættes en " "transaktion." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "Køb en ordre uden at oprette en konto" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "afslutter ordrekøbet for en ikke-registreret bruger." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Tilføj et produkt til ordren" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -399,11 +399,11 @@ msgstr "" "Tilføjer et produkt til en ordre ved hjælp af de angivne `product_uuid` og " "`attributes`." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Fjern et produkt fra ordren" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -411,82 +411,113 @@ msgstr "" "Fjerner et produkt fra en ordre ved hjælp af de angivne `product_uuid` og " "`attributes`." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Liste over alle attributter (simpel visning)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "For ikke-ansatte brugere er det kun deres egne ønskelister, der returneres." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Hent en enkelt attribut (detaljeret visning)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Opret en attribut" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Virker ikke for ikke-ansatte brugere." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Slet en attribut" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "Omskriv en eksisterende attribut, der gemmer ikke-redigerbare filer" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Omskriv nogle felter i en eksisterende attribut og gem ikke-redigerbare " "felter" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Tilføj et produkt til ordren" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Tilføjer et produkt til en ønskeliste ved hjælp af den angivne " "`product_uuid`." -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Fjern et produkt fra ønskelisten" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 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`." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Tilføj mange produkter til ønskelisten" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Tilføjer mange produkter til en ønskeliste ved hjælp af de angivne " "`product_uuids`." -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Fjern et produkt fra ordren" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Fjerner mange produkter fra en ønskeliste ved hjælp af de angivne " "`product_uuids`." +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Liste over alle produkter (enkel visning)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Hent et enkelt produkt (detaljeret visning)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "Produkt UUID eller Slug" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Opret et produkt" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Slet et produkt" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "Omskriv et eksisterende produkt og bevar ikke-redigerbare felter" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Opdater nogle felter i et eksisterende produkt og bevar ikke-redigerbare " +"felter" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Der er ikke angivet noget søgeord." @@ -520,7 +551,7 @@ msgid "add a product to the order" msgstr "Tilføj et produkt til ordren" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Ordre {order_uuid} ikke fundet" @@ -537,38 +568,42 @@ msgstr "Fjern alle produkter fra ordren" msgid "buy an order" msgstr "Køb en ordre" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 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:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Tilføj et produkt til ordren" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Ønskeliste {wishlist_uuid} ikke fundet" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Fjern et produkt fra ordren" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Fjern et produkt fra ordren" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Fjern et produkt fra ordren" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Køb en ordre" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -576,7 +611,7 @@ msgstr "" "Send venligst attributterne som en streng formateret som " "attr1=værdi1,attr2=værdi2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - fungerer som en charme" @@ -731,7 +766,7 @@ msgstr "Promokoder" msgid "products on sale" msgstr "Produkter til salg" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Kampagner" @@ -747,11 +782,11 @@ msgstr "Leverandør" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Produkter på ønskelisten" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Ønskelister" @@ -812,11 +847,15 @@ msgstr "Sprogflag, hvis det findes :)" msgid "supported languages" msgstr "Få en liste over understøttede sprog" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Søgeresultater for produkter" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Søgeresultater for produkter" + #: core/models.py:62 msgid "parent of this group" msgstr "Forælder til denne gruppe" @@ -894,8 +933,8 @@ msgstr "Attribut for denne værdi" 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:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Tilknyttet produkt" @@ -991,7 +1030,7 @@ msgstr "Tilknyt eventuelt dette produkt til et brand" msgid "tags that help describe or group this product" msgstr "Tags, der hjælper med at beskrive eller gruppere dette produkt" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Produktmærker" @@ -1011,7 +1050,7 @@ msgstr "Giv produktet et klart identificerende navn" msgid "product name" msgstr "Produktets navn" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Tilføj en detaljeret beskrivelse af produktet" @@ -1112,7 +1151,7 @@ msgstr "Ordrens aktuelle status i dens livscyklus" msgid "order status" msgstr "Bestillingsstatus" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "JSON-struktur af meddelelser, der skal vises til brugerne, i admin UI bruges" @@ -1163,7 +1202,7 @@ 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:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} findes ikke: {product_uuid}." @@ -1216,180 +1255,180 @@ msgid "you cannot create a momental order without providing a billing address" msgstr "" "Du kan ikke oprette en momental-ordre uden at angive en faktureringsadresse." -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Købspris på bestillingstidspunktet" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "Interne kommentarer til administratorer om dette bestilte produkt" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Interne kommentarer" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Notifikationer til brugere" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "JSON-repræsentation af dette elements attributter" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Bestilte produktattributter" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Henvisning til den overordnede ordre, der indeholder dette produkt" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Forældreordre" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Det specifikke produkt, der er knyttet til denne ordrelinje" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Mængde af dette specifikke produkt i ordren" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Produktmængde" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Aktuel status for dette produkt i bestillingen" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Status for produktlinje" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Intern tag-identifikator for produkttagget" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Tag-navn" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Brugervenligt navn til produktmærket" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Navn på tag-visning" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Produktmærke" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "Giv alternativ tekst til billedet af hensyn til tilgængeligheden" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Billedets alt-tekst" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Upload billedfilen til dette produkt" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Produktbillede" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Bestemmer den rækkefølge, billederne vises i" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Skærm-prioritet" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Det produkt, som dette billede repræsenterer" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Produktbilleder" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Identifikator for kampagnekode" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "Fast rabatbeløb anvendes, hvis procent ikke bruges" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Fast rabatbeløb" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentvis rabat, hvis det faste beløb ikke bruges" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Procentvis rabat" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Tidsstempel, når promokoden udløber" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Slut gyldighedstid" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Tidsstempel, hvorfra denne promokode er gyldig" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Start gyldighedstid" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Tidsstempel for brug" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Bruger tildelt denne promokode, hvis relevant" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Tildelt bruger" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Kampagnekode" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Kampagnekoder" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1397,144 +1436,144 @@ msgstr "" "Der skal kun defineres én type rabat (beløb eller procent), men ikke begge " "eller ingen af dem." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Promokoden er allerede blevet brugt" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ugyldig rabattype for promokode {self.uuid}." -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Procentvis rabat for de valgte produkter" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Rabatprocent" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Giv et unikt navn til denne kampagne" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Navn på kampagne" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Beskrivelse af kampagnen" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Vælg, hvilke produkter der er inkluderet i denne kampagne" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Inkluderede produkter" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Forfremmelse" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "Den leverandør, der leverer dette produkt, lagerfører" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Tilknyttet leverandør" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Endelig pris til kunden efter tillæg" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Salgspris" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Det produkt, der er knyttet til denne lagerpost" -#: core/models.py:1100 +#: core/models.py:1101 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:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Leverandørens købspris" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Tilgængelig mængde af produktet på lager" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Antal på lager" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "Leverandørtildelt SKU til identifikation af produktet" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "Leverandørens SKU" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Digital fil knyttet til dette lager, hvis relevant" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Digital fil" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Lagerposteringer" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Produkter, som brugeren har markeret som ønskede" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Bruger, der ejer denne ønskeliste" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Ønskelistens ejer" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Ønskeliste" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Download" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Downloads" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Dokumentarfilm" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Dokumentarfilm" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Uafklaret" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Fejl under oprettelse af promokode: {e!s}" @@ -1725,17 +1764,17 @@ msgstr "{model} skal være model" msgid "{data} must be list object" msgstr "{data} skal være et listeobjekt" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Kontakt os indledt" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Ordrebekræftelse" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Ordre leveret" @@ -1755,10 +1794,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Ugyldigt telefonnummerformat" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "Du kan kun downloade det digitale aktiv én gang" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "Favicon ikke fundet" diff --git a/core/locale/de_DE/LC_MESSAGES/django.mo b/core/locale/de_DE/LC_MESSAGES/django.mo index 48d3cbb8..3a2b7f3e 100644 Binary files a/core/locale/de_DE/LC_MESSAGES/django.mo and b/core/locale/de_DE/LC_MESSAGES/django.mo differ diff --git a/core/locale/de_DE/LC_MESSAGES/django.po b/core/locale/de_DE/LC_MESSAGES/django.po index 90eb19a9..060a6064 100644 --- a/core/locale/de_DE/LC_MESSAGES/django.po +++ b/core/locale/de_DE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -83,7 +83,7 @@ msgstr "Bild" msgid "images" msgstr "Bilder" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Lagerbestand" @@ -91,7 +91,7 @@ msgstr "Lagerbestand" msgid "stocks" msgstr "Bestände" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -99,35 +99,35 @@ msgstr "Bestände" msgid "price" msgstr "Preis" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Produktbewertung" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Grundlegende Informationen" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Wichtige Termine" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Übersetzungen" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Produkt bestellen" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Produkte bestellen" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Ist Business" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Konfigurieren Sie" @@ -223,160 +223,160 @@ msgstr "" "Kauf einer Bestellung als Unternehmen unter Verwendung der angegebenen " "\"Produkte\" mit \"product_uuid\" und \"Attributen\"." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Alle Attributgruppen auflisten (einfache Ansicht)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Abrufen einer einzelnen Attributgruppe (Detailansicht)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Erstellen einer Attributgruppe" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Löschen einer Attributgruppe" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Umschreiben einer bestehenden Attributgruppe mit Speicherung von Nicht-" "Editierbarkeit" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Alle Attribute auflisten (einfache Ansicht)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Ein einzelnes Attribut abrufen (detaillierte Ansicht)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Ein Attribut erstellen" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Ein Attribut löschen" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "" "Umschreiben eines vorhandenen Attributs, wobei nicht editierbare Daten " "gespeichert werden" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare" " Daten zu speichern" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Alle Attributwerte auflisten (einfache Ansicht)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Abrufen eines einzelnen Attributwertes (Detailansicht)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Einen Attributwert erstellen" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Löschen eines Attributwertes" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" "Umschreiben eines vorhandenen Attributwerts mit Speicherung von Nicht-" "Editierbarkeit" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Alle Kategorien auflisten (einfache Ansicht)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Eine einzelne Kategorie abrufen (detaillierte Ansicht)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Eine Kategorie erstellen" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Eine Kategorie löschen" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "" "Eine bestehende Kategorie umschreiben und dabei Nicht-Editierbares speichern" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare" " Daten zu speichern" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Alle Kategorien auflisten (einfache Ansicht)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Bei Nicht-Mitarbeitern werden nur die eigenen Bestellungen zurückgeschickt." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Eine einzelne Kategorie abrufen (detaillierte Ansicht)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Ein Attribut erstellen" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Funktioniert nicht für Benutzer, die nicht zum Personal gehören." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Ein Attribut löschen" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "" "Eine bestehende Kategorie umschreiben und dabei Nicht-Editierbares speichern" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Umschreiben einiger Felder einer bestehenden Kategorie, um nicht editierbare" " Daten zu speichern" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Einkaufspreis zum Zeitpunkt der Bestellung" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -386,21 +386,21 @@ msgstr "" "wird der Kauf mit dem Guthaben des Benutzers abgeschlossen; bei Verwendung " "von \"force_payment\" wird eine Transaktion ausgelöst." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "eine Bestellung kaufen, ohne ein Konto anzulegen" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "" "schließt den Kauf einer Bestellung für einen nicht registrierten Benutzer " "ab." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Ein Produkt zur Bestellung hinzufügen" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -408,11 +408,11 @@ msgstr "" "Fügt ein Produkt unter Verwendung der angegebenen `product_uuid` und " "`attributes` zu einer Bestellung hinzu." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -420,84 +420,117 @@ msgstr "" "Entfernt ein Produkt aus einer Bestellung unter Verwendung der angegebenen " "`product_uuid` und `attributes`." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Alle Attribute auflisten (einfache Ansicht)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "Bei Nicht-Mitarbeitern werden nur ihre eigenen Wunschlisten zurückgegeben." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Ein einzelnes Attribut abrufen (detaillierte Ansicht)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Ein Attribut erstellen" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Funktioniert nicht für Benutzer, die nicht zum Personal gehören." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Ein Attribut löschen" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "" "Umschreiben eines vorhandenen Attributs, wobei nicht editierbare Daten " "gespeichert werden" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Umschreiben einiger Felder eines vorhandenen Attributs, um nicht editierbare" " Daten zu speichern" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Ein Produkt zur Bestellung hinzufügen" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Fügt ein Produkt mit der angegebenen `product_uuid` zu einer Wunschliste " "hinzu" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Ein Produkt von der Wunschliste entfernen" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Entfernt ein Produkt aus einer Wunschliste unter Verwendung der angegebenen " "`product_uuid`." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Viele Produkte auf den Wunschzettel setzen" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Fügt einer Wunschliste viele Produkte unter Verwendung der angegebenen " "`product_uuids` hinzu" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Entfernt viele Produkte aus einer Wunschliste unter Verwendung der " "angegebenen `product_uuids`." +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Alle Produkte auflisten (einfache Ansicht)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Ein einzelnes Produkt abrufen (Detailansicht)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "Produkt UUID oder Slug" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Ein Produkt erstellen" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Ein Produkt löschen" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "" +"Umschreiben eines bestehenden Produkts unter Beibehaltung nicht editierbarer" +" Felder" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Einige Felder eines bestehenden Produkts aktualisieren, nicht editierbare " +"Felder beibehalten" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Kein Suchbegriff angegeben." @@ -531,7 +564,7 @@ msgid "add a product to the order" msgstr "Ein Produkt zur Bestellung hinzufügen" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Bestellung {order_uuid} nicht gefunden" @@ -548,46 +581,51 @@ msgstr "Alle Produkte aus der Bestellung entfernen" msgid "buy an order" msgstr "Eine Bestellung kaufen" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 -msgid "wrong type came from order.buy() method: {type(instance)!s}" +#: core/graphene/mutations.py:183 +msgid "please provide either order_uuid or order_hr_id - mutually exclusive" msgstr "" -"Von der Methode order.buy() kam der falsche Typ: {type(instance)!s}" +"Bitte geben Sie entweder order_uuid oder order_hr_id an - beide schließen " +"sich gegenseitig aus!" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 +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:239 msgid "add a product to the wishlist" msgstr "Ein Produkt zur Bestellung hinzufügen" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Wunschzettel {wishlist_uuid} nicht gefunden" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Ein Produkt aus der Bestellung entfernen" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Eine Bestellung kaufen" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "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" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funktioniert wie ein Zauber" @@ -741,7 +779,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Zum Verkauf stehende Produkte" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Werbeaktionen" @@ -757,11 +795,11 @@ msgstr "Anbieter" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Auf dem Wunschzettel stehende Produkte" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Wunschzettel" @@ -822,11 +860,15 @@ msgstr "Sprachflagge, falls vorhanden :)" msgid "supported languages" msgstr "Eine Liste der unterstützten Sprachen abrufen" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Suchergebnisse für Produkte" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Suchergebnisse für Produkte" + #: core/models.py:62 msgid "parent of this group" msgstr "Elternteil dieser Gruppe" @@ -905,8 +947,8 @@ 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:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Zugehöriges Produkt" @@ -1005,7 +1047,7 @@ msgstr "Optional können Sie dieses Produkt mit einer Marke verknüpfen" msgid "tags that help describe or group this product" msgstr "Tags, die helfen, dieses Produkt zu beschreiben oder zu gruppieren" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Produkt-Tags" @@ -1026,7 +1068,7 @@ msgstr "" msgid "product name" msgstr "Name des Produkts" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Fügen Sie eine detaillierte Beschreibung des Produkts hinzu" @@ -1129,7 +1171,7 @@ msgstr "Aktueller Status des Auftrags in seinem Lebenszyklus" msgid "order status" msgstr "Status der Bestellung" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "JSON-Struktur der Benachrichtigungen, die den Benutzern angezeigt werden " @@ -1182,7 +1224,7 @@ 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:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} existiert nicht: {product_uuid}" @@ -1238,188 +1280,188 @@ msgstr "" "Sie können keine kurzfristige Bestellung ohne Angabe einer Rechnungsadresse " "aufgeben." -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Einkaufspreis zum Zeitpunkt der Bestellung" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "Interne Kommentare für Administratoren zu diesem bestellten Produkt" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Interne Kommentare" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Benutzerbenachrichtigungen" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "JSON-Darstellung der Attribute dieses Artikels" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Bestellte Produktattribute" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Verweis auf den übergeordneten Auftrag, der dieses Produkt enthält" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Übergeordneter Auftrag" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Das spezifische Produkt, das mit dieser Auftragszeile verbunden ist" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Menge dieses spezifischen Produkts in der Bestellung" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Produktmenge" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Aktueller Status dieses Produkts im Auftrag" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Status der Produktlinie" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Interner Tag-Identifikator für das Produkt-Tag" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Tag name" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Benutzerfreundlicher Name für den Produktanhänger" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Tag-Anzeigename" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Produkt-Tag" -#: core/models.py:909 +#: core/models.py:910 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:910 +#: core/models.py:911 msgid "image alt text" msgstr "Bild-Alt-Text" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Laden Sie die Bilddatei für dieses Produkt hoch" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Produktbild" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Legt die Reihenfolge fest, in der die Bilder angezeigt werden" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Priorität anzeigen" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Das Produkt, das dieses Bild darstellt" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Produktbilder" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Kennung des Promo-Codes" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "" "Fester Rabattbetrag, der angewandt wird, wenn kein Prozentsatz verwendet " "wird" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Fester Rabattbetrag" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "Prozentualer Rabatt, wenn der Festbetrag nicht verwendet wird" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Prozentualer Rabatt" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Zeitstempel, wann der Promocode abläuft" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Ende der Gültigkeitsdauer" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Zeitstempel, ab dem dieser Promocode gültig ist" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Beginn der Gültigkeitsdauer" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Zeitstempel der Verwendung" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Diesem Promocode zugewiesener Benutzer, falls zutreffend" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Zugewiesener Benutzer" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Promo-Code" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Promo-Codes" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1427,147 +1469,147 @@ msgstr "" "Es sollte nur eine Art von Rabatt definiert werden (Betrag oder " "Prozentsatz), aber nicht beides oder keines von beiden." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Promocode wurde bereits verwendet" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ungültiger Rabatttyp für Promocode {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Prozentualer Rabatt für die ausgewählten Produkte" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Prozentsatz der Ermäßigung" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Geben Sie einen eindeutigen Namen für diese Aktion an" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Name der Aktion" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Wählen Sie aus, welche Produkte in dieser Aktion enthalten sind" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Enthaltene Produkte" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Förderung" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "Der Verkäufer, der dieses Produkt liefert, hat folgende Bestände" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Zugehöriger Anbieter" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Endpreis für den Kunden nach Aufschlägen" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Verkaufspreis" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Das mit diesem Bestandseintrag verbundene Produkt" -#: core/models.py:1100 +#: core/models.py:1101 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:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Einkaufspreis des Verkäufers" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Verfügbare Menge des Produkts auf Lager" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Vorrätige Menge" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "Vom Hersteller zugewiesene SKU zur Identifizierung des Produkts" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "SKU des Verkäufers" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "" "Digitale Datei, die mit diesem Bestand verbunden ist, falls zutreffend" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Digitale Datei" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Bestandseinträge" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Produkte, die der Benutzer als gewünscht markiert hat" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Benutzer, dem diese Wunschliste gehört" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Besitzer der Wishlist" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Wunschzettel" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Herunterladen" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Herunterladen" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Dokumentarfilm" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Dokumentarfilme" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Ungelöst" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Fehler bei der Erstellung des Promocodes: {e!s}" @@ -1760,17 +1802,17 @@ msgstr "{model} muss Modell sein" msgid "{data} must be list object" msgstr "{data} muss ein Listenobjekt sein" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Kontakt initiiert" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Auftragsbestätigung" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Auftrag ausgeliefert" @@ -1790,10 +1832,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Ungültiges Rufnummernformat" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "Sie können das digitale Asset nur einmal herunterladen" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "Favicon nicht gefunden" diff --git a/core/locale/en_GB/LC_MESSAGES/django.mo b/core/locale/en_GB/LC_MESSAGES/django.mo index ed7a961b..b0338edd 100644 Binary files a/core/locale/en_GB/LC_MESSAGES/django.mo and b/core/locale/en_GB/LC_MESSAGES/django.mo differ diff --git a/core/locale/en_GB/LC_MESSAGES/django.po b/core/locale/en_GB/LC_MESSAGES/django.po index 9d137d00..ddecce55 100644 --- a/core/locale/en_GB/LC_MESSAGES/django.po +++ b/core/locale/en_GB/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -81,7 +81,7 @@ msgstr "Image" msgid "images" msgstr "Images" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Stock" @@ -89,7 +89,7 @@ msgstr "Stock" msgid "stocks" msgstr "Stocks" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -97,35 +97,35 @@ msgstr "Stocks" msgid "price" msgstr "Price" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Rating" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Basic Info" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Important Dates" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Translations" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Order Product" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Order Products" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Is Business" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Config" @@ -221,143 +221,143 @@ msgstr "" "Purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "List all attribute groups (simple view)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Retrieve a single attribute group (detailed view)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Create an attribute group" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Delete an attribute group" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "Rewrite an existing attribute group saving non-editables" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 msgid "" "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Rewrite some fields of an existing attribute group saving non-editables" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "List all attributes (simple view)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Retrieve a single attribute (detailed view)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Create an attribute" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Delete an attribute" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "Rewrite an existing attribute saving non-editables" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "Rewrite some fields of an existing attribute saving non-editables" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "List all attribute values (simple view)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Retrieve a single attribute value (detailed view)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Create an attribute value" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Delete an attribute value" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "Rewrite an existing attribute value saving non-editables" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 msgid "" "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Rewrite some fields of an existing attribute value saving non-editables" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "List all categories (simple view)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Retrieve a single category (detailed view)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Create a category" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Delete a category" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Rewrite an existing category saving non-editables" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "Rewrite some fields of an existing category saving non-editables" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "List all categories (simple view)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "For non-staff users, only their own orders are returned." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Retrieve a single category (detailed view)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Create an attribute" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Doesn't work for non-staff users." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Delete an attribute" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Rewrite an existing category saving non-editables" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "Rewrite some fields of an existing category saving non-editables" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Purchase price at order time" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -367,19 +367,19 @@ msgstr "" "completed using the user's balance; If `force_payment` is used, a " "transaction is initiated." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "purchase an order without account creation" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "finalizes the order purchase for a non-registered user." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Add a product to the order" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -387,11 +387,11 @@ msgstr "" "Adds a product to an order using the provided `product_uuid` and " "`attributes`." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Remove a product from the order" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -399,72 +399,102 @@ msgstr "" "Removes a product from an order using the provided `product_uuid` and " "`attributes`." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "List all attributes (simple view)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "For non-staff users, only their own wishlists are returned." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Retrieve a single attribute (detailed view)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Create an attribute" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Doesn't work for non-staff users." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Delete an attribute" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "Rewrite an existing attribute saving non-editables" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "Rewrite some fields of an existing attribute saving non-editables" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Add a product to the order" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "Adds a product to an wishlist using the provided `product_uuid`" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Remove a product from the wishlist" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "Removes a product from an wishlist using the provided `product_uuid`" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Add many products to the wishlist" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "Adds many products to an wishlist using the provided `product_uuids`" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Remove a product from the order" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Removes many products from an wishlist using the provided `product_uuids`" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "List all products (simple view)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Retrieve a single product (detailed view)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "Product UUID or Slug" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Create a product" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Delete a product" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "Rewrite an existing product, preserving non-editable fields" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Update some fields of an existing product, preserving non-editable fields" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "No search term provided." @@ -498,7 +528,7 @@ msgid "add a product to the order" msgstr "Add a product to the order" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Order {order_uuid} not found" @@ -515,38 +545,42 @@ msgstr "Remove all products from the order" msgid "buy an order" msgstr "Buy an order" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 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:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Add a product to the order" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Wishlist {wishlist_uuid} not found" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Buy an order" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -554,7 +588,7 @@ msgstr "" "Please send the attributes as the string formatted like " "attr1=value1,attr2=value2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - works like a charm" @@ -704,7 +738,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Products on sale" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promotions" @@ -720,11 +754,11 @@ msgstr "Vendor" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Wishlisted products" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Wishlists" @@ -784,11 +818,15 @@ msgstr "Language flag, if exists :)" msgid "supported languages" msgstr "Get a list of supported languages" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Products search results" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Products search results" + #: core/models.py:62 msgid "parent of this group" msgstr "Parent of this group" @@ -866,8 +904,8 @@ msgstr "Attribute of this value" msgid "the specific product associated with this attribute's value" msgstr "The specific product associated with this attribute's value" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Associated product" @@ -963,7 +1001,7 @@ msgstr "Optionally associate this product with a brand" msgid "tags that help describe or group this product" msgstr "Tags that help describe or group this product" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Product tags" @@ -983,7 +1021,7 @@ msgstr "Provide a clear identifying name for the product" msgid "product name" msgstr "Product name" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Add a detailed description of the product" @@ -1082,7 +1120,7 @@ msgstr "Current status of the order in its lifecycle" msgid "order status" msgstr "Order status" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "JSON structure of notifications to display to users, in admin UI the table-" @@ -1133,7 +1171,7 @@ msgid "you cannot add more products than available in stock" msgstr "You cannot add more products than available in stock" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} does not exist: {product_uuid}" @@ -1185,179 +1223,179 @@ msgid "you cannot create a momental order without providing a billing address" msgstr "" "you cannot create a momental order without providing a billing address" -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Purchase price at order time" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "Internal comments for admins about this ordered product" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Internal comments" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "User notifications" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "JSON representation of this item's attributes" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Ordered product attributes" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Reference to the parent order that contains this product" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Parent order" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "The specific product associated with this order line" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Quantity of this specific product in the order" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Product quantity" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Current status of this product in the order" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Product line status" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Internal tag identifier for the product tag" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Tag name" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "User-friendly name for the product tag" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Tag display name" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Product tag" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "Provide alternative text for the image for accessibility" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Image alt text" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Upload the image file for this product" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Product image" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Determines the order in which images are displayed" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Display priority" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "The product that this image represents" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Product images" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "Fixed discount amount applied if percent is not used" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Fixed discount amount" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "Percentage discount applied if fixed amount is not used" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Percentage discount" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Timestamp when the promocode expires" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "End validity time" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Timestamp from which this promocode is valid" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Start validity time" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Usage timestamp" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "User assigned to this promocode if applicable" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Assigned user" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Promo code" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1365,144 +1403,144 @@ msgstr "" "Only one type of discount should be defined (amount or percent), but not " "both or neither." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Promocode has been used already" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Invalid discount type for promocode {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Percentage discount for the selected products" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Discount percentage" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Provide a unique name for this promotion" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Promotion name" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Select which products are included in this promotion" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Included products" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promotion" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "The vendor supplying this product stock" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Associated vendor" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Final price to the customer after markups" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Selling price" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "The product associated with this stock entry" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "The price paid to the vendor for this product" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Vendor purchase price" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Available quantity of the product in stock" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Quantity in stock" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "Vendor-assigned SKU for identifying the product" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "Vendor's SKU" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Digital file associated with this stock if applicable" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Digital file" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Stock entries" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Products that the user has marked as wanted" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "User who owns this wishlist" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Wishlist's Owner" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Wishlist" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Download" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Downloads" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Documentary" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Unresolved" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Error during promocode creation: {e!s}" @@ -1693,17 +1731,17 @@ msgstr "{model} must be model" msgid "{data} must be list object" msgstr "{data} must be list object" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Contact Us initiated" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Order Confirmation" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Order Delivered" @@ -1722,10 +1760,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Invalid phone number format" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "You can only download the digital asset once" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon not found" diff --git a/core/locale/en_US/LC_MESSAGES/django.mo b/core/locale/en_US/LC_MESSAGES/django.mo index 6fda1344..afb944dc 100644 Binary files a/core/locale/en_US/LC_MESSAGES/django.mo and b/core/locale/en_US/LC_MESSAGES/django.mo differ diff --git a/core/locale/en_US/LC_MESSAGES/django.po b/core/locale/en_US/LC_MESSAGES/django.po index 5805c67b..f8f9ec6b 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: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -81,7 +81,7 @@ msgstr "Image" msgid "images" msgstr "Images" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Stock" @@ -89,7 +89,7 @@ msgstr "Stock" msgid "stocks" msgstr "Stocks" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -97,35 +97,35 @@ msgstr "Stocks" msgid "price" msgstr "Price" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Product rating" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Basic Info" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Important dates" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Translations" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Order Product" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Order Products" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Is Business" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Config" @@ -221,143 +221,143 @@ msgstr "" "Purchase an order as a business, using the provided `products` with " "`product_uuid` and `attributes`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "List all attribute groups (simple view)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Retrieve a single attribute group (detailed view)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Create an attribute group" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Delete an attribute group" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "Rewrite an existing attribute group saving non-editables" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 msgid "" "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Rewrite some fields of an existing attribute group saving non-editables" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "List all attributes (simple view)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Retrieve a single attribute (detailed view)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Create an attribute" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Delete an attribute" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "Rewrite an existing attribute saving non-editables" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "Rewrite some fields of an existing attribute saving non-editables" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "List all attribute values (simple view)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Retrieve a single attribute value (detailed view)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Create an attribute value" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Delete an attribute value" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "Rewrite an existing attribute value saving non-editables" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 msgid "" "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Rewrite some fields of an existing attribute value saving non-editables" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "List all categories (simple view)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Retrieve a single category (detailed view)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Create a category" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Delete a category" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Rewrite an existing category saving non-editables" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "Rewrite some fields of an existing category saving non-editables" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "List all categories (simple view)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "For non-staff users, only their own orders are returned." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Retrieve a single category (detailed view)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Create an attribute" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Doesn't work for non-staff users." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Delete an attribute" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Rewrite an existing category saving non-editables" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "Rewrite some fields of an existing category saving non-editables" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Purchase price at order time" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -367,19 +367,19 @@ msgstr "" "completed using the user's balance; If `force_payment` is used, a " "transaction is initiated." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "purchase an order without account creation" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "finalizes the order purchase for a non-registered user." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Add a product to the order" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -387,11 +387,11 @@ msgstr "" "Adds a product to an order using the provided `product_uuid` and " "`attributes`." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Remove a product from the order" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -399,72 +399,102 @@ msgstr "" "Removes a product from an order using the provided `product_uuid` and " "`attributes`." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "List all attributes (simple view)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "For non-staff users, only their own wishlists are returned." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Retrieve a single attribute (detailed view)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Create an attribute" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Doesn't work for non-staff users." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Delete an attribute" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "Rewrite an existing attribute saving non-editables" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "Rewrite some fields of an existing attribute saving non-editables" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Add a product to the order" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "Adds a product to an wishlist using the provided `product_uuid`" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Remove a product from the wishlist" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "Removes a product from an wishlist using the provided `product_uuid`" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Add many products to the wishlist" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "Adds many products to an wishlist using the provided `product_uuids`" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Remove a product from the order" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Removes many products from an wishlist using the provided `product_uuids`" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "List all products (simple view)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Retrieve a single product (detailed view)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "Product UUID or Slug" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Create a product" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Delete a product" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "Rewrite an existing product, preserving non-editable fields" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Update some fields of an existing product, preserving non-editable fields" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "No search term provided." @@ -498,7 +528,7 @@ msgid "add a product to the order" msgstr "Add a product to the order" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Order {order_uuid} not found" @@ -515,38 +545,42 @@ msgstr "Remove all products from the order" msgid "buy an order" msgstr "Buy an order" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 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:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Add a product to the order" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Wishlist {wishlist_uuid} not found" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Remove a product from the order" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Buy an order" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -554,7 +588,7 @@ msgstr "" "Please send the attributes as the string formatted like " "attr1=value1,attr2=value2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - works like a charm" @@ -704,7 +738,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Products on sale" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promotions" @@ -720,11 +754,11 @@ msgstr "Vendor" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Wishlisted products" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Wishlists" @@ -784,11 +818,15 @@ msgstr "Language flag, if exists :)" msgid "supported languages" msgstr "Get a list of supported languages" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Products search results" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Products search results" + #: core/models.py:62 msgid "parent of this group" msgstr "Parent of this group" @@ -866,8 +904,8 @@ msgstr "Attribute of this value" msgid "the specific product associated with this attribute's value" msgstr "The specific product associated with this attribute's value" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Associated product" @@ -963,7 +1001,7 @@ msgstr "Optionally associate this product with a brand" msgid "tags that help describe or group this product" msgstr "Tags that help describe or group this product" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Product tags" @@ -983,7 +1021,7 @@ msgstr "Provide a clear identifying name for the product" msgid "product name" msgstr "Product name" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Add a detailed description of the product" @@ -1082,7 +1120,7 @@ msgstr "Current status of the order in its lifecycle" msgid "order status" msgstr "Order status" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "JSON structure of notifications to display to users, in admin UI the table-" @@ -1133,7 +1171,7 @@ msgid "you cannot add more products than available in stock" msgstr "You cannot add more products than available in stock" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} does not exist: {product_uuid}" @@ -1185,179 +1223,179 @@ msgid "you cannot create a momental order without providing a billing address" msgstr "" "you cannot create a momental order without providing a billing address" -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Purchase price at order time" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "Internal comments for admins about this ordered product" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Internal comments" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "User notifications" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "JSON representation of this item's attributes" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Ordered product attributes" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Reference to the parent order that contains this product" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Parent order" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "The specific product associated with this order line" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Quantity of this specific product in the order" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Product quantity" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Current status of this product in the order" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Product line status" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Internal tag identifier for the product tag" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Tag name" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "User-friendly name for the product tag" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Tag display name" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Product tag" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "Provide alternative text for the image for accessibility" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Image alt text" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Upload the image file for this product" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Product image" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Determines the order in which images are displayed" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Display priority" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "The product that this image represents" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Product images" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "Fixed discount amount applied if percent is not used" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Fixed discount amount" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "Percentage discount applied if fixed amount is not used" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Percentage discount" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Timestamp when the promocode expires" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "End validity time" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Timestamp from which this promocode is valid" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Start validity time" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Usage timestamp" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "User assigned to this promocode if applicable" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Assigned user" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Promo code" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1365,144 +1403,144 @@ msgstr "" "Only one type of discount should be defined (amount or percent), but not " "both or neither." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Promocode has been used already" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Invalid discount type for promocode {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Percentage discount for the selected products" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Discount percentage" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Provide a unique name for this promotion" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Promotion name" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Select which products are included in this promotion" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Included products" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promotion" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "The vendor supplying this product stock" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Associated vendor" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Final price to the customer after markups" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Selling price" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "The product associated with this stock entry" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "The price paid to the vendor for this product" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Vendor purchase price" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Available quantity of the product in stock" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Quantity in stock" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "Vendor-assigned SKU for identifying the product" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "Vendor's SKU" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Digital file associated with this stock if applicable" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Digital file" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Stock entries" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Products that the user has marked as wanted" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "User who owns this wishlist" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Wishlist's Owner" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Wishlist" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Download" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Downloads" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Documentary" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Unresolved" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Error during promocode creation: {e!s}" @@ -1693,17 +1731,17 @@ msgstr "{model} must be model" msgid "{data} must be list object" msgstr "{data} must be list object" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Contact Us initiated" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Order Confirmation" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Order Delivered" @@ -1722,10 +1760,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Invalid phone number format" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "You can only download the digital asset once" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon not found" diff --git a/core/locale/es_ES/LC_MESSAGES/django.mo b/core/locale/es_ES/LC_MESSAGES/django.mo index 3267263d..1bdadd96 100644 Binary files a/core/locale/es_ES/LC_MESSAGES/django.mo and b/core/locale/es_ES/LC_MESSAGES/django.mo differ diff --git a/core/locale/es_ES/LC_MESSAGES/django.po b/core/locale/es_ES/LC_MESSAGES/django.po index 02385d76..b5298c04 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: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -83,7 +83,7 @@ msgstr "Imagen" msgid "images" msgstr "Imágenes" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Stock" @@ -91,7 +91,7 @@ msgstr "Stock" msgid "stocks" msgstr "Acciones" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -99,35 +99,35 @@ msgstr "Acciones" msgid "price" msgstr "Precio" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Valoración del producto" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Información básica" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Fechas importantes" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Traducciones" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Pedir un producto" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Pedir productos" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Es Negocio" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Configurar" @@ -224,153 +224,153 @@ msgstr "" "Compra un pedido como empresa, utilizando los `productos` proporcionados con" " `product_uuid` y `attributes`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Lista de todos los grupos de atributos (vista simple)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Recuperar un único grupo de atributos (vista detallada)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Crear un grupo de atributos" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Eliminar un grupo de atributos" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 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:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Listar todos los atributos (vista simple)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Recuperar un único atributo (vista detallada)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Crear un atributo" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Borrar un atributo" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "Reescribir un atributo existente guardando los no editables" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Reescribir algunos campos de un atributo existente guardando los no " "editables" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Listar todos los valores de atributos (vista simple)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Recuperar un único valor de atributo (vista detallada)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Crear un valor de atributo" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Borrar un valor de atributo" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 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:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Lista de todas las categorías (vista simple)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Recuperar una sola categoría (vista detallada)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Crear una categoría" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Eliminar una categoría" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Reescribir una categoría existente guardando los no editables" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Reescribir algunos campos de una categoría existente guardando los no " "editables" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Lista de todas las categorías (vista simple)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Para los usuarios que no forman parte del personal, sólo se devuelven sus " "propios pedidos." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Recuperar una sola categoría (vista detallada)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Crear un atributo" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "No funciona para los usuarios que no son personal." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Borrar un atributo" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Reescribir una categoría existente guardando los no editables" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Reescribir algunos campos de una categoría existente guardando los no " "editables" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Precio de compra en el momento del pedido" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -380,19 +380,19 @@ msgstr "" "finaliza utilizando el saldo del usuario; Si se utiliza `force_payment`, se " "inicia una transacción." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "comprar un pedido sin crear una cuenta" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "finaliza la compra del pedido para un usuario no registrado." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Añadir un producto al pedido" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -400,11 +400,11 @@ msgstr "" "Añade un producto a un pedido utilizando el `product_uuid` y los " "`attributes` proporcionados." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Eliminar un producto del pedido" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -412,83 +412,114 @@ msgstr "" "Elimina un producto de un pedido utilizando el `product_uuid` y los " "`attributes` proporcionados." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Listar todos los atributos (vista simple)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "Para los usuarios que no forman parte del personal, sólo se devuelven sus " "propias listas de deseos." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Recuperar un único atributo (vista detallada)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Crear un atributo" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "No funciona para los usuarios que no son personal." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Borrar un atributo" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "Reescribir un atributo existente guardando los no editables" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Reescribir algunos campos de un atributo existente guardando los no " "editables" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Añadir un producto al pedido" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Añade un producto a una lista de deseos utilizando el `product_uuid` " "proporcionado" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Eliminar un producto de la lista de deseos" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Elimina un producto de una lista de deseos utilizando el `product_uuid` " "proporcionado." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Añadir muchos productos a la lista de deseos" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Añade varios productos a una lista de deseos utilizando los `product_uuids` " "proporcionados." -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Eliminar un producto del pedido" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Elimina varios productos de una lista de deseos utilizando los " "`product_uuids` proporcionados." +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Listar todos los productos (vista simple)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Recuperar un solo producto (vista detallada)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "UUID o babosa del producto" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Crear un producto" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Eliminar un producto" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "Reescribir un producto existente conservando los campos no editables" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Actualizar algunos campos de un producto existente, conservando los campos " +"no editables" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "No se proporciona ningún término de búsqueda." @@ -522,7 +553,7 @@ msgid "add a product to the order" msgstr "Añadir un producto al pedido" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Pedido {order_uuid} no encontrado" @@ -539,39 +570,43 @@ msgstr "Eliminar todos los productos del pedido" msgid "buy an order" msgstr "Comprar un pedido" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" "Tipo incorrecto proveniente del método order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Añadir un producto al pedido" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista de deseos {wishlist_uuid} no encontrada" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Eliminar un producto del pedido" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Eliminar un producto del pedido" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Eliminar un producto del pedido" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Comprar un pedido" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -579,7 +614,7 @@ msgstr "" "Por favor, envíe los atributos como una cadena formateada como " "attr1=valor1,attr2=valor2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funciona a las mil maravillas" @@ -733,7 +768,7 @@ msgstr "Códigos promocionales" msgid "products on sale" msgstr "Productos a la venta" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promociones" @@ -749,11 +784,11 @@ msgstr "Vendedor" msgid "product" msgstr "Producto" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Productos deseados" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Listas de deseos" @@ -814,11 +849,15 @@ msgstr "Bandera de idioma, si existe :)" msgid "supported languages" msgstr "Obtener una lista de los idiomas admitidos" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Resultados de la búsqueda de productos" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Resultados de la búsqueda de productos" + #: core/models.py:62 msgid "parent of this group" msgstr "Padre de este grupo" @@ -896,8 +935,8 @@ msgstr "Atributo de este valor" msgid "the specific product associated with this attribute's value" msgstr "El producto específico asociado al valor de este atributo" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Producto asociado" @@ -993,7 +1032,7 @@ msgstr "Si lo desea, puede asociar este producto a una marca" msgid "tags that help describe or group this product" msgstr "Etiquetas que ayudan a describir o agrupar este producto" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Etiquetas del producto" @@ -1013,7 +1052,7 @@ msgstr "Proporcionar un nombre que identifique claramente el producto" msgid "product name" msgstr "Nombre del producto" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Añada una descripción detallada del producto" @@ -1116,7 +1155,7 @@ msgstr "Estado actual del pedido en su ciclo de vida" msgid "order status" msgstr "Estado del pedido" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "Estructura JSON de las notificaciones para mostrar a los usuarios, en la " @@ -1167,7 +1206,7 @@ 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:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} no existe: {product_uuid}" @@ -1220,183 +1259,183 @@ msgid "you cannot create a momental order without providing a billing address" msgstr "" "no puede crear un pedido momental sin indicar una dirección de facturación" -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Precio de compra en el momento del pedido" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "" "Comentarios internos para los administradores sobre este producto solicitado" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Comentarios internos" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Notificaciones a los usuarios" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "Representación JSON de los atributos de este elemento" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Atributos ordenados del producto" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Referencia al pedido principal que contiene este producto" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Orden de los padres" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "El producto específico asociado a esta línea de pedido" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Cantidad de este producto específico en el pedido" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Cantidad de productos" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Estado actual de este producto en el pedido" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Estado de la línea de productos" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Identificador interno de la etiqueta del producto" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Nombre de la etiqueta" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Nombre fácil de usar para la etiqueta del producto" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Nombre de la etiqueta" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Etiqueta del producto" -#: core/models.py:909 +#: core/models.py:910 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:910 +#: core/models.py:911 msgid "image alt text" msgstr "Texto alternativo de la imagen" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Cargar el archivo de imagen para este producto" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Imagen del producto" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Determina el orden de visualización de las imágenes" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Prioridad de visualización" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "El producto que representa esta imagen" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Imágenes de productos" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Promo code identifier" -#: core/models.py:958 +#: core/models.py:959 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:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Importe fijo del descuento" -#: core/models.py:965 +#: core/models.py:966 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:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Porcentaje de descuento" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Fecha de caducidad del promocode" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Hora de fin de validez" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Fecha a partir de la cual es válido este promocode" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Hora de inicio de validez" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Marca de tiempo de uso" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Usuario asignado a este promocode si procede" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Usuario asignado" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Promo code" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Promo codes" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1404,144 +1443,144 @@ msgstr "" "Sólo debe definirse un tipo de descuento (importe o porcentaje), pero no " "ambos ni ninguno." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "El código promocional ya ha sido utilizado" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Tipo de descuento no válido para promocode {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Porcentaje de descuento para los productos seleccionados" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Porcentaje de descuento" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Proporcione un nombre único para esta promoción" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Nombre de la promoción" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Descripción de la promoción" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Seleccione los productos incluidos en esta promoción" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Productos incluidos" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promoción" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "El vendedor que suministra este producto dispone de" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Proveedor asociado" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Precio final al cliente después de márgenes" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Precio de venta" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "El producto asociado a esta entrada en stock" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "El precio pagado al vendedor por este producto" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Precio de compra al vendedor" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Cantidad disponible del producto en stock" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Cantidad en stock" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU asignada por el proveedor para identificar el producto" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "SKU del vendedor" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Archivo digital asociado a esta acción, si procede" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Archivo digital" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Entradas en existencias" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Productos que el usuario ha marcado como deseados" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Usuario propietario de esta lista de deseos" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Propietario de Wishlist" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Lista de deseos" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Descargar" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Descargas" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Documental" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Documentaries" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Sin resolver" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Error durante la creación del promocode: {e!s}" @@ -1733,17 +1772,17 @@ msgstr "{model} debe ser modelo" msgid "{data} must be list object" msgstr "{data} debe ser un objeto de lista" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Contacto iniciado" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Confirmación de pedido" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Pedido entregado" @@ -1763,10 +1802,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Formato de número de teléfono no válido" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "Sólo puede descargar el activo digital una vez" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon no encontrado" diff --git a/core/locale/fr_FR/LC_MESSAGES/django.mo b/core/locale/fr_FR/LC_MESSAGES/django.mo index 1449465b..28568e9e 100644 Binary files a/core/locale/fr_FR/LC_MESSAGES/django.mo and b/core/locale/fr_FR/LC_MESSAGES/django.mo differ diff --git a/core/locale/fr_FR/LC_MESSAGES/django.po b/core/locale/fr_FR/LC_MESSAGES/django.po index 646781cb..b54702d5 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: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -83,7 +83,7 @@ msgstr "Image" msgid "images" msgstr "Images" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Stock" @@ -91,7 +91,7 @@ msgstr "Stock" msgid "stocks" msgstr "Stocks" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -99,35 +99,35 @@ msgstr "Stocks" msgid "price" msgstr "Prix" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Evaluation du produit" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Informations de base" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Important Dates" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Traductions" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Commander un produit" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Commander des produits" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Est l'entreprise" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Config" @@ -224,158 +224,158 @@ msgstr "" "Acheter une commande en tant qu'entreprise, en utilisant les `produits` " "fournis avec `product_uuid` et `attributs`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Liste de tous les groupes d'attributs (vue simple)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Récupérer un seul groupe d'attributs (vue détaillée)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Créer un groupe d'attributs" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Supprimer un groupe d'attributs" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Réécrire un groupe d'attributs existant en sauvegardant les éléments non " "modifiables" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Liste de tous les attributs (vue simple)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Récupérer un seul attribut (vue détaillée)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Créer un attribut" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Supprimer un attribut" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "" "Réécrire un attribut existant en sauvegardant les éléments non modifiables" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 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" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Liste de toutes les valeurs d'attributs (vue simple)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Récupérer une seule valeur d'attribut (vue détaillée)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Créer une valeur d'attribut" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Supprimer une valeur d'attribut" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" "Réécrire une valeur d'attribut existante en sauvegardant les éléments non " "modifiables" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Liste de toutes les catégories (vue simple)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Récupérer une seule catégorie (vue détaillée)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Créer une catégorie" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Supprimer une catégorie" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Réécrire une catégorie existante en sauvegardant les non-éditables" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Réécrire certains champs d'une catégorie existante en sauvegardant les non-" "éditables" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Liste de toutes les catégories (vue simple)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Pour les utilisateurs non fonctionnaires, seules leurs propres commandes " "sont renvoyées." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Récupérer une seule catégorie (vue détaillée)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Créer un attribut" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Ne fonctionne pas pour les utilisateurs non fonctionnaires." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Supprimer un attribut" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Réécrire une catégorie existante en sauvegardant les non-éditables" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Réécrire certains champs d'une catégorie existante en sauvegardant les non-" "éditables" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Prix d'achat au moment de la commande" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -385,19 +385,19 @@ msgstr "" " complété en utilisant le solde de l'utilisateur ; Si `force_payment` est " "utilisé, une transaction est initiée." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "acheter une commande sans créer de compte" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "finalise l'achat d'une commande pour un utilisateur non enregistré." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Ajouter un produit à la commande" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -405,11 +405,11 @@ msgstr "" "Ajoute un produit à une commande en utilisant le `product_uuid` et les " "`attributs` fournis." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Supprimer un produit de la commande" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -417,84 +417,115 @@ msgstr "" "Supprime un produit d'une commande en utilisant le `product_uuid` et les " "`attributs` fournis." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Liste de tous les attributs (vue simple)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "Pour les utilisateurs non fonctionnaires, seules leurs propres listes de " "souhaits sont renvoyées." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Récupérer un seul attribut (vue détaillée)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Créer un attribut" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Ne fonctionne pas pour les utilisateurs non fonctionnaires." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Supprimer un attribut" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "" "Réécrire un attribut existant en sauvegardant les éléments non modifiables" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 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" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Ajouter un produit à la commande" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Ajoute un produit à une liste de souhaits en utilisant le `product_uuid` " "fourni" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Supprimer un produit de la liste de souhaits" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Supprime un produit d'une liste de souhaits en utilisant l'identifiant " "`product_uuid` fourni." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Ajouter plusieurs produits à la liste de souhaits" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Ajoute plusieurs produits à une liste de souhaits en utilisant les " "`product_uuids` fournis" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Supprimer un produit de la commande" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Supprime plusieurs produits d'une liste de souhaits en utilisant les " "`product_uuids` fournis" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Liste de tous les produits (vue simple)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Récupérer un seul produit (vue détaillée)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "UUID ou Slug du produit" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Créer un produit" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Supprimer un produit" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "Réécrire un produit existant en préservant les champs non modifiables" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Mettre à jour certains champs d'un produit existant, en préservant les " +"champs non modifiables" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Aucun terme de recherche n'est fourni." @@ -528,7 +559,7 @@ msgid "add a product to the order" msgstr "Ajouter un produit à la commande" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "L'ordre {order_uuid} n'a pas été trouvé" @@ -545,39 +576,45 @@ msgstr "Supprimer tous les produits de la commande" msgid "buy an order" msgstr "Acheter une commande" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 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:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Ajouter un produit à la commande" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Wishlist {wishlist_uuid} introuvable" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Supprimer un produit de la commande" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Supprimer un produit de la commande" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Supprimer un produit de la commande" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Acheter une commande" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -585,7 +622,7 @@ msgstr "" "Veuillez envoyer les attributs sous la forme d'une chaîne formatée comme " "attr1=valeur1,attr2=valeur2." -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - fonctionne comme un charme" @@ -738,7 +775,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Produits en vente" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promotions" @@ -754,11 +791,11 @@ msgstr "Vendeur" msgid "product" msgstr "Produit" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Produits en liste de souhaits" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Liste de souhaits" @@ -820,11 +857,15 @@ msgstr "Drapeau linguistique, s'il existe :)" msgid "supported languages" msgstr "Obtenir la liste des langues prises en charge" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Résultats de la recherche de produits" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Résultats de la recherche de produits" + #: core/models.py:62 msgid "parent of this group" msgstr "Parent de ce groupe" @@ -902,8 +943,8 @@ msgstr "Attribut de cette valeur" msgid "the specific product associated with this attribute's value" msgstr "Le produit spécifique associé à la valeur de cet attribut" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Produit associé" @@ -1000,7 +1041,7 @@ msgstr "Possibilité d'associer ce produit à une marque" msgid "tags that help describe or group this product" msgstr "Étiquettes permettant de décrire ou de regrouper ce produit" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Étiquettes du produit" @@ -1020,7 +1061,7 @@ msgstr "Fournir un nom d'identification clair pour le produit" msgid "product name" msgstr "Nom du produit" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Ajouter une description détaillée du produit" @@ -1122,7 +1163,7 @@ msgstr "Statut actuel de la commande dans son cycle de vie" msgid "order status" msgstr "Statut de la commande" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "Structure JSON des notifications à afficher aux utilisateurs ; dans " @@ -1176,7 +1217,7 @@ msgstr "" "Vous ne pouvez pas ajouter plus de produits que ceux disponibles en stock" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} n'existe pas : {product_uuid}" @@ -1233,185 +1274,185 @@ msgstr "" "vous ne pouvez pas créer une commande momentanée sans fournir d'adresse de " "facturation" -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Prix d'achat au moment de la commande" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "" "Commentaires internes pour les administrateurs sur ce produit commandé" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Commentaires internes" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Notifications aux utilisateurs" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "Représentation JSON des attributs de cet élément" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Attributs du produit ordonnés" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Référence à l'ordre parent qui contient ce produit" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Ordonnance parentale" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Le produit spécifique associé à cette ligne de commande" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Quantité de ce produit spécifique dans la commande" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Quantité de produits" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Statut actuel de ce produit dans la commande" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Statut de la ligne de produits" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Identifiant interne de l'étiquette du produit" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Nom du jour" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Nom convivial pour l'étiquette du produit" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Nom d'affichage de l'étiquette" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Étiquette du produit" -#: core/models.py:909 +#: core/models.py:910 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:910 +#: core/models.py:911 msgid "image alt text" msgstr "Texte alt de l'image" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Télécharger le fichier image pour ce produit" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Image du produit" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Détermine l'ordre d'affichage des images" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Priorité à l'affichage" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Le produit que cette image représente" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Images du produit" -#: core/models.py:950 +#: core/models.py:951 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" -#: core/models.py:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Identifiant du code promotionnel" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "" "Montant fixe de la remise appliqué si le pourcentage n'est pas utilisé" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Montant de l'escompte fixe" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "" "Pourcentage de réduction appliqué si le montant fixe n'est pas utilisé" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Pourcentage de réduction" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Date d'expiration du code promotionnel" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Heure de fin de validité" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Date à partir de laquelle ce code promotionnel est valable" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Heure de début de validité" -#: core/models.py:983 +#: core/models.py:984 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é." -#: core/models.py:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Horodatage de l'utilisation" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Utilisateur assigné à ce code promo, le cas échéant" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Utilisateur assigné" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Code promo" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Codes promotionnels" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1419,146 +1460,146 @@ msgstr "" "Un seul type de remise doit être défini (montant ou pourcentage), mais pas " "les deux ni aucun des deux." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Le code promotionnel a déjà été utilisé" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Type de réduction non valide pour le code promo {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Pourcentage de réduction pour les produits sélectionnés" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Pourcentage de réduction" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Donnez un nom unique à cette promotion" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Nom de la promotion" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Promotion description" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Sélectionnez les produits inclus dans cette promotion" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Produits inclus" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promotion" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "Le vendeur qui fournit ce stock de produits" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Vendeur associé" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Prix final pour le client après majoration" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Prix de vente" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Le produit associé à cette entrée de stock" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "Le prix payé au vendeur pour ce produit" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Prix d'achat du vendeur" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Quantité disponible du produit en stock" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Quantité en stock" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU attribué par le fournisseur pour identifier le produit" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "UGS du vendeur" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Fichier numérique associé à ce stock, le cas échéant" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Fichier numérique" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Entrées de stock" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Produits que l'utilisateur a marqués comme souhaités" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Utilisateur qui possède cette liste de souhaits" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Propriétaire de la liste de souhaits" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Liste de souhaits" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Télécharger" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Téléchargements" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Documentaire" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Documentaires" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Non résolu" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Erreur lors de la création du promocode : {e!s}" @@ -1753,17 +1794,17 @@ msgstr "{model} doit être le modèle" msgid "{data} must be list object" msgstr "{data} doit être un objet de liste" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Nous contacter initié" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Confirmation de commande" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Commande livrée" @@ -1783,10 +1824,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Format de numéro de téléphone non valide" -#: core/views.py:230 +#: core/views.py:231 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:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon introuvable" diff --git a/core/locale/hi_IN/LC_MESSAGES/django.po b/core/locale/hi_IN/LC_MESSAGES/django.po index 1cd5a8db..31571f62 100644 --- a/core/locale/hi_IN/LC_MESSAGES/django.po +++ b/core/locale/hi_IN/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -82,7 +82,7 @@ msgstr "" msgid "images" msgstr "" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "" @@ -90,7 +90,7 @@ msgstr "" msgid "stocks" msgstr "" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -98,35 +98,35 @@ msgstr "" msgid "price" msgstr "" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "" @@ -218,238 +218,267 @@ msgid "" "`product_uuid` and `attributes`." msgstr "" -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "" -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 "" -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "" -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." msgstr "" -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." msgstr "" -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "" -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "" @@ -483,7 +512,7 @@ msgid "add a product to the order" msgstr "" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "" @@ -500,44 +529,48 @@ msgstr "" msgid "buy an order" msgstr "" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +msgid "please provide either order_uuid or order_hr_id - mutually exclusive" +msgstr "" + +#: core/graphene/mutations.py:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like attr1=value1," "attr2=value2" msgstr "" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "" @@ -683,7 +716,7 @@ msgstr "" msgid "products on sale" msgstr "" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "" @@ -699,11 +732,11 @@ msgstr "" msgid "product" msgstr "" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "" @@ -763,11 +796,15 @@ msgstr "" msgid "supported languages" msgstr "" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "" + #: core/models.py:62 msgid "parent of this group" msgstr "" @@ -845,7 +882,7 @@ msgstr "" msgid "the specific product associated with this attribute's value" msgstr "" -#: core/models.py:142 core/models.py:813 core/models.py:927 core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 core/models.py:1094 msgid "associated product" msgstr "" @@ -941,7 +978,7 @@ msgstr "" msgid "tags that help describe or group this product" msgstr "" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "" @@ -961,7 +998,7 @@ msgstr "" msgid "product name" msgstr "" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "" @@ -1057,7 +1094,7 @@ msgstr "" msgid "order status" msgstr "" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" @@ -1105,8 +1142,8 @@ msgstr "" msgid "you cannot add more products than available in stock" msgstr "" -#: core/models.py:567 core/models.py:584 core/models.py:608 core/models.py:1164 -#: core/models.py:1175 +#: core/models.py:567 core/models.py:584 core/models.py:608 core/models.py:1165 +#: core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "" @@ -1154,322 +1191,322 @@ msgstr "" msgid "you cannot create a momental order without providing a billing address" msgstr "" -#: core/models.py:778 +#: core/models.py:779 msgid "the price paid by the customer for this product at purchase time" msgstr "" -#: core/models.py:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "" -#: core/models.py:950 +#: core/models.py:951 msgid "unique code used by a user to redeem a discount" msgstr "" -#: core/models.py:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "" -#: core/models.py:983 +#: core/models.py:984 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -#: core/models.py:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "" -#: core/models.py:1202 +#: core/models.py:1203 msgid "you can not download a digital asset for a non-finished order" msgstr "" -#: core/models.py:1214 +#: core/models.py:1215 msgid "documentary" msgstr "" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "" @@ -1650,17 +1687,17 @@ msgstr "" msgid "{data} must be list object" msgstr "" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "" @@ -1678,10 +1715,10 @@ msgstr "" msgid "invalid phone number format" msgstr "" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "" diff --git a/core/locale/it_IT/LC_MESSAGES/django.mo b/core/locale/it_IT/LC_MESSAGES/django.mo index 48f3a07c..6d9f056a 100644 Binary files a/core/locale/it_IT/LC_MESSAGES/django.mo and b/core/locale/it_IT/LC_MESSAGES/django.mo differ diff --git a/core/locale/it_IT/LC_MESSAGES/django.po b/core/locale/it_IT/LC_MESSAGES/django.po index 0c4d1e0e..6da04151 100644 --- a/core/locale/it_IT/LC_MESSAGES/django.po +++ b/core/locale/it_IT/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -83,7 +83,7 @@ msgstr "Immagine" msgid "images" msgstr "Immagini" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Stock" @@ -91,7 +91,7 @@ msgstr "Stock" msgid "stocks" msgstr "Le scorte" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -99,35 +99,35 @@ msgstr "Le scorte" msgid "price" msgstr "Prezzo" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Valutazione del prodotto" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Informazioni di base" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Date importanti" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Traduzioni" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Ordina il prodotto" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Ordinare i prodotti" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "È Business" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Configurazione" @@ -224,159 +224,159 @@ msgstr "" "Acquistare un ordine come azienda, utilizzando i `prodotti` forniti con " "`product_uuid` e `attributi`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Elenco di tutti i gruppi di attributi (vista semplice)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Recuperare un singolo gruppo di attributi (vista dettagliata)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Creare un gruppo di attributi" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Cancellare un gruppo di attributi" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Riscrivere un gruppo di attributi esistente salvando quelli non modificabili" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Elenco di tutti gli attributi (vista semplice)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Recuperare un singolo attributo (vista dettagliata)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Creare un attributo" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Cancellare un attributo" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "" "Riscrivere un attributo esistente salvando gli elementi non modificabili" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Riscrivere alcuni campi di un attributo esistente salvando i campi non " "modificabili" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Elenco di tutti i valori degli attributi (vista semplice)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Recuperare il valore di un singolo attributo (vista dettagliata)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Creare un valore di attributo" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Cancellare il valore di un attributo" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" "Riscrivere il valore di un attributo esistente salvando gli elementi non " "modificabili" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Elenco di tutte le categorie (visualizzazione semplice)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Recuperare una singola categoria (vista dettagliata)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Creare una categoria" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Eliminare una categoria" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "" "Riscrivere una categoria esistente salvando gli elementi non modificabili" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Riscrivere alcuni campi di una categoria esistente salvando gli elementi non" " modificabili" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Elenco di tutte le categorie (visualizzazione semplice)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Per gli utenti che non fanno parte del personale, vengono restituiti solo i " "loro ordini." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Recuperare una singola categoria (vista dettagliata)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Creare un attributo" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Non funziona per gli utenti che non fanno parte del personale." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Cancellare un attributo" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "" "Riscrivere una categoria esistente salvando gli elementi non modificabili" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Riscrivere alcuni campi di una categoria esistente salvando gli elementi non" " modificabili" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Prezzo di acquisto al momento dell'ordine" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -386,19 +386,19 @@ msgstr "" "l'acquisto viene completato utilizzando il saldo dell'utente; se si utilizza" " `forza_pagamento`, viene avviata una transazione." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "acquistare un ordine senza creare un account" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "finalizza l'acquisto dell'ordine per un utente non registrato." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Aggiungere un prodotto all'ordine" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -406,11 +406,11 @@ msgstr "" "Aggiunge un prodotto a un ordine utilizzando il `product_uuid` e gli " "`attributi` forniti." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Rimuovere un prodotto dall'ordine" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -418,83 +418,115 @@ msgstr "" "Rimuove un prodotto da un ordine utilizzando il `product_uuid` e gli " "`attributi` forniti." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Elenco di tutti gli attributi (vista semplice)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 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." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Recuperare un singolo attributo (vista dettagliata)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Creare un attributo" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Non funziona per gli utenti che non fanno parte del personale." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Cancellare un attributo" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "" "Riscrivere un attributo esistente salvando gli elementi non modificabili" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Riscrivere alcuni campi di un attributo esistente salvando i campi non " "modificabili" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Aggiungere un prodotto all'ordine" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Aggiunge un prodotto a una lista dei desideri utilizzando il `product_uuid` " "fornito." -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Rimuovere un prodotto dalla lista dei desideri" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Rimuove un prodotto da una wishlist utilizzando il `product_uuid` fornito." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Aggiungere molti prodotti alla lista dei desideri" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Aggiunge molti prodotti a una lista dei desideri utilizzando i " "`product_uuids` forniti." -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Rimuovere un prodotto dall'ordine" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Rimuove molti prodotti da una lista di desideri utilizzando i " "`product_uuids` forniti." +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Elenco di tutti i prodotti (visualizzazione semplice)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Recuperare un singolo prodotto (vista dettagliata)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "UUID o Slug del prodotto" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Creare un prodotto" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Eliminare un prodotto" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "" +"Riscrivere un prodotto esistente, preservando i campi non modificabili" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Aggiornare alcuni campi di un prodotto esistente, preservando i campi non " +"modificabili" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Non è stato fornito alcun termine di ricerca." @@ -528,7 +560,7 @@ msgid "add a product to the order" msgstr "Aggiungere un prodotto all'ordine" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Ordine {order_uuid} non trovato" @@ -545,39 +577,44 @@ msgstr "Rimuovere tutti i prodotti dall'ordine" msgid "buy an order" msgstr "Acquistare un ordine" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" "Il metodo order.buy() ha fornito un tipo sbagliato: {type(instance)!s}" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Aggiungere un prodotto all'ordine" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista dei desideri {wishlist_uuid} non trovata" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Rimuovere un prodotto dall'ordine" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Rimuovere un prodotto dall'ordine" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Rimuovere un prodotto dall'ordine" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Acquistare un ordine" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -585,7 +622,7 @@ msgstr "" "Inviare gli attributi come stringa formattata come " "attr1=valore1,attr2=valore2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch: funziona a meraviglia" @@ -737,7 +774,7 @@ msgstr "Codici promozionali" msgid "products on sale" msgstr "Prodotti in vendita" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promozioni" @@ -753,11 +790,11 @@ msgstr "Venditore" msgid "product" msgstr "Prodotto" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Prodotti desiderati" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Liste dei desideri" @@ -818,11 +855,15 @@ msgstr "Bandiera della lingua, se esiste :)" msgid "supported languages" msgstr "Ottenere un elenco delle lingue supportate" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Risultati della ricerca dei prodotti" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Risultati della ricerca dei prodotti" + #: core/models.py:62 msgid "parent of this group" msgstr "Genitore di questo gruppo" @@ -900,8 +941,8 @@ msgstr "Attributo di questo valore" msgid "the specific product associated with this attribute's value" msgstr "Il prodotto specifico associato al valore di questo attributo" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Prodotto associato" @@ -998,7 +1039,7 @@ msgstr "Associare facoltativamente questo prodotto a un marchio" msgid "tags that help describe or group this product" msgstr "Tag che aiutano a descrivere o raggruppare questo prodotto" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Tag del prodotto" @@ -1018,7 +1059,7 @@ msgstr "Fornire un nome identificativo chiaro per il prodotto" msgid "product name" msgstr "Nome del prodotto" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Aggiungere una descrizione dettagliata del prodotto" @@ -1118,7 +1159,7 @@ msgstr "Stato attuale dell'ordine nel suo ciclo di vita" msgid "order status" msgstr "Stato dell'ordine" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "Struttura JSON delle notifiche da mostrare agli utenti; nell'interfaccia " @@ -1170,7 +1211,7 @@ msgstr "" "Non è possibile aggiungere più prodotti di quelli disponibili in magazzino" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} non esiste: {product_uuid}" @@ -1224,184 +1265,184 @@ msgstr "" "non è possibile creare un ordine momentaneo senza fornire un indirizzo di " "fatturazione" -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Prezzo di acquisto al momento dell'ordine" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "Commenti interni per gli amministratori su questo prodotto ordinato" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Commenti interni" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Notifiche degli utenti" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "Rappresentazione JSON degli attributi di questo elemento" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Attributi del prodotto ordinati" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Riferimento all'ordine padre che contiene questo prodotto" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Ordine dei genitori" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Il prodotto specifico associato a questa riga d'ordine" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Quantità di questo prodotto specifico nell'ordine" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Quantità di prodotto" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Stato attuale di questo prodotto nell'ordine" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Stato della linea di prodotti" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Identificatore interno dell'etichetta del prodotto" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Nome del tag" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Nome intuitivo per l'etichetta del prodotto" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Nome del tag" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Etichetta del prodotto" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "" "Fornire un testo alternativo per l'immagine ai fini dell'accessibilità." -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Testo alt dell'immagine" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Caricare il file immagine per questo prodotto" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Immagine del prodotto" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Determina l'ordine di visualizzazione delle immagini" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Priorità del display" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Il prodotto che questa immagine rappresenta" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Immagini del prodotto" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Identificatore del codice promozionale" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "" "Importo fisso dello sconto applicato se non si utilizza la percentuale" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Importo fisso dello sconto" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "Sconto percentuale applicato se l'importo fisso non viene utilizzato" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Sconto percentuale" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Data di scadenza del codice promozionale" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Tempo di validità finale" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Data a partire dalla quale il codice promozionale è valido" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Tempo di validità iniziale" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Timestamp d'uso" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Utente assegnato a questo codice promozionale, se applicabile" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Utente assegnato" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Codice promozionale" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Codici promozionali" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1409,144 +1450,144 @@ msgstr "" "È necessario definire un solo tipo di sconto (importo o percentuale), ma non" " entrambi o nessuno dei due." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Il codice promozionale è già stato utilizzato" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Tipo di sconto non valido per il codice promozionale {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Percentuale di sconto per i prodotti selezionati" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Percentuale di sconto" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Fornite un nome unico per questa promozione" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Nome della promozione" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Descrizione della promozione" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Selezionare i prodotti inclusi in questa promozione" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Prodotti inclusi" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promozione" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "Il venditore che fornisce questo stock di prodotti" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Venditore associato" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Prezzo finale al cliente dopo i ricarichi" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Prezzo di vendita" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Il prodotto associato a questa voce di magazzino" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "Il prezzo pagato al venditore per questo prodotto" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Prezzo di acquisto del fornitore" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Quantità disponibile del prodotto in magazzino" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Quantità in magazzino" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU assegnato dal fornitore per identificare il prodotto" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "SKU del venditore" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "File digitale associato a questo stock, se applicabile" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "File digitale" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Voci di magazzino" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Prodotti che l'utente ha contrassegnato come desiderati" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Utente che possiede questa wishlist" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Proprietario della lista dei desideri" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Lista dei desideri" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Scaricare" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Scaricamento" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Documentario" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Documentari" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Non risolto" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Errore durante la creazione del codice promozionale: {e!s}" @@ -1739,17 +1780,17 @@ msgstr "{model} deve essere il modello" msgid "{data} must be list object" msgstr "{data} deve essere un oggetto elenco" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Contatti avviati" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Conferma d'ordine" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Ordine consegnato" @@ -1762,17 +1803,17 @@ msgstr "Non si ha il permesso di eseguire questa azione." #, 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:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "È possibile scaricare l'asset digitale una sola volta" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon non trovata" diff --git a/core/locale/ja_JP/LC_MESSAGES/django.mo b/core/locale/ja_JP/LC_MESSAGES/django.mo index e4831431..b4bdcbc2 100644 Binary files a/core/locale/ja_JP/LC_MESSAGES/django.mo and b/core/locale/ja_JP/LC_MESSAGES/django.mo differ diff --git a/core/locale/ja_JP/LC_MESSAGES/django.po b/core/locale/ja_JP/LC_MESSAGES/django.po index e919b774..0718e973 100644 --- a/core/locale/ja_JP/LC_MESSAGES/django.po +++ b/core/locale/ja_JP/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -79,7 +79,7 @@ msgstr "画像" msgid "images" msgstr "画像" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "在庫" @@ -87,7 +87,7 @@ msgstr "在庫" msgid "stocks" msgstr "株式" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -95,35 +95,35 @@ msgstr "株式" msgid "price" msgstr "価格" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "製品評価" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "基本情報" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "重要な日程" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "翻訳" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "商品のご注文" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "商品のご注文" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "ビジネス" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "コンフィグ" @@ -217,141 +217,141 @@ msgid "" "`product_uuid` and `attributes`." msgstr "提供された `product` と `product_uuid` と `attributes` を使用して、ビジネスとして注文を購入する。" -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "すべての属性グループをリストアップ(シンプルビュー)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "単一の属性グループを取得する(詳細表示)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "属性グループの作成" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "属性グループの削除" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "既存の属性グループを書き換えて、編集不可能なものを保存する。" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 msgid "" "rewrite some fields of an existing attribute group saving non-editables" msgstr "既存の属性グループのいくつかのフィールドを書き換え、編集不可能なものを保存する。" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "すべての属性をリストアップ(シンプルな表示)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "単一の属性を取得する(詳細表示)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "属性を作成する" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "属性を削除する" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "既存の属性を書き換える。" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "すべての属性値をリストアップ(シンプルビュー)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "単一の属性値を取得する(詳細表示)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "属性値の作成" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "属性値の削除" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "既存の属性値を書き換える。" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 msgid "" "rewrite some fields of an existing attribute value saving non-editables" msgstr "既存の属性値のいくつかのフィールドを書き換え、編集不可能な値を保存する。" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "全カテゴリーを一覧表示(シンプル表示)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "単一のカテゴリーを取得する(詳細表示)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "カテゴリーを作成する" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "カテゴリーの削除" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "既存のカテゴリーを書き換え、編集不可能なものを保存する。" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "編集不可を保存している既存のカテゴリのいくつかのフィールドを書き換える" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "全カテゴリーを一覧表示(シンプル表示)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "スタッフ以外のユーザーについては、自分の注文のみが返却される。" -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "単一のカテゴリーを取得する(詳細表示)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "属性を作成する" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "スタッフ以外のユーザーには使えない。" -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "属性を削除する" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "既存のカテゴリーを書き換え、編集不可能なものを保存する。" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "編集不可を保存している既存のカテゴリのいくつかのフィールドを書き換える" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "注文時の購入価格" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -360,99 +360,128 @@ msgstr "" "注文の購入を確定する。force_balance` が使用された場合、ユーザーの残高を使用して購入が完了します。 `force_payment` " "が使用された場合、トランザクションが開始されます。" -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "アカウントを作成せずに注文を購入する" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "は、未登録ユーザーの注文購入を確定します。" -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "注文に商品を追加する" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." msgstr "指定した `product_uuid` と `attributes` を使用して、商品を注文に追加する。" -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "注文から商品を削除する" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." msgstr "指定された `product_uuid` と `attributes` を使用して、注文から商品を削除する。" -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "すべての属性をリストアップ(シンプルな表示)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "スタッフ以外のユーザーには、自分のウィッシュリストのみが返されます。" -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "単一の属性を取得する(詳細表示)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "属性を作成する" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "スタッフ以外のユーザーには使えない。" -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "属性を削除する" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "既存の属性を書き換える。" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "既存の属性のいくつかのフィールドを書き換え、編集不可能なものを保存する。" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "注文に商品を追加する" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "指定された `product_uuid` を使ってウィッシュリストに商品を追加する。" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "ウィッシュリストから商品を削除する" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "指定された `product_uuid` を使ってウィッシュリストから商品を削除します。" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "ウィッシュリストに多くの商品を追加する" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "指定された `product_uuids` を使ってウィッシュリストに多くの商品を追加する。" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "注文から商品を削除する" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "指定された `product_uuids` を使ってウィッシュリストから多くの商品を削除する。" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "全商品を一覧表示(シンプル表示)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "単一の製品を取得する(詳細表示)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "製品UUIDまたはスラグ" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "製品を作る" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "製品を削除する" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "編集不可能なフィールドを保持したまま、既存の製品を書き換える。" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "編集不可能なフィールドを保持したまま、既存の製品の一部のフィールドを更新する。" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "検索語はありません。" @@ -486,7 +515,7 @@ msgid "add a product to the order" msgstr "注文に商品を追加する" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "注文{order_uuid}が見つかりません" @@ -503,44 +532,48 @@ msgstr "注文からすべての商品を削除する" msgid "buy an order" msgstr "注文する" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +msgid "please provide either order_uuid or order_hr_id - mutually exclusive" +msgstr "order_uuidまたはorder_hr_idを入力してください!" + +#: core/graphene/mutations.py:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "order.buy()メソッドから間違った型が来た:{type(instance)!s}。" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "注文に商品を追加する" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "ウィッシュリスト{wishlist_uuid}が見つかりません。" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "注文から商品を削除する" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "注文から商品を削除する" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "注文から商品を削除する" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "注文する" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" msgstr "属性は、attr1=value1,attr2=value2のような形式の文字列として送信してください。" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - 魅力のように動作" @@ -687,7 +720,7 @@ msgstr "プロモコード" msgid "products on sale" msgstr "販売商品" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "プロモーション" @@ -703,11 +736,11 @@ msgstr "ベンダー" msgid "product" msgstr "製品" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "ウィッシュリスト掲載商品" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "ウィッシュリスト" @@ -767,11 +800,15 @@ msgstr "言語フラグがある場合 :)" msgid "supported languages" msgstr "サポートされている言語のリストを取得する" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "製品検索結果" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "製品検索結果" + #: core/models.py:62 msgid "parent of this group" msgstr "このグループの親" @@ -849,8 +886,8 @@ msgstr "この値の属性" msgid "the specific product associated with this attribute's value" msgstr "この属性の値に関連する特定の製品" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "関連製品" @@ -946,7 +983,7 @@ msgstr "オプションでこの製品をブランドと関連付ける" msgid "tags that help describe or group this product" msgstr "この商品の説明やグループ分けに役立つタグ" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "商品タグ" @@ -966,7 +1003,7 @@ msgstr "製品の明確な識別名を提供する" msgid "product name" msgstr "商品名" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "商品の詳細説明を追加する" @@ -1063,7 +1100,7 @@ msgstr "ライフサイクルにおける現在の注文状況" msgid "order status" msgstr "注文状況" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "ユーザーに表示する通知のJSON構造、管理UIではテーブルビューが使用されます。" @@ -1112,7 +1149,7 @@ msgid "you cannot add more products than available in stock" msgstr "在庫以上の商品を追加することはできません。" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name}が存在しません:{product_uuid}が存在しません。" @@ -1160,322 +1197,322 @@ msgstr "無効な支払い方法" msgid "you cannot create a momental order without providing a billing address" msgstr "請求先住所を記入せずに、モーメンタルの注文を作成することはできません。" -#: core/models.py:778 +#: core/models.py:779 msgid "the price paid by the customer for this product at purchase time" msgstr "この商品の購入時に顧客が支払った価格" -#: core/models.py:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "注文時の購入価格" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "この注文商品に関する管理者への内部コメント" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "社内コメント" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "ユーザー通知" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "このアイテムの属性のJSON表現" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "製品属性の順序" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "この商品を含む親注文への参照" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "親注文" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "この注文ラインに関連する特定の製品" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "注文に含まれる特定の商品の数量" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "製品数量" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "この商品の現在のご注文状況" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "製品ラインの状況" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "商品タグの内部タグ識別子" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "タグ名" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "商品タグのユーザーフレンドリーな名前" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "タグ表示名" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "商品タグ" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "アクセシビリティのために、画像に代替テキストを提供する。" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "画像のaltテキスト" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "この商品の画像ファイルをアップロードする" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "商品画像" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "画像の表示順を決める" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "表示優先度" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "この画像が表す製品" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "商品画像" -#: core/models.py:950 +#: core/models.py:951 msgid "unique code used by a user to redeem a discount" msgstr "ユーザーが割引を利用する際に使用する固有のコード" -#: core/models.py:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "プロモコード識別子" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "パーセントを使用しない場合に適用される固定割引額" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "固定割引額" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "定額を使用しない場合に適用される割引率" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "割引率" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "プロモコードの有効期限が切れるタイムスタンプ" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "終了有効時間" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "このプロモコードが有効なタイムスタンプ" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "開始有効時間" -#: core/models.py:983 +#: core/models.py:984 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "プロモコードが使用されたタイムスタンプ、未使用の場合は空白" -#: core/models.py:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "使用タイムスタンプ" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "該当する場合、このプロモコードに割り当てられたユーザー" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "担当ユーザー" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "プロモコード" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "プロモコード" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "割引の種類は1つだけ(金額またはパーセント)定義されるべきで、両方またはどちらも定義してはならない。" -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "プロモコードはすでに使用されています" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "プロモコード {self.uuid} の割引タイプが無効です。" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "選択した商品の割引率" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "割引率" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "このプロモーションのユニークな名前を入力してください。" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "プロモーション名" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "プロモーション内容" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "キャンペーン対象商品をお選びください。" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "含まれる製品" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "プロモーション" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "この製品の在庫を供給しているベンダー" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "関連ベンダー" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "マークアップ後の顧客への最終価格" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "販売価格" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "このストックエントリーに関連する製品" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "この製品に対してベンダーに支払われた価格" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "ベンダーの購入価格" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "在庫数" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "在庫数" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "製品を識別するためにベンダーが割り当てたSKU" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "ベンダーのSKU" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "この銘柄に関連するデジタルファイル(該当する場合" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "デジタルファイル" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "ストックエントリー" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "ユーザーが欲しいとマークした商品" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "このウィッシュリストを所有しているユーザー" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "ウィッシュリストのオーナー" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "ウィッシュリスト" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "ダウンロード" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "ダウンロード" -#: core/models.py:1202 +#: core/models.py:1203 msgid "you can not download a digital asset for a non-finished order" msgstr "未完成の注文のデジタル資産をダウンロードすることはできません。" -#: core/models.py:1214 +#: core/models.py:1215 msgid "documentary" msgstr "ドキュメンタリー" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "ドキュメンタリー" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "未解決" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "プロモコード作成中にエラーが発生しました:{e!s}です。" @@ -1656,17 +1693,17 @@ msgstr "{model}はモデルでなければならない" msgid "{data} must be list object" msgstr "{data}はリストオブジェクトでなければならない" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | お問い合わせ| お問い合わせ" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME}|注文確認| 注文確認" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME}|プロジェクト名| 注文の配信" @@ -1684,10 +1721,10 @@ msgstr "画像の寸法は、w{max_width} x h{max_height}ピクセルを超え msgid "invalid phone number format" msgstr "無効な電話番号形式" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "デジタルアセットのダウンロードは1回限りです。" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "ファビコンが見つかりません" diff --git a/core/locale/kk_KZ/LC_MESSAGES/django.po b/core/locale/kk_KZ/LC_MESSAGES/django.po index 1cd5a8db..31571f62 100644 --- a/core/locale/kk_KZ/LC_MESSAGES/django.po +++ b/core/locale/kk_KZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -82,7 +82,7 @@ msgstr "" msgid "images" msgstr "" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "" @@ -90,7 +90,7 @@ msgstr "" msgid "stocks" msgstr "" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -98,35 +98,35 @@ msgstr "" msgid "price" msgstr "" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "" @@ -218,238 +218,267 @@ msgid "" "`product_uuid` and `attributes`." msgstr "" -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 msgid "rewrite some fields of an existing attribute group saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 msgid "rewrite some fields of an existing attribute value saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "" -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 "" -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "" -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." msgstr "" -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." msgstr "" -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "" -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "" @@ -483,7 +512,7 @@ msgid "add a product to the order" msgstr "" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "" @@ -500,44 +529,48 @@ msgstr "" msgid "buy an order" msgstr "" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +msgid "please provide either order_uuid or order_hr_id - mutually exclusive" +msgstr "" + +#: core/graphene/mutations.py:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like attr1=value1," "attr2=value2" msgstr "" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "" @@ -683,7 +716,7 @@ msgstr "" msgid "products on sale" msgstr "" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "" @@ -699,11 +732,11 @@ msgstr "" msgid "product" msgstr "" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "" @@ -763,11 +796,15 @@ msgstr "" msgid "supported languages" msgstr "" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "" + #: core/models.py:62 msgid "parent of this group" msgstr "" @@ -845,7 +882,7 @@ msgstr "" msgid "the specific product associated with this attribute's value" msgstr "" -#: core/models.py:142 core/models.py:813 core/models.py:927 core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 core/models.py:1094 msgid "associated product" msgstr "" @@ -941,7 +978,7 @@ msgstr "" msgid "tags that help describe or group this product" msgstr "" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "" @@ -961,7 +998,7 @@ msgstr "" msgid "product name" msgstr "" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "" @@ -1057,7 +1094,7 @@ msgstr "" msgid "order status" msgstr "" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" @@ -1105,8 +1142,8 @@ msgstr "" msgid "you cannot add more products than available in stock" msgstr "" -#: core/models.py:567 core/models.py:584 core/models.py:608 core/models.py:1164 -#: core/models.py:1175 +#: core/models.py:567 core/models.py:584 core/models.py:608 core/models.py:1165 +#: core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "" @@ -1154,322 +1191,322 @@ msgstr "" msgid "you cannot create a momental order without providing a billing address" msgstr "" -#: core/models.py:778 +#: core/models.py:779 msgid "the price paid by the customer for this product at purchase time" msgstr "" -#: core/models.py:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "" -#: core/models.py:950 +#: core/models.py:951 msgid "unique code used by a user to redeem a discount" msgstr "" -#: core/models.py:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "" -#: core/models.py:983 +#: core/models.py:984 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" -#: core/models.py:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "" -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "" -#: core/models.py:1202 +#: core/models.py:1203 msgid "you can not download a digital asset for a non-finished order" msgstr "" -#: core/models.py:1214 +#: core/models.py:1215 msgid "documentary" msgstr "" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "" @@ -1650,17 +1687,17 @@ msgstr "" msgid "{data} must be list object" msgstr "" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "" @@ -1678,10 +1715,10 @@ msgstr "" msgid "invalid phone number format" msgstr "" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "" diff --git a/core/locale/nl_NL/LC_MESSAGES/django.mo b/core/locale/nl_NL/LC_MESSAGES/django.mo index 69d88ea4..4de06905 100644 Binary files a/core/locale/nl_NL/LC_MESSAGES/django.mo and b/core/locale/nl_NL/LC_MESSAGES/django.mo differ diff --git a/core/locale/nl_NL/LC_MESSAGES/django.po b/core/locale/nl_NL/LC_MESSAGES/django.po index ea99d74b..bd706bb5 100644 --- a/core/locale/nl_NL/LC_MESSAGES/django.po +++ b/core/locale/nl_NL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -81,7 +81,7 @@ msgstr "Afbeelding" msgid "images" msgstr "Afbeeldingen" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Voorraad" @@ -89,7 +89,7 @@ msgstr "Voorraad" msgid "stocks" msgstr "Aandelen" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -97,35 +97,35 @@ msgstr "Aandelen" msgid "price" msgstr "Prijs" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Productbeoordeling" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Basisinformatie" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Belangrijke data" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Vertalingen" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Product bestellen" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Producten bestellen" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Is zakelijk" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Config" @@ -222,158 +222,158 @@ msgstr "" "Koop een bestelling in als een bedrijf, met behulp van de meegeleverde " "`producten` met `product_uuid` en `attributen`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Alle attribuutgroepen weergeven (eenvoudige weergave)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Een enkele groep kenmerken ophalen (gedetailleerde weergave)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Een attribuutgroep maken" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Een attribuutgroep verwijderen" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Een bestaande attribuutgroep herschrijven en niet-wijzigbare attributen " "opslaan" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Alle attributen weergeven (eenvoudige weergave)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Een enkel kenmerk ophalen (gedetailleerde weergave)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Een attribuut maken" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Een attribuut verwijderen" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "" "Een bestaand attribuut herschrijven en niet-wijzigbare attributen opslaan" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Herschrijf sommige velden van een bestaand attribuut door niet-wijzigbare " "velden op te slaan" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Alle attribuutwaarden weergeven (eenvoudige weergave)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Een waarde voor een enkel kenmerk ophalen (gedetailleerde weergave)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Een attribuutwaarde maken" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Een attribuutwaarde verwijderen" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" "Een bestaande attribuutwaarde herschrijven waarbij niet-wijzigbare " "attributen worden opgeslagen" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Alle categorieën weergeven (eenvoudige weergave)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Een enkele categorie ophalen (gedetailleerde weergave)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Een categorie maken" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Een categorie verwijderen" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Een bestaande categorie herschrijven en niet-wijzigbare items opslaan" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Herschrijf sommige velden van een bestaande categorie door niet-wijzigbare " "velden op te slaan" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Alle categorieën weergeven (eenvoudige weergave)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Voor niet-personeelsleden worden alleen hun eigen bestellingen " "geretourneerd." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Een enkele categorie ophalen (gedetailleerde weergave)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Een attribuut maken" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Werkt niet voor gebruikers die geen personeel zijn." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Een attribuut verwijderen" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Een bestaande categorie herschrijven en niet-wijzigbare items opslaan" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Herschrijf sommige velden van een bestaande categorie door niet-wijzigbare " "velden op te slaan" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Aankoopprijs bij bestelling" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -383,21 +383,21 @@ msgstr "" "wordt de aankoop afgerond met het saldo van de gebruiker; als " "`force_payment` wordt gebruikt, wordt een transactie gestart." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "een bestelling kopen zonder een account aan te maken" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "" "Rondt de aankoop van de bestelling af voor een niet-geregistreerde " "gebruiker." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Een product aan de bestelling toevoegen" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -405,11 +405,11 @@ msgstr "" "Voegt een product toe aan een bestelling met de opgegeven `product_uuid` en " "`attributen`." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Een product uit de bestelling verwijderen" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -417,84 +417,116 @@ msgstr "" "Verwijdert een product uit een bestelling met behulp van de opgegeven " "`product_uuid` en `attributen`." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Alle attributen weergeven (eenvoudige weergave)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "Voor niet-personeelsleden worden alleen hun eigen verlanglijstjes " "geretourneerd." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Een enkel kenmerk ophalen (gedetailleerde weergave)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Een attribuut maken" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Werkt niet voor gebruikers die geen personeel zijn." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Een attribuut verwijderen" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "" "Een bestaand attribuut herschrijven en niet-wijzigbare attributen opslaan" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Herschrijf sommige velden van een bestaand attribuut door niet-wijzigbare " "velden op te slaan" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Een product aan de bestelling toevoegen" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Voegt een product toe aan een verlanglijstje met behulp van de opgegeven " "`product_uuid`." -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Een product uit het verlanglijstje verwijderen" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Verwijdert een product van een verlanglijstje met behulp van de opgegeven " "`product_uuid`." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Veel producten toevoegen aan het verlanglijstje" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Voegt veel producten toe aan een verlanglijstje met behulp van de opgegeven " "`product_uuids`." -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Een product uit de bestelling verwijderen" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Verwijdert een groot aantal producten uit een verlanglijstje met behulp van " "de opgegeven `product_uuids`." +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Alle producten weergeven (eenvoudige weergave)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Een enkel product ophalen (gedetailleerde weergave)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "Product UUID of Slug" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Een product maken" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Een product verwijderen" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "" +"Een bestaand product herschrijven met behoud van niet-wijzigbare velden" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Enkele velden van een bestaand product bijwerken, met behoud van niet-" +"wijzigbare velden" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Geen zoekterm opgegeven." @@ -528,7 +560,7 @@ msgid "add a product to the order" msgstr "Een product aan de bestelling toevoegen" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Order {order_uuid} niet gevonden" @@ -545,45 +577,49 @@ msgstr "Alle producten uit de bestelling verwijderen" msgid "buy an order" msgstr "Een bestelling kopen" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 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:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Een product aan de bestelling toevoegen" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Verlanglijst {wishlist_uuid} niet gevonden" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Een product uit de bestelling verwijderen" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Een product uit de bestelling verwijderen" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Een product uit de bestelling verwijderen" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Een bestelling kopen" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "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" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - werkt als een charme" @@ -736,7 +772,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Producten te koop" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promoties" @@ -752,11 +788,11 @@ msgstr "Verkoper" msgid "product" msgstr "Product" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Gewenste producten" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Verlanglijst" @@ -818,11 +854,15 @@ msgstr "Taalvlag, indien aanwezig :)" msgid "supported languages" msgstr "Een lijst met ondersteunde talen opvragen" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Producten zoekresultaten" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Zoekresultaten" + #: core/models.py:62 msgid "parent of this group" msgstr "Ouder van deze groep" @@ -900,8 +940,8 @@ msgstr "Attribuut van deze waarde" msgid "the specific product associated with this attribute's value" msgstr "Het specifieke product geassocieerd met de waarde van dit kenmerk" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Bijbehorend product" @@ -997,7 +1037,7 @@ msgstr "Dit product optioneel koppelen aan een merk" msgid "tags that help describe or group this product" msgstr "Tags die dit product helpen beschrijven of groeperen" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Product tags" @@ -1017,7 +1057,7 @@ msgstr "Zorg voor een duidelijke identificerende naam voor het product" msgid "product name" msgstr "Naam product" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Voeg een gedetailleerde beschrijving van het product toe" @@ -1119,7 +1159,7 @@ msgstr "Huidige status van de order in zijn levenscyclus" msgid "order status" msgstr "Bestelstatus" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "JSON-structuur van meldingen om weer te geven aan gebruikers, in admin UI " @@ -1172,7 +1212,7 @@ 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:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} bestaat niet: {product_uuid}" @@ -1226,184 +1266,184 @@ msgid "you cannot create a momental order without providing a billing address" msgstr "" "je kunt geen momentbestelling maken zonder een factuuradres op te geven" -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Aankoopprijs bij bestelling" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "Interne opmerkingen voor beheerders over dit bestelde product" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Interne opmerkingen" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Meldingen van gebruikers" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "JSON weergave van de attributen van dit item" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Geordende producteigenschappen" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Verwijzing naar de bovenliggende bestelling die dit product bevat" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Ouderlijk bevel" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Het specifieke product dat bij deze bestelregel hoort" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Hoeveelheid van dit specifieke product in de bestelling" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Hoeveelheid product" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Huidige status van dit product in de bestelling" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Status productlijn" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Interne tagidentifier voor de producttag" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Tag naam" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Gebruiksvriendelijke naam voor de producttag" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Tag weergavenaam" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Productlabel" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "Geef alternatieve tekst voor de afbeelding voor toegankelijkheid" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Alt-tekst afbeelding" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Upload het afbeeldingsbestand voor dit product" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Product afbeelding" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Bepaalt de volgorde waarin afbeeldingen worden weergegeven" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Prioriteit weergeven" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Het product dat deze afbeelding vertegenwoordigt" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Product afbeeldingen" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Promo code identificatie" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "" "Vast kortingsbedrag dat wordt toegepast als percentage niet wordt gebruikt" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Vast kortingsbedrag" -#: core/models.py:965 +#: core/models.py:966 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:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Kortingspercentage" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Tijdstempel wanneer de promocode verloopt" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Geldigheidsduur einde" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Tijdstempel vanaf wanneer deze promocode geldig is" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Begin geldigheidsduur" -#: core/models.py:983 +#: core/models.py:984 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Tijdstempel wanneer de promocode werd gebruikt, leeg indien nog niet " "gebruikt" -#: core/models.py:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Gebruik tijdstempel" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Gebruiker toegewezen aan deze promocode indien van toepassing" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Toegewezen gebruiker" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Kortingscode" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Actiecodes" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1411,145 +1451,145 @@ msgstr "" "Er moet slechts één type korting worden gedefinieerd (bedrag of percentage)," " maar niet beide of geen van beide." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Promocode is al gebruikt" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Ongeldig kortingstype voor promocode {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Kortingspercentage voor de geselecteerde producten" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Kortingspercentage" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Geef deze promotie een unieke naam" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Naam promotie" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Promotie beschrijving" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Selecteer welke producten onder deze promotie vallen" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Meegeleverde producten" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promotie" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "De verkoper die dit product levert" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Geassocieerde verkoper" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Eindprijs voor de klant na winstmarges" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Verkoopprijs" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Het product dat bij deze voorraadvermelding hoort" -#: core/models.py:1100 +#: core/models.py:1101 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:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Aankoopprijs verkoper" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Beschikbare hoeveelheid van het product in voorraad" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Hoeveelheid op voorraad" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "Door de verkoper toegewezen SKU om het product te identificeren" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "Verkoper SKU" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Digitaal bestand gekoppeld aan deze voorraad indien van toepassing" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Digitaal bestand" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Voorraadboekingen" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Producten die de gebruiker als gewenst heeft gemarkeerd" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Gebruiker die eigenaar is van deze verlanglijst" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Eigenaar verlanglijstje" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Verlanglijst" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Downloaden" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Downloads" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Documentaire" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Documentaires" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Onopgelost" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Fout tijdens aanmaken promocode: {e!s}" @@ -1742,17 +1782,17 @@ msgstr "{model} moet model zijn" msgid "{data} must be list object" msgstr "{data} moet een lijstobject zijn" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Neem contact met ons op" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME}. | Orderbevestiging" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME}. | Geleverd" @@ -1772,10 +1812,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Ongeldig formaat telefoonnummer" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "U kunt het digitale goed maar één keer downloaden" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon niet gevonden" diff --git a/core/locale/pl_PL/LC_MESSAGES/django.mo b/core/locale/pl_PL/LC_MESSAGES/django.mo index 3e2c31eb..e662e08f 100644 Binary files a/core/locale/pl_PL/LC_MESSAGES/django.mo and b/core/locale/pl_PL/LC_MESSAGES/django.mo differ diff --git a/core/locale/pl_PL/LC_MESSAGES/django.po b/core/locale/pl_PL/LC_MESSAGES/django.po index 1ee917ce..15bfd4a5 100644 --- a/core/locale/pl_PL/LC_MESSAGES/django.po +++ b/core/locale/pl_PL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -83,7 +83,7 @@ msgstr "Obraz" msgid "images" msgstr "Obrazy" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Stan magazynowy" @@ -91,7 +91,7 @@ msgstr "Stan magazynowy" msgid "stocks" msgstr "Akcje" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -99,35 +99,35 @@ msgstr "Akcje" msgid "price" msgstr "Cena" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Ocena" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Podstawowe informacje" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Ważne daty" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Tłumaczenia" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Zamów produkt" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Zamawianie produktów" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Czy biznes" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Konfiguracja" @@ -223,158 +223,158 @@ msgstr "" "Kup zamówienie jako firma, używając dostarczonych `products` z " "`product_uuid` i `attributes`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Lista wszystkich grup atrybutów (widok prosty)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Pobieranie pojedynczej grupy atrybutów (widok szczegółowy)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Tworzenie grupy atrybutów" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Usuwanie grupy atrybutów" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Przepisanie istniejącej grupy atrybutów z zachowaniem atrybutów " "nieedytowalnych" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Lista wszystkich atrybutów (widok prosty)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Pobieranie pojedynczego atrybutu (widok szczegółowy)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Utwórz atrybut" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Usuwanie atrybutu" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "" "Przepisanie istniejącego atrybutu z zachowaniem atrybutów nieedytowalnych" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Przepisanie niektórych pól istniejącego atrybutu z zachowaniem atrybutów " "nieedytowalnych" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Lista wszystkich wartości atrybutów (widok prosty)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Pobieranie wartości pojedynczego atrybutu (widok szczegółowy)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Tworzenie wartości atrybutu" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Usuwanie wartości atrybutu" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" "Przepisanie istniejącej wartości atrybutu z zachowaniem atrybutów " "nieedytowalnych" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Lista wszystkich kategorii (widok prosty)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Pobieranie pojedynczej kategorii (widok szczegółowy)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Utwórz kategorię" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Usuwanie kategorii" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Przepisz istniejącą kategorię, zapisując nieedytowalne elementy" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Przepisz niektóre pola istniejącej kategorii, zapisując elementy " "nieedytowalne" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Lista wszystkich kategorii (widok prosty)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "W przypadku użytkowników niebędących pracownikami zwracane są tylko ich " "własne zamówienia." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Pobieranie pojedynczej kategorii (widok szczegółowy)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Utwórz atrybut" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Nie działa dla użytkowników spoza personelu." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Usuwanie atrybutu" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Przepisz istniejącą kategorię, zapisując nieedytowalne elementy" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Przepisz niektóre pola istniejącej kategorii, zapisując elementy " "nieedytowalne" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Cena zakupu w momencie zamówienia" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -384,19 +384,19 @@ msgstr "" "finalizowany przy użyciu salda użytkownika; Jeśli użyto `force_payment`, " "transakcja jest inicjowana." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "zakup zamówienia bez tworzenia konta" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "finalizuje zakup zamówienia dla niezarejestrowanego użytkownika." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Dodawanie produktu do zamówienia" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -404,11 +404,11 @@ msgstr "" "Dodaje produkt do zamówienia przy użyciu podanych `product_uuid` i " "`attributes`." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Usunięcie produktu z zamówienia" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -416,80 +416,111 @@ msgstr "" "Usuwa produkt z zamówienia przy użyciu podanego `product_uuid` i " "`attributes`." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Lista wszystkich atrybutów (widok prosty)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "W przypadku użytkowników niebędących pracownikami zwracane są tylko ich " "własne listy życzeń." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Pobieranie pojedynczego atrybutu (widok szczegółowy)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Utwórz atrybut" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Nie działa dla użytkowników spoza personelu." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Usuwanie atrybutu" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "" "Przepisanie istniejącego atrybutu z zachowaniem atrybutów nieedytowalnych" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Przepisanie niektórych pól istniejącego atrybutu z zachowaniem atrybutów " "nieedytowalnych" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Dodawanie produktu do zamówienia" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "Dodaje produkt do listy życzeń używając podanego `product_uuid`" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Usunięcie produktu z listy życzeń" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Usuwa produkt z listy życzeń przy użyciu podanego identyfikatora " "`product_uuid`." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Dodaj wiele produktów do listy życzeń" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Dodaje wiele produktów do listy życzeń przy użyciu podanych `product_uuids`" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Usunięcie produktu z zamówienia" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Usuwa wiele produktów z listy życzeń przy użyciu podanych `product_uuids`" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Lista wszystkich produktów (widok prosty)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Pobieranie pojedynczego produktu (widok szczegółowy)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "UUID produktu lub Slug" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Tworzenie produktu" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Usuń produkt" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "Przepisz istniejący produkt, zachowując nieedytowalne pola" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Aktualizacja niektórych pól istniejącego produktu z zachowaniem pól " +"nieedytowalnych" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Nie podano wyszukiwanego hasła." @@ -523,7 +554,7 @@ msgid "add a product to the order" msgstr "Dodawanie produktu do zamówienia" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Nie znaleziono zamówienia {order_uuid}" @@ -540,39 +571,42 @@ msgstr "Usuń wszystkie produkty z zamówienia" msgid "buy an order" msgstr "Kup zamówienie" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 -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:183 +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:230 +#: core/graphene/mutations.py:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 +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:239 msgid "add a product to the wishlist" msgstr "Dodawanie produktu do zamówienia" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista życzeń {wishlist_uuid} nie została znaleziona" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Usunięcie produktu z zamówienia" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Usunięcie produktu z zamówienia" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Usunięcie produktu z zamówienia" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Kup zamówienie" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -580,7 +614,7 @@ msgstr "" "Prześlij atrybuty jako ciąg znaków sformatowany w następujący sposób: " "attr1=value1,attr2=value2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - działa jak urok" @@ -731,7 +765,7 @@ msgstr "Promocodes" msgid "products on sale" msgstr "Produkty w sprzedaży" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promocje" @@ -747,11 +781,11 @@ msgstr "Sprzedawca" msgid "product" msgstr "Produkt" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Produkty z listy życzeń" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Listy życzeń" @@ -811,11 +845,15 @@ msgstr "Flaga języka, jeśli istnieje :)" msgid "supported languages" msgstr "Pobierz listę obsługiwanych języków" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Wyniki wyszukiwania produktów" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Wyniki wyszukiwania produktów" + #: core/models.py:62 msgid "parent of this group" msgstr "Rodzic tej grupy" @@ -893,8 +931,8 @@ msgstr "Atrybut tej wartości" msgid "the specific product associated with this attribute's value" msgstr "Konkretny produkt powiązany z wartością tego atrybutu" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Produkt powiązany" @@ -990,7 +1028,7 @@ msgstr "Opcjonalnie można powiązać ten produkt z marką" msgid "tags that help describe or group this product" msgstr "Tagi, które pomagają opisać lub pogrupować ten produkt" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Tagi produktu" @@ -1010,7 +1048,7 @@ msgstr "Wyraźna nazwa identyfikująca produkt" msgid "product name" msgstr "Nazwa produktu" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Dodaj szczegółowy opis produktu" @@ -1111,7 +1149,7 @@ msgstr "Aktualny status zamówienia w jego cyklu życia" msgid "order status" msgstr "Status zamówienia" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "Struktura JSON powiadomień do wyświetlenia użytkownikom, w interfejsie " @@ -1164,7 +1202,7 @@ 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:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} nie istnieje: {product_uuid}" @@ -1219,184 +1257,184 @@ msgid "you cannot create a momental order without providing a billing address" msgstr "" "Nie można utworzyć zamówienia chwilowego bez podania adresu rozliczeniowego." -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Cena zakupu w momencie zamówienia" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "" "Wewnętrzne komentarze dla administratorów dotyczące tego zamówionego " "produktu" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Uwagi wewnętrzne" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Powiadomienia użytkownika" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "Reprezentacja JSON atrybutów tego elementu" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Zamówione atrybuty produktu" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Odniesienie do zamówienia nadrzędnego zawierającego ten produkt" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Zamówienie nadrzędne" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Konkretny produkt powiązany z tą linią zamówienia" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Ilość tego konkretnego produktu w zamówieniu" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Ilość produktu" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Aktualny status tego produktu w zamówieniu" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Status linii produktów" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Wewnętrzny identyfikator tagu produktu" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Nazwa tagu" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Przyjazna dla użytkownika nazwa etykiety produktu" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Wyświetlana nazwa znacznika" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Etykieta produktu" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "" "Zapewnienie alternatywnego tekstu dla obrazu w celu ułatwienia dostępu" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Tekst alternatywny obrazu" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Prześlij plik obrazu dla tego produktu" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Obraz produktu" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Określa kolejność wyświetlania obrazów" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Priorytet wyświetlania" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Produkt, który przedstawia ten obraz" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Zdjęcia produktów" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Identyfikator kodu promocyjnego" -#: core/models.py:958 +#: core/models.py:959 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:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Stała kwota rabatu" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "Rabat procentowy stosowany w przypadku niewykorzystania stałej kwoty" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Rabat procentowy" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Znacznik czasu wygaśnięcia kodu promocyjnego" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Końcowy czas ważności" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Znacznik czasu, od którego ten kod promocyjny jest ważny" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Czas rozpoczęcia ważności" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Znacznik czasu użycia" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Użytkownik przypisany do tego kodu promocyjnego, jeśli dotyczy" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Przypisany użytkownik" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Kod promocyjny" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Kody promocyjne" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1404,144 +1442,144 @@ msgstr "" "Należy zdefiniować tylko jeden rodzaj rabatu (kwotowy lub procentowy), ale " "nie oba lub żaden z nich." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Kod promocyjny został już wykorzystany" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Nieprawidłowy typ rabatu dla kodu promocyjnego {self.uuid}." -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Rabat procentowy na wybrane produkty" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Procent rabatu" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Podaj unikalną nazwę tej promocji" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Nazwa promocji" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Opis promocji" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Wybierz produkty objęte promocją" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Dołączone produkty" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promocja" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "Sprzedawca dostarczający ten produkt" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Powiązany sprzedawca" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Ostateczna cena dla klienta po uwzględnieniu marży" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Cena sprzedaży" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Produkt powiązany z tym wpisem magazynowym" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "Cena zapłacona sprzedawcy za ten produkt" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Cena zakupu przez sprzedawcę" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Dostępna ilość produktu w magazynie" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Ilość w magazynie" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "Jednostki SKU przypisane przez dostawcę w celu identyfikacji produktu" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "SKU sprzedawcy" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Plik cyfrowy powiązany z tymi zapasami, jeśli dotyczy" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Plik cyfrowy" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Zapisy magazynowe" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Produkty, które użytkownik oznaczył jako poszukiwane" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Użytkownik posiadający tę listę życzeń" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Właściciel listy życzeń" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Lista życzeń" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Pobierz" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Pliki do pobrania" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Film dokumentalny" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Filmy dokumentalne" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Nierozwiązany" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Błąd podczas tworzenia kodu promocyjnego: {e!s}" @@ -1735,17 +1773,17 @@ msgstr "{model} musi być modelem" msgid "{data} must be list object" msgstr "{data} musi być obiektem listy" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Kontakt zainicjowany" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Potwierdzenie zamówienia" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Zamówienie dostarczone" @@ -1764,10 +1802,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Nieprawidłowy format numeru telefonu" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "Zasób cyfrowy można pobrać tylko raz" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "nie znaleziono favicon" diff --git a/core/locale/pt_BR/LC_MESSAGES/django.mo b/core/locale/pt_BR/LC_MESSAGES/django.mo index 71b5603c..757fe02c 100644 Binary files a/core/locale/pt_BR/LC_MESSAGES/django.mo and b/core/locale/pt_BR/LC_MESSAGES/django.mo differ diff --git a/core/locale/pt_BR/LC_MESSAGES/django.po b/core/locale/pt_BR/LC_MESSAGES/django.po index 9bf2ec59..466ffe76 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: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -83,7 +83,7 @@ msgstr "Imagem" msgid "images" msgstr "Imagens" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Estoque" @@ -91,7 +91,7 @@ msgstr "Estoque" msgid "stocks" msgstr "Ações" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -99,35 +99,35 @@ msgstr "Ações" msgid "price" msgstr "Preço" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Avaliação do produto" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Informações básicas" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Datas importantes" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Traduções" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Pedido de produto" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Solicitar produtos" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "É um negócio" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Configuração" @@ -224,149 +224,149 @@ msgstr "" "Compre um pedido como uma empresa, usando os `products` fornecidos com " "`product_uuid` e `attributes`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Listar todos os grupos de atributos (visualização simples)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Recuperar um único grupo de atributos (visualização detalhada)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Criar um grupo de atributos" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Excluir um grupo de atributos" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 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:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Listar todos os atributos (visualização simples)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Recuperar um único atributo (visualização detalhada)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Criar um atributo" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Excluir um atributo" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "Reescreva um atributo existente salvando os não editáveis" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Reescreva alguns campos de um atributo existente salvando os não editáveis" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Listar todos os valores de atributos (visualização simples)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Recuperar um único valor de atributo (visualização detalhada)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Criar um valor de atributo" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Excluir um valor de atributo" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 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:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Listar todas as categorias (visualização simples)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Recuperar uma única categoria (visualização detalhada)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Criar uma categoria" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Excluir uma categoria" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Reescrever uma categoria existente salvando itens não editáveis" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Reescreva alguns campos de uma categoria existente salvando os não editáveis" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Listar todas as categorias (visualização simples)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Para usuários não funcionários, apenas seus próprios pedidos são devolvidos." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Recuperar uma única categoria (visualização detalhada)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Criar um atributo" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Não funciona para usuários que não são da equipe." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Excluir um atributo" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Reescrever uma categoria existente salvando itens não editáveis" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Reescreva alguns campos de uma categoria existente salvando os não editáveis" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Preço de compra no momento do pedido" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -376,19 +376,19 @@ msgstr "" "concluída usando o saldo do usuário; se `force_payment` for usado, uma " "transação será iniciada." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "comprar um pedido sem criar uma conta" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "finaliza a compra do pedido para um usuário não registrado." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Adicionar um produto ao pedido" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -396,11 +396,11 @@ msgstr "" "Adiciona um produto a um pedido usando o `product_uuid` e os `attributes` " "fornecidos." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Remover um produto do pedido" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -408,80 +408,111 @@ msgstr "" "Remove um produto de um pedido usando o `product_uuid` e os `attributes` " "fornecidos." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Listar todos os atributos (visualização simples)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "Para usuários que não pertencem à equipe, apenas suas próprias listas de " "desejos são retornadas." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Recuperar um único atributo (visualização detalhada)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Criar um atributo" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Não funciona para usuários que não são da equipe." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Excluir um atributo" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "Reescreva um atributo existente salvando os não editáveis" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Reescreva alguns campos de um atributo existente salvando os não editáveis" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Adicionar um produto ao pedido" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Adiciona um produto a uma lista de desejos usando o `product_uuid` fornecido" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Remover um produto da lista de desejos" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Remove um produto de uma lista de desejos usando o `product_uuid` fornecido" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Adicionar muitos produtos à lista de desejos" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Adiciona vários produtos a uma lista de desejos usando os `product_uuids` " "fornecidos" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Remover um produto do pedido" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Remove vários produtos de uma lista de desejos usando os `product_uuids` " "fornecidos" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Listar todos os produtos (visualização simples)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Recuperar um único produto (visualização detalhada)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "UUID ou Slug do produto" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Criar um produto" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Excluir um produto" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "Reescrever um produto existente, preservando os campos não editáveis" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Atualizar alguns campos de um produto existente, preservando os campos não " +"editáveis" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Nenhum termo de pesquisa foi fornecido." @@ -515,7 +546,7 @@ msgid "add a product to the order" msgstr "Adicionar um produto ao pedido" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Pedido {order_uuid} não encontrado" @@ -532,45 +563,49 @@ msgstr "Remover todos os produtos do pedido" msgid "buy an order" msgstr "Comprar um pedido" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 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:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Adicionar um produto ao pedido" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista de desejos {wishlist_uuid} não encontrada" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Remover um produto do pedido" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Remover um produto do pedido" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Remover um produto do pedido" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Comprar um pedido" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "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" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funciona muito bem" @@ -721,7 +756,7 @@ msgstr "Códigos promocionais" msgid "products on sale" msgstr "Produtos à venda" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promoções" @@ -737,11 +772,11 @@ msgstr "Vendor" msgid "product" msgstr "Produto" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Produtos da lista de desejos" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Listas de desejos" @@ -802,11 +837,15 @@ msgstr "Sinalizador de idioma, se houver :)" msgid "supported languages" msgstr "Obter uma lista de idiomas suportados" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Resultados da pesquisa de produtos" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Resultados da pesquisa de produtos" + #: core/models.py:62 msgid "parent of this group" msgstr "Pai deste grupo" @@ -884,8 +923,8 @@ msgstr "Atributo desse valor" msgid "the specific product associated with this attribute's value" msgstr "O produto específico associado ao valor desse atributo" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Produto associado" @@ -981,7 +1020,7 @@ msgstr "Opcionalmente, associe esse produto a uma marca" msgid "tags that help describe or group this product" msgstr "Tags que ajudam a descrever ou agrupar este produto" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Etiquetas do produto" @@ -1001,7 +1040,7 @@ msgstr "Fornecer um nome de identificação claro para o produto" msgid "product name" msgstr "Nome do produto" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Adicione uma descrição detalhada do produto" @@ -1103,7 +1142,7 @@ msgstr "Status atual do pedido em seu ciclo de vida" msgid "order status" msgstr "Status do pedido" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "Estrutura JSON de notificações a serem exibidas aos usuários; na interface " @@ -1155,7 +1194,7 @@ msgstr "" "Não é possível adicionar mais produtos do que os disponíveis em estoque" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} não existe: {product_uuid}" @@ -1208,184 +1247,184 @@ msgstr "" "não é possível criar um pedido de compra sem fornecer um endereço de " "cobrança" -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Preço de compra no momento do pedido" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "" "Comentários internos para administradores sobre este produto encomendado" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Comentários internos" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Notificações do usuário" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "Representação JSON dos atributos desse item" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Atributos ordenados do produto" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Referência ao pedido pai que contém esse produto" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Ordem dos pais" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "O produto específico associado a essa linha de pedido" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Quantidade desse produto específico no pedido" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Quantidade do produto" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Status atual desse produto no pedido" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Status da linha de produtos" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Identificador de tag interno para a tag do produto" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Nome da etiqueta" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Nome de fácil utilização para a etiqueta do produto" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Nome de exibição da tag" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Etiqueta do produto" -#: core/models.py:909 +#: core/models.py:910 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:910 +#: core/models.py:911 msgid "image alt text" msgstr "Texto alternativo da imagem" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Faça o upload do arquivo de imagem para este produto" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Imagem do produto" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Determina a ordem em que as imagens são exibidas" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Prioridade de exibição" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "O produto que esta imagem representa" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Imagens do produto" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Identificador de código promocional" -#: core/models.py:958 +#: core/models.py:959 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:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Valor do desconto fixo" -#: core/models.py:965 +#: core/models.py:966 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:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Desconto percentual" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Registro de data e hora em que o código promocional expira" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Tempo de validade final" -#: core/models.py:977 +#: core/models.py:978 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:978 +#: core/models.py:979 msgid "start validity time" msgstr "Hora de início da validade" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Registro de data e hora de uso" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Usuário atribuído a esse código promocional, se aplicável" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Usuário atribuído" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Código promocional" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Códigos promocionais" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1393,146 +1432,146 @@ msgstr "" "Apenas um tipo de desconto deve ser definido (valor ou porcentagem), mas não" " ambos ou nenhum." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "O código promocional já foi usado" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Tipo de desconto inválido para o código promocional {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Desconto percentual para os produtos selecionados" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Porcentagem de desconto" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Forneça um nome exclusivo para essa promoção" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Nome da promoção" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Descrição da promoção" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Selecione quais produtos estão incluídos nessa promoção" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Produtos incluídos" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promoção" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "O fornecedor que fornece esse estoque de produtos" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Fornecedor associado" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Preço final para o cliente após as marcações" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Preço de venda" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "O produto associado a essa entrada em estoque" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "O preço pago ao fornecedor por esse produto" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Preço de compra do fornecedor" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Quantidade disponível do produto em estoque" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Quantidade em estoque" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU atribuído pelo fornecedor para identificar o produto" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "SKU do fornecedor" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Arquivo digital associado a esse estoque, se aplicável" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Arquivo digital" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Entradas de estoque" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Produtos que o usuário marcou como desejados" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Usuário que possui esta lista de desejos" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Proprietário da lista de desejos" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Lista de desejos" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Baixar" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Downloads" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Documentário" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Documentários" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Não resolvido" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Erro durante a criação do código promocional: {e!s}" @@ -1723,17 +1762,17 @@ msgstr "{model} deve ser o modelo" msgid "{data} must be list object" msgstr "{data} deve ser um objeto de lista" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Entre em contato conosco iniciado" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Confirmação de pedido" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Order Delivered" @@ -1752,10 +1791,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Formato de número telefônico inválido" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "Você só pode fazer o download do ativo digital uma vez" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon não encontrado" diff --git a/core/locale/ro_RO/LC_MESSAGES/django.mo b/core/locale/ro_RO/LC_MESSAGES/django.mo index 20be646a..b80d695b 100644 Binary files a/core/locale/ro_RO/LC_MESSAGES/django.mo and b/core/locale/ro_RO/LC_MESSAGES/django.mo differ diff --git a/core/locale/ro_RO/LC_MESSAGES/django.po b/core/locale/ro_RO/LC_MESSAGES/django.po index 3dba64ea..109fc888 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: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -83,7 +83,7 @@ msgstr "Imagine" msgid "images" msgstr "Imagini" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Stoc" @@ -91,7 +91,7 @@ msgstr "Stoc" msgid "stocks" msgstr "Stocuri" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -99,35 +99,35 @@ msgstr "Stocuri" msgid "price" msgstr "Preț" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Evaluarea produsului" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Informații de bază" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Date importante" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Traduceri" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Comanda Produs" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Comandați produse" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Este o afacere" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Configurare" @@ -225,156 +225,156 @@ msgstr "" "Achiziționați o comandă ca o afacere, utilizând `products` cu `product_uuid`" " și `attributes` furnizate." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Lista tuturor grupurilor de atribute (vizualizare simplă)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Recuperarea unui singur grup de atribute (vedere detaliată)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Crearea unui grup de atribute" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Ștergerea unui grup de atribute" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Rescrierea unui grup de atribute existent cu salvarea elementelor " "needitabile" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 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" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Lista tuturor atributelor (vizualizare simplă)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Recuperarea unui singur atribut (vedere detaliată)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Crearea unui atribut" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Ștergerea unui atribut" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "Rescrierea unui atribut existent cu salvarea elementelor needitabile" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Rescrieți unele câmpuri ale unui atribut existent salvând elementele " "needitabile" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Lista tuturor valorilor atributelor (vizualizare simplă)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Recuperarea valorii unui singur atribut (vedere detaliată)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Crearea unei valori de atribut" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Ștergerea unei valori de atribut" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" "Rescrierea unei valori de atribut existente care salvează non-editabile" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 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" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Lista tuturor categoriilor (vizualizare simplă)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Recuperarea unei singure categorii (vedere detaliată)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Creați o categorie" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Ștergeți o categorie" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "Rescrieți o categorie existentă salvând non-editabile" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Rescrieți unele câmpuri ale unei categorii existente, salvând elementele " "needitabile" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Lista tuturor categoriilor (vizualizare simplă)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Pentru utilizatorii care nu fac parte din personal, sunt returnate doar " "comenzile proprii." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Recuperarea unei singure categorii (vedere detaliată)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Crearea unui atribut" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Nu funcționează pentru utilizatorii care nu fac parte din personal." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Ștergerea unui atribut" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "Rescrieți o categorie existentă salvând non-editabile" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Rescrieți unele câmpuri ale unei categorii existente, salvând elementele " "needitabile" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Prețul de achiziție la momentul comenzii" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -384,19 +384,19 @@ msgstr "" "achiziția este finalizată utilizând soldul utilizatorului; Dacă se " "utilizează `force_payment`, este inițiată o tranzacție." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "achiziționarea unei comenzi fără crearea unui cont" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "finalizează achiziția comenzii pentru un utilizator neînregistrat." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Adăugați un produs la comandă" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -404,11 +404,11 @@ msgstr "" "Adaugă un produs la o comandă folosind `product_uuid` și `attributes` " "furnizate." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Eliminați un produs din comandă" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -416,81 +416,113 @@ msgstr "" "Elimină un produs dintr-o comandă folosind `product_uuid` și `attributes` " "furnizate." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Lista tuturor atributelor (vizualizare simplă)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "Pentru utilizatorii care nu fac parte din personal, sunt returnate doar " "propriile liste de dorințe." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Recuperarea unui singur atribut (vedere detaliată)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Crearea unui atribut" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Nu funcționează pentru utilizatorii care nu fac parte din personal." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Ștergerea unui atribut" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "Rescrierea unui atribut existent cu salvarea elementelor needitabile" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Rescrieți unele câmpuri ale unui atribut existent salvând elementele " "needitabile" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Adăugați un produs la comandă" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Adaugă un produs la o listă de dorințe folosind `product_uuid` furnizat" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Eliminați un produs din lista de dorințe" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Înlătură un produs dintr-o listă de dorințe folosind `product_uuid` furnizat" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Adăugați mai multe produse la lista de dorințe" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Adaugă mai multe produse la o listă de dorințe folosind `product_uuids` " "furnizat" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Eliminați un produs din comandă" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Îndepărtează mai multe produse dintr-o listă de dorințe folosind " "`product_uuids` furnizat" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Listează toate produsele (vizualizare simplă)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Recuperarea unui singur produs (vedere detaliată)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "UUID sau Slug al produsului" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Creați un produs" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Ștergeți un produs" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "" +"Rescrierea unui produs existent, păstrând câmpurile care nu pot fi editate" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Actualizarea unor câmpuri ale unui produs existent, păstrând câmpurile " +"needitabile" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Nu a fost furnizat niciun termen de căutare." @@ -524,7 +556,7 @@ msgid "add a product to the order" msgstr "Adăugați un produs la comandă" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Comanda {order_uuid} nu a fost găsită" @@ -541,38 +573,43 @@ msgstr "Eliminați toate produsele din comandă" msgid "buy an order" msgstr "Cumpărați o comandă" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +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:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 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:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Adăugați un produs la comandă" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Lista dorințelor {wishlist_uuid} nu a fost găsită" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Eliminați un produs din comandă" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Eliminați un produs din comandă" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Eliminați un produs din comandă" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Cumpărați o comandă" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -580,7 +617,7 @@ msgstr "" "Vă rugăm să trimiteți atributele sub formă de șir format ca attr1=valoare1, " "attr2=valoare2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - funcționează ca un farmec" @@ -733,7 +770,7 @@ msgstr "Coduri promoționale" msgid "products on sale" msgstr "Produse scoase la vânzare" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Promoții" @@ -749,11 +786,11 @@ msgstr "Furnizor" msgid "product" msgstr "Produs" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Produse dorite" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Liste de dorințe" @@ -815,11 +852,15 @@ msgstr "Indicatorul de limbă, dacă există :)" msgid "supported languages" msgstr "Obțineți o listă a limbilor acceptate" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Rezultate căutare produse" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Rezultate căutare produse" + #: core/models.py:62 msgid "parent of this group" msgstr "Părinte al acestui grup" @@ -897,8 +938,8 @@ msgstr "Atributul acestei valori" msgid "the specific product associated with this attribute's value" msgstr "Produsul specific asociat cu valoarea acestui atribut" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Produs asociat" @@ -995,7 +1036,7 @@ msgstr "Opțional, asociați acest produs cu un brand" msgid "tags that help describe or group this product" msgstr "Etichete care ajută la descrierea sau gruparea acestui produs" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Etichete de produs" @@ -1015,7 +1056,7 @@ msgstr "Furnizați o denumire clară de identificare a produsului" msgid "product name" msgstr "Denumirea produsului" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Adăugați o descriere detaliată a produsului" @@ -1118,7 +1159,7 @@ msgstr "Stadiul actual al comenzii în ciclul său de viață" msgid "order status" msgstr "Stadiul comenzii" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "Structura JSON a notificărilor care urmează să fie afișate utilizatorilor, " @@ -1169,7 +1210,7 @@ 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:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} nu există: {product_uuid}" @@ -1223,182 +1264,182 @@ msgid "you cannot create a momental order without providing a billing address" msgstr "" "nu puteți crea o comandă momental fără a furniza o adresă de facturare" -#: core/models.py:778 +#: core/models.py:779 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:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Prețul de achiziție la momentul comenzii" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "" "Comentarii interne pentru administratori cu privire la acest produs comandat" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Observații interne" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Notificări pentru utilizatori" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "Reprezentarea JSON a atributelor acestui element" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Atribute de produs ordonate" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Trimitere la comanda mamă care conține acest produs" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Ordinul părinților" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Produsul specific asociat cu această linie de comandă" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Cantitatea acestui produs specific din comandă" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Cantitatea produsului" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Starea actuală a acestui produs în comandă" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Starea liniei de produse" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Identificator intern de etichetă pentru eticheta produsului" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Nume etichetă" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Nume ușor de utilizat pentru eticheta produsului" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Nume afișare etichetă" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Etichetă produs" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "Furnizați text alternativ pentru imagine pentru accesibilitate" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Textul alt al imaginii" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Încărcați fișierul de imagine pentru acest produs" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Imaginea produsului" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Determină ordinea în care sunt afișate imaginile" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Prioritatea afișării" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Produsul pe care îl reprezintă această imagine" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Imagini ale produsului" -#: core/models.py:950 +#: core/models.py:951 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:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Cod promoțional de identificare" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "Valoarea fixă a reducerii aplicate dacă procentul nu este utilizat" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Valoarea fixă a reducerii" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "Procentul de reducere aplicat dacă suma fixă nu este utilizată" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Reducere procentuală" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Data la care expiră codul promoțional" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Timpul final de valabilitate" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Timestamp de la care acest cod promoțional este valabil" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Ora de începere a valabilității" -#: core/models.py:983 +#: core/models.py:984 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:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Timestamp de utilizare" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Utilizatorul atribuit acestui cod promoțional, dacă este cazul" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Utilizator atribuit" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Cod promoțional" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Coduri promoționale" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1406,144 +1447,144 @@ msgstr "" "Trebuie definit un singur tip de reducere (sumă sau procent), dar nu ambele " "sau niciuna." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Codul promoțional a fost deja utilizat" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Tip de reducere invalid pentru codul promoțional {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Procentul de reducere pentru produsele selectate" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Procent de reducere" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Furnizați un nume unic pentru această promoție" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Numele promoției" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Descrierea promoției" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Selectați ce produse sunt incluse în această promoție" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Produse incluse" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Promovare" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "Furnizorul care furnizează acest stoc de produse" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Furnizor asociat" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Prețul final pentru client după majorări" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Prețul de vânzare" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Produsul asociat cu această intrare în stoc" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "Prețul plătit vânzătorului pentru acest produs" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Prețul de achiziție al furnizorului" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Cantitatea disponibilă a produsului în stoc" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Cantitate în stoc" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "SKU atribuit de furnizor pentru identificarea produsului" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "SKU al furnizorului" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Fișier digital asociat cu acest stoc, dacă este cazul" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Fișier digital" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Intrări pe stoc" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Produse pe care utilizatorul le-a marcat ca fiind dorite" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Utilizatorul care deține această listă de dorințe" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Proprietarul listei de dorințe" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Lista dorințelor" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Descărcare" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Descărcări" -#: core/models.py:1202 +#: core/models.py:1203 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:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Documentar" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Documentare" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Nerezolvat" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Eroare în timpul creării codului promoțional: {e!s}" @@ -1735,17 +1776,17 @@ msgstr "{model} trebuie să fie model" msgid "{data} must be list object" msgstr "{data} trebuie să fie un obiect listă" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Contactați-ne inițiat" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Confirmarea comenzii" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Comanda livrată" @@ -1765,10 +1806,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Format invalid al numărului de telefon" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "Puteți descărca activul digital o singură dată" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon nu a fost găsit" diff --git a/core/locale/ru_RU/LC_MESSAGES/django.mo b/core/locale/ru_RU/LC_MESSAGES/django.mo index 0fb4855f..f3b8bee1 100644 Binary files a/core/locale/ru_RU/LC_MESSAGES/django.mo and b/core/locale/ru_RU/LC_MESSAGES/django.mo differ diff --git a/core/locale/ru_RU/LC_MESSAGES/django.po b/core/locale/ru_RU/LC_MESSAGES/django.po index 8f159e0a..b011bfd8 100644 --- a/core/locale/ru_RU/LC_MESSAGES/django.po +++ b/core/locale/ru_RU/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -83,7 +83,7 @@ msgstr "Изображение" msgid "images" msgstr "Изображения" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "Наличие" @@ -91,7 +91,7 @@ msgstr "Наличие" msgid "stocks" msgstr "Наличия" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -99,35 +99,35 @@ msgstr "Наличия" msgid "price" msgstr "Цена" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "Рейтинг продукции" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "Основная информация" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "Важные даты" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "Переводы" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "Заказать товар" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "Заказать товары" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Бизнес" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "Конфигурация" @@ -224,159 +224,159 @@ msgstr "" "Приобретите заказ как бизнес, используя предоставленные `продукты` с " "`product_uuid` и `attributes`." -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "Список всех групп атрибутов (простой вид)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "Получение одной группы атрибутов (подробный просмотр)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "Создайте группу атрибутов" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "Удаление группы атрибутов" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "" "Переписать существующую группу атрибутов с сохранением нередактируемых " "элементов" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 msgid "" "rewrite some fields of an existing attribute group saving non-editables" msgstr "" "Переписывание некоторых полей существующей группы атрибутов с сохранением " "нередактируемых полей" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "Список всех атрибутов (простой вид)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "Получение одного атрибута (подробный просмотр)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "Создайте атрибут" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "Удалить атрибут" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "Переписать существующий атрибут, сохранив нередактируемый" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "" "Переписывание некоторых полей существующего атрибута с сохранением " "нередактируемых полей" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "Список всех значений атрибутов (простой вид)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "Получение значения одного атрибута (подробный просмотр)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "Создание значения атрибута" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "Удалить значение атрибута" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "" "Перезапись существующего значения атрибута с сохранением нередактируемых " "значений" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 msgid "" "rewrite some fields of an existing attribute value saving non-editables" msgstr "" "Переписывание некоторых полей существующего значения атрибута с сохранением " "нередактируемых значений" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "Список всех категорий (простой вид)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "Получение одной категории (подробный просмотр)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "Создайте категорию" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "Удалить категорию" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "" "Переписать существующую категорию с сохранением нередактируемых объектов" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "" "Переписать некоторые поля существующей категории с сохранением " "нередактируемых полей" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "Список всех категорий (простой вид)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "" "Для пользователей, не являющихся сотрудниками, возвращаются только их " "собственные заказы." -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "Получение одной категории (подробный просмотр)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "Создайте атрибут" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "Не работает для нештатных пользователей." -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "Удалить атрибут" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "" "Переписать существующую категорию с сохранением нередактируемых объектов" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "" "Переписать некоторые поля существующей категории с сохранением " "нередактируемых полей" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "Покупная цена на момент заказа" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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 " @@ -386,19 +386,19 @@ msgstr "" "завершается с использованием баланса пользователя; если используется " "`force_payment`, инициируется транзакция." -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "приобретение заказа без создания учетной записи" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "завершает покупку заказа для незарегистрированного пользователя." -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "Добавить товар в заказ" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." @@ -406,11 +406,11 @@ msgstr "" "Добавляет товар в заказ, используя предоставленные `product_uuid` и " "`attributes`." -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "Удалить продукт из заказа" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." @@ -418,81 +418,112 @@ msgstr "" "Удаляет товар из заказа, используя предоставленные `product_uuid` и " "`attributes`." -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "Список всех атрибутов (простой вид)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "" "Для пользователей, не являющихся сотрудниками, возвращаются только их " "собственные списки желаний." -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "Получение одного атрибута (подробный просмотр)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "Создайте атрибут" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "Не работает для нештатных пользователей." -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "Удалить атрибут" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "Переписать существующий атрибут, сохранив нередактируемый" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "" "Переписывание некоторых полей существующего атрибута с сохранением " "нередактируемых полей" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "Добавить товар в заказ" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "" "Добавляет товар в список желаний, используя предоставленный `product_uuid`." -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "Удалить продукт из списка желаний" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "" "Удаляет продукт из списка желаний, используя предоставленный `product_uuid`." -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "Добавьте много товаров в список желаний" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "" "Добавляет множество товаров в список желаний, используя предоставленные " "`product_uuids`." -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "Удалить продукт из заказа" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "" "Удаляет множество товаров из списка желаний, используя предоставленные " "`product_uuids`." +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "Список всех продуктов (простой вид)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "Получение одного продукта (подробный просмотр)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "UUID или Slug продукта" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "Создать продукт" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "Удалить продукт" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "Переписать существующий продукт, сохранив нередактируемые поля" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "" +"Обновление некоторых полей существующего продукта с сохранением " +"нередактируемых полей" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "Поисковый запрос не предоставлен." @@ -526,7 +557,7 @@ msgid "add a product to the order" msgstr "Добавить товар в заказ" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "Заказ {order_uuid} не найден" @@ -543,38 +574,44 @@ msgstr "Удалить все товары из заказа" msgid "buy an order" msgstr "Купить заказ" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +msgid "please provide either order_uuid or order_hr_id - mutually exclusive" +msgstr "" +"Пожалуйста, укажите либо order_uuid, либо order_hr_id - взаимоисключающие " +"варианты!" + +#: core/graphene/mutations.py:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "Неправильный тип получен из метода order.buy(): {type(instance)!s}" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "Добавить товар в заказ" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "Список желаний {wishlist_uuid} не найден" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "Удалить продукт из заказа" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "Удалить продукт из заказа" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "Удалить продукт из заказа" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "Купить заказ" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" @@ -582,7 +619,7 @@ msgstr "" "Пожалуйста, отправьте атрибуты в виде строки, отформатированной как " "attr1=value1,attr2=value2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - работает как шарм" @@ -735,7 +772,7 @@ msgstr "Промокоды" msgid "products on sale" msgstr "Продукты в продаже" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "Акции" @@ -751,11 +788,11 @@ msgstr "Поставщик" msgid "product" msgstr "Продукт" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "Продукты из списка желаний" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "Списки желаний" @@ -817,11 +854,15 @@ msgstr "Языковой флаг, если он существует :)" msgid "supported languages" msgstr "Получите список поддерживаемых языков" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "Результаты поиска товаров" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "Результаты поиска товаров" + #: core/models.py:62 msgid "parent of this group" msgstr "Родитель этой группы" @@ -899,8 +940,8 @@ msgstr "Атрибут этого значения" msgid "the specific product associated with this attribute's value" msgstr "Конкретный продукт, связанный со значением этого атрибута" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "Сопутствующий товар" @@ -996,7 +1037,7 @@ msgstr "По желанию ассоциируйте этот продукт с msgid "tags that help describe or group this product" msgstr "Теги, которые помогают описать или сгруппировать этот продукт" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "Теги товара" @@ -1016,7 +1057,7 @@ msgstr "Обеспечьте четкое идентификационное н msgid "product name" msgstr "Название продукта" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "Добавьте подробное описание продукта" @@ -1116,7 +1157,7 @@ msgstr "Текущий статус заказа в его жизненном ц msgid "order status" msgstr "Статус заказа" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "" "JSON-структура уведомлений для отображения пользователям, в административном" @@ -1167,7 +1208,7 @@ msgid "you cannot add more products than available in stock" msgstr "Вы не можете добавить больше товаров, чем есть на складе" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} не существует: {product_uuid}" @@ -1221,185 +1262,185 @@ msgid "you cannot create a momental order without providing a billing address" msgstr "" "Вы не можете создать заказ momental, не указав адрес для выставления счета" -#: core/models.py:778 +#: core/models.py:779 msgid "the price paid by the customer for this product at purchase time" msgstr "Цена, уплаченная клиентом за данный продукт на момент покупки" -#: core/models.py:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "Покупная цена на момент заказа" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "" "Внутренние комментарии для администраторов об этом заказанном продукте" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "Внутренние комментарии" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "Уведомления пользователей" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "JSON-представление атрибутов этого элемента" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "Атрибуты заказанного продукта" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "Ссылка на родительский заказ, содержащий данный продукт" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "Родительский приказ" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "Конкретный продукт, связанный с этой линией заказа" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "Количество данного товара в заказе" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "Количество продукта" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "Текущий статус этого продукта в заказе" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "Состояние продуктовой линейки" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "Внутренний идентификатор тега для тега продукта" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "Название тега" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "Удобное название для метки продукта" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "Отображаемое имя тега" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "Метка продукта" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "" "Предоставьте альтернативный текст для изображения, чтобы обеспечить " "доступность" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "Альтовый текст изображения" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "Загрузите файл изображения для этого продукта" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "Изображение продукта" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "Определяет порядок отображения изображений" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "Приоритет отображения" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "Продукт, который представлен на этом изображении" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "Изображения продуктов" -#: core/models.py:950 +#: core/models.py:951 msgid "unique code used by a user to redeem a discount" msgstr "Уникальный код, используемый пользователем для получения скидки" -#: core/models.py:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "Идентификатор промо-кода" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "Фиксированная сумма скидки, применяемая, если процент не используется" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "Фиксированная сумма скидки" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "" "Процентная скидка, применяемая, если фиксированная сумма не используется" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "Процентная скидка" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "Временная метка, когда истекает срок действия промокода" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "Время окончания срока действия" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "Время, с которого действует этот промокод" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "Время начала действия" -#: core/models.py:983 +#: core/models.py:984 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "" "Временная метка, когда был использован промокод, пустая, если он еще не " "использовался" -#: core/models.py:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "Временная метка использования" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "Пользователь, назначенный на этот промокод, если применимо" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "Назначенный пользователь" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "Промокод" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "Промокоды" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." @@ -1407,144 +1448,144 @@ msgstr "" "Следует определить только один тип скидки (сумма или процент), но не оба или" " ни один из них." -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "Промокоды" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "Неверный тип скидки для промокода {self.uuid}" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "Процентная скидка на выбранные продукты" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "Процент скидки" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "Укажите уникальное имя для этой акции" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "Название акции" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "Описание акции" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "Выберите, какие продукты участвуют в этой акции" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "Включенные продукты" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "Продвижение" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "Поставщик, поставляющий данный товар на склад" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "Ассоциированный поставщик" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "Окончательная цена для покупателя после наценок" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "Цена продажи" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "Продукт, связанный с этой складской записью" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "Цена, уплаченная продавцу за этот продукт" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "Цена покупки у поставщика" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "Доступное количество продукта на складе" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "Количество на складе" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "Присвоенный поставщиком SKU для идентификации продукта" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "SKU поставщика" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "Цифровой файл, связанный с этой акцией, если применимо" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "Цифровой файл" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "Проводки по запасам" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "Продукты, которые пользователь отметил как желаемые" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "Пользователь, владеющий этим списком желаний" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "Владелец вишлиста" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "Список желаний" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "Скачать" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "Скачать" -#: core/models.py:1202 +#: core/models.py:1203 msgid "you can not download a digital asset for a non-finished order" msgstr "Вы не можете загрузить цифровой актив для незавершенного заказа" -#: core/models.py:1214 +#: core/models.py:1215 msgid "documentary" msgstr "Документальный фильм" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "Документальные фильмы" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "Неразрешенные" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "Ошибка при создании промокода: {e!s}" @@ -1737,17 +1778,17 @@ msgstr "{model} должна быть моделью" msgid "{data} must be list object" msgstr "{data} должен быть объектом списка" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME} | Свяжитесь с нами" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | Подтверждение заказа" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME} | Заказ доставлен" @@ -1767,10 +1808,10 @@ msgstr "" msgid "invalid phone number format" msgstr "Неверный формат телефонного номера" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "Вы можете загрузить цифровой актив только один раз" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "favicon не найден" diff --git a/core/locale/zh_Hans/LC_MESSAGES/django.mo b/core/locale/zh_Hans/LC_MESSAGES/django.mo index a2430515..a751bcd5 100644 Binary files a/core/locale/zh_Hans/LC_MESSAGES/django.mo and b/core/locale/zh_Hans/LC_MESSAGES/django.mo differ diff --git a/core/locale/zh_Hans/LC_MESSAGES/django.po b/core/locale/zh_Hans/LC_MESSAGES/django.po index f441159f..831c1498 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: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-05 23:44+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -79,7 +79,7 @@ msgstr "图片" msgid "images" msgstr "图片" -#: core/admin.py:160 core/models.py:1126 +#: core/admin.py:160 core/models.py:1127 msgid "stock" msgstr "库存" @@ -87,7 +87,7 @@ msgstr "库存" msgid "stocks" msgstr "股票" -#: core/admin.py:194 core/graphene/object_types.py:320 +#: core/admin.py:191 core/graphene/object_types.py:320 #: core/templates/digital_order_created_email.html:109 #: core/templates/digital_order_delivered_email.html:109 #: core/templates/shipped_order_created_email.html:95 @@ -95,35 +95,35 @@ msgstr "股票" msgid "price" msgstr "价格" -#: core/admin.py:199 +#: core/admin.py:196 msgid "rating" msgstr "产品评级" -#: core/admin.py:203 +#: core/admin.py:200 msgid "basic info" msgstr "基本信息" -#: core/admin.py:217 +#: core/admin.py:214 msgid "important dates" msgstr "重要日期" -#: core/admin.py:218 +#: core/admin.py:215 msgid "translations" msgstr "翻译" -#: core/admin.py:256 core/models.py:836 +#: core/admin.py:253 core/models.py:837 msgid "order product" msgstr "订购产品" -#: core/admin.py:257 core/graphene/object_types.py:242 core/models.py:837 +#: core/admin.py:254 core/graphene/object_types.py:242 core/models.py:838 msgid "order products" msgstr "订购产品" -#: core/admin.py:276 +#: core/admin.py:273 msgid "is business" msgstr "Is Business" -#: core/admin.py:384 +#: core/admin.py:381 msgid "config" msgstr "配置" @@ -217,240 +217,269 @@ msgid "" "`product_uuid` and `attributes`." msgstr "使用提供的带有 `product_uuid` 和 `attributes` 的 `products` 作为企业购买订单。" -#: core/docs/drf/viewsets.py:26 +#: core/docs/drf/viewsets.py:34 msgid "list all attribute groups (simple view)" msgstr "列出所有属性组(简单视图)" -#: core/docs/drf/viewsets.py:30 +#: core/docs/drf/viewsets.py:38 msgid "retrieve a single attribute group (detailed view)" msgstr "检索单个属性组(详细视图)" -#: core/docs/drf/viewsets.py:34 +#: core/docs/drf/viewsets.py:42 msgid "create an attribute group" msgstr "创建属性组" -#: core/docs/drf/viewsets.py:38 +#: core/docs/drf/viewsets.py:46 msgid "delete an attribute group" msgstr "删除属性组" -#: core/docs/drf/viewsets.py:42 +#: core/docs/drf/viewsets.py:50 msgid "rewrite an existing attribute group saving non-editables" msgstr "重写保存不可编辑的现有属性组" -#: core/docs/drf/viewsets.py:46 +#: core/docs/drf/viewsets.py:54 msgid "" "rewrite some fields of an existing attribute group saving non-editables" msgstr "重写现有属性组的某些字段,保存不可编辑的内容" -#: core/docs/drf/viewsets.py:53 +#: core/docs/drf/viewsets.py:61 msgid "list all attributes (simple view)" msgstr "列出所有属性(简单视图)" -#: core/docs/drf/viewsets.py:57 +#: core/docs/drf/viewsets.py:65 msgid "retrieve a single attribute (detailed view)" msgstr "检索单个属性(详细视图)" -#: core/docs/drf/viewsets.py:61 +#: core/docs/drf/viewsets.py:69 msgid "create an attribute" msgstr "创建属性" -#: core/docs/drf/viewsets.py:65 +#: core/docs/drf/viewsets.py:73 msgid "delete an attribute" msgstr "删除属性" -#: core/docs/drf/viewsets.py:69 +#: core/docs/drf/viewsets.py:77 msgid "rewrite an existing attribute saving non-editables" msgstr "重写现有属性,保存不可编辑属性" -#: core/docs/drf/viewsets.py:73 +#: core/docs/drf/viewsets.py:81 msgid "rewrite some fields of an existing attribute saving non-editables" msgstr "重写现有属性的某些字段,保存不可编辑的内容" -#: core/docs/drf/viewsets.py:80 +#: core/docs/drf/viewsets.py:88 msgid "list all attribute values (simple view)" msgstr "列出所有属性值(简单视图)" -#: core/docs/drf/viewsets.py:84 +#: core/docs/drf/viewsets.py:92 msgid "retrieve a single attribute value (detailed view)" msgstr "读取单个属性值(详细视图)" -#: core/docs/drf/viewsets.py:88 +#: core/docs/drf/viewsets.py:96 msgid "create an attribute value" msgstr "创建属性值" -#: core/docs/drf/viewsets.py:92 +#: core/docs/drf/viewsets.py:100 msgid "delete an attribute value" msgstr "删除属性值" -#: core/docs/drf/viewsets.py:96 +#: core/docs/drf/viewsets.py:104 msgid "rewrite an existing attribute value saving non-editables" msgstr "重写现有属性值,保存不可编辑属性" -#: core/docs/drf/viewsets.py:100 +#: core/docs/drf/viewsets.py:108 msgid "" "rewrite some fields of an existing attribute value saving non-editables" msgstr "重写现有属性值的某些字段,保存不可编辑的属性值" -#: core/docs/drf/viewsets.py:107 +#: core/docs/drf/viewsets.py:115 msgid "list all categories (simple view)" msgstr "列出所有类别(简单视图)" -#: core/docs/drf/viewsets.py:111 +#: core/docs/drf/viewsets.py:119 msgid "retrieve a single category (detailed view)" msgstr "检索单个类别(详细视图)" -#: core/docs/drf/viewsets.py:115 +#: core/docs/drf/viewsets.py:123 msgid "create a category" msgstr "创建类别" -#: core/docs/drf/viewsets.py:119 +#: core/docs/drf/viewsets.py:127 msgid "delete a category" msgstr "删除类别" -#: core/docs/drf/viewsets.py:123 +#: core/docs/drf/viewsets.py:131 msgid "rewrite an existing category saving non-editables" msgstr "重写现有类别,保存不可编辑内容" -#: core/docs/drf/viewsets.py:127 +#: core/docs/drf/viewsets.py:135 msgid "rewrite some fields of an existing category saving non-editables" msgstr "重写现有类别的某些字段,保存不可编辑内容" -#: core/docs/drf/viewsets.py:134 +#: core/docs/drf/viewsets.py:142 msgid "list all orders (simple view)" msgstr "列出所有类别(简单视图)" -#: core/docs/drf/viewsets.py:135 +#: core/docs/drf/viewsets.py:143 msgid "for non-staff users, only their own orders are returned." msgstr "对于非工作人员用户,只有他们自己的订单才会被退回。" -#: core/docs/drf/viewsets.py:139 +#: core/docs/drf/viewsets.py:147 msgid "retrieve a single order (detailed view)" msgstr "检索单个类别(详细视图)" -#: core/docs/drf/viewsets.py:143 +#: core/docs/drf/viewsets.py:151 msgid "create an order" msgstr "创建属性" -#: core/docs/drf/viewsets.py:144 +#: core/docs/drf/viewsets.py:152 msgid "doesn't work for non-staff users." msgstr "不适用于非工作人员用户。" -#: core/docs/drf/viewsets.py:148 +#: core/docs/drf/viewsets.py:156 msgid "delete an order" msgstr "删除属性" -#: core/docs/drf/viewsets.py:152 +#: core/docs/drf/viewsets.py:160 msgid "rewrite an existing order saving non-editables" msgstr "重写现有类别,保存不可编辑内容" -#: core/docs/drf/viewsets.py:156 +#: core/docs/drf/viewsets.py:164 msgid "rewrite some fields of an existing order saving non-editables" msgstr "重写现有类别的某些字段,保存不可编辑内容" -#: core/docs/drf/viewsets.py:160 +#: core/docs/drf/viewsets.py:168 msgid "purchase an order" msgstr "订购时的购买价格" -#: core/docs/drf/viewsets.py:162 +#: core/docs/drf/viewsets.py:170 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\",则启动交易。" -#: core/docs/drf/viewsets.py:174 core/graphene/mutations.py:199 +#: core/docs/drf/viewsets.py:182 core/graphene/mutations.py:208 msgid "purchase an order without account creation" msgstr "无需创建账户即可购买订单" -#: core/docs/drf/viewsets.py:176 +#: core/docs/drf/viewsets.py:184 msgid "finalizes the order purchase for a non-registered user." msgstr "完成非注册用户的订单购买。" -#: core/docs/drf/viewsets.py:185 +#: core/docs/drf/viewsets.py:193 msgid "add product to order" msgstr "在订单中添加产品" -#: core/docs/drf/viewsets.py:186 +#: core/docs/drf/viewsets.py:194 msgid "" "adds a product to an order using the provided `product_uuid` and " "`attributes`." msgstr "使用提供的 `product_uuid` 和 `attributes` 将产品添加到订单中。" -#: core/docs/drf/viewsets.py:191 +#: core/docs/drf/viewsets.py:199 msgid "remove product from order" msgstr "从订单中删除产品" -#: core/docs/drf/viewsets.py:192 +#: core/docs/drf/viewsets.py:200 msgid "" "removes a product from an order using the provided `product_uuid` and " "`attributes`." msgstr "使用提供的 `product_uuid` 和 `attributes` 从订单中删除产品。" -#: core/docs/drf/viewsets.py:200 +#: core/docs/drf/viewsets.py:208 msgid "list all wishlists (simple view)" msgstr "列出所有属性(简单视图)" -#: core/docs/drf/viewsets.py:201 +#: core/docs/drf/viewsets.py:209 msgid "for non-staff users, only their own wishlists are returned." msgstr "对于非工作人员用户,只返回他们自己的愿望清单。" -#: core/docs/drf/viewsets.py:205 +#: core/docs/drf/viewsets.py:213 msgid "retrieve a single wishlist (detailed view)" msgstr "检索单个属性(详细视图)" -#: core/docs/drf/viewsets.py:209 +#: core/docs/drf/viewsets.py:217 msgid "create an wishlist" msgstr "创建属性" -#: core/docs/drf/viewsets.py:210 +#: core/docs/drf/viewsets.py:218 msgid "Doesn't work for non-staff users." msgstr "不适用于非工作人员用户。" -#: core/docs/drf/viewsets.py:214 +#: core/docs/drf/viewsets.py:222 msgid "delete an wishlist" msgstr "删除属性" -#: core/docs/drf/viewsets.py:218 +#: core/docs/drf/viewsets.py:226 msgid "rewrite an existing wishlist saving non-editables" msgstr "重写现有属性,保存不可编辑属性" -#: core/docs/drf/viewsets.py:222 +#: core/docs/drf/viewsets.py:230 msgid "rewrite some fields of an existing wishlist saving non-editables" msgstr "重写现有属性的某些字段,保存不可编辑的内容" -#: core/docs/drf/viewsets.py:226 +#: core/docs/drf/viewsets.py:234 msgid "add product to wishlist" msgstr "在订单中添加产品" -#: core/docs/drf/viewsets.py:227 +#: core/docs/drf/viewsets.py:235 msgid "adds a product to an wishlist using the provided `product_uuid`" msgstr "使用提供的 `product_uuid` 将产品添加到愿望清单中" -#: core/docs/drf/viewsets.py:232 +#: core/docs/drf/viewsets.py:240 msgid "remove product from wishlist" msgstr "从愿望清单中删除产品" -#: core/docs/drf/viewsets.py:233 +#: core/docs/drf/viewsets.py:241 msgid "removes a product from an wishlist using the provided `product_uuid`" msgstr "使用提供的 `product_uuid` 从愿望清单中删除产品" -#: core/docs/drf/viewsets.py:238 +#: core/docs/drf/viewsets.py:246 msgid "add many products to wishlist" msgstr "将许多产品添加到愿望清单" -#: core/docs/drf/viewsets.py:239 +#: core/docs/drf/viewsets.py:247 msgid "adds many products to an wishlist using the provided `product_uuids`" msgstr "使用提供的 `product_uuids` 将许多产品添加到愿望清单中" -#: core/docs/drf/viewsets.py:244 +#: core/docs/drf/viewsets.py:252 msgid "remove many products from wishlist" msgstr "从订单中删除产品" -#: core/docs/drf/viewsets.py:245 +#: core/docs/drf/viewsets.py:253 msgid "" "removes many products from an wishlist using the provided `product_uuids`" msgstr "使用提供的 `product_uuids` 从愿望清单中删除多个产品" +#: core/docs/drf/viewsets.py:261 +msgid "list all products (simple view)" +msgstr "列出所有产品(简单视图)" + +#: core/docs/drf/viewsets.py:268 +msgid "retrieve a single product (detailed view)" +msgstr "检索单个产品(详细视图)" + +#: core/docs/drf/viewsets.py:272 +msgid "Product UUID or slug" +msgstr "产品 UUID 或 Slug" + +#: core/docs/drf/viewsets.py:284 +msgid "create a product" +msgstr "创建产品" + +#: core/docs/drf/viewsets.py:291 +msgid "delete a product" +msgstr "删除产品" + +#: core/docs/drf/viewsets.py:298 +msgid "rewrite an existing product, preserving non-editable fields" +msgstr "重写现有产品,保留不可编辑字段" + +#: core/docs/drf/viewsets.py:305 +msgid "" +"update some fields of an existing product, preserving non-editable fields" +msgstr "更新现有产品的某些字段,保留不可编辑的字段" + #: core/elasticsearch/__init__.py:39 msgid "no search term provided." msgstr "未提供搜索条件。" @@ -484,7 +513,7 @@ msgid "add a product to the order" msgstr "在订单中添加产品" #: core/graphene/mutations.py:93 core/graphene/mutations.py:119 -#: core/graphene/mutations.py:194 +#: core/graphene/mutations.py:203 #, python-brace-format msgid "order {order_uuid} not found" msgstr "未找到订单 {order_uuid}" @@ -501,44 +530,48 @@ msgstr "从订单中删除所有产品" msgid "buy an order" msgstr "购买订单" -#: core/graphene/mutations.py:192 core/graphene/mutations.py:346 -#: core/graphene/mutations.py:380 core/viewsets.py:221 +#: core/graphene/mutations.py:183 +msgid "please provide either order_uuid or order_hr_id - mutually exclusive" +msgstr "请提供 order_uuid 或 order_hr_id(互斥)!" + +#: core/graphene/mutations.py:201 core/graphene/mutations.py:355 +#: core/graphene/mutations.py:389 core/viewsets.py:240 msgid "wrong type came from order.buy() method: {type(instance)!s}" msgstr "order.buy() 方法中的类型有误:{type(instance)!s}" -#: core/graphene/mutations.py:230 +#: core/graphene/mutations.py:239 msgid "add a product to the wishlist" msgstr "在订单中添加产品" -#: core/graphene/mutations.py:252 core/graphene/mutations.py:279 -#: core/graphene/mutations.py:306 core/graphene/mutations.py:349 +#: core/graphene/mutations.py:261 core/graphene/mutations.py:288 +#: core/graphene/mutations.py:315 core/graphene/mutations.py:358 #, python-brace-format msgid "wishlist {wishlist_uuid} not found" msgstr "未找到愿望清单 {wishlist_uuid}" -#: core/graphene/mutations.py:257 +#: core/graphene/mutations.py:266 msgid "remove a product from the wishlist" msgstr "从订单中删除产品" -#: core/graphene/mutations.py:284 +#: core/graphene/mutations.py:293 msgid "remove all products from the wishlist" msgstr "从订单中删除产品" -#: core/graphene/mutations.py:311 +#: core/graphene/mutations.py:320 msgid "buy all products from the wishlist" msgstr "从订单中删除产品" -#: core/graphene/mutations.py:354 +#: core/graphene/mutations.py:363 msgid "buy a product" msgstr "购买订单" -#: core/graphene/mutations.py:360 +#: core/graphene/mutations.py:369 msgid "" "please send the attributes as the string formatted like " "attr1=value1,attr2=value2" msgstr "请以字符串形式发送属性,格式如 attr1=value1,attr2=value2" -#: core/graphene/mutations.py:476 +#: core/graphene/mutations.py:485 msgid "elasticsearch - works like a charm" msgstr "ElasticSearch - 工作起来得心应手" @@ -685,7 +718,7 @@ msgstr "促销代码" msgid "products on sale" msgstr "销售产品" -#: core/graphene/object_types.py:405 core/models.py:1067 +#: core/graphene/object_types.py:405 core/models.py:1068 msgid "promotions" msgstr "促销活动" @@ -701,11 +734,11 @@ msgstr "供应商" msgid "product" msgstr "产品" -#: core/graphene/object_types.py:421 core/models.py:1137 +#: core/graphene/object_types.py:421 core/models.py:1138 msgid "wishlisted products" msgstr "心愿单上的产品" -#: core/graphene/object_types.py:427 core/models.py:1154 +#: core/graphene/object_types.py:427 core/models.py:1155 msgid "wishlists" msgstr "愿望清单" @@ -765,11 +798,15 @@ msgstr "语言标志(如果有):)" msgid "supported languages" msgstr "获取支持的语言列表" -#: core/graphene/object_types.py:470 core/graphene/object_types.py:471 -#: core/graphene/object_types.py:472 +#: core/graphene/object_types.py:479 core/graphene/object_types.py:480 +#: core/graphene/object_types.py:481 msgid "products search results" msgstr "产品搜索结果" +#: core/graphene/object_types.py:482 +msgid "posts search results" +msgstr "产品搜索结果" + #: core/models.py:62 msgid "parent of this group" msgstr "本组家长" @@ -847,8 +884,8 @@ msgstr "该值的属性" msgid "the specific product associated with this attribute's value" msgstr "与该属性值相关的特定产品" -#: core/models.py:142 core/models.py:813 core/models.py:927 -#: core/models.py:1093 +#: core/models.py:142 core/models.py:814 core/models.py:928 +#: core/models.py:1094 msgid "associated product" msgstr "相关产品" @@ -944,7 +981,7 @@ msgstr "可选择将该产品与某个品牌联系起来" msgid "tags that help describe or group this product" msgstr "有助于描述或归类该产品的标签" -#: core/models.py:280 core/models.py:901 +#: core/models.py:280 core/models.py:902 msgid "product tags" msgstr "产品标签" @@ -964,7 +1001,7 @@ msgstr "为产品提供一个明确的标识名称" msgid "product name" msgstr "产品名称" -#: core/models.py:297 core/models.py:1055 +#: core/models.py:297 core/models.py:1056 msgid "add a detailed description of the product" msgstr "添加产品的详细描述" @@ -1061,7 +1098,7 @@ msgstr "订单在其生命周期中的当前状态" msgid "order status" msgstr "订单状态" -#: core/models.py:471 core/models.py:790 +#: core/models.py:471 core/models.py:791 msgid "json structure of notifications to display to users" msgstr "向用户显示的通知的 JSON 结构,在管理用户界面中使用表格视图" @@ -1110,7 +1147,7 @@ msgid "you cannot add more products than available in stock" msgstr "添加的产品数量不能超过现有库存" #: core/models.py:567 core/models.py:584 core/models.py:608 -#: core/models.py:1164 core/models.py:1175 +#: core/models.py:1165 core/models.py:1176 #, python-brace-format msgid "{name} does not exist: {product_uuid}" msgstr "{name} 不存在:{product_uuid} 不存在" @@ -1158,322 +1195,322 @@ msgstr "付款方式无效" msgid "you cannot create a momental order without providing a billing address" msgstr "如果不提供账单地址,就无法创建妈妈订单" -#: core/models.py:778 +#: core/models.py:779 msgid "the price paid by the customer for this product at purchase time" msgstr "客户购买该产品时支付的价格" -#: core/models.py:779 +#: core/models.py:780 msgid "purchase price at order time" msgstr "订购时的购买价格" -#: core/models.py:784 +#: core/models.py:785 msgid "internal comments for admins about this ordered product" msgstr "管理员对该订购产品的内部评论" -#: core/models.py:785 +#: core/models.py:786 msgid "internal comments" msgstr "内部意见" -#: core/models.py:791 +#: core/models.py:792 msgid "user notifications" msgstr "用户通知" -#: core/models.py:796 +#: core/models.py:797 msgid "json representation of this item's attributes" msgstr "该项属性的 JSON 表示形式" -#: core/models.py:797 +#: core/models.py:798 msgid "ordered product attributes" msgstr "有序的产品属性" -#: core/models.py:802 +#: core/models.py:803 msgid "reference to the parent order that contains this product" msgstr "对包含该产品的父订单的引用" -#: core/models.py:803 +#: core/models.py:804 msgid "parent order" msgstr "父顺序" -#: core/models.py:812 +#: core/models.py:813 msgid "the specific product associated with this order line" msgstr "与该订单项目相关的具体产品" -#: core/models.py:819 +#: core/models.py:820 msgid "quantity of this specific product in the order" msgstr "订单中该特定产品的数量" -#: core/models.py:820 +#: core/models.py:821 msgid "product quantity" msgstr "产品数量" -#: core/models.py:827 +#: core/models.py:828 msgid "current status of this product in the order" msgstr "订单中该产品的当前状态" -#: core/models.py:828 +#: core/models.py:829 msgid "product line status" msgstr "产品系列状态" -#: core/models.py:886 +#: core/models.py:887 msgid "internal tag identifier for the product tag" msgstr "产品标签的内部标签标识符" -#: core/models.py:887 +#: core/models.py:888 msgid "tag name" msgstr "标签名称" -#: core/models.py:891 +#: core/models.py:892 msgid "user-friendly name for the product tag" msgstr "方便用户使用的产品标签名称" -#: core/models.py:892 +#: core/models.py:893 msgid "tag display name" msgstr "标签显示名称" -#: core/models.py:900 +#: core/models.py:901 msgid "product tag" msgstr "产品标签" -#: core/models.py:909 +#: core/models.py:910 msgid "provide alternative text for the image for accessibility" msgstr "为图像提供替代文字,以便于访问" -#: core/models.py:910 +#: core/models.py:911 msgid "image alt text" msgstr "图片 alt 文本" -#: core/models.py:913 +#: core/models.py:914 msgid "upload the image file for this product" msgstr "上传该产品的图片文件" -#: core/models.py:914 core/models.py:939 +#: core/models.py:915 core/models.py:940 msgid "product image" msgstr "产品图片" -#: core/models.py:920 +#: core/models.py:921 msgid "determines the order in which images are displayed" msgstr "确定图像的显示顺序" -#: core/models.py:921 +#: core/models.py:922 msgid "display priority" msgstr "显示优先级" -#: core/models.py:926 +#: core/models.py:927 msgid "the product that this image represents" msgstr "该图片所代表的产品" -#: core/models.py:940 +#: core/models.py:941 msgid "product images" msgstr "产品图片" -#: core/models.py:950 +#: core/models.py:951 msgid "unique code used by a user to redeem a discount" msgstr "用户用于兑换折扣的唯一代码" -#: core/models.py:951 +#: core/models.py:952 msgid "promo code identifier" msgstr "促销代码标识符" -#: core/models.py:958 +#: core/models.py:959 msgid "fixed discount amount applied if percent is not used" msgstr "如果不使用百分比,则使用固定折扣额" -#: core/models.py:959 +#: core/models.py:960 msgid "fixed discount amount" msgstr "固定折扣额" -#: core/models.py:965 +#: core/models.py:966 msgid "percentage discount applied if fixed amount is not used" msgstr "未使用固定金额时适用的折扣百分比" -#: core/models.py:966 +#: core/models.py:967 msgid "percentage discount" msgstr "折扣百分比" -#: core/models.py:971 +#: core/models.py:972 msgid "timestamp when the promocode expires" msgstr "促销代码过期的时间戳" -#: core/models.py:972 +#: core/models.py:973 msgid "end validity time" msgstr "结束有效时间" -#: core/models.py:977 +#: core/models.py:978 msgid "timestamp from which this promocode is valid" msgstr "该促销代码有效的时间戳" -#: core/models.py:978 +#: core/models.py:979 msgid "start validity time" msgstr "开始有效时间" -#: core/models.py:983 +#: core/models.py:984 msgid "timestamp when the promocode was used, blank if not used yet" msgstr "使用促销代码的时间戳,如果尚未使用,则留空" -#: core/models.py:984 +#: core/models.py:985 msgid "usage timestamp" msgstr "使用时间戳" -#: core/models.py:989 +#: core/models.py:990 msgid "user assigned to this promocode if applicable" msgstr "分配给此促销代码的用户(如适用" -#: core/models.py:990 +#: core/models.py:991 msgid "assigned user" msgstr "指定用户" -#: core/models.py:997 +#: core/models.py:998 msgid "promo code" msgstr "促销代码" -#: core/models.py:998 +#: core/models.py:999 msgid "promo codes" msgstr "促销代码" -#: core/models.py:1005 +#: core/models.py:1006 msgid "" "only one type of discount should be defined (amount or percent), but not " "both or neither." msgstr "只能定义一种折扣类型(金额或百分比),而不能同时定义两种类型或两者都不定义。" -#: core/models.py:1020 +#: core/models.py:1021 msgid "promocode already used" msgstr "促销代码已被使用" -#: core/models.py:1032 +#: core/models.py:1033 #, python-brace-format msgid "invalid discount type for promocode {self.uuid}" msgstr "促销代码 {self.uuid} 的折扣类型无效" -#: core/models.py:1043 +#: core/models.py:1044 msgid "percentage discount for the selected products" msgstr "所选产品的折扣百分比" -#: core/models.py:1044 +#: core/models.py:1045 msgid "discount percentage" msgstr "折扣百分比" -#: core/models.py:1049 +#: core/models.py:1050 msgid "provide a unique name for this promotion" msgstr "为该促销活动提供一个独特的名称" -#: core/models.py:1050 +#: core/models.py:1051 msgid "promotion name" msgstr "推广名称" -#: core/models.py:1056 +#: core/models.py:1057 msgid "promotion description" msgstr "促销说明" -#: core/models.py:1061 +#: core/models.py:1062 msgid "select which products are included in this promotion" msgstr "选择促销活动包括哪些产品" -#: core/models.py:1062 +#: core/models.py:1063 msgid "included products" msgstr "包括产品" -#: core/models.py:1066 +#: core/models.py:1067 msgid "promotion" msgstr "促销活动" -#: core/models.py:1081 +#: core/models.py:1082 msgid "the vendor supplying this product stock" msgstr "提供该产品库存的供应商" -#: core/models.py:1082 +#: core/models.py:1083 msgid "associated vendor" msgstr "相关供应商" -#: core/models.py:1086 +#: core/models.py:1087 msgid "final price to the customer after markups" msgstr "加价后给客户的最终价格" -#: core/models.py:1087 +#: core/models.py:1088 msgid "selling price" msgstr "销售价格" -#: core/models.py:1092 +#: core/models.py:1093 msgid "the product associated with this stock entry" msgstr "与该库存条目相关的产品" -#: core/models.py:1100 +#: core/models.py:1101 msgid "the price paid to the vendor for this product" msgstr "为该产品支付给供应商的价格" -#: core/models.py:1101 +#: core/models.py:1102 msgid "vendor purchase price" msgstr "供应商购买价格" -#: core/models.py:1105 +#: core/models.py:1106 msgid "available quantity of the product in stock" msgstr "产品的可用库存量" -#: core/models.py:1106 +#: core/models.py:1107 msgid "quantity in stock" msgstr "库存数量" -#: core/models.py:1110 +#: core/models.py:1111 msgid "vendor-assigned SKU for identifying the product" msgstr "供应商指定的 SKU,用于识别产品" -#: core/models.py:1111 +#: core/models.py:1112 msgid "vendor sku" msgstr "供应商 SKU" -#: core/models.py:1117 +#: core/models.py:1118 msgid "digital file associated with this stock if applicable" msgstr "与该库存相关的数字文件(如适用" -#: core/models.py:1118 +#: core/models.py:1119 msgid "digital file" msgstr "数字文件" -#: core/models.py:1127 +#: core/models.py:1128 msgid "stock entries" msgstr "库存条目" -#: core/models.py:1136 +#: core/models.py:1137 msgid "products that the user has marked as wanted" msgstr "用户标记为想要的产品" -#: core/models.py:1144 +#: core/models.py:1145 msgid "user who owns this wishlist" msgstr "拥有此愿望清单的用户" -#: core/models.py:1145 +#: core/models.py:1146 msgid "wishlist owner" msgstr "心愿单所有者" -#: core/models.py:1153 +#: core/models.py:1154 msgid "wishlist" msgstr "愿望清单" -#: core/models.py:1193 +#: core/models.py:1194 msgid "download" msgstr "下载" -#: core/models.py:1194 +#: core/models.py:1195 msgid "downloads" msgstr "下载" -#: core/models.py:1202 +#: core/models.py:1203 msgid "you can not download a digital asset for a non-finished order" msgstr "您无法下载未完成订单的数字资产" -#: core/models.py:1214 +#: core/models.py:1215 msgid "documentary" msgstr "纪录片" -#: core/models.py:1215 +#: core/models.py:1216 msgid "documentaries" msgstr "纪录片" -#: core/models.py:1225 +#: core/models.py:1226 msgid "unresolved" msgstr "未解决" -#: core/signals.py:49 +#: core/signals.py:59 msgid "error during promocode creation: {e!s}" msgstr "创建促销代码时出错:{e!s}" @@ -1654,17 +1691,17 @@ msgstr "{model}必须是模型" msgid "{data} must be list object" msgstr "{data} 必须是列表对象" -#: core/utils/emailing.py:19 +#: core/utils/emailing.py:21 #, python-brace-format msgid "{config.PROJECT_NAME} | contact us initiated" msgstr "{config.PROJECT_NAME}| 联系我们" -#: core/utils/emailing.py:53 +#: core/utils/emailing.py:57 #, python-brace-format msgid "{config.PROJECT_NAME} | order confirmation" msgstr "{config.PROJECT_NAME} | 订单确认| 订单确认" -#: core/utils/emailing.py:83 +#: core/utils/emailing.py:89 #, python-brace-format msgid "{config.PROJECT_NAME} | order delivered" msgstr "{config.PROJECT_NAME}(项目名称| 已交付订单" @@ -1682,10 +1719,10 @@ msgstr "图片尺寸不应超过 w{max_width} x h{max_height} 像素" msgid "invalid phone number format" msgstr "电话号码格式无效" -#: core/views.py:230 +#: core/views.py:231 msgid "you can only download the digital asset once" msgstr "您只能下载一次数字资产" -#: core/views.py:263 +#: core/views.py:264 msgid "favicon not found" msgstr "未找到 favicon" diff --git a/core/viewsets.py b/core/viewsets.py index ba675bb8..5718447b 100644 --- a/core/viewsets.py +++ b/core/viewsets.py @@ -1,3 +1,4 @@ +from django.http import Http404 from django.utils.translation import gettext_lazy as _ from django_filters.rest_framework import DjangoFilterBackend from django_ratelimit.decorators import ratelimit @@ -158,6 +159,25 @@ class ProductViewSet(EvibesViewSet): action_serializer_classes = { "list": ProductSimpleSerializer, } + lookup_field = 'lookup' + lookup_url_kwarg = 'lookup' + + def get_object(self): + queryset = self.filter_queryset(self.get_queryset()) + lookup_value = self.kwargs[self.lookup_url_kwarg] + + obj = ( + queryset.filter(uuid=lookup_value) + .first() + or + queryset.filter(slug=lookup_value) + .first() + ) + if not obj: + raise Http404(f"No Product found matching uuid or slug '{lookup_value}'") + + self.check_object_permissions(self.request, obj) + return obj class VendorViewSet(EvibesViewSet): diff --git a/payments/locale/da_DK/LC_MESSAGES/django.po b/payments/locale/da_DK/LC_MESSAGES/django.po index d8596a91..f5c2a4ec 100644 --- a/payments/locale/da_DK/LC_MESSAGES/django.po +++ b/payments/locale/da_DK/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/de_DE/LC_MESSAGES/django.po b/payments/locale/de_DE/LC_MESSAGES/django.po index 1fb3566a..bbb5124e 100644 --- a/payments/locale/de_DE/LC_MESSAGES/django.po +++ b/payments/locale/de_DE/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/en_US/LC_MESSAGES/django.po b/payments/locale/en_US/LC_MESSAGES/django.po index bcee0a6e..e4c19c88 100644 --- a/payments/locale/en_US/LC_MESSAGES/django.po +++ b/payments/locale/en_US/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/es_ES/LC_MESSAGES/django.po b/payments/locale/es_ES/LC_MESSAGES/django.po index 0b5e2211..5fafb5be 100644 --- a/payments/locale/es_ES/LC_MESSAGES/django.po +++ b/payments/locale/es_ES/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/fr_FR/LC_MESSAGES/django.po b/payments/locale/fr_FR/LC_MESSAGES/django.po index 1c30c5d7..7a85ea71 100644 --- a/payments/locale/fr_FR/LC_MESSAGES/django.po +++ b/payments/locale/fr_FR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/it_IT/LC_MESSAGES/django.po b/payments/locale/it_IT/LC_MESSAGES/django.po index 1c9629f6..201010cf 100644 --- a/payments/locale/it_IT/LC_MESSAGES/django.po +++ b/payments/locale/it_IT/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/ja_JP/LC_MESSAGES/django.po b/payments/locale/ja_JP/LC_MESSAGES/django.po index ea3d5d86..1d3d037c 100644 --- a/payments/locale/ja_JP/LC_MESSAGES/django.po +++ b/payments/locale/ja_JP/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/nl_NL/LC_MESSAGES/django.po b/payments/locale/nl_NL/LC_MESSAGES/django.po index 3f2d7d74..b45c9b88 100644 --- a/payments/locale/nl_NL/LC_MESSAGES/django.po +++ b/payments/locale/nl_NL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/pt_BR/LC_MESSAGES/django.po b/payments/locale/pt_BR/LC_MESSAGES/django.po index 9903866d..b81096f2 100644 --- a/payments/locale/pt_BR/LC_MESSAGES/django.po +++ b/payments/locale/pt_BR/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/ro_RO/LC_MESSAGES/django.po b/payments/locale/ro_RO/LC_MESSAGES/django.po index 61f1bc4a..ba49fa6d 100644 --- a/payments/locale/ro_RO/LC_MESSAGES/django.po +++ b/payments/locale/ro_RO/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/ru_RU/LC_MESSAGES/django.po b/payments/locale/ru_RU/LC_MESSAGES/django.po index 22f67a15..c6941993 100644 --- a/payments/locale/ru_RU/LC_MESSAGES/django.po +++ b/payments/locale/ru_RU/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/payments/locale/zh_Hans/LC_MESSAGES/django.po b/payments/locale/zh_Hans/LC_MESSAGES/django.po index 97a886a8..47a3fabe 100644 --- a/payments/locale/zh_Hans/LC_MESSAGES/django.po +++ b/payments/locale/zh_Hans/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ # This file is distributed under the same license as the eVibes package. # EGOR GORBUNOV , 2025. # -#,fuzzy +#, fuzzy msgid "" msgstr "" "Project-Id-Version: 1\n" diff --git a/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po b/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po index ef2921f4..32dc97a1 100644 --- a/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po +++ b/vibes_auth/locale/ar_AR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -295,7 +295,8 @@ msgid "" "thank you for signing up for %(project_name)s. please activate your account " "by clicking the button below:" msgstr "" -"شكراً لك على تسجيلك في %(project_name)s. يرجى تفعيل حسابك بالنقر على الزر أدناه:" +"شكراً لك على تسجيلك في %(project_name)s. يرجى تفعيل حسابك بالنقر على الزر " +"أدناه:" #: vibes_auth/templates/user_verification_email.html:95 msgid "" @@ -318,21 +319,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "مع أطيب التحيات، فريق عمل %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | تفعيل الحساب" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "لم يتم العثور على المستخدم بمعرف UUID المحدد: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "حدث خطأ ما أثناء إرسال بريد إلكتروني: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | إعادة تعيين كلمة المرور" diff --git a/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po b/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po index 07530b97..ee1ff1a8 100644 --- a/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po +++ b/vibes_auth/locale/cs_CZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -320,21 +320,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "S pozdravem,
tým %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Aktivovat účet" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Uživatel nebyl nalezen s daným UUID: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Při odesílání e-mailu se něco pokazilo: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Obnovit heslo" diff --git a/vibes_auth/locale/da_DK/LC_MESSAGES/django.po b/vibes_auth/locale/da_DK/LC_MESSAGES/django.po index be2577aa..cbbb37d5 100644 --- a/vibes_auth/locale/da_DK/LC_MESSAGES/django.po +++ b/vibes_auth/locale/da_DK/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -321,21 +321,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Med venlig hilsen,
%(project_name)s team" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Aktiver konto" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Bruger ikke fundet med den givne UUID: {user_pk}." -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Noget gik galt under afsendelsen af en e-mail: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Nulstil adgangskode" diff --git a/vibes_auth/locale/de_DE/LC_MESSAGES/django.po b/vibes_auth/locale/de_DE/LC_MESSAGES/django.po index 273480b8..13771dcd 100644 --- a/vibes_auth/locale/de_DE/LC_MESSAGES/django.po +++ b/vibes_auth/locale/de_DE/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -325,21 +325,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Mit freundlichen Grüßen,
das %(project_name)s Team" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Konto aktivieren" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Benutzer mit der angegebenen UUID nicht gefunden: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Beim Senden einer E-Mail ist etwas schief gelaufen: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Passwort zurücksetzen" diff --git a/vibes_auth/locale/en_GB/LC_MESSAGES/django.po b/vibes_auth/locale/en_GB/LC_MESSAGES/django.po index c180f151..158da31d 100644 --- a/vibes_auth/locale/en_GB/LC_MESSAGES/django.po +++ b/vibes_auth/locale/en_GB/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -319,21 +319,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Best regards,
the %(project_name)s team" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Activate Account" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "User not found with the given UUID: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Something went wrong while sending an email: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Reset Password" diff --git a/vibes_auth/locale/en_US/LC_MESSAGES/django.po b/vibes_auth/locale/en_US/LC_MESSAGES/django.po index 17afe81f..214d36ed 100644 --- a/vibes_auth/locale/en_US/LC_MESSAGES/django.po +++ b/vibes_auth/locale/en_US/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -319,21 +319,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Best regards,
the %(project_name)s team" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Activate Account" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "User not found with the given UUID: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Something went wrong while sending an email: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Reset Password" diff --git a/vibes_auth/locale/es_ES/LC_MESSAGES/django.po b/vibes_auth/locale/es_ES/LC_MESSAGES/django.po index 55162bd0..3a0feb73 100644 --- a/vibes_auth/locale/es_ES/LC_MESSAGES/django.po +++ b/vibes_auth/locale/es_ES/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -296,8 +296,8 @@ msgid "" "thank you for signing up for %(project_name)s. please activate your account " "by clicking the button below:" msgstr "" -"Gracias por registrarse en %(project_name)s. Por favor, active su " -"cuenta haciendo clic en el botón de abajo:" +"Gracias por registrarse en %(project_name)s. Por favor, active su cuenta " +"haciendo clic en el botón de abajo:" #: vibes_auth/templates/user_verification_email.html:95 msgid "" @@ -320,21 +320,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Saludos cordiales,
el equipo de %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Activar cuenta" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Usuario no encontrado con el UUID dado: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Algo salió mal al enviar un correo electrónico: {e!s}." -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Restablecer contraseña" diff --git a/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po b/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po index b0fce89b..06365a6e 100644 --- a/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po +++ b/vibes_auth/locale/fr_FR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -326,21 +326,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Meilleures salutations,
l'équipe de %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Activer le compte" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Utilisateur introuvable avec l'UUID donné : {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Un problème s'est produit lors de l'envoi d'un courriel : {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: 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" diff --git a/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po b/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po index 7b5d4398..6038ba10 100644 --- a/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po +++ b/vibes_auth/locale/hi_IN/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -308,21 +308,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "" diff --git a/vibes_auth/locale/it_IT/LC_MESSAGES/django.po b/vibes_auth/locale/it_IT/LC_MESSAGES/django.po index b8433611..eee9f1c2 100644 --- a/vibes_auth/locale/it_IT/LC_MESSAGES/django.po +++ b/vibes_auth/locale/it_IT/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -321,21 +321,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Cordiali saluti,
il team di %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Attivare l'account" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Utente non trovato con l'UUID indicato: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Qualcosa è andato storto durante l'invio di un'e-mail: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Reimpostare la password" diff --git a/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po b/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po index b6f672e8..f5e8a2fa 100644 --- a/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po +++ b/vibes_auth/locale/ja_JP/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -295,8 +295,8 @@ msgid "" "thank you for signing up for %(project_name)s. please activate your account " "by clicking the button below:" msgstr "" -"%(project_name)sにご登録いただきありがとうございます。下のボタンをクリックして" -"アカウントを有効にしてください:" +"%(project_name)sにご登録いただきありがとうございます。下のボタンをクリックし" +"てアカウントを有効にしてください:" #: vibes_auth/templates/user_verification_email.html:95 msgid "" @@ -320,21 +320,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "よろしくお願いします、
%(project_name)sのチーム。" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME}|アカウントの有効化| アカウントの有効化" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "指定されたUUIDを持つユーザーが見つかりません:{user_pk}。" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "メール送信中に何か問題が発生しました:{e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME}。| パスワードのリセット" diff --git a/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po b/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po index 7b5d4398..6038ba10 100644 --- a/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po +++ b/vibes_auth/locale/kk_KZ/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -308,21 +308,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "" diff --git a/vibes_auth/locale/nl_NL/LC_MESSAGES/django.po b/vibes_auth/locale/nl_NL/LC_MESSAGES/django.po index 19a3bfd7..08582f7e 100644 --- a/vibes_auth/locale/nl_NL/LC_MESSAGES/django.po +++ b/vibes_auth/locale/nl_NL/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -321,21 +321,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Vriendelijke groeten,
het %(project_name)s-team" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME}. | Account activeren" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Gebruiker niet gevonden met de opgegeven UUID: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Er ging iets mis tijdens het verzenden van een e-mail: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME}. | Wachtwoord opnieuw instellen" diff --git a/vibes_auth/locale/pl_PL/LC_MESSAGES/django.po b/vibes_auth/locale/pl_PL/LC_MESSAGES/django.po index aa439293..2dc3d580 100644 --- a/vibes_auth/locale/pl_PL/LC_MESSAGES/django.po +++ b/vibes_auth/locale/pl_PL/LC_MESSAGES/django.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -316,21 +316,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Z wyrazami szacunku,
zespół %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Aktywuj konto" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Nie znaleziono użytkownika o podanym identyfikatorze UUID: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Coś poszło nie tak podczas wysyłania wiadomości e-mail: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Resetuj hasło" @@ -340,5 +340,5 @@ msgid "" "invalid phone number format. the number must be entered in the format: " "\"+999999999\". up to 15 digits allowed." msgstr "" -"Nieprawidłowy format numeru telefonu. Numer musi być wprowadzony w formacie:" -" \"+999999999\". Dozwolone do 15 cyfr." +"Nieprawidłowy format numeru telefonu. Numer musi być wprowadzony w formacie: " +"\"+999999999\". Dozwolone do 15 cyfr." diff --git a/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po b/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po index fc64dd93..2b893367 100644 --- a/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po +++ b/vibes_auth/locale/pt_BR/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -295,8 +295,8 @@ msgid "" "thank you for signing up for %(project_name)s. please activate your account " "by clicking the button below:" msgstr "" -"Obrigado por se inscrever no %(project_name)s. Ative sua conta clicando " -"no botão abaixo:" +"Obrigado por se inscrever no %(project_name)s. Ative sua conta clicando no " +"botão abaixo:" #: vibes_auth/templates/user_verification_email.html:95 msgid "" @@ -319,21 +319,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Atenciosamente,
a equipe de %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Ativar conta" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Usuário não encontrado com o UUID fornecido: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Algo deu errado ao enviar um e-mail: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Redefinir senha" diff --git a/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po b/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po index 7c961342..277eede1 100644 --- a/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po +++ b/vibes_auth/locale/ro_RO/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -321,21 +321,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "Cele mai bune salutări,
echipa %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Activare cont" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Utilizatorul cu UUID-ul dat nu a fost găsit: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Ceva nu a mers bine în timpul trimiterii unui e-mail: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Resetați parola" diff --git a/vibes_auth/locale/ru_RU/LC_MESSAGES/django.po b/vibes_auth/locale/ru_RU/LC_MESSAGES/django.po index 97b17132..4820911c 100644 --- a/vibes_auth/locale/ru_RU/LC_MESSAGES/django.po +++ b/vibes_auth/locale/ru_RU/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -323,21 +323,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "С наилучшими пожеланиями,
команда %(project_name)s" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | Активировать учетную запись" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "Пользователь с заданным UUID не найден: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "Что-то пошло не так при отправке письма: {e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} | Сброс пароля" diff --git a/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po b/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po index 96b571d7..338c353e 100644 --- a/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po +++ b/vibes_auth/locale/zh_Hans/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-04-28 16:26+0100\n" +"POT-Creation-Date: 2025-05-08 14:48+0100\n" "PO-Revision-Date: 2025-01-30 03:27+0000\n" "Last-Translator: EGOR GORBUNOV \n" "Language-Team: BRITISH ENGLISH \n" @@ -313,21 +313,21 @@ msgstr "" msgid "best regards,
the %(project_name)s team" msgstr "致以最诚挚的问候,
%(project_name)s团队" -#: vibes_auth/utils/emailing.py:25 +#: vibes_auth/utils/emailing.py:27 #, python-brace-format msgid "{config.PROJECT_NAME} | Activate Account" msgstr "{config.PROJECT_NAME} | 激活账户| 激活账户" -#: vibes_auth/utils/emailing.py:46 vibes_auth/utils/emailing.py:87 +#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:92 #, python-brace-format msgid "user not found with the given pk: {user_pk}" msgstr "未找到指定 UUID 的用户: {user_pk}" -#: vibes_auth/utils/emailing.py:49 vibes_auth/utils/emailing.py:90 +#: vibes_auth/utils/emailing.py:52 vibes_auth/utils/emailing.py:95 msgid "something went wrong while sending an email: {e!s}" msgstr "发送电子邮件时出错了:{e!s}" -#: vibes_auth/utils/emailing.py:65 +#: vibes_auth/utils/emailing.py:69 #, python-brace-format msgid "{config.PROJECT_NAME} | Reset Password" msgstr "{config.PROJECT_NAME} 重置密码| 重置密码"